1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef DDK750_REG_H__ |
3 | #define DDK750_REG_H__ |
4 | |
5 | /* New register for SM750LE */ |
6 | #define DE_STATE1 0x100054 |
7 | #define DE_STATE1_DE_ABORT BIT(0) |
8 | |
9 | #define DE_STATE2 0x100058 |
10 | #define DE_STATE2_DE_FIFO_EMPTY BIT(3) |
11 | #define DE_STATE2_DE_STATUS_BUSY BIT(2) |
12 | #define DE_STATE2_DE_MEM_FIFO_EMPTY BIT(1) |
13 | |
14 | #define SYSTEM_CTRL 0x000000 |
15 | #define SYSTEM_CTRL_DPMS_MASK (0x3 << 30) |
16 | #define SYSTEM_CTRL_DPMS_VPHP (0x0 << 30) |
17 | #define SYSTEM_CTRL_DPMS_VPHN (0x1 << 30) |
18 | #define SYSTEM_CTRL_DPMS_VNHP (0x2 << 30) |
19 | #define SYSTEM_CTRL_DPMS_VNHN (0x3 << 30) |
20 | #define SYSTEM_CTRL_PCI_BURST BIT(29) |
21 | #define SYSTEM_CTRL_PCI_MASTER BIT(25) |
22 | #define SYSTEM_CTRL_LATENCY_TIMER_OFF BIT(24) |
23 | #define SYSTEM_CTRL_DE_FIFO_EMPTY BIT(23) |
24 | #define SYSTEM_CTRL_DE_STATUS_BUSY BIT(22) |
25 | #define SYSTEM_CTRL_DE_MEM_FIFO_EMPTY BIT(21) |
26 | #define SYSTEM_CTRL_CSC_STATUS_BUSY BIT(20) |
27 | #define SYSTEM_CTRL_CRT_VSYNC_ACTIVE BIT(19) |
28 | #define SYSTEM_CTRL_PANEL_VSYNC_ACTIVE BIT(18) |
29 | #define SYSTEM_CTRL_CURRENT_BUFFER_FLIP_PENDING BIT(17) |
30 | #define SYSTEM_CTRL_DMA_STATUS_BUSY BIT(16) |
31 | #define SYSTEM_CTRL_PCI_BURST_READ BIT(15) |
32 | #define SYSTEM_CTRL_DE_ABORT BIT(13) |
33 | #define SYSTEM_CTRL_PCI_SUBSYS_ID_LOCK BIT(11) |
34 | #define SYSTEM_CTRL_PCI_RETRY_OFF BIT(7) |
35 | #define SYSTEM_CTRL_PCI_SLAVE_BURST_READ_SIZE_MASK (0x3 << 4) |
36 | #define SYSTEM_CTRL_PCI_SLAVE_BURST_READ_SIZE_1 (0x0 << 4) |
37 | #define SYSTEM_CTRL_PCI_SLAVE_BURST_READ_SIZE_2 (0x1 << 4) |
38 | #define SYSTEM_CTRL_PCI_SLAVE_BURST_READ_SIZE_4 (0x2 << 4) |
39 | #define SYSTEM_CTRL_PCI_SLAVE_BURST_READ_SIZE_8 (0x3 << 4) |
40 | #define SYSTEM_CTRL_CRT_TRISTATE BIT(3) |
41 | #define SYSTEM_CTRL_PCIMEM_TRISTATE BIT(2) |
42 | #define SYSTEM_CTRL_LOCALMEM_TRISTATE BIT(1) |
43 | #define SYSTEM_CTRL_PANEL_TRISTATE BIT(0) |
44 | |
45 | #define MISC_CTRL 0x000004 |
46 | #define MISC_CTRL_DRAM_RERESH_COUNT BIT(27) |
47 | #define MISC_CTRL_DRAM_REFRESH_TIME_MASK (0x3 << 25) |
48 | #define MISC_CTRL_DRAM_REFRESH_TIME_8 (0x0 << 25) |
49 | #define MISC_CTRL_DRAM_REFRESH_TIME_16 (0x1 << 25) |
50 | #define MISC_CTRL_DRAM_REFRESH_TIME_32 (0x2 << 25) |
51 | #define MISC_CTRL_DRAM_REFRESH_TIME_64 (0x3 << 25) |
52 | #define MISC_CTRL_INT_OUTPUT_INVERT BIT(24) |
53 | #define MISC_CTRL_PLL_CLK_COUNT BIT(23) |
54 | #define MISC_CTRL_DAC_POWER_OFF BIT(20) |
55 | #define MISC_CTRL_CLK_SELECT_TESTCLK BIT(16) |
56 | #define MISC_CTRL_DRAM_COLUMN_SIZE_MASK (0x3 << 14) |
57 | #define MISC_CTRL_DRAM_COLUMN_SIZE_256 (0x0 << 14) |
58 | #define MISC_CTRL_DRAM_COLUMN_SIZE_512 (0x1 << 14) |
59 | #define MISC_CTRL_DRAM_COLUMN_SIZE_1024 (0x2 << 14) |
60 | #define MISC_CTRL_LOCALMEM_SIZE_MASK (0x3 << 12) |
61 | #define MISC_CTRL_LOCALMEM_SIZE_8M (0x3 << 12) |
62 | #define MISC_CTRL_LOCALMEM_SIZE_16M (0x0 << 12) |
63 | #define MISC_CTRL_LOCALMEM_SIZE_32M (0x1 << 12) |
64 | #define MISC_CTRL_LOCALMEM_SIZE_64M (0x2 << 12) |
65 | #define MISC_CTRL_DRAM_TWTR BIT(11) |
66 | #define MISC_CTRL_DRAM_TWR BIT(10) |
67 | #define MISC_CTRL_DRAM_TRP BIT(9) |
68 | #define MISC_CTRL_DRAM_TRFC BIT(8) |
69 | #define MISC_CTRL_DRAM_TRAS BIT(7) |
70 | #define MISC_CTRL_LOCALMEM_RESET BIT(6) |
71 | #define MISC_CTRL_LOCALMEM_STATE_INACTIVE BIT(5) |
72 | #define MISC_CTRL_CPU_CAS_LATENCY BIT(4) |
73 | #define MISC_CTRL_DLL_OFF BIT(3) |
74 | #define MISC_CTRL_DRAM_OUTPUT_HIGH BIT(2) |
75 | #define MISC_CTRL_LOCALMEM_BUS_SIZE BIT(1) |
76 | #define MISC_CTRL_EMBEDDED_LOCALMEM_OFF BIT(0) |
77 | |
78 | #define GPIO_MUX 0x000008 |
79 | #define GPIO_MUX_31 BIT(31) |
80 | #define GPIO_MUX_30 BIT(30) |
81 | #define GPIO_MUX_29 BIT(29) |
82 | #define GPIO_MUX_28 BIT(28) |
83 | #define GPIO_MUX_27 BIT(27) |
84 | #define GPIO_MUX_26 BIT(26) |
85 | #define GPIO_MUX_25 BIT(25) |
86 | #define GPIO_MUX_24 BIT(24) |
87 | #define GPIO_MUX_23 BIT(23) |
88 | #define GPIO_MUX_22 BIT(22) |
89 | #define GPIO_MUX_21 BIT(21) |
90 | #define GPIO_MUX_20 BIT(20) |
91 | #define GPIO_MUX_19 BIT(19) |
92 | #define GPIO_MUX_18 BIT(18) |
93 | #define GPIO_MUX_17 BIT(17) |
94 | #define GPIO_MUX_16 BIT(16) |
95 | #define GPIO_MUX_15 BIT(15) |
96 | #define GPIO_MUX_14 BIT(14) |
97 | #define GPIO_MUX_13 BIT(13) |
98 | #define GPIO_MUX_12 BIT(12) |
99 | #define GPIO_MUX_11 BIT(11) |
100 | #define GPIO_MUX_10 BIT(10) |
101 | #define GPIO_MUX_9 BIT(9) |
102 | #define GPIO_MUX_8 BIT(8) |
103 | #define GPIO_MUX_7 BIT(7) |
104 | #define GPIO_MUX_6 BIT(6) |
105 | #define GPIO_MUX_5 BIT(5) |
106 | #define GPIO_MUX_4 BIT(4) |
107 | #define GPIO_MUX_3 BIT(3) |
108 | #define GPIO_MUX_2 BIT(2) |
109 | #define GPIO_MUX_1 BIT(1) |
110 | #define GPIO_MUX_0 BIT(0) |
111 | |
112 | #define LOCALMEM_ARBITRATION 0x00000C |
113 | #define LOCALMEM_ARBITRATION_ROTATE BIT(28) |
114 | #define LOCALMEM_ARBITRATION_VGA_MASK (0x7 << 24) |
115 | #define LOCALMEM_ARBITRATION_VGA_OFF (0x0 << 24) |
116 | #define LOCALMEM_ARBITRATION_VGA_PRIORITY_1 (0x1 << 24) |
117 | #define LOCALMEM_ARBITRATION_VGA_PRIORITY_2 (0x2 << 24) |
118 | #define LOCALMEM_ARBITRATION_VGA_PRIORITY_3 (0x3 << 24) |
119 | #define LOCALMEM_ARBITRATION_VGA_PRIORITY_4 (0x4 << 24) |
120 | #define LOCALMEM_ARBITRATION_VGA_PRIORITY_5 (0x5 << 24) |
121 | #define LOCALMEM_ARBITRATION_VGA_PRIORITY_6 (0x6 << 24) |
122 | #define LOCALMEM_ARBITRATION_VGA_PRIORITY_7 (0x7 << 24) |
123 | #define LOCALMEM_ARBITRATION_DMA_MASK (0x7 << 20) |
124 | #define LOCALMEM_ARBITRATION_DMA_OFF (0x0 << 20) |
125 | #define LOCALMEM_ARBITRATION_DMA_PRIORITY_1 (0x1 << 20) |
126 | #define LOCALMEM_ARBITRATION_DMA_PRIORITY_2 (0x2 << 20) |
127 | #define LOCALMEM_ARBITRATION_DMA_PRIORITY_3 (0x3 << 20) |
128 | #define LOCALMEM_ARBITRATION_DMA_PRIORITY_4 (0x4 << 20) |
129 | #define LOCALMEM_ARBITRATION_DMA_PRIORITY_5 (0x5 << 20) |
130 | #define LOCALMEM_ARBITRATION_DMA_PRIORITY_6 (0x6 << 20) |
131 | #define LOCALMEM_ARBITRATION_DMA_PRIORITY_7 (0x7 << 20) |
132 | #define LOCALMEM_ARBITRATION_ZVPORT1_MASK (0x7 << 16) |
133 | #define LOCALMEM_ARBITRATION_ZVPORT1_OFF (0x0 << 16) |
134 | #define LOCALMEM_ARBITRATION_ZVPORT1_PRIORITY_1 (0x1 << 16) |
135 | #define LOCALMEM_ARBITRATION_ZVPORT1_PRIORITY_2 (0x2 << 16) |
136 | #define LOCALMEM_ARBITRATION_ZVPORT1_PRIORITY_3 (0x3 << 16) |
137 | #define LOCALMEM_ARBITRATION_ZVPORT1_PRIORITY_4 (0x4 << 16) |
138 | #define LOCALMEM_ARBITRATION_ZVPORT1_PRIORITY_5 (0x5 << 16) |
139 | #define LOCALMEM_ARBITRATION_ZVPORT1_PRIORITY_6 (0x6 << 16) |
140 | #define LOCALMEM_ARBITRATION_ZVPORT1_PRIORITY_7 (0x7 << 16) |
141 | #define LOCALMEM_ARBITRATION_ZVPORT0_MASK (0x7 << 12) |
142 | #define LOCALMEM_ARBITRATION_ZVPORT0_OFF (0x0 << 12) |
143 | #define LOCALMEM_ARBITRATION_ZVPORT0_PRIORITY_1 (0x1 << 12) |
144 | #define LOCALMEM_ARBITRATION_ZVPORT0_PRIORITY_2 (0x2 << 12) |
145 | #define LOCALMEM_ARBITRATION_ZVPORT0_PRIORITY_3 (0x3 << 12) |
146 | #define LOCALMEM_ARBITRATION_ZVPORT0_PRIORITY_4 (0x4 << 12) |
147 | #define LOCALMEM_ARBITRATION_ZVPORT0_PRIORITY_5 (0x5 << 12) |
148 | #define LOCALMEM_ARBITRATION_ZVPORT0_PRIORITY_6 (0x6 << 12) |
149 | #define LOCALMEM_ARBITRATION_ZVPORT0_PRIORITY_7 (0x7 << 12) |
150 | #define LOCALMEM_ARBITRATION_VIDEO_MASK (0x7 << 8) |
151 | #define LOCALMEM_ARBITRATION_VIDEO_OFF (0x0 << 8) |
152 | #define LOCALMEM_ARBITRATION_VIDEO_PRIORITY_1 (0x1 << 8) |
153 | #define LOCALMEM_ARBITRATION_VIDEO_PRIORITY_2 (0x2 << 8) |
154 | #define LOCALMEM_ARBITRATION_VIDEO_PRIORITY_3 (0x3 << 8) |
155 | #define LOCALMEM_ARBITRATION_VIDEO_PRIORITY_4 (0x4 << 8) |
156 | #define LOCALMEM_ARBITRATION_VIDEO_PRIORITY_5 (0x5 << 8) |
157 | #define LOCALMEM_ARBITRATION_VIDEO_PRIORITY_6 (0x6 << 8) |
158 | #define LOCALMEM_ARBITRATION_VIDEO_PRIORITY_7 (0x7 << 8) |
159 | #define LOCALMEM_ARBITRATION_PANEL_MASK (0x7 << 4) |
160 | #define LOCALMEM_ARBITRATION_PANEL_OFF (0x0 << 4) |
161 | #define LOCALMEM_ARBITRATION_PANEL_PRIORITY_1 (0x1 << 4) |
162 | #define LOCALMEM_ARBITRATION_PANEL_PRIORITY_2 (0x2 << 4) |
163 | #define LOCALMEM_ARBITRATION_PANEL_PRIORITY_3 (0x3 << 4) |
164 | #define LOCALMEM_ARBITRATION_PANEL_PRIORITY_4 (0x4 << 4) |
165 | #define LOCALMEM_ARBITRATION_PANEL_PRIORITY_5 (0x5 << 4) |
166 | #define LOCALMEM_ARBITRATION_PANEL_PRIORITY_6 (0x6 << 4) |
167 | #define LOCALMEM_ARBITRATION_PANEL_PRIORITY_7 (0x7 << 4) |
168 | #define LOCALMEM_ARBITRATION_CRT_MASK 0x7 |
169 | #define LOCALMEM_ARBITRATION_CRT_OFF 0x0 |
170 | #define LOCALMEM_ARBITRATION_CRT_PRIORITY_1 0x1 |
171 | #define LOCALMEM_ARBITRATION_CRT_PRIORITY_2 0x2 |
172 | #define LOCALMEM_ARBITRATION_CRT_PRIORITY_3 0x3 |
173 | #define LOCALMEM_ARBITRATION_CRT_PRIORITY_4 0x4 |
174 | #define LOCALMEM_ARBITRATION_CRT_PRIORITY_5 0x5 |
175 | #define LOCALMEM_ARBITRATION_CRT_PRIORITY_6 0x6 |
176 | #define LOCALMEM_ARBITRATION_CRT_PRIORITY_7 0x7 |
177 | |
178 | #define PCIMEM_ARBITRATION 0x000010 |
179 | #define PCIMEM_ARBITRATION_ROTATE BIT(28) |
180 | #define PCIMEM_ARBITRATION_VGA_MASK (0x7 << 24) |
181 | #define PCIMEM_ARBITRATION_VGA_OFF (0x0 << 24) |
182 | #define PCIMEM_ARBITRATION_VGA_PRIORITY_1 (0x1 << 24) |
183 | #define PCIMEM_ARBITRATION_VGA_PRIORITY_2 (0x2 << 24) |
184 | #define PCIMEM_ARBITRATION_VGA_PRIORITY_3 (0x3 << 24) |
185 | #define PCIMEM_ARBITRATION_VGA_PRIORITY_4 (0x4 << 24) |
186 | #define PCIMEM_ARBITRATION_VGA_PRIORITY_5 (0x5 << 24) |
187 | #define PCIMEM_ARBITRATION_VGA_PRIORITY_6 (0x6 << 24) |
188 | #define PCIMEM_ARBITRATION_VGA_PRIORITY_7 (0x7 << 24) |
189 | #define PCIMEM_ARBITRATION_DMA_MASK (0x7 << 20) |
190 | #define PCIMEM_ARBITRATION_DMA_OFF (0x0 << 20) |
191 | #define PCIMEM_ARBITRATION_DMA_PRIORITY_1 (0x1 << 20) |
192 | #define PCIMEM_ARBITRATION_DMA_PRIORITY_2 (0x2 << 20) |
193 | #define PCIMEM_ARBITRATION_DMA_PRIORITY_3 (0x3 << 20) |
194 | #define PCIMEM_ARBITRATION_DMA_PRIORITY_4 (0x4 << 20) |
195 | #define PCIMEM_ARBITRATION_DMA_PRIORITY_5 (0x5 << 20) |
196 | #define PCIMEM_ARBITRATION_DMA_PRIORITY_6 (0x6 << 20) |
197 | #define PCIMEM_ARBITRATION_DMA_PRIORITY_7 (0x7 << 20) |
198 | #define PCIMEM_ARBITRATION_ZVPORT1_MASK (0x7 << 16) |
199 | #define PCIMEM_ARBITRATION_ZVPORT1_OFF (0x0 << 16) |
200 | #define PCIMEM_ARBITRATION_ZVPORT1_PRIORITY_1 (0x1 << 16) |
201 | #define PCIMEM_ARBITRATION_ZVPORT1_PRIORITY_2 (0x2 << 16) |
202 | #define PCIMEM_ARBITRATION_ZVPORT1_PRIORITY_3 (0x3 << 16) |
203 | #define PCIMEM_ARBITRATION_ZVPORT1_PRIORITY_4 (0x4 << 16) |
204 | #define PCIMEM_ARBITRATION_ZVPORT1_PRIORITY_5 (0x5 << 16) |
205 | #define PCIMEM_ARBITRATION_ZVPORT1_PRIORITY_6 (0x6 << 16) |
206 | #define PCIMEM_ARBITRATION_ZVPORT1_PRIORITY_7 (0x7 << 16) |
207 | #define PCIMEM_ARBITRATION_ZVPORT0_MASK (0x7 << 12) |
208 | #define PCIMEM_ARBITRATION_ZVPORT0_OFF (0x0 << 12) |
209 | #define PCIMEM_ARBITRATION_ZVPORT0_PRIORITY_1 (0x1 << 12) |
210 | #define PCIMEM_ARBITRATION_ZVPORT0_PRIORITY_2 (0x2 << 12) |
211 | #define PCIMEM_ARBITRATION_ZVPORT0_PRIORITY_3 (0x3 << 12) |
212 | #define PCIMEM_ARBITRATION_ZVPORT0_PRIORITY_4 (0x4 << 12) |
213 | #define PCIMEM_ARBITRATION_ZVPORT0_PRIORITY_5 (0x5 << 12) |
214 | #define PCIMEM_ARBITRATION_ZVPORT0_PRIORITY_6 (0x6 << 12) |
215 | #define PCIMEM_ARBITRATION_ZVPORT0_PRIORITY_7 (0x7 << 12) |
216 | #define PCIMEM_ARBITRATION_VIDEO_MASK (0x7 << 8) |
217 | #define PCIMEM_ARBITRATION_VIDEO_OFF (0x0 << 8) |
218 | #define PCIMEM_ARBITRATION_VIDEO_PRIORITY_1 (0x1 << 8) |
219 | #define PCIMEM_ARBITRATION_VIDEO_PRIORITY_2 (0x2 << 8) |
220 | #define PCIMEM_ARBITRATION_VIDEO_PRIORITY_3 (0x3 << 8) |
221 | #define PCIMEM_ARBITRATION_VIDEO_PRIORITY_4 (0x4 << 8) |
222 | #define PCIMEM_ARBITRATION_VIDEO_PRIORITY_5 (0x5 << 8) |
223 | #define PCIMEM_ARBITRATION_VIDEO_PRIORITY_6 (0x6 << 8) |
224 | #define PCIMEM_ARBITRATION_VIDEO_PRIORITY_7 (0x7 << 8) |
225 | #define PCIMEM_ARBITRATION_PANEL_MASK (0x7 << 4) |
226 | #define PCIMEM_ARBITRATION_PANEL_OFF (0x0 << 4) |
227 | #define PCIMEM_ARBITRATION_PANEL_PRIORITY_1 (0x1 << 4) |
228 | #define PCIMEM_ARBITRATION_PANEL_PRIORITY_2 (0x2 << 4) |
229 | #define PCIMEM_ARBITRATION_PANEL_PRIORITY_3 (0x3 << 4) |
230 | #define PCIMEM_ARBITRATION_PANEL_PRIORITY_4 (0x4 << 4) |
231 | #define PCIMEM_ARBITRATION_PANEL_PRIORITY_5 (0x5 << 4) |
232 | #define PCIMEM_ARBITRATION_PANEL_PRIORITY_6 (0x6 << 4) |
233 | #define PCIMEM_ARBITRATION_PANEL_PRIORITY_7 (0x7 << 4) |
234 | #define PCIMEM_ARBITRATION_CRT_MASK 0x7 |
235 | #define PCIMEM_ARBITRATION_CRT_OFF 0x0 |
236 | #define PCIMEM_ARBITRATION_CRT_PRIORITY_1 0x1 |
237 | #define PCIMEM_ARBITRATION_CRT_PRIORITY_2 0x2 |
238 | #define PCIMEM_ARBITRATION_CRT_PRIORITY_3 0x3 |
239 | #define PCIMEM_ARBITRATION_CRT_PRIORITY_4 0x4 |
240 | #define PCIMEM_ARBITRATION_CRT_PRIORITY_5 0x5 |
241 | #define PCIMEM_ARBITRATION_CRT_PRIORITY_6 0x6 |
242 | #define PCIMEM_ARBITRATION_CRT_PRIORITY_7 0x7 |
243 | |
244 | #define RAW_INT 0x000020 |
245 | #define RAW_INT_ZVPORT1_VSYNC BIT(4) |
246 | #define RAW_INT_ZVPORT0_VSYNC BIT(3) |
247 | #define RAW_INT_CRT_VSYNC BIT(2) |
248 | #define RAW_INT_PANEL_VSYNC BIT(1) |
249 | #define RAW_INT_VGA_VSYNC BIT(0) |
250 | |
251 | #define INT_STATUS 0x000024 |
252 | #define INT_STATUS_GPIO31 BIT(31) |
253 | #define INT_STATUS_GPIO30 BIT(30) |
254 | #define INT_STATUS_GPIO29 BIT(29) |
255 | #define INT_STATUS_GPIO28 BIT(28) |
256 | #define INT_STATUS_GPIO27 BIT(27) |
257 | #define INT_STATUS_GPIO26 BIT(26) |
258 | #define INT_STATUS_GPIO25 BIT(25) |
259 | #define INT_STATUS_I2C BIT(12) |
260 | #define INT_STATUS_PWM BIT(11) |
261 | #define INT_STATUS_DMA1 BIT(10) |
262 | #define INT_STATUS_DMA0 BIT(9) |
263 | #define INT_STATUS_PCI BIT(8) |
264 | #define INT_STATUS_SSP1 BIT(7) |
265 | #define INT_STATUS_SSP0 BIT(6) |
266 | #define INT_STATUS_DE BIT(5) |
267 | #define INT_STATUS_ZVPORT1_VSYNC BIT(4) |
268 | #define INT_STATUS_ZVPORT0_VSYNC BIT(3) |
269 | #define INT_STATUS_CRT_VSYNC BIT(2) |
270 | #define INT_STATUS_PANEL_VSYNC BIT(1) |
271 | #define INT_STATUS_VGA_VSYNC BIT(0) |
272 | |
273 | #define INT_MASK 0x000028 |
274 | #define INT_MASK_GPIO31 BIT(31) |
275 | #define INT_MASK_GPIO30 BIT(30) |
276 | #define INT_MASK_GPIO29 BIT(29) |
277 | #define INT_MASK_GPIO28 BIT(28) |
278 | #define INT_MASK_GPIO27 BIT(27) |
279 | #define INT_MASK_GPIO26 BIT(26) |
280 | #define INT_MASK_GPIO25 BIT(25) |
281 | #define INT_MASK_I2C BIT(12) |
282 | #define INT_MASK_PWM BIT(11) |
283 | #define INT_MASK_DMA1 BIT(10) |
284 | #define INT_MASK_DMA BIT(9) |
285 | #define INT_MASK_PCI BIT(8) |
286 | #define INT_MASK_SSP1 BIT(7) |
287 | #define INT_MASK_SSP0 BIT(6) |
288 | #define INT_MASK_DE BIT(5) |
289 | #define INT_MASK_ZVPORT1_VSYNC BIT(4) |
290 | #define INT_MASK_ZVPORT0_VSYNC BIT(3) |
291 | #define INT_MASK_CRT_VSYNC BIT(2) |
292 | #define INT_MASK_PANEL_VSYNC BIT(1) |
293 | #define INT_MASK_VGA_VSYNC BIT(0) |
294 | |
295 | #define CURRENT_GATE 0x000040 |
296 | #define CURRENT_GATE_MCLK_MASK (0x3 << 14) |
297 | #ifdef VALIDATION_CHIP |
298 | #define CURRENT_GATE_MCLK_112MHZ (0x0 << 14) |
299 | #define CURRENT_GATE_MCLK_84MHZ (0x1 << 14) |
300 | #define CURRENT_GATE_MCLK_56MHZ (0x2 << 14) |
301 | #define CURRENT_GATE_MCLK_42MHZ (0x3 << 14) |
302 | #else |
303 | #define CURRENT_GATE_MCLK_DIV_3 (0x0 << 14) |
304 | #define CURRENT_GATE_MCLK_DIV_4 (0x1 << 14) |
305 | #define CURRENT_GATE_MCLK_DIV_6 (0x2 << 14) |
306 | #define CURRENT_GATE_MCLK_DIV_8 (0x3 << 14) |
307 | #endif |
308 | #define CURRENT_GATE_M2XCLK_MASK (0x3 << 12) |
309 | #ifdef VALIDATION_CHIP |
310 | #define CURRENT_GATE_M2XCLK_336MHZ (0x0 << 12) |
311 | #define CURRENT_GATE_M2XCLK_168MHZ (0x1 << 12) |
312 | #define CURRENT_GATE_M2XCLK_112MHZ (0x2 << 12) |
313 | #define CURRENT_GATE_M2XCLK_84MHZ (0x3 << 12) |
314 | #else |
315 | #define CURRENT_GATE_M2XCLK_DIV_1 (0x0 << 12) |
316 | #define CURRENT_GATE_M2XCLK_DIV_2 (0x1 << 12) |
317 | #define CURRENT_GATE_M2XCLK_DIV_3 (0x2 << 12) |
318 | #define CURRENT_GATE_M2XCLK_DIV_4 (0x3 << 12) |
319 | #endif |
320 | #define CURRENT_GATE_VGA BIT(10) |
321 | #define CURRENT_GATE_PWM BIT(9) |
322 | #define CURRENT_GATE_I2C BIT(8) |
323 | #define CURRENT_GATE_SSP BIT(7) |
324 | #define CURRENT_GATE_GPIO BIT(6) |
325 | #define CURRENT_GATE_ZVPORT BIT(5) |
326 | #define CURRENT_GATE_CSC BIT(4) |
327 | #define CURRENT_GATE_DE BIT(3) |
328 | #define CURRENT_GATE_DISPLAY BIT(2) |
329 | #define CURRENT_GATE_LOCALMEM BIT(1) |
330 | #define CURRENT_GATE_DMA BIT(0) |
331 | |
332 | #define MODE0_GATE 0x000044 |
333 | #define MODE0_GATE_MCLK_MASK (0x3 << 14) |
334 | #define MODE0_GATE_MCLK_112MHZ (0x0 << 14) |
335 | #define MODE0_GATE_MCLK_84MHZ (0x1 << 14) |
336 | #define MODE0_GATE_MCLK_56MHZ (0x2 << 14) |
337 | #define MODE0_GATE_MCLK_42MHZ (0x3 << 14) |
338 | #define MODE0_GATE_M2XCLK_MASK (0x3 << 12) |
339 | #define MODE0_GATE_M2XCLK_336MHZ (0x0 << 12) |
340 | #define MODE0_GATE_M2XCLK_168MHZ (0x1 << 12) |
341 | #define MODE0_GATE_M2XCLK_112MHZ (0x2 << 12) |
342 | #define MODE0_GATE_M2XCLK_84MHZ (0x3 << 12) |
343 | #define MODE0_GATE_VGA BIT(10) |
344 | #define MODE0_GATE_PWM BIT(9) |
345 | #define MODE0_GATE_I2C BIT(8) |
346 | #define MODE0_GATE_SSP BIT(7) |
347 | #define MODE0_GATE_GPIO BIT(6) |
348 | #define MODE0_GATE_ZVPORT BIT(5) |
349 | #define MODE0_GATE_CSC BIT(4) |
350 | #define MODE0_GATE_DE BIT(3) |
351 | #define MODE0_GATE_DISPLAY BIT(2) |
352 | #define MODE0_GATE_LOCALMEM BIT(1) |
353 | #define MODE0_GATE_DMA BIT(0) |
354 | |
355 | #define MODE1_GATE 0x000048 |
356 | #define MODE1_GATE_MCLK_MASK (0x3 << 14) |
357 | #define MODE1_GATE_MCLK_112MHZ (0x0 << 14) |
358 | #define MODE1_GATE_MCLK_84MHZ (0x1 << 14) |
359 | #define MODE1_GATE_MCLK_56MHZ (0x2 << 14) |
360 | #define MODE1_GATE_MCLK_42MHZ (0x3 << 14) |
361 | #define MODE1_GATE_M2XCLK_MASK (0x3 << 12) |
362 | #define MODE1_GATE_M2XCLK_336MHZ (0x0 << 12) |
363 | #define MODE1_GATE_M2XCLK_168MHZ (0x1 << 12) |
364 | #define MODE1_GATE_M2XCLK_112MHZ (0x2 << 12) |
365 | #define MODE1_GATE_M2XCLK_84MHZ (0x3 << 12) |
366 | #define MODE1_GATE_VGA BIT(10) |
367 | #define MODE1_GATE_PWM BIT(9) |
368 | #define MODE1_GATE_I2C BIT(8) |
369 | #define MODE1_GATE_SSP BIT(7) |
370 | #define MODE1_GATE_GPIO BIT(6) |
371 | #define MODE1_GATE_ZVPORT BIT(5) |
372 | #define MODE1_GATE_CSC BIT(4) |
373 | #define MODE1_GATE_DE BIT(3) |
374 | #define MODE1_GATE_DISPLAY BIT(2) |
375 | #define MODE1_GATE_LOCALMEM BIT(1) |
376 | #define MODE1_GATE_DMA BIT(0) |
377 | |
378 | #define POWER_MODE_CTRL 0x00004C |
379 | #ifdef VALIDATION_CHIP |
380 | #define POWER_MODE_CTRL_336CLK BIT(4) |
381 | #endif |
382 | #define POWER_MODE_CTRL_OSC_INPUT BIT(3) |
383 | #define POWER_MODE_CTRL_ACPI BIT(2) |
384 | #define POWER_MODE_CTRL_MODE_MASK (0x3 << 0) |
385 | #define POWER_MODE_CTRL_MODE_MODE0 (0x0 << 0) |
386 | #define POWER_MODE_CTRL_MODE_MODE1 (0x1 << 0) |
387 | #define POWER_MODE_CTRL_MODE_SLEEP (0x2 << 0) |
388 | |
389 | #define PCI_MASTER_BASE 0x000050 |
390 | #define PCI_MASTER_BASE_ADDRESS_MASK 0xff |
391 | |
392 | #define DEVICE_ID 0x000054 |
393 | #define DEVICE_ID_DEVICE_ID_MASK (0xffff << 16) |
394 | #define DEVICE_ID_REVISION_ID_MASK 0xff |
395 | |
396 | #define PLL_CLK_COUNT 0x000058 |
397 | #define PLL_CLK_COUNT_COUNTER_MASK 0xffff |
398 | |
399 | #define PANEL_PLL_CTRL 0x00005C |
400 | #define PLL_CTRL_BYPASS BIT(18) |
401 | #define PLL_CTRL_POWER BIT(17) |
402 | #define PLL_CTRL_INPUT BIT(16) |
403 | #ifdef VALIDATION_CHIP |
404 | #define PLL_CTRL_OD_SHIFT 14 |
405 | #define PLL_CTRL_OD_MASK (0x3 << 14) |
406 | #else |
407 | #define PLL_CTRL_POD_SHIFT 14 |
408 | #define PLL_CTRL_POD_MASK (0x3 << 14) |
409 | #define PLL_CTRL_OD_SHIFT 12 |
410 | #define PLL_CTRL_OD_MASK (0x3 << 12) |
411 | #endif |
412 | #define PLL_CTRL_N_SHIFT 8 |
413 | #define PLL_CTRL_N_MASK (0xf << 8) |
414 | #define PLL_CTRL_M_SHIFT 0 |
415 | #define PLL_CTRL_M_MASK 0xff |
416 | |
417 | #define CRT_PLL_CTRL 0x000060 |
418 | |
419 | #define VGA_PLL0_CTRL 0x000064 |
420 | |
421 | #define VGA_PLL1_CTRL 0x000068 |
422 | |
423 | #define SCRATCH_DATA 0x00006c |
424 | |
425 | #ifndef VALIDATION_CHIP |
426 | |
427 | #define MXCLK_PLL_CTRL 0x000070 |
428 | |
429 | #define VGA_CONFIGURATION 0x000088 |
430 | #define VGA_CONFIGURATION_USER_DEFINE_MASK (0x3 << 4) |
431 | #define VGA_CONFIGURATION_PLL BIT(2) |
432 | #define VGA_CONFIGURATION_MODE BIT(1) |
433 | |
434 | #endif |
435 | |
436 | #define GPIO_DATA 0x010000 |
437 | #define GPIO_DATA_31 BIT(31) |
438 | #define GPIO_DATA_30 BIT(30) |
439 | #define GPIO_DATA_29 BIT(29) |
440 | #define GPIO_DATA_28 BIT(28) |
441 | #define GPIO_DATA_27 BIT(27) |
442 | #define GPIO_DATA_26 BIT(26) |
443 | #define GPIO_DATA_25 BIT(25) |
444 | #define GPIO_DATA_24 BIT(24) |
445 | #define GPIO_DATA_23 BIT(23) |
446 | #define GPIO_DATA_22 BIT(22) |
447 | #define GPIO_DATA_21 BIT(21) |
448 | #define GPIO_DATA_20 BIT(20) |
449 | #define GPIO_DATA_19 BIT(19) |
450 | #define GPIO_DATA_18 BIT(18) |
451 | #define GPIO_DATA_17 BIT(17) |
452 | #define GPIO_DATA_16 BIT(16) |
453 | #define GPIO_DATA_15 BIT(15) |
454 | #define GPIO_DATA_14 BIT(14) |
455 | #define GPIO_DATA_13 BIT(13) |
456 | #define GPIO_DATA_12 BIT(12) |
457 | #define GPIO_DATA_11 BIT(11) |
458 | #define GPIO_DATA_10 BIT(10) |
459 | #define GPIO_DATA_9 BIT(9) |
460 | #define GPIO_DATA_8 BIT(8) |
461 | #define GPIO_DATA_7 BIT(7) |
462 | #define GPIO_DATA_6 BIT(6) |
463 | #define GPIO_DATA_5 BIT(5) |
464 | #define GPIO_DATA_4 BIT(4) |
465 | #define GPIO_DATA_3 BIT(3) |
466 | #define GPIO_DATA_2 BIT(2) |
467 | #define GPIO_DATA_1 BIT(1) |
468 | #define GPIO_DATA_0 BIT(0) |
469 | |
470 | #define GPIO_DATA_DIRECTION 0x010004 |
471 | #define GPIO_DATA_DIRECTION_31 BIT(31) |
472 | #define GPIO_DATA_DIRECTION_30 BIT(30) |
473 | #define GPIO_DATA_DIRECTION_29 BIT(29) |
474 | #define GPIO_DATA_DIRECTION_28 BIT(28) |
475 | #define GPIO_DATA_DIRECTION_27 BIT(27) |
476 | #define GPIO_DATA_DIRECTION_26 BIT(26) |
477 | #define GPIO_DATA_DIRECTION_25 BIT(25) |
478 | #define GPIO_DATA_DIRECTION_24 BIT(24) |
479 | #define GPIO_DATA_DIRECTION_23 BIT(23) |
480 | #define GPIO_DATA_DIRECTION_22 BIT(22) |
481 | #define GPIO_DATA_DIRECTION_21 BIT(21) |
482 | #define GPIO_DATA_DIRECTION_20 BIT(20) |
483 | #define GPIO_DATA_DIRECTION_19 BIT(19) |
484 | #define GPIO_DATA_DIRECTION_18 BIT(18) |
485 | #define GPIO_DATA_DIRECTION_17 BIT(17) |
486 | #define GPIO_DATA_DIRECTION_16 BIT(16) |
487 | #define GPIO_DATA_DIRECTION_15 BIT(15) |
488 | #define GPIO_DATA_DIRECTION_14 BIT(14) |
489 | #define GPIO_DATA_DIRECTION_13 BIT(13) |
490 | #define GPIO_DATA_DIRECTION_12 BIT(12) |
491 | #define GPIO_DATA_DIRECTION_11 BIT(11) |
492 | #define GPIO_DATA_DIRECTION_10 BIT(10) |
493 | #define GPIO_DATA_DIRECTION_9 BIT(9) |
494 | #define GPIO_DATA_DIRECTION_8 BIT(8) |
495 | #define GPIO_DATA_DIRECTION_7 BIT(7) |
496 | #define GPIO_DATA_DIRECTION_6 BIT(6) |
497 | #define GPIO_DATA_DIRECTION_5 BIT(5) |
498 | #define GPIO_DATA_DIRECTION_4 BIT(4) |
499 | #define GPIO_DATA_DIRECTION_3 BIT(3) |
500 | #define GPIO_DATA_DIRECTION_2 BIT(2) |
501 | #define GPIO_DATA_DIRECTION_1 BIT(1) |
502 | #define GPIO_DATA_DIRECTION_0 BIT(0) |
503 | |
504 | #define GPIO_INTERRUPT_SETUP 0x010008 |
505 | #define GPIO_INTERRUPT_SETUP_TRIGGER_31 BIT(22) |
506 | #define GPIO_INTERRUPT_SETUP_TRIGGER_30 BIT(21) |
507 | #define GPIO_INTERRUPT_SETUP_TRIGGER_29 BIT(20) |
508 | #define GPIO_INTERRUPT_SETUP_TRIGGER_28 BIT(19) |
509 | #define GPIO_INTERRUPT_SETUP_TRIGGER_27 BIT(18) |
510 | #define GPIO_INTERRUPT_SETUP_TRIGGER_26 BIT(17) |
511 | #define GPIO_INTERRUPT_SETUP_TRIGGER_25 BIT(16) |
512 | #define GPIO_INTERRUPT_SETUP_ACTIVE_31 BIT(14) |
513 | #define GPIO_INTERRUPT_SETUP_ACTIVE_30 BIT(13) |
514 | #define GPIO_INTERRUPT_SETUP_ACTIVE_29 BIT(12) |
515 | #define GPIO_INTERRUPT_SETUP_ACTIVE_28 BIT(11) |
516 | #define GPIO_INTERRUPT_SETUP_ACTIVE_27 BIT(10) |
517 | #define GPIO_INTERRUPT_SETUP_ACTIVE_26 BIT(9) |
518 | #define GPIO_INTERRUPT_SETUP_ACTIVE_25 BIT(8) |
519 | #define GPIO_INTERRUPT_SETUP_ENABLE_31 BIT(6) |
520 | #define GPIO_INTERRUPT_SETUP_ENABLE_30 BIT(5) |
521 | #define GPIO_INTERRUPT_SETUP_ENABLE_29 BIT(4) |
522 | #define GPIO_INTERRUPT_SETUP_ENABLE_28 BIT(3) |
523 | #define GPIO_INTERRUPT_SETUP_ENABLE_27 BIT(2) |
524 | #define GPIO_INTERRUPT_SETUP_ENABLE_26 BIT(1) |
525 | #define GPIO_INTERRUPT_SETUP_ENABLE_25 BIT(0) |
526 | |
527 | #define GPIO_INTERRUPT_STATUS 0x01000C |
528 | #define GPIO_INTERRUPT_STATUS_31 BIT(22) |
529 | #define GPIO_INTERRUPT_STATUS_30 BIT(21) |
530 | #define GPIO_INTERRUPT_STATUS_29 BIT(20) |
531 | #define GPIO_INTERRUPT_STATUS_28 BIT(19) |
532 | #define GPIO_INTERRUPT_STATUS_27 BIT(18) |
533 | #define GPIO_INTERRUPT_STATUS_26 BIT(17) |
534 | #define GPIO_INTERRUPT_STATUS_25 BIT(16) |
535 | |
536 | #define PANEL_DISPLAY_CTRL 0x080000 |
537 | #define PANEL_DISPLAY_CTRL_RESERVED_MASK 0xc0f08000 |
538 | #define PANEL_DISPLAY_CTRL_SELECT_SHIFT 28 |
539 | #define PANEL_DISPLAY_CTRL_SELECT_MASK (0x3 << 28) |
540 | #define PANEL_DISPLAY_CTRL_SELECT_PANEL (0x0 << 28) |
541 | #define PANEL_DISPLAY_CTRL_SELECT_VGA (0x1 << 28) |
542 | #define PANEL_DISPLAY_CTRL_SELECT_CRT (0x2 << 28) |
543 | #define PANEL_DISPLAY_CTRL_FPEN BIT(27) |
544 | #define PANEL_DISPLAY_CTRL_VBIASEN BIT(26) |
545 | #define PANEL_DISPLAY_CTRL_DATA BIT(25) |
546 | #define PANEL_DISPLAY_CTRL_FPVDDEN BIT(24) |
547 | #define PANEL_DISPLAY_CTRL_DUAL_DISPLAY BIT(19) |
548 | #define PANEL_DISPLAY_CTRL_DOUBLE_PIXEL BIT(18) |
549 | #define PANEL_DISPLAY_CTRL_FIFO (0x3 << 16) |
550 | #define PANEL_DISPLAY_CTRL_FIFO_1 (0x0 << 16) |
551 | #define PANEL_DISPLAY_CTRL_FIFO_3 (0x1 << 16) |
552 | #define PANEL_DISPLAY_CTRL_FIFO_7 (0x2 << 16) |
553 | #define PANEL_DISPLAY_CTRL_FIFO_11 (0x3 << 16) |
554 | #define DISPLAY_CTRL_CLOCK_PHASE BIT(14) |
555 | #define DISPLAY_CTRL_VSYNC_PHASE BIT(13) |
556 | #define DISPLAY_CTRL_HSYNC_PHASE BIT(12) |
557 | #define PANEL_DISPLAY_CTRL_VSYNC BIT(11) |
558 | #define PANEL_DISPLAY_CTRL_CAPTURE_TIMING BIT(10) |
559 | #define PANEL_DISPLAY_CTRL_COLOR_KEY BIT(9) |
560 | #define DISPLAY_CTRL_TIMING BIT(8) |
561 | #define PANEL_DISPLAY_CTRL_VERTICAL_PAN_DIR BIT(7) |
562 | #define PANEL_DISPLAY_CTRL_VERTICAL_PAN BIT(6) |
563 | #define PANEL_DISPLAY_CTRL_HORIZONTAL_PAN_DIR BIT(5) |
564 | #define PANEL_DISPLAY_CTRL_HORIZONTAL_PAN BIT(4) |
565 | #define DISPLAY_CTRL_GAMMA BIT(3) |
566 | #define DISPLAY_CTRL_PLANE BIT(2) |
567 | #define PANEL_DISPLAY_CTRL_FORMAT (0x3 << 0) |
568 | #define PANEL_DISPLAY_CTRL_FORMAT_8 (0x0 << 0) |
569 | #define PANEL_DISPLAY_CTRL_FORMAT_16 (0x1 << 0) |
570 | #define PANEL_DISPLAY_CTRL_FORMAT_32 (0x2 << 0) |
571 | |
572 | #define PANEL_PAN_CTRL 0x080004 |
573 | #define PANEL_PAN_CTRL_VERTICAL_PAN_MASK (0xff << 24) |
574 | #define PANEL_PAN_CTRL_VERTICAL_VSYNC_MASK (0x3f << 16) |
575 | #define PANEL_PAN_CTRL_HORIZONTAL_PAN_MASK (0xff << 8) |
576 | #define PANEL_PAN_CTRL_HORIZONTAL_VSYNC_MASK 0x3f |
577 | |
578 | #define PANEL_COLOR_KEY 0x080008 |
579 | #define PANEL_COLOR_KEY_MASK_MASK (0xffff << 16) |
580 | #define PANEL_COLOR_KEY_VALUE_MASK 0xffff |
581 | |
582 | #define PANEL_FB_ADDRESS 0x08000C |
583 | #define PANEL_FB_ADDRESS_STATUS BIT(31) |
584 | #define PANEL_FB_ADDRESS_EXT BIT(27) |
585 | #define PANEL_FB_ADDRESS_ADDRESS_MASK 0x1ffffff |
586 | |
587 | #define PANEL_FB_WIDTH 0x080010 |
588 | #define PANEL_FB_WIDTH_WIDTH_SHIFT 16 |
589 | #define PANEL_FB_WIDTH_WIDTH_MASK (0x3fff << 16) |
590 | #define PANEL_FB_WIDTH_OFFSET_MASK 0x3fff |
591 | |
592 | #define PANEL_WINDOW_WIDTH 0x080014 |
593 | #define PANEL_WINDOW_WIDTH_WIDTH_SHIFT 16 |
594 | #define PANEL_WINDOW_WIDTH_WIDTH_MASK (0xfff << 16) |
595 | #define PANEL_WINDOW_WIDTH_X_MASK 0xfff |
596 | |
597 | #define PANEL_WINDOW_HEIGHT 0x080018 |
598 | #define PANEL_WINDOW_HEIGHT_HEIGHT_SHIFT 16 |
599 | #define PANEL_WINDOW_HEIGHT_HEIGHT_MASK (0xfff << 16) |
600 | #define PANEL_WINDOW_HEIGHT_Y_MASK 0xfff |
601 | |
602 | #define PANEL_PLANE_TL 0x08001C |
603 | #define PANEL_PLANE_TL_TOP_SHIFT 16 |
604 | #define PANEL_PLANE_TL_TOP_MASK (0x7ff << 16) |
605 | #define PANEL_PLANE_TL_LEFT_MASK 0x7ff |
606 | |
607 | #define PANEL_PLANE_BR 0x080020 |
608 | #define PANEL_PLANE_BR_BOTTOM_SHIFT 16 |
609 | #define PANEL_PLANE_BR_BOTTOM_MASK (0x7ff << 16) |
610 | #define PANEL_PLANE_BR_RIGHT_MASK 0x7ff |
611 | |
612 | #define PANEL_HORIZONTAL_TOTAL 0x080024 |
613 | #define PANEL_HORIZONTAL_TOTAL_TOTAL_SHIFT 16 |
614 | #define PANEL_HORIZONTAL_TOTAL_TOTAL_MASK (0xfff << 16) |
615 | #define PANEL_HORIZONTAL_TOTAL_DISPLAY_END_MASK 0xfff |
616 | |
617 | #define PANEL_HORIZONTAL_SYNC 0x080028 |
618 | #define PANEL_HORIZONTAL_SYNC_WIDTH_SHIFT 16 |
619 | #define PANEL_HORIZONTAL_SYNC_WIDTH_MASK (0xff << 16) |
620 | #define PANEL_HORIZONTAL_SYNC_START_MASK 0xfff |
621 | |
622 | #define PANEL_VERTICAL_TOTAL 0x08002C |
623 | #define PANEL_VERTICAL_TOTAL_TOTAL_SHIFT 16 |
624 | #define PANEL_VERTICAL_TOTAL_TOTAL_MASK (0x7ff << 16) |
625 | #define PANEL_VERTICAL_TOTAL_DISPLAY_END_MASK 0x7ff |
626 | |
627 | #define PANEL_VERTICAL_SYNC 0x080030 |
628 | #define PANEL_VERTICAL_SYNC_HEIGHT_SHIFT 16 |
629 | #define PANEL_VERTICAL_SYNC_HEIGHT_MASK (0x3f << 16) |
630 | #define PANEL_VERTICAL_SYNC_START_MASK 0x7ff |
631 | |
632 | #define PANEL_CURRENT_LINE 0x080034 |
633 | #define PANEL_CURRENT_LINE_LINE_MASK 0x7ff |
634 | |
635 | /* Video Control */ |
636 | |
637 | #define VIDEO_DISPLAY_CTRL 0x080040 |
638 | #define VIDEO_DISPLAY_CTRL_LINE_BUFFER BIT(18) |
639 | #define VIDEO_DISPLAY_CTRL_FIFO_MASK (0x3 << 16) |
640 | #define VIDEO_DISPLAY_CTRL_FIFO_1 (0x0 << 16) |
641 | #define VIDEO_DISPLAY_CTRL_FIFO_3 (0x1 << 16) |
642 | #define VIDEO_DISPLAY_CTRL_FIFO_7 (0x2 << 16) |
643 | #define VIDEO_DISPLAY_CTRL_FIFO_11 (0x3 << 16) |
644 | #define VIDEO_DISPLAY_CTRL_BUFFER BIT(15) |
645 | #define VIDEO_DISPLAY_CTRL_CAPTURE BIT(14) |
646 | #define VIDEO_DISPLAY_CTRL_DOUBLE_BUFFER BIT(13) |
647 | #define VIDEO_DISPLAY_CTRL_BYTE_SWAP BIT(12) |
648 | #define VIDEO_DISPLAY_CTRL_VERTICAL_SCALE BIT(11) |
649 | #define VIDEO_DISPLAY_CTRL_HORIZONTAL_SCALE BIT(10) |
650 | #define VIDEO_DISPLAY_CTRL_VERTICAL_MODE BIT(9) |
651 | #define VIDEO_DISPLAY_CTRL_HORIZONTAL_MODE BIT(8) |
652 | #define VIDEO_DISPLAY_CTRL_PIXEL_MASK (0xf << 4) |
653 | #define VIDEO_DISPLAY_CTRL_GAMMA BIT(3) |
654 | #define VIDEO_DISPLAY_CTRL_FORMAT_MASK 0x3 |
655 | #define VIDEO_DISPLAY_CTRL_FORMAT_8 0x0 |
656 | #define VIDEO_DISPLAY_CTRL_FORMAT_16 0x1 |
657 | #define VIDEO_DISPLAY_CTRL_FORMAT_32 0x2 |
658 | #define VIDEO_DISPLAY_CTRL_FORMAT_YUV 0x3 |
659 | |
660 | #define VIDEO_FB_0_ADDRESS 0x080044 |
661 | #define VIDEO_FB_0_ADDRESS_STATUS BIT(31) |
662 | #define VIDEO_FB_0_ADDRESS_EXT BIT(27) |
663 | #define VIDEO_FB_0_ADDRESS_ADDRESS_MASK 0x3ffffff |
664 | |
665 | #define VIDEO_FB_WIDTH 0x080048 |
666 | #define VIDEO_FB_WIDTH_WIDTH_MASK (0x3fff << 16) |
667 | #define VIDEO_FB_WIDTH_OFFSET_MASK 0x3fff |
668 | |
669 | #define VIDEO_FB_0_LAST_ADDRESS 0x08004C |
670 | #define VIDEO_FB_0_LAST_ADDRESS_EXT BIT(27) |
671 | #define VIDEO_FB_0_LAST_ADDRESS_ADDRESS_MASK 0x3ffffff |
672 | |
673 | #define VIDEO_PLANE_TL 0x080050 |
674 | #define VIDEO_PLANE_TL_TOP_MASK (0x7ff << 16) |
675 | #define VIDEO_PLANE_TL_LEFT_MASK 0x7ff |
676 | |
677 | #define VIDEO_PLANE_BR 0x080054 |
678 | #define VIDEO_PLANE_BR_BOTTOM_MASK (0x7ff << 16) |
679 | #define VIDEO_PLANE_BR_RIGHT_MASK 0x7ff |
680 | |
681 | #define VIDEO_SCALE 0x080058 |
682 | #define VIDEO_SCALE_VERTICAL_MODE BIT(31) |
683 | #define VIDEO_SCALE_VERTICAL_SCALE_MASK (0xfff << 16) |
684 | #define VIDEO_SCALE_HORIZONTAL_MODE BIT(15) |
685 | #define VIDEO_SCALE_HORIZONTAL_SCALE_MASK 0xfff |
686 | |
687 | #define VIDEO_INITIAL_SCALE 0x08005C |
688 | #define VIDEO_INITIAL_SCALE_FB_1_MASK (0xfff << 16) |
689 | #define VIDEO_INITIAL_SCALE_FB_0_MASK 0xfff |
690 | |
691 | #define VIDEO_YUV_CONSTANTS 0x080060 |
692 | #define VIDEO_YUV_CONSTANTS_Y_MASK (0xff << 24) |
693 | #define VIDEO_YUV_CONSTANTS_R_MASK (0xff << 16) |
694 | #define VIDEO_YUV_CONSTANTS_G_MASK (0xff << 8) |
695 | #define VIDEO_YUV_CONSTANTS_B_MASK 0xff |
696 | |
697 | #define VIDEO_FB_1_ADDRESS 0x080064 |
698 | #define VIDEO_FB_1_ADDRESS_STATUS BIT(31) |
699 | #define VIDEO_FB_1_ADDRESS_EXT BIT(27) |
700 | #define VIDEO_FB_1_ADDRESS_ADDRESS_MASK 0x3ffffff |
701 | |
702 | #define VIDEO_FB_1_LAST_ADDRESS 0x080068 |
703 | #define VIDEO_FB_1_LAST_ADDRESS_EXT BIT(27) |
704 | #define VIDEO_FB_1_LAST_ADDRESS_ADDRESS_MASK 0x3ffffff |
705 | |
706 | /* Video Alpha Control */ |
707 | |
708 | #define VIDEO_ALPHA_DISPLAY_CTRL 0x080080 |
709 | #define VIDEO_ALPHA_DISPLAY_CTRL_SELECT BIT(28) |
710 | #define VIDEO_ALPHA_DISPLAY_CTRL_ALPHA_MASK (0xf << 24) |
711 | #define VIDEO_ALPHA_DISPLAY_CTRL_FIFO_MASK (0x3 << 16) |
712 | #define VIDEO_ALPHA_DISPLAY_CTRL_FIFO_1 (0x0 << 16) |
713 | #define VIDEO_ALPHA_DISPLAY_CTRL_FIFO_3 (0x1 << 16) |
714 | #define VIDEO_ALPHA_DISPLAY_CTRL_FIFO_7 (0x2 << 16) |
715 | #define VIDEO_ALPHA_DISPLAY_CTRL_FIFO_11 (0x3 << 16) |
716 | #define VIDEO_ALPHA_DISPLAY_CTRL_VERT_SCALE BIT(11) |
717 | #define VIDEO_ALPHA_DISPLAY_CTRL_HORZ_SCALE BIT(10) |
718 | #define VIDEO_ALPHA_DISPLAY_CTRL_VERT_MODE BIT(9) |
719 | #define VIDEO_ALPHA_DISPLAY_CTRL_HORZ_MODE BIT(8) |
720 | #define VIDEO_ALPHA_DISPLAY_CTRL_PIXEL_MASK (0xf << 4) |
721 | #define VIDEO_ALPHA_DISPLAY_CTRL_CHROMA_KEY BIT(3) |
722 | #define VIDEO_ALPHA_DISPLAY_CTRL_FORMAT_MASK 0x3 |
723 | #define VIDEO_ALPHA_DISPLAY_CTRL_FORMAT_8 0x0 |
724 | #define VIDEO_ALPHA_DISPLAY_CTRL_FORMAT_16 0x1 |
725 | #define VIDEO_ALPHA_DISPLAY_CTRL_FORMAT_ALPHA_4_4 0x2 |
726 | #define VIDEO_ALPHA_DISPLAY_CTRL_FORMAT_ALPHA_4_4_4_4 0x3 |
727 | |
728 | #define VIDEO_ALPHA_FB_ADDRESS 0x080084 |
729 | #define VIDEO_ALPHA_FB_ADDRESS_STATUS BIT(31) |
730 | #define VIDEO_ALPHA_FB_ADDRESS_EXT BIT(27) |
731 | #define VIDEO_ALPHA_FB_ADDRESS_ADDRESS_MASK 0x3ffffff |
732 | |
733 | #define VIDEO_ALPHA_FB_WIDTH 0x080088 |
734 | #define VIDEO_ALPHA_FB_WIDTH_WIDTH_MASK (0x3fff << 16) |
735 | #define VIDEO_ALPHA_FB_WIDTH_OFFSET_MASK 0x3fff |
736 | |
737 | #define VIDEO_ALPHA_FB_LAST_ADDRESS 0x08008C |
738 | #define VIDEO_ALPHA_FB_LAST_ADDRESS_EXT BIT(27) |
739 | #define VIDEO_ALPHA_FB_LAST_ADDRESS_ADDRESS_MASK 0x3ffffff |
740 | |
741 | #define VIDEO_ALPHA_PLANE_TL 0x080090 |
742 | #define VIDEO_ALPHA_PLANE_TL_TOP_MASK (0x7ff << 16) |
743 | #define VIDEO_ALPHA_PLANE_TL_LEFT_MASK 0x7ff |
744 | |
745 | #define VIDEO_ALPHA_PLANE_BR 0x080094 |
746 | #define VIDEO_ALPHA_PLANE_BR_BOTTOM_MASK (0x7ff << 16) |
747 | #define VIDEO_ALPHA_PLANE_BR_RIGHT_MASK 0x7ff |
748 | |
749 | #define VIDEO_ALPHA_SCALE 0x080098 |
750 | #define VIDEO_ALPHA_SCALE_VERTICAL_MODE BIT(31) |
751 | #define VIDEO_ALPHA_SCALE_VERTICAL_SCALE_MASK (0xfff << 16) |
752 | #define VIDEO_ALPHA_SCALE_HORIZONTAL_MODE BIT(15) |
753 | #define VIDEO_ALPHA_SCALE_HORIZONTAL_SCALE_MASK 0xfff |
754 | |
755 | #define VIDEO_ALPHA_INITIAL_SCALE 0x08009C |
756 | #define VIDEO_ALPHA_INITIAL_SCALE_VERTICAL_MASK (0xfff << 16) |
757 | #define VIDEO_ALPHA_INITIAL_SCALE_HORIZONTAL_MASK 0xfff |
758 | |
759 | #define VIDEO_ALPHA_CHROMA_KEY 0x0800A0 |
760 | #define VIDEO_ALPHA_CHROMA_KEY_MASK_MASK (0xffff << 16) |
761 | #define VIDEO_ALPHA_CHROMA_KEY_VALUE_MASK 0xffff |
762 | |
763 | #define VIDEO_ALPHA_COLOR_LOOKUP_01 0x0800A4 |
764 | #define VIDEO_ALPHA_COLOR_LOOKUP_01_1_MASK (0xffff << 16) |
765 | #define VIDEO_ALPHA_COLOR_LOOKUP_01_1_RED_MASK (0x1f << 27) |
766 | #define VIDEO_ALPHA_COLOR_LOOKUP_01_1_GREEN_MASK (0x3f << 21) |
767 | #define VIDEO_ALPHA_COLOR_LOOKUP_01_1_BLUE_MASK (0x1f << 16) |
768 | #define VIDEO_ALPHA_COLOR_LOOKUP_01_0_MASK 0xffff |
769 | #define VIDEO_ALPHA_COLOR_LOOKUP_01_0_RED_MASK (0x1f << 11) |
770 | #define VIDEO_ALPHA_COLOR_LOOKUP_01_0_GREEN_MASK (0x3f << 5) |
771 | #define VIDEO_ALPHA_COLOR_LOOKUP_01_0_BLUE_MASK 0x1f |
772 | |
773 | #define VIDEO_ALPHA_COLOR_LOOKUP_23 0x0800A8 |
774 | #define VIDEO_ALPHA_COLOR_LOOKUP_23_3_MASK (0xffff << 16) |
775 | #define VIDEO_ALPHA_COLOR_LOOKUP_23_3_RED_MASK (0x1f << 27) |
776 | #define VIDEO_ALPHA_COLOR_LOOKUP_23_3_GREEN_MASK (0x3f << 21) |
777 | #define VIDEO_ALPHA_COLOR_LOOKUP_23_3_BLUE_MASK (0x1f << 16) |
778 | #define VIDEO_ALPHA_COLOR_LOOKUP_23_2_MASK 0xffff |
779 | #define VIDEO_ALPHA_COLOR_LOOKUP_23_2_RED_MASK (0x1f << 11) |
780 | #define VIDEO_ALPHA_COLOR_LOOKUP_23_2_GREEN_MASK (0x3f << 5) |
781 | #define VIDEO_ALPHA_COLOR_LOOKUP_23_2_BLUE_MASK 0x1f |
782 | |
783 | #define VIDEO_ALPHA_COLOR_LOOKUP_45 0x0800AC |
784 | #define VIDEO_ALPHA_COLOR_LOOKUP_45_5_MASK (0xffff << 16) |
785 | #define VIDEO_ALPHA_COLOR_LOOKUP_45_5_RED_MASK (0x1f << 27) |
786 | #define VIDEO_ALPHA_COLOR_LOOKUP_45_5_GREEN_MASK (0x3f << 21) |
787 | #define VIDEO_ALPHA_COLOR_LOOKUP_45_5_BLUE_MASK (0x1f << 16) |
788 | #define VIDEO_ALPHA_COLOR_LOOKUP_45_4_MASK 0xffff |
789 | #define VIDEO_ALPHA_COLOR_LOOKUP_45_4_RED_MASK (0x1f << 11) |
790 | #define VIDEO_ALPHA_COLOR_LOOKUP_45_4_GREEN_MASK (0x3f << 5) |
791 | #define VIDEO_ALPHA_COLOR_LOOKUP_45_4_BLUE_MASK 0x1f |
792 | |
793 | #define VIDEO_ALPHA_COLOR_LOOKUP_67 0x0800B0 |
794 | #define VIDEO_ALPHA_COLOR_LOOKUP_67_7_MASK (0xffff << 16) |
795 | #define VIDEO_ALPHA_COLOR_LOOKUP_67_7_RED_MASK (0x1f << 27) |
796 | #define VIDEO_ALPHA_COLOR_LOOKUP_67_7_GREEN_MASK (0x3f << 21) |
797 | #define VIDEO_ALPHA_COLOR_LOOKUP_67_7_BLUE_MASK (0x1f << 16) |
798 | #define VIDEO_ALPHA_COLOR_LOOKUP_67_6_MASK 0xffff |
799 | #define VIDEO_ALPHA_COLOR_LOOKUP_67_6_RED_MASK (0x1f << 11) |
800 | #define VIDEO_ALPHA_COLOR_LOOKUP_67_6_GREEN_MASK (0x3f << 5) |
801 | #define VIDEO_ALPHA_COLOR_LOOKUP_67_6_BLUE_MASK 0x1f |
802 | |
803 | #define VIDEO_ALPHA_COLOR_LOOKUP_89 0x0800B4 |
804 | #define VIDEO_ALPHA_COLOR_LOOKUP_89_9_MASK (0xffff << 16) |
805 | #define VIDEO_ALPHA_COLOR_LOOKUP_89_9_RED_MASK (0x1f << 27) |
806 | #define VIDEO_ALPHA_COLOR_LOOKUP_89_9_GREEN_MASK (0x3f << 21) |
807 | #define VIDEO_ALPHA_COLOR_LOOKUP_89_9_BLUE_MASK (0x1f << 16) |
808 | #define VIDEO_ALPHA_COLOR_LOOKUP_89_8_MASK 0xffff |
809 | #define VIDEO_ALPHA_COLOR_LOOKUP_89_8_RED_MASK (0x1f << 11) |
810 | #define VIDEO_ALPHA_COLOR_LOOKUP_89_8_GREEN_MASK (0x3f << 5) |
811 | #define VIDEO_ALPHA_COLOR_LOOKUP_89_8_BLUE_MASK 0x1f |
812 | |
813 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB 0x0800B8 |
814 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB_B_MASK (0xffff << 16) |
815 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB_B_RED_MASK (0x1f << 27) |
816 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB_B_GREEN_MASK (0x3f << 21) |
817 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB_B_BLUE_MASK (0x1f << 16) |
818 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB_A_MASK 0xffff |
819 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB_A_RED_MASK (0x1f << 11) |
820 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB_A_GREEN_MASK (0x3f << 5) |
821 | #define VIDEO_ALPHA_COLOR_LOOKUP_AB_A_BLUE_MASK 0x1f |
822 | |
823 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD 0x0800BC |
824 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD_D_MASK (0xffff << 16) |
825 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD_D_RED_MASK (0x1f << 27) |
826 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD_D_GREEN_MASK (0x3f << 21) |
827 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD_D_BLUE_MASK (0x1f << 16) |
828 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD_C_MASK 0xffff |
829 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD_C_RED_MASK (0x1f << 11) |
830 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD_C_GREEN_MASK (0x3f << 5) |
831 | #define VIDEO_ALPHA_COLOR_LOOKUP_CD_C_BLUE_MASK 0x1f |
832 | |
833 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF 0x0800C0 |
834 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF_F_MASK (0xffff << 16) |
835 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF_F_RED_MASK (0x1f << 27) |
836 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF_F_GREEN_MASK (0x3f << 21) |
837 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF_F_BLUE_MASK (0x1f << 16) |
838 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF_E_MASK 0xffff |
839 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF_E_RED_MASK (0x1f << 11) |
840 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF_E_GREEN_MASK (0x3f << 5) |
841 | #define VIDEO_ALPHA_COLOR_LOOKUP_EF_E_BLUE_MASK 0x1f |
842 | |
843 | /* Panel Cursor Control */ |
844 | |
845 | #define PANEL_HWC_ADDRESS 0x0800F0 |
846 | #define PANEL_HWC_ADDRESS_ENABLE BIT(31) |
847 | #define PANEL_HWC_ADDRESS_EXT BIT(27) |
848 | #define PANEL_HWC_ADDRESS_ADDRESS_MASK 0x3ffffff |
849 | |
850 | #define PANEL_HWC_LOCATION 0x0800F4 |
851 | #define PANEL_HWC_LOCATION_TOP BIT(27) |
852 | #define PANEL_HWC_LOCATION_Y_MASK (0x7ff << 16) |
853 | #define PANEL_HWC_LOCATION_LEFT BIT(11) |
854 | #define PANEL_HWC_LOCATION_X_MASK 0x7ff |
855 | |
856 | #define PANEL_HWC_COLOR_12 0x0800F8 |
857 | #define PANEL_HWC_COLOR_12_2_RGB565_MASK (0xffff << 16) |
858 | #define PANEL_HWC_COLOR_12_1_RGB565_MASK 0xffff |
859 | |
860 | #define PANEL_HWC_COLOR_3 0x0800FC |
861 | #define PANEL_HWC_COLOR_3_RGB565_MASK 0xffff |
862 | |
863 | /* Old Definitions +++ */ |
864 | #define PANEL_HWC_COLOR_01 0x0800F8 |
865 | #define PANEL_HWC_COLOR_01_1_RED_MASK (0x1f << 27) |
866 | #define PANEL_HWC_COLOR_01_1_GREEN_MASK (0x3f << 21) |
867 | #define PANEL_HWC_COLOR_01_1_BLUE_MASK (0x1f << 16) |
868 | #define PANEL_HWC_COLOR_01_0_RED_MASK (0x1f << 11) |
869 | #define PANEL_HWC_COLOR_01_0_GREEN_MASK (0x3f << 5) |
870 | #define PANEL_HWC_COLOR_01_0_BLUE_MASK 0x1f |
871 | |
872 | #define PANEL_HWC_COLOR_2 0x0800FC |
873 | #define PANEL_HWC_COLOR_2_RED_MASK (0x1f << 11) |
874 | #define PANEL_HWC_COLOR_2_GREEN_MASK (0x3f << 5) |
875 | #define PANEL_HWC_COLOR_2_BLUE_MASK 0x1f |
876 | /* Old Definitions --- */ |
877 | |
878 | /* Alpha Control */ |
879 | |
880 | #define ALPHA_DISPLAY_CTRL 0x080100 |
881 | #define ALPHA_DISPLAY_CTRL_SELECT BIT(28) |
882 | #define ALPHA_DISPLAY_CTRL_ALPHA_MASK (0xf << 24) |
883 | #define ALPHA_DISPLAY_CTRL_FIFO_MASK (0x3 << 16) |
884 | #define ALPHA_DISPLAY_CTRL_FIFO_1 (0x0 << 16) |
885 | #define ALPHA_DISPLAY_CTRL_FIFO_3 (0x1 << 16) |
886 | #define ALPHA_DISPLAY_CTRL_FIFO_7 (0x2 << 16) |
887 | #define ALPHA_DISPLAY_CTRL_FIFO_11 (0x3 << 16) |
888 | #define ALPHA_DISPLAY_CTRL_PIXEL_MASK (0xf << 4) |
889 | #define ALPHA_DISPLAY_CTRL_CHROMA_KEY BIT(3) |
890 | #define ALPHA_DISPLAY_CTRL_FORMAT_MASK 0x3 |
891 | #define ALPHA_DISPLAY_CTRL_FORMAT_16 0x1 |
892 | #define ALPHA_DISPLAY_CTRL_FORMAT_ALPHA_4_4 0x2 |
893 | #define ALPHA_DISPLAY_CTRL_FORMAT_ALPHA_4_4_4_4 0x3 |
894 | |
895 | #define ALPHA_FB_ADDRESS 0x080104 |
896 | #define ALPHA_FB_ADDRESS_STATUS BIT(31) |
897 | #define ALPHA_FB_ADDRESS_EXT BIT(27) |
898 | #define ALPHA_FB_ADDRESS_ADDRESS_MASK 0x3ffffff |
899 | |
900 | #define ALPHA_FB_WIDTH 0x080108 |
901 | #define ALPHA_FB_WIDTH_WIDTH_MASK (0x3fff << 16) |
902 | #define ALPHA_FB_WIDTH_OFFSET_MASK 0x3fff |
903 | |
904 | #define ALPHA_PLANE_TL 0x08010C |
905 | #define ALPHA_PLANE_TL_TOP_MASK (0x7ff << 16) |
906 | #define ALPHA_PLANE_TL_LEFT_MASK 0x7ff |
907 | |
908 | #define ALPHA_PLANE_BR 0x080110 |
909 | #define ALPHA_PLANE_BR_BOTTOM_MASK (0x7ff << 16) |
910 | #define ALPHA_PLANE_BR_RIGHT_MASK 0x7ff |
911 | |
912 | #define ALPHA_CHROMA_KEY 0x080114 |
913 | #define ALPHA_CHROMA_KEY_MASK_MASK (0xffff << 16) |
914 | #define ALPHA_CHROMA_KEY_VALUE_MASK 0xffff |
915 | |
916 | #define ALPHA_COLOR_LOOKUP_01 0x080118 |
917 | #define ALPHA_COLOR_LOOKUP_01_1_MASK (0xffff << 16) |
918 | #define ALPHA_COLOR_LOOKUP_01_1_RED_MASK (0x1f << 27) |
919 | #define ALPHA_COLOR_LOOKUP_01_1_GREEN_MASK (0x3f << 21) |
920 | #define ALPHA_COLOR_LOOKUP_01_1_BLUE_MASK (0x1f << 16) |
921 | #define ALPHA_COLOR_LOOKUP_01_0_MASK 0xffff |
922 | #define ALPHA_COLOR_LOOKUP_01_0_RED_MASK (0x1f << 11) |
923 | #define ALPHA_COLOR_LOOKUP_01_0_GREEN_MASK (0x3f << 5) |
924 | #define ALPHA_COLOR_LOOKUP_01_0_BLUE_MASK 0x1f |
925 | |
926 | #define ALPHA_COLOR_LOOKUP_23 0x08011C |
927 | #define ALPHA_COLOR_LOOKUP_23_3_MASK (0xffff << 16) |
928 | #define ALPHA_COLOR_LOOKUP_23_3_RED_MASK (0x1f << 27) |
929 | #define ALPHA_COLOR_LOOKUP_23_3_GREEN_MASK (0x3f << 21) |
930 | #define ALPHA_COLOR_LOOKUP_23_3_BLUE_MASK (0x1f << 16) |
931 | #define ALPHA_COLOR_LOOKUP_23_2_MASK 0xffff |
932 | #define ALPHA_COLOR_LOOKUP_23_2_RED_MASK (0x1f << 11) |
933 | #define ALPHA_COLOR_LOOKUP_23_2_GREEN_MASK (0x3f << 5) |
934 | #define ALPHA_COLOR_LOOKUP_23_2_BLUE_MASK 0x1f |
935 | |
936 | #define ALPHA_COLOR_LOOKUP_45 0x080120 |
937 | #define ALPHA_COLOR_LOOKUP_45_5_MASK (0xffff << 16) |
938 | #define ALPHA_COLOR_LOOKUP_45_5_RED_MASK (0x1f << 27) |
939 | #define ALPHA_COLOR_LOOKUP_45_5_GREEN_MASK (0x3f << 21) |
940 | #define ALPHA_COLOR_LOOKUP_45_5_BLUE_MASK (0x1f << 16) |
941 | #define ALPHA_COLOR_LOOKUP_45_4_MASK 0xffff |
942 | #define ALPHA_COLOR_LOOKUP_45_4_RED_MASK (0x1f << 11) |
943 | #define ALPHA_COLOR_LOOKUP_45_4_GREEN_MASK (0x3f << 5) |
944 | #define ALPHA_COLOR_LOOKUP_45_4_BLUE_MASK 0x1f |
945 | |
946 | #define ALPHA_COLOR_LOOKUP_67 0x080124 |
947 | #define ALPHA_COLOR_LOOKUP_67_7_MASK (0xffff << 16) |
948 | #define ALPHA_COLOR_LOOKUP_67_7_RED_MASK (0x1f << 27) |
949 | #define ALPHA_COLOR_LOOKUP_67_7_GREEN_MASK (0x3f << 21) |
950 | #define ALPHA_COLOR_LOOKUP_67_7_BLUE_MASK (0x1f << 16) |
951 | #define ALPHA_COLOR_LOOKUP_67_6_MASK 0xffff |
952 | #define ALPHA_COLOR_LOOKUP_67_6_RED_MASK (0x1f << 11) |
953 | #define ALPHA_COLOR_LOOKUP_67_6_GREEN_MASK (0x3f << 5) |
954 | #define ALPHA_COLOR_LOOKUP_67_6_BLUE_MASK 0x1f |
955 | |
956 | #define ALPHA_COLOR_LOOKUP_89 0x080128 |
957 | #define ALPHA_COLOR_LOOKUP_89_9_MASK (0xffff << 16) |
958 | #define ALPHA_COLOR_LOOKUP_89_9_RED_MASK (0x1f << 27) |
959 | #define ALPHA_COLOR_LOOKUP_89_9_GREEN_MASK (0x3f << 21) |
960 | #define ALPHA_COLOR_LOOKUP_89_9_BLUE_MASK (0x1f << 16) |
961 | #define ALPHA_COLOR_LOOKUP_89_8_MASK 0xffff |
962 | #define ALPHA_COLOR_LOOKUP_89_8_RED_MASK (0x1f << 11) |
963 | #define ALPHA_COLOR_LOOKUP_89_8_GREEN_MASK (0x3f << 5) |
964 | #define ALPHA_COLOR_LOOKUP_89_8_BLUE_MASK 0x1f |
965 | |
966 | #define ALPHA_COLOR_LOOKUP_AB 0x08012C |
967 | #define ALPHA_COLOR_LOOKUP_AB_B_MASK (0xffff << 16) |
968 | #define ALPHA_COLOR_LOOKUP_AB_B_RED_MASK (0x1f << 27) |
969 | #define ALPHA_COLOR_LOOKUP_AB_B_GREEN_MASK (0x3f << 21) |
970 | #define ALPHA_COLOR_LOOKUP_AB_B_BLUE_MASK (0x1f << 16) |
971 | #define ALPHA_COLOR_LOOKUP_AB_A_MASK 0xffff |
972 | #define ALPHA_COLOR_LOOKUP_AB_A_RED_MASK (0x1f << 11) |
973 | #define ALPHA_COLOR_LOOKUP_AB_A_GREEN_MASK (0x3f << 5) |
974 | #define ALPHA_COLOR_LOOKUP_AB_A_BLUE_MASK 0x1f |
975 | |
976 | #define ALPHA_COLOR_LOOKUP_CD 0x080130 |
977 | #define ALPHA_COLOR_LOOKUP_CD_D_MASK (0xffff << 16) |
978 | #define ALPHA_COLOR_LOOKUP_CD_D_RED_MASK (0x1f << 27) |
979 | #define ALPHA_COLOR_LOOKUP_CD_D_GREEN_MASK (0x3f << 21) |
980 | #define ALPHA_COLOR_LOOKUP_CD_D_BLUE_MASK (0x1f << 16) |
981 | #define ALPHA_COLOR_LOOKUP_CD_C_MASK 0xffff |
982 | #define ALPHA_COLOR_LOOKUP_CD_C_RED_MASK (0x1f << 11) |
983 | #define ALPHA_COLOR_LOOKUP_CD_C_GREEN_MASK (0x3f << 5) |
984 | #define ALPHA_COLOR_LOOKUP_CD_C_BLUE_MASK 0x1f |
985 | |
986 | #define ALPHA_COLOR_LOOKUP_EF 0x080134 |
987 | #define ALPHA_COLOR_LOOKUP_EF_F_MASK (0xffff << 16) |
988 | #define ALPHA_COLOR_LOOKUP_EF_F_RED_MASK (0x1f << 27) |
989 | #define ALPHA_COLOR_LOOKUP_EF_F_GREEN_MASK (0x3f << 21) |
990 | #define ALPHA_COLOR_LOOKUP_EF_F_BLUE_MASK (0x1f << 16) |
991 | #define ALPHA_COLOR_LOOKUP_EF_E_MASK 0xffff |
992 | #define ALPHA_COLOR_LOOKUP_EF_E_RED_MASK (0x1f << 11) |
993 | #define ALPHA_COLOR_LOOKUP_EF_E_GREEN_MASK (0x3f << 5) |
994 | #define ALPHA_COLOR_LOOKUP_EF_E_BLUE_MASK 0x1f |
995 | |
996 | /* CRT Graphics Control */ |
997 | |
998 | #define CRT_DISPLAY_CTRL 0x080200 |
999 | #define CRT_DISPLAY_CTRL_RESERVED_MASK 0xfb008200 |
1000 | |
1001 | /* SM750LE definition */ |
1002 | #define CRT_DISPLAY_CTRL_DPMS_SHIFT 30 |
1003 | #define CRT_DISPLAY_CTRL_DPMS_MASK (0x3 << 30) |
1004 | #define CRT_DISPLAY_CTRL_DPMS_0 (0x0 << 30) |
1005 | #define CRT_DISPLAY_CTRL_DPMS_1 (0x1 << 30) |
1006 | #define CRT_DISPLAY_CTRL_DPMS_2 (0x2 << 30) |
1007 | #define CRT_DISPLAY_CTRL_DPMS_3 (0x3 << 30) |
1008 | #define CRT_DISPLAY_CTRL_CLK_MASK (0x7 << 27) |
1009 | #define CRT_DISPLAY_CTRL_CLK_PLL25 (0x0 << 27) |
1010 | #define CRT_DISPLAY_CTRL_CLK_PLL41 (0x1 << 27) |
1011 | #define CRT_DISPLAY_CTRL_CLK_PLL62 (0x2 << 27) |
1012 | #define CRT_DISPLAY_CTRL_CLK_PLL65 (0x3 << 27) |
1013 | #define CRT_DISPLAY_CTRL_CLK_PLL74 (0x4 << 27) |
1014 | #define CRT_DISPLAY_CTRL_CLK_PLL80 (0x5 << 27) |
1015 | #define CRT_DISPLAY_CTRL_CLK_PLL108 (0x6 << 27) |
1016 | #define CRT_DISPLAY_CTRL_CLK_RESERVED (0x7 << 27) |
1017 | #define CRT_DISPLAY_CTRL_SHIFT_VGA_DAC BIT(26) |
1018 | |
1019 | /* SM750LE definition */ |
1020 | #define CRT_DISPLAY_CTRL_CRTSELECT BIT(25) |
1021 | #define CRT_DISPLAY_CTRL_RGBBIT BIT(24) |
1022 | |
1023 | #ifndef VALIDATION_CHIP |
1024 | #define CRT_DISPLAY_CTRL_CENTERING BIT(24) |
1025 | #endif |
1026 | #define CRT_DISPLAY_CTRL_LOCK_TIMING BIT(23) |
1027 | #define CRT_DISPLAY_CTRL_EXPANSION BIT(22) |
1028 | #define CRT_DISPLAY_CTRL_VERTICAL_MODE BIT(21) |
1029 | #define CRT_DISPLAY_CTRL_HORIZONTAL_MODE BIT(20) |
1030 | #define CRT_DISPLAY_CTRL_SELECT_SHIFT 18 |
1031 | #define CRT_DISPLAY_CTRL_SELECT_MASK (0x3 << 18) |
1032 | #define CRT_DISPLAY_CTRL_SELECT_PANEL (0x0 << 18) |
1033 | #define CRT_DISPLAY_CTRL_SELECT_VGA (0x1 << 18) |
1034 | #define CRT_DISPLAY_CTRL_SELECT_CRT (0x2 << 18) |
1035 | #define CRT_DISPLAY_CTRL_FIFO_MASK (0x3 << 16) |
1036 | #define CRT_DISPLAY_CTRL_FIFO_1 (0x0 << 16) |
1037 | #define CRT_DISPLAY_CTRL_FIFO_3 (0x1 << 16) |
1038 | #define CRT_DISPLAY_CTRL_FIFO_7 (0x2 << 16) |
1039 | #define CRT_DISPLAY_CTRL_FIFO_11 (0x3 << 16) |
1040 | #define CRT_DISPLAY_CTRL_BLANK BIT(10) |
1041 | #define CRT_DISPLAY_CTRL_PIXEL_MASK (0xf << 4) |
1042 | #define CRT_DISPLAY_CTRL_FORMAT_MASK (0x3 << 0) |
1043 | #define CRT_DISPLAY_CTRL_FORMAT_8 (0x0 << 0) |
1044 | #define CRT_DISPLAY_CTRL_FORMAT_16 (0x1 << 0) |
1045 | #define CRT_DISPLAY_CTRL_FORMAT_32 (0x2 << 0) |
1046 | |
1047 | #define CRT_FB_ADDRESS 0x080204 |
1048 | #define CRT_FB_ADDRESS_STATUS BIT(31) |
1049 | #define CRT_FB_ADDRESS_EXT BIT(27) |
1050 | #define CRT_FB_ADDRESS_ADDRESS_MASK 0x3ffffff |
1051 | |
1052 | #define CRT_FB_WIDTH 0x080208 |
1053 | #define CRT_FB_WIDTH_WIDTH_SHIFT 16 |
1054 | #define CRT_FB_WIDTH_WIDTH_MASK (0x3fff << 16) |
1055 | #define CRT_FB_WIDTH_OFFSET_MASK 0x3fff |
1056 | |
1057 | #define CRT_HORIZONTAL_TOTAL 0x08020C |
1058 | #define CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT 16 |
1059 | #define CRT_HORIZONTAL_TOTAL_TOTAL_MASK (0xfff << 16) |
1060 | #define CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK 0xfff |
1061 | |
1062 | #define CRT_HORIZONTAL_SYNC 0x080210 |
1063 | #define CRT_HORIZONTAL_SYNC_WIDTH_SHIFT 16 |
1064 | #define CRT_HORIZONTAL_SYNC_WIDTH_MASK (0xff << 16) |
1065 | #define CRT_HORIZONTAL_SYNC_START_MASK 0xfff |
1066 | |
1067 | #define CRT_VERTICAL_TOTAL 0x080214 |
1068 | #define CRT_VERTICAL_TOTAL_TOTAL_SHIFT 16 |
1069 | #define CRT_VERTICAL_TOTAL_TOTAL_MASK (0x7ff << 16) |
1070 | #define CRT_VERTICAL_TOTAL_DISPLAY_END_MASK (0x7ff) |
1071 | |
1072 | #define CRT_VERTICAL_SYNC 0x080218 |
1073 | #define CRT_VERTICAL_SYNC_HEIGHT_SHIFT 16 |
1074 | #define CRT_VERTICAL_SYNC_HEIGHT_MASK (0x3f << 16) |
1075 | #define CRT_VERTICAL_SYNC_START_MASK 0x7ff |
1076 | |
1077 | #define CRT_SIGNATURE_ANALYZER 0x08021C |
1078 | #define CRT_SIGNATURE_ANALYZER_STATUS_MASK (0xffff << 16) |
1079 | #define CRT_SIGNATURE_ANALYZER_ENABLE BIT(3) |
1080 | #define CRT_SIGNATURE_ANALYZER_RESET BIT(2) |
1081 | #define CRT_SIGNATURE_ANALYZER_SOURCE_MASK 0x3 |
1082 | #define CRT_SIGNATURE_ANALYZER_SOURCE_RED 0 |
1083 | #define CRT_SIGNATURE_ANALYZER_SOURCE_GREEN 1 |
1084 | #define CRT_SIGNATURE_ANALYZER_SOURCE_BLUE 2 |
1085 | |
1086 | #define CRT_CURRENT_LINE 0x080220 |
1087 | #define CRT_CURRENT_LINE_LINE_MASK 0x7ff |
1088 | |
1089 | #define CRT_MONITOR_DETECT 0x080224 |
1090 | #define CRT_MONITOR_DETECT_VALUE BIT(25) |
1091 | #define CRT_MONITOR_DETECT_ENABLE BIT(24) |
1092 | #define CRT_MONITOR_DETECT_RED_MASK (0xff << 16) |
1093 | #define CRT_MONITOR_DETECT_GREEN_MASK (0xff << 8) |
1094 | #define CRT_MONITOR_DETECT_BLUE_MASK 0xff |
1095 | |
1096 | #define CRT_SCALE 0x080228 |
1097 | #define CRT_SCALE_VERTICAL_MODE BIT(31) |
1098 | #define CRT_SCALE_VERTICAL_SCALE_MASK (0xfff << 16) |
1099 | #define CRT_SCALE_HORIZONTAL_MODE BIT(15) |
1100 | #define CRT_SCALE_HORIZONTAL_SCALE_MASK 0xfff |
1101 | |
1102 | /* CRT Cursor Control */ |
1103 | |
1104 | #define CRT_HWC_ADDRESS 0x080230 |
1105 | #define CRT_HWC_ADDRESS_ENABLE BIT(31) |
1106 | #define CRT_HWC_ADDRESS_EXT BIT(27) |
1107 | #define CRT_HWC_ADDRESS_ADDRESS_MASK 0x3ffffff |
1108 | |
1109 | #define CRT_HWC_LOCATION 0x080234 |
1110 | #define CRT_HWC_LOCATION_TOP BIT(27) |
1111 | #define CRT_HWC_LOCATION_Y_MASK (0x7ff << 16) |
1112 | #define CRT_HWC_LOCATION_LEFT BIT(11) |
1113 | #define CRT_HWC_LOCATION_X_MASK 0x7ff |
1114 | |
1115 | #define CRT_HWC_COLOR_12 0x080238 |
1116 | #define CRT_HWC_COLOR_12_2_RGB565_MASK (0xffff << 16) |
1117 | #define CRT_HWC_COLOR_12_1_RGB565_MASK 0xffff |
1118 | |
1119 | #define CRT_HWC_COLOR_3 0x08023C |
1120 | #define CRT_HWC_COLOR_3_RGB565_MASK 0xffff |
1121 | |
1122 | /* This vertical expansion below start at 0x080240 ~ 0x080264 */ |
1123 | #define CRT_VERTICAL_EXPANSION 0x080240 |
1124 | #ifndef VALIDATION_CHIP |
1125 | #define CRT_VERTICAL_CENTERING_VALUE_MASK (0xff << 24) |
1126 | #endif |
1127 | #define CRT_VERTICAL_EXPANSION_COMPARE_VALUE_MASK (0xff << 16) |
1128 | #define CRT_VERTICAL_EXPANSION_LINE_BUFFER_MASK (0xf << 12) |
1129 | #define CRT_VERTICAL_EXPANSION_SCALE_FACTOR_MASK 0xfff |
1130 | |
1131 | /* This horizontal expansion below start at 0x080268 ~ 0x08027C */ |
1132 | #define CRT_HORIZONTAL_EXPANSION 0x080268 |
1133 | #ifndef VALIDATION_CHIP |
1134 | #define CRT_HORIZONTAL_CENTERING_VALUE_MASK (0xff << 24) |
1135 | #endif |
1136 | #define CRT_HORIZONTAL_EXPANSION_COMPARE_VALUE_MASK (0xff << 16) |
1137 | #define CRT_HORIZONTAL_EXPANSION_SCALE_FACTOR_MASK 0xfff |
1138 | |
1139 | #ifndef VALIDATION_CHIP |
1140 | /* Auto Centering */ |
1141 | #define CRT_AUTO_CENTERING_TL 0x080280 |
1142 | #define CRT_AUTO_CENTERING_TL_TOP_MASK (0x7ff << 16) |
1143 | #define CRT_AUTO_CENTERING_TL_LEFT_MASK 0x7ff |
1144 | |
1145 | #define CRT_AUTO_CENTERING_BR 0x080284 |
1146 | #define CRT_AUTO_CENTERING_BR_BOTTOM_MASK (0x7ff << 16) |
1147 | #define CRT_AUTO_CENTERING_BR_BOTTOM_SHIFT 16 |
1148 | #define CRT_AUTO_CENTERING_BR_RIGHT_MASK 0x7ff |
1149 | #endif |
1150 | |
1151 | /* sm750le new register to control panel output */ |
1152 | #define DISPLAY_CONTROL_750LE 0x80288 |
1153 | /* Palette RAM */ |
1154 | |
1155 | /* Panel Palette register starts at 0x080400 ~ 0x0807FC */ |
1156 | #define PANEL_PALETTE_RAM 0x080400 |
1157 | |
1158 | /* Panel Palette register starts at 0x080C00 ~ 0x080FFC */ |
1159 | #define CRT_PALETTE_RAM 0x080C00 |
1160 | |
1161 | /* Color Space Conversion registers. */ |
1162 | |
1163 | #define CSC_Y_SOURCE_BASE 0x1000C8 |
1164 | #define CSC_Y_SOURCE_BASE_EXT BIT(27) |
1165 | #define CSC_Y_SOURCE_BASE_CS BIT(26) |
1166 | #define CSC_Y_SOURCE_BASE_ADDRESS_MASK 0x3ffffff |
1167 | |
1168 | #define CSC_CONSTANTS 0x1000CC |
1169 | #define CSC_CONSTANTS_Y_MASK (0xff << 24) |
1170 | #define CSC_CONSTANTS_R_MASK (0xff << 16) |
1171 | #define CSC_CONSTANTS_G_MASK (0xff << 8) |
1172 | #define CSC_CONSTANTS_B_MASK 0xff |
1173 | |
1174 | #define CSC_Y_SOURCE_X 0x1000D0 |
1175 | #define CSC_Y_SOURCE_X_INTEGER_MASK (0x7ff << 16) |
1176 | #define CSC_Y_SOURCE_X_FRACTION_MASK (0x1fff << 3) |
1177 | |
1178 | #define CSC_Y_SOURCE_Y 0x1000D4 |
1179 | #define CSC_Y_SOURCE_Y_INTEGER_MASK (0xfff << 16) |
1180 | #define CSC_Y_SOURCE_Y_FRACTION_MASK (0x1fff << 3) |
1181 | |
1182 | #define CSC_U_SOURCE_BASE 0x1000D8 |
1183 | #define CSC_U_SOURCE_BASE_EXT BIT(27) |
1184 | #define CSC_U_SOURCE_BASE_CS BIT(26) |
1185 | #define CSC_U_SOURCE_BASE_ADDRESS_MASK 0x3ffffff |
1186 | |
1187 | #define CSC_V_SOURCE_BASE 0x1000DC |
1188 | #define CSC_V_SOURCE_BASE_EXT BIT(27) |
1189 | #define CSC_V_SOURCE_BASE_CS BIT(26) |
1190 | #define CSC_V_SOURCE_BASE_ADDRESS_MASK 0x3ffffff |
1191 | |
1192 | #define CSC_SOURCE_DIMENSION 0x1000E0 |
1193 | #define CSC_SOURCE_DIMENSION_X_MASK (0xffff << 16) |
1194 | #define CSC_SOURCE_DIMENSION_Y_MASK 0xffff |
1195 | |
1196 | #define CSC_SOURCE_PITCH 0x1000E4 |
1197 | #define CSC_SOURCE_PITCH_Y_MASK (0xffff << 16) |
1198 | #define CSC_SOURCE_PITCH_UV_MASK 0xffff |
1199 | |
1200 | #define CSC_DESTINATION 0x1000E8 |
1201 | #define CSC_DESTINATION_WRAP BIT(31) |
1202 | #define CSC_DESTINATION_X_MASK (0xfff << 16) |
1203 | #define CSC_DESTINATION_Y_MASK 0xfff |
1204 | |
1205 | #define CSC_DESTINATION_DIMENSION 0x1000EC |
1206 | #define CSC_DESTINATION_DIMENSION_X_MASK (0xffff << 16) |
1207 | #define CSC_DESTINATION_DIMENSION_Y_MASK 0xffff |
1208 | |
1209 | #define CSC_DESTINATION_PITCH 0x1000F0 |
1210 | #define CSC_DESTINATION_PITCH_X_MASK (0xffff << 16) |
1211 | #define CSC_DESTINATION_PITCH_Y_MASK 0xffff |
1212 | |
1213 | #define CSC_SCALE_FACTOR 0x1000F4 |
1214 | #define CSC_SCALE_FACTOR_HORIZONTAL_MASK (0xffff << 16) |
1215 | #define CSC_SCALE_FACTOR_VERTICAL_MASK 0xffff |
1216 | |
1217 | #define CSC_DESTINATION_BASE 0x1000F8 |
1218 | #define CSC_DESTINATION_BASE_EXT BIT(27) |
1219 | #define CSC_DESTINATION_BASE_CS BIT(26) |
1220 | #define CSC_DESTINATION_BASE_ADDRESS_MASK 0x3ffffff |
1221 | |
1222 | #define CSC_CONTROL 0x1000FC |
1223 | #define CSC_CONTROL_STATUS BIT(31) |
1224 | #define CSC_CONTROL_SOURCE_FORMAT_MASK (0x7 << 28) |
1225 | #define CSC_CONTROL_SOURCE_FORMAT_YUV422 (0x0 << 28) |
1226 | #define CSC_CONTROL_SOURCE_FORMAT_YUV420I (0x1 << 28) |
1227 | #define CSC_CONTROL_SOURCE_FORMAT_YUV420 (0x2 << 28) |
1228 | #define CSC_CONTROL_SOURCE_FORMAT_YVU9 (0x3 << 28) |
1229 | #define CSC_CONTROL_SOURCE_FORMAT_IYU1 (0x4 << 28) |
1230 | #define CSC_CONTROL_SOURCE_FORMAT_IYU2 (0x5 << 28) |
1231 | #define CSC_CONTROL_SOURCE_FORMAT_RGB565 (0x6 << 28) |
1232 | #define CSC_CONTROL_SOURCE_FORMAT_RGB8888 (0x7 << 28) |
1233 | #define CSC_CONTROL_DESTINATION_FORMAT_MASK (0x3 << 26) |
1234 | #define CSC_CONTROL_DESTINATION_FORMAT_RGB565 (0x0 << 26) |
1235 | #define CSC_CONTROL_DESTINATION_FORMAT_RGB8888 (0x1 << 26) |
1236 | #define CSC_CONTROL_HORIZONTAL_FILTER BIT(25) |
1237 | #define CSC_CONTROL_VERTICAL_FILTER BIT(24) |
1238 | #define CSC_CONTROL_BYTE_ORDER BIT(23) |
1239 | |
1240 | #define DE_DATA_PORT 0x110000 |
1241 | |
1242 | #define I2C_BYTE_COUNT 0x010040 |
1243 | #define I2C_BYTE_COUNT_COUNT_MASK 0xf |
1244 | |
1245 | #define I2C_CTRL 0x010041 |
1246 | #define I2C_CTRL_INT BIT(4) |
1247 | #define I2C_CTRL_DIR BIT(3) |
1248 | #define I2C_CTRL_CTRL BIT(2) |
1249 | #define I2C_CTRL_MODE BIT(1) |
1250 | #define I2C_CTRL_EN BIT(0) |
1251 | |
1252 | #define I2C_STATUS 0x010042 |
1253 | #define I2C_STATUS_TX BIT(3) |
1254 | #define I2C_STATUS_ERR BIT(2) |
1255 | #define I2C_STATUS_ACK BIT(1) |
1256 | #define I2C_STATUS_BSY BIT(0) |
1257 | |
1258 | #define I2C_RESET 0x010042 |
1259 | #define I2C_RESET_BUS_ERROR BIT(2) |
1260 | |
1261 | #define I2C_SLAVE_ADDRESS 0x010043 |
1262 | #define I2C_SLAVE_ADDRESS_ADDRESS_MASK (0x7f << 1) |
1263 | #define I2C_SLAVE_ADDRESS_RW BIT(0) |
1264 | |
1265 | #define I2C_DATA0 0x010044 |
1266 | #define I2C_DATA1 0x010045 |
1267 | #define I2C_DATA2 0x010046 |
1268 | #define I2C_DATA3 0x010047 |
1269 | #define I2C_DATA4 0x010048 |
1270 | #define I2C_DATA5 0x010049 |
1271 | #define I2C_DATA6 0x01004A |
1272 | #define I2C_DATA7 0x01004B |
1273 | #define I2C_DATA8 0x01004C |
1274 | #define I2C_DATA9 0x01004D |
1275 | #define I2C_DATA10 0x01004E |
1276 | #define I2C_DATA11 0x01004F |
1277 | #define I2C_DATA12 0x010050 |
1278 | #define I2C_DATA13 0x010051 |
1279 | #define I2C_DATA14 0x010052 |
1280 | #define I2C_DATA15 0x010053 |
1281 | |
1282 | #define ZV0_CAPTURE_CTRL 0x090000 |
1283 | #define ZV0_CAPTURE_CTRL_FIELD_INPUT BIT(27) |
1284 | #define ZV0_CAPTURE_CTRL_SCAN BIT(26) |
1285 | #define ZV0_CAPTURE_CTRL_CURRENT_BUFFER BIT(25) |
1286 | #define ZV0_CAPTURE_CTRL_VERTICAL_SYNC BIT(24) |
1287 | #define ZV0_CAPTURE_CTRL_ADJ BIT(19) |
1288 | #define ZV0_CAPTURE_CTRL_HA BIT(18) |
1289 | #define ZV0_CAPTURE_CTRL_VSK BIT(17) |
1290 | #define ZV0_CAPTURE_CTRL_HSK BIT(16) |
1291 | #define ZV0_CAPTURE_CTRL_FD BIT(15) |
1292 | #define ZV0_CAPTURE_CTRL_VP BIT(14) |
1293 | #define ZV0_CAPTURE_CTRL_HP BIT(13) |
1294 | #define ZV0_CAPTURE_CTRL_CP BIT(12) |
1295 | #define ZV0_CAPTURE_CTRL_UVS BIT(11) |
1296 | #define ZV0_CAPTURE_CTRL_BS BIT(10) |
1297 | #define ZV0_CAPTURE_CTRL_CS BIT(9) |
1298 | #define ZV0_CAPTURE_CTRL_CF BIT(8) |
1299 | #define ZV0_CAPTURE_CTRL_FS BIT(7) |
1300 | #define ZV0_CAPTURE_CTRL_WEAVE BIT(6) |
1301 | #define ZV0_CAPTURE_CTRL_BOB BIT(5) |
1302 | #define ZV0_CAPTURE_CTRL_DB BIT(4) |
1303 | #define ZV0_CAPTURE_CTRL_CC BIT(3) |
1304 | #define ZV0_CAPTURE_CTRL_RGB BIT(2) |
1305 | #define ZV0_CAPTURE_CTRL_656 BIT(1) |
1306 | #define ZV0_CAPTURE_CTRL_CAP BIT(0) |
1307 | |
1308 | #define ZV0_CAPTURE_CLIP 0x090004 |
1309 | #define ZV0_CAPTURE_CLIP_EYCLIP_MASK (0x3ff << 16) |
1310 | #define ZV0_CAPTURE_CLIP_XCLIP_MASK 0x3ff |
1311 | |
1312 | #define ZV0_CAPTURE_SIZE 0x090008 |
1313 | #define ZV0_CAPTURE_SIZE_HEIGHT_MASK (0x7ff << 16) |
1314 | #define ZV0_CAPTURE_SIZE_WIDTH_MASK 0x7ff |
1315 | |
1316 | #define ZV0_CAPTURE_BUF0_ADDRESS 0x09000C |
1317 | #define ZV0_CAPTURE_BUF0_ADDRESS_STATUS BIT(31) |
1318 | #define ZV0_CAPTURE_BUF0_ADDRESS_EXT BIT(27) |
1319 | #define ZV0_CAPTURE_BUF0_ADDRESS_CS BIT(26) |
1320 | #define ZV0_CAPTURE_BUF0_ADDRESS_ADDRESS_MASK 0x3ffffff |
1321 | |
1322 | #define ZV0_CAPTURE_BUF1_ADDRESS 0x090010 |
1323 | #define ZV0_CAPTURE_BUF1_ADDRESS_STATUS BIT(31) |
1324 | #define ZV0_CAPTURE_BUF1_ADDRESS_EXT BIT(27) |
1325 | #define ZV0_CAPTURE_BUF1_ADDRESS_CS BIT(26) |
1326 | #define ZV0_CAPTURE_BUF1_ADDRESS_ADDRESS_MASK 0x3ffffff |
1327 | |
1328 | #define ZV0_CAPTURE_BUF_OFFSET 0x090014 |
1329 | #ifndef VALIDATION_CHIP |
1330 | #define ZV0_CAPTURE_BUF_OFFSET_YCLIP_ODD_FIELD (0x3ff << 16) |
1331 | #endif |
1332 | #define ZV0_CAPTURE_BUF_OFFSET_OFFSET_MASK 0xffff |
1333 | |
1334 | #define ZV0_CAPTURE_FIFO_CTRL 0x090018 |
1335 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_MASK 0x7 |
1336 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_0 0 |
1337 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_1 1 |
1338 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_2 2 |
1339 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_3 3 |
1340 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_4 4 |
1341 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_5 5 |
1342 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_6 6 |
1343 | #define ZV0_CAPTURE_FIFO_CTRL_FIFO_7 7 |
1344 | |
1345 | #define ZV0_CAPTURE_YRGB_CONST 0x09001C |
1346 | #define ZV0_CAPTURE_YRGB_CONST_Y_MASK (0xff << 24) |
1347 | #define ZV0_CAPTURE_YRGB_CONST_R_MASK (0xff << 16) |
1348 | #define ZV0_CAPTURE_YRGB_CONST_G_MASK (0xff << 8) |
1349 | #define ZV0_CAPTURE_YRGB_CONST_B_MASK 0xff |
1350 | |
1351 | #define ZV0_CAPTURE_LINE_COMP 0x090020 |
1352 | #define ZV0_CAPTURE_LINE_COMP_LC_MASK 0x7ff |
1353 | |
1354 | /* ZV1 */ |
1355 | |
1356 | #define ZV1_CAPTURE_CTRL 0x098000 |
1357 | #define ZV1_CAPTURE_CTRL_FIELD_INPUT BIT(27) |
1358 | #define ZV1_CAPTURE_CTRL_SCAN BIT(26) |
1359 | #define ZV1_CAPTURE_CTRL_CURRENT_BUFFER BIT(25) |
1360 | #define ZV1_CAPTURE_CTRL_VERTICAL_SYNC BIT(24) |
1361 | #define ZV1_CAPTURE_CTRL_PANEL BIT(20) |
1362 | #define ZV1_CAPTURE_CTRL_ADJ BIT(19) |
1363 | #define ZV1_CAPTURE_CTRL_HA BIT(18) |
1364 | #define ZV1_CAPTURE_CTRL_VSK BIT(17) |
1365 | #define ZV1_CAPTURE_CTRL_HSK BIT(16) |
1366 | #define ZV1_CAPTURE_CTRL_FD BIT(15) |
1367 | #define ZV1_CAPTURE_CTRL_VP BIT(14) |
1368 | #define ZV1_CAPTURE_CTRL_HP BIT(13) |
1369 | #define ZV1_CAPTURE_CTRL_CP BIT(12) |
1370 | #define ZV1_CAPTURE_CTRL_UVS BIT(11) |
1371 | #define ZV1_CAPTURE_CTRL_BS BIT(10) |
1372 | #define ZV1_CAPTURE_CTRL_CS BIT(9) |
1373 | #define ZV1_CAPTURE_CTRL_CF BIT(8) |
1374 | #define ZV1_CAPTURE_CTRL_FS BIT(7) |
1375 | #define ZV1_CAPTURE_CTRL_WEAVE BIT(6) |
1376 | #define ZV1_CAPTURE_CTRL_BOB BIT(5) |
1377 | #define ZV1_CAPTURE_CTRL_DB BIT(4) |
1378 | #define ZV1_CAPTURE_CTRL_CC BIT(3) |
1379 | #define ZV1_CAPTURE_CTRL_RGB BIT(2) |
1380 | #define ZV1_CAPTURE_CTRL_656 BIT(1) |
1381 | #define ZV1_CAPTURE_CTRL_CAP BIT(0) |
1382 | |
1383 | #define ZV1_CAPTURE_CLIP 0x098004 |
1384 | #define ZV1_CAPTURE_CLIP_YCLIP_MASK (0x3ff << 16) |
1385 | #define ZV1_CAPTURE_CLIP_XCLIP_MASK 0x3ff |
1386 | |
1387 | #define ZV1_CAPTURE_SIZE 0x098008 |
1388 | #define ZV1_CAPTURE_SIZE_HEIGHT_MASK (0x7ff << 16) |
1389 | #define ZV1_CAPTURE_SIZE_WIDTH_MASK 0x7ff |
1390 | |
1391 | #define ZV1_CAPTURE_BUF0_ADDRESS 0x09800C |
1392 | #define ZV1_CAPTURE_BUF0_ADDRESS_STATUS BIT(31) |
1393 | #define ZV1_CAPTURE_BUF0_ADDRESS_EXT BIT(27) |
1394 | #define ZV1_CAPTURE_BUF0_ADDRESS_CS BIT(26) |
1395 | #define ZV1_CAPTURE_BUF0_ADDRESS_ADDRESS_MASK 0x3ffffff |
1396 | |
1397 | #define ZV1_CAPTURE_BUF1_ADDRESS 0x098010 |
1398 | #define ZV1_CAPTURE_BUF1_ADDRESS_STATUS BIT(31) |
1399 | #define ZV1_CAPTURE_BUF1_ADDRESS_EXT BIT(27) |
1400 | #define ZV1_CAPTURE_BUF1_ADDRESS_CS BIT(26) |
1401 | #define ZV1_CAPTURE_BUF1_ADDRESS_ADDRESS_MASK 0x3ffffff |
1402 | |
1403 | #define ZV1_CAPTURE_BUF_OFFSET 0x098014 |
1404 | #define ZV1_CAPTURE_BUF_OFFSET_OFFSET_MASK 0xffff |
1405 | |
1406 | #define ZV1_CAPTURE_FIFO_CTRL 0x098018 |
1407 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_MASK 0x7 |
1408 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_0 0 |
1409 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_1 1 |
1410 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_2 2 |
1411 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_3 3 |
1412 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_4 4 |
1413 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_5 5 |
1414 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_6 6 |
1415 | #define ZV1_CAPTURE_FIFO_CTRL_FIFO_7 7 |
1416 | |
1417 | #define ZV1_CAPTURE_YRGB_CONST 0x09801C |
1418 | #define ZV1_CAPTURE_YRGB_CONST_Y_MASK (0xff << 24) |
1419 | #define ZV1_CAPTURE_YRGB_CONST_R_MASK (0xff << 16) |
1420 | #define ZV1_CAPTURE_YRGB_CONST_G_MASK (0xff << 8) |
1421 | #define ZV1_CAPTURE_YRGB_CONST_B_MASK 0xff |
1422 | |
1423 | #define DMA_1_SOURCE 0x0D0010 |
1424 | #define DMA_1_SOURCE_ADDRESS_EXT BIT(27) |
1425 | #define DMA_1_SOURCE_ADDRESS_CS BIT(26) |
1426 | #define DMA_1_SOURCE_ADDRESS_MASK 0x3ffffff |
1427 | |
1428 | #define DMA_1_DESTINATION 0x0D0014 |
1429 | #define DMA_1_DESTINATION_ADDRESS_EXT BIT(27) |
1430 | #define DMA_1_DESTINATION_ADDRESS_CS BIT(26) |
1431 | #define DMA_1_DESTINATION_ADDRESS_MASK 0x3ffffff |
1432 | |
1433 | #define DMA_1_SIZE_CONTROL 0x0D0018 |
1434 | #define DMA_1_SIZE_CONTROL_STATUS BIT(31) |
1435 | #define DMA_1_SIZE_CONTROL_SIZE_MASK 0xffffff |
1436 | |
1437 | #define DMA_ABORT_INTERRUPT 0x0D0020 |
1438 | #define DMA_ABORT_INTERRUPT_ABORT_1 BIT(5) |
1439 | #define DMA_ABORT_INTERRUPT_ABORT_0 BIT(4) |
1440 | #define DMA_ABORT_INTERRUPT_INT_1 BIT(1) |
1441 | #define DMA_ABORT_INTERRUPT_INT_0 BIT(0) |
1442 | |
1443 | /* Default i2c CLK and Data GPIO. These are the default i2c pins */ |
1444 | #define DEFAULT_I2C_SCL 30 |
1445 | #define DEFAULT_I2C_SDA 31 |
1446 | |
1447 | #define GPIO_DATA_SM750LE 0x020018 |
1448 | #define GPIO_DATA_SM750LE_1 BIT(1) |
1449 | #define GPIO_DATA_SM750LE_0 BIT(0) |
1450 | |
1451 | #define GPIO_DATA_DIRECTION_SM750LE 0x02001C |
1452 | #define GPIO_DATA_DIRECTION_SM750LE_1 BIT(1) |
1453 | #define GPIO_DATA_DIRECTION_SM750LE_0 BIT(0) |
1454 | |
1455 | #endif |
1456 | |