diff options
author | Rob Clark <robdclark@gmail.com> | 2013-06-24 17:12:04 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2013-08-24 14:33:01 -0400 |
commit | 0cf6c71d70d8aa39b8fd0e39c9009602a0e0d300 (patch) | |
tree | 27e36ef9ee024c90c4e9946ae60e15691ca458ba | |
parent | 291d284c6004e3a63d0c2f6c31570ab2126843a8 (diff) |
drm/msm: add register definitions
Generated from rnndb files in:
https://github.com/freedreno/envytools
Keep this split out as a separate commit to make it easier to review the
actual driver.
Signed-off-by: Rob Clark <robdclark@gmail.com>
-rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi.xml.h | 502 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/dsi/mmss_cc.xml.h | 114 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/dsi/sfpb.xml.h | 48 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/hdmi/hdmi.xml.h | 508 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/hdmi/qfprom.xml.h | 50 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/mdp4/mdp4.xml.h | 1061 |
6 files changed, 2283 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/dsi/dsi.xml.h b/drivers/gpu/drm/msm/dsi/dsi.xml.h new file mode 100644 index 000000000000..6f8396be431d --- /dev/null +++ b/drivers/gpu/drm/msm/dsi/dsi.xml.h | |||
@@ -0,0 +1,502 @@ | |||
1 | #ifndef DSI_XML | ||
2 | #define DSI_XML | ||
3 | |||
4 | /* Autogenerated file, DO NOT EDIT manually! | ||
5 | |||
6 | This file was generated by the rules-ng-ng headergen tool in this git repository: | ||
7 | http://0x04.net/cgit/index.cgi/rules-ng-ng | ||
8 | git clone git://0x04.net/rules-ng-ng | ||
9 | |||
10 | The rules-ng-ng source files this header was generated from are: | ||
11 | - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) | ||
12 | - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) | ||
13 | - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-08-16 22:16:36) | ||
14 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) | ||
15 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) | ||
16 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) | ||
17 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) | ||
18 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) | ||
19 | |||
20 | Copyright (C) 2013 by the following authors: | ||
21 | - Rob Clark <robdclark@gmail.com> (robclark) | ||
22 | |||
23 | Permission is hereby granted, free of charge, to any person obtaining | ||
24 | a copy of this software and associated documentation files (the | ||
25 | "Software"), to deal in the Software without restriction, including | ||
26 | without limitation the rights to use, copy, modify, merge, publish, | ||
27 | distribute, sublicense, and/or sell copies of the Software, and to | ||
28 | permit persons to whom the Software is furnished to do so, subject to | ||
29 | the following conditions: | ||
30 | |||
31 | The above copyright notice and this permission notice (including the | ||
32 | next paragraph) shall be included in all copies or substantial | ||
33 | portions of the Software. | ||
34 | |||
35 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
37 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
38 | IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE | ||
39 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
40 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
41 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | |||
45 | enum dsi_traffic_mode { | ||
46 | NON_BURST_SYNCH_PULSE = 0, | ||
47 | NON_BURST_SYNCH_EVENT = 1, | ||
48 | BURST_MODE = 2, | ||
49 | }; | ||
50 | |||
51 | enum dsi_dst_format { | ||
52 | DST_FORMAT_RGB565 = 0, | ||
53 | DST_FORMAT_RGB666 = 1, | ||
54 | DST_FORMAT_RGB666_LOOSE = 2, | ||
55 | DST_FORMAT_RGB888 = 3, | ||
56 | }; | ||
57 | |||
58 | enum dsi_rgb_swap { | ||
59 | SWAP_RGB = 0, | ||
60 | SWAP_RBG = 1, | ||
61 | SWAP_BGR = 2, | ||
62 | SWAP_BRG = 3, | ||
63 | SWAP_GRB = 4, | ||
64 | SWAP_GBR = 5, | ||
65 | }; | ||
66 | |||
67 | enum dsi_cmd_trigger { | ||
68 | TRIGGER_NONE = 0, | ||
69 | TRIGGER_TE = 2, | ||
70 | TRIGGER_SW = 4, | ||
71 | TRIGGER_SW_SEOF = 5, | ||
72 | TRIGGER_SW_TE = 6, | ||
73 | }; | ||
74 | |||
75 | #define DSI_IRQ_CMD_DMA_DONE 0x00000001 | ||
76 | #define DSI_IRQ_MASK_CMD_DMA_DONE 0x00000002 | ||
77 | #define DSI_IRQ_CMD_MDP_DONE 0x00000100 | ||
78 | #define DSI_IRQ_MASK_CMD_MDP_DONE 0x00000200 | ||
79 | #define DSI_IRQ_VIDEO_DONE 0x00010000 | ||
80 | #define DSI_IRQ_MASK_VIDEO_DONE 0x00020000 | ||
81 | #define DSI_IRQ_ERROR 0x01000000 | ||
82 | #define DSI_IRQ_MASK_ERROR 0x02000000 | ||
83 | #define REG_DSI_CTRL 0x00000000 | ||
84 | #define DSI_CTRL_ENABLE 0x00000001 | ||
85 | #define DSI_CTRL_VID_MODE_EN 0x00000002 | ||
86 | #define DSI_CTRL_CMD_MODE_EN 0x00000004 | ||
87 | #define DSI_CTRL_LANE0 0x00000010 | ||
88 | #define DSI_CTRL_LANE1 0x00000020 | ||
89 | #define DSI_CTRL_LANE2 0x00000040 | ||
90 | #define DSI_CTRL_LANE3 0x00000080 | ||
91 | #define DSI_CTRL_CLK_EN 0x00000100 | ||
92 | #define DSI_CTRL_ECC_CHECK 0x00100000 | ||
93 | #define DSI_CTRL_CRC_CHECK 0x01000000 | ||
94 | |||
95 | #define REG_DSI_STATUS0 0x00000004 | ||
96 | #define DSI_STATUS0_CMD_MODE_DMA_BUSY 0x00000002 | ||
97 | #define DSI_STATUS0_VIDEO_MODE_ENGINE_BUSY 0x00000008 | ||
98 | #define DSI_STATUS0_DSI_BUSY 0x00000010 | ||
99 | |||
100 | #define REG_DSI_FIFO_STATUS 0x00000008 | ||
101 | |||
102 | #define REG_DSI_VID_CFG0 0x0000000c | ||
103 | #define DSI_VID_CFG0_VIRT_CHANNEL__MASK 0x00000003 | ||
104 | #define DSI_VID_CFG0_VIRT_CHANNEL__SHIFT 0 | ||
105 | static inline uint32_t DSI_VID_CFG0_VIRT_CHANNEL(uint32_t val) | ||
106 | { | ||
107 | return ((val) << DSI_VID_CFG0_VIRT_CHANNEL__SHIFT) & DSI_VID_CFG0_VIRT_CHANNEL__MASK; | ||
108 | } | ||
109 | #define DSI_VID_CFG0_DST_FORMAT__MASK 0x00000030 | ||
110 | #define DSI_VID_CFG0_DST_FORMAT__SHIFT 4 | ||
111 | static inline uint32_t DSI_VID_CFG0_DST_FORMAT(enum dsi_dst_format val) | ||
112 | { | ||
113 | return ((val) << DSI_VID_CFG0_DST_FORMAT__SHIFT) & DSI_VID_CFG0_DST_FORMAT__MASK; | ||
114 | } | ||
115 | #define DSI_VID_CFG0_TRAFFIC_MODE__MASK 0x00000300 | ||
116 | #define DSI_VID_CFG0_TRAFFIC_MODE__SHIFT 8 | ||
117 | static inline uint32_t DSI_VID_CFG0_TRAFFIC_MODE(enum dsi_traffic_mode val) | ||
118 | { | ||
119 | return ((val) << DSI_VID_CFG0_TRAFFIC_MODE__SHIFT) & DSI_VID_CFG0_TRAFFIC_MODE__MASK; | ||
120 | } | ||
121 | #define DSI_VID_CFG0_BLLP_POWER_STOP 0x00001000 | ||
122 | #define DSI_VID_CFG0_EOF_BLLP_POWER_STOP 0x00008000 | ||
123 | #define DSI_VID_CFG0_HSA_POWER_STOP 0x00010000 | ||
124 | #define DSI_VID_CFG0_HBP_POWER_STOP 0x00100000 | ||
125 | #define DSI_VID_CFG0_HFP_POWER_STOP 0x01000000 | ||
126 | #define DSI_VID_CFG0_PULSE_MODE_HSA_HE 0x10000000 | ||
127 | |||
128 | #define REG_DSI_VID_CFG1 0x0000001c | ||
129 | #define DSI_VID_CFG1_R_SEL 0x00000010 | ||
130 | #define DSI_VID_CFG1_G_SEL 0x00000100 | ||
131 | #define DSI_VID_CFG1_B_SEL 0x00001000 | ||
132 | #define DSI_VID_CFG1_RGB_SWAP__MASK 0x00070000 | ||
133 | #define DSI_VID_CFG1_RGB_SWAP__SHIFT 16 | ||
134 | static inline uint32_t DSI_VID_CFG1_RGB_SWAP(enum dsi_rgb_swap val) | ||
135 | { | ||
136 | return ((val) << DSI_VID_CFG1_RGB_SWAP__SHIFT) & DSI_VID_CFG1_RGB_SWAP__MASK; | ||
137 | } | ||
138 | #define DSI_VID_CFG1_INTERLEAVE_MAX__MASK 0x00f00000 | ||
139 | #define DSI_VID_CFG1_INTERLEAVE_MAX__SHIFT 20 | ||
140 | static inline uint32_t DSI_VID_CFG1_INTERLEAVE_MAX(uint32_t val) | ||
141 | { | ||
142 | return ((val) << DSI_VID_CFG1_INTERLEAVE_MAX__SHIFT) & DSI_VID_CFG1_INTERLEAVE_MAX__MASK; | ||
143 | } | ||
144 | |||
145 | #define REG_DSI_ACTIVE_H 0x00000020 | ||
146 | #define DSI_ACTIVE_H_START__MASK 0x00000fff | ||
147 | #define DSI_ACTIVE_H_START__SHIFT 0 | ||
148 | static inline uint32_t DSI_ACTIVE_H_START(uint32_t val) | ||
149 | { | ||
150 | return ((val) << DSI_ACTIVE_H_START__SHIFT) & DSI_ACTIVE_H_START__MASK; | ||
151 | } | ||
152 | #define DSI_ACTIVE_H_END__MASK 0x0fff0000 | ||
153 | #define DSI_ACTIVE_H_END__SHIFT 16 | ||
154 | static inline uint32_t DSI_ACTIVE_H_END(uint32_t val) | ||
155 | { | ||
156 | return ((val) << DSI_ACTIVE_H_END__SHIFT) & DSI_ACTIVE_H_END__MASK; | ||
157 | } | ||
158 | |||
159 | #define REG_DSI_ACTIVE_V 0x00000024 | ||
160 | #define DSI_ACTIVE_V_START__MASK 0x00000fff | ||
161 | #define DSI_ACTIVE_V_START__SHIFT 0 | ||
162 | static inline uint32_t DSI_ACTIVE_V_START(uint32_t val) | ||
163 | { | ||
164 | return ((val) << DSI_ACTIVE_V_START__SHIFT) & DSI_ACTIVE_V_START__MASK; | ||
165 | } | ||
166 | #define DSI_ACTIVE_V_END__MASK 0x0fff0000 | ||
167 | #define DSI_ACTIVE_V_END__SHIFT 16 | ||
168 | static inline uint32_t DSI_ACTIVE_V_END(uint32_t val) | ||
169 | { | ||
170 | return ((val) << DSI_ACTIVE_V_END__SHIFT) & DSI_ACTIVE_V_END__MASK; | ||
171 | } | ||
172 | |||
173 | #define REG_DSI_TOTAL 0x00000028 | ||
174 | #define DSI_TOTAL_H_TOTAL__MASK 0x00000fff | ||
175 | #define DSI_TOTAL_H_TOTAL__SHIFT 0 | ||
176 | static inline uint32_t DSI_TOTAL_H_TOTAL(uint32_t val) | ||
177 | { | ||
178 | return ((val) << DSI_TOTAL_H_TOTAL__SHIFT) & DSI_TOTAL_H_TOTAL__MASK; | ||
179 | } | ||
180 | #define DSI_TOTAL_V_TOTAL__MASK 0x0fff0000 | ||
181 | #define DSI_TOTAL_V_TOTAL__SHIFT 16 | ||
182 | static inline uint32_t DSI_TOTAL_V_TOTAL(uint32_t val) | ||
183 | { | ||
184 | return ((val) << DSI_TOTAL_V_TOTAL__SHIFT) & DSI_TOTAL_V_TOTAL__MASK; | ||
185 | } | ||
186 | |||
187 | #define REG_DSI_ACTIVE_HSYNC 0x0000002c | ||
188 | #define DSI_ACTIVE_HSYNC_START__MASK 0x00000fff | ||
189 | #define DSI_ACTIVE_HSYNC_START__SHIFT 0 | ||
190 | static inline uint32_t DSI_ACTIVE_HSYNC_START(uint32_t val) | ||
191 | { | ||
192 | return ((val) << DSI_ACTIVE_HSYNC_START__SHIFT) & DSI_ACTIVE_HSYNC_START__MASK; | ||
193 | } | ||
194 | #define DSI_ACTIVE_HSYNC_END__MASK 0x0fff0000 | ||
195 | #define DSI_ACTIVE_HSYNC_END__SHIFT 16 | ||
196 | static inline uint32_t DSI_ACTIVE_HSYNC_END(uint32_t val) | ||
197 | { | ||
198 | return ((val) << DSI_ACTIVE_HSYNC_END__SHIFT) & DSI_ACTIVE_HSYNC_END__MASK; | ||
199 | } | ||
200 | |||
201 | #define REG_DSI_ACTIVE_VSYNC 0x00000034 | ||
202 | #define DSI_ACTIVE_VSYNC_START__MASK 0x00000fff | ||
203 | #define DSI_ACTIVE_VSYNC_START__SHIFT 0 | ||
204 | static inline uint32_t DSI_ACTIVE_VSYNC_START(uint32_t val) | ||
205 | { | ||
206 | return ((val) << DSI_ACTIVE_VSYNC_START__SHIFT) & DSI_ACTIVE_VSYNC_START__MASK; | ||
207 | } | ||
208 | #define DSI_ACTIVE_VSYNC_END__MASK 0x0fff0000 | ||
209 | #define DSI_ACTIVE_VSYNC_END__SHIFT 16 | ||
210 | static inline uint32_t DSI_ACTIVE_VSYNC_END(uint32_t val) | ||
211 | { | ||
212 | return ((val) << DSI_ACTIVE_VSYNC_END__SHIFT) & DSI_ACTIVE_VSYNC_END__MASK; | ||
213 | } | ||
214 | |||
215 | #define REG_DSI_CMD_DMA_CTRL 0x00000038 | ||
216 | #define DSI_CMD_DMA_CTRL_FROM_FRAME_BUFFER 0x10000000 | ||
217 | #define DSI_CMD_DMA_CTRL_LOW_POWER 0x04000000 | ||
218 | |||
219 | #define REG_DSI_CMD_CFG0 0x0000003c | ||
220 | |||
221 | #define REG_DSI_CMD_CFG1 0x00000040 | ||
222 | |||
223 | #define REG_DSI_DMA_BASE 0x00000044 | ||
224 | |||
225 | #define REG_DSI_DMA_LEN 0x00000048 | ||
226 | |||
227 | #define REG_DSI_ACK_ERR_STATUS 0x00000064 | ||
228 | |||
229 | static inline uint32_t REG_DSI_RDBK(uint32_t i0) { return 0x00000068 + 0x4*i0; } | ||
230 | |||
231 | static inline uint32_t REG_DSI_RDBK_DATA(uint32_t i0) { return 0x00000068 + 0x4*i0; } | ||
232 | |||
233 | #define REG_DSI_TRIG_CTRL 0x00000080 | ||
234 | #define DSI_TRIG_CTRL_DMA_TRIGGER__MASK 0x0000000f | ||
235 | #define DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT 0 | ||
236 | static inline uint32_t DSI_TRIG_CTRL_DMA_TRIGGER(enum dsi_cmd_trigger val) | ||
237 | { | ||
238 | return ((val) << DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT) & DSI_TRIG_CTRL_DMA_TRIGGER__MASK; | ||
239 | } | ||
240 | #define DSI_TRIG_CTRL_MDP_TRIGGER__MASK 0x000000f0 | ||
241 | #define DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT 4 | ||
242 | static inline uint32_t DSI_TRIG_CTRL_MDP_TRIGGER(enum dsi_cmd_trigger val) | ||
243 | { | ||
244 | return ((val) << DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT) & DSI_TRIG_CTRL_MDP_TRIGGER__MASK; | ||
245 | } | ||
246 | #define DSI_TRIG_CTRL_STREAM 0x00000100 | ||
247 | #define DSI_TRIG_CTRL_TE 0x80000000 | ||
248 | |||
249 | #define REG_DSI_TRIG_DMA 0x0000008c | ||
250 | |||
251 | #define REG_DSI_DLN0_PHY_ERR 0x000000b0 | ||
252 | |||
253 | #define REG_DSI_TIMEOUT_STATUS 0x000000bc | ||
254 | |||
255 | #define REG_DSI_CLKOUT_TIMING_CTRL 0x000000c0 | ||
256 | #define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK 0x0000003f | ||
257 | #define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT 0 | ||
258 | static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE(uint32_t val) | ||
259 | { | ||
260 | return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK; | ||
261 | } | ||
262 | #define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK 0x00003f00 | ||
263 | #define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT 8 | ||
264 | static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_POST(uint32_t val) | ||
265 | { | ||
266 | return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK; | ||
267 | } | ||
268 | |||
269 | #define REG_DSI_EOT_PACKET_CTRL 0x000000c8 | ||
270 | #define DSI_EOT_PACKET_CTRL_TX_EOT_APPEND 0x00000001 | ||
271 | #define DSI_EOT_PACKET_CTRL_RX_EOT_IGNORE 0x00000010 | ||
272 | |||
273 | #define REG_DSI_LANE_SWAP_CTRL 0x000000ac | ||
274 | |||
275 | #define REG_DSI_ERR_INT_MASK0 0x00000108 | ||
276 | |||
277 | #define REG_DSI_INTR_CTRL 0x0000010c | ||
278 | |||
279 | #define REG_DSI_RESET 0x00000114 | ||
280 | |||
281 | #define REG_DSI_CLK_CTRL 0x00000118 | ||
282 | |||
283 | #define REG_DSI_PHY_RESET 0x00000128 | ||
284 | |||
285 | #define REG_DSI_PHY_PLL_CTRL_0 0x00000200 | ||
286 | #define DSI_PHY_PLL_CTRL_0_ENABLE 0x00000001 | ||
287 | |||
288 | #define REG_DSI_PHY_PLL_CTRL_1 0x00000204 | ||
289 | |||
290 | #define REG_DSI_PHY_PLL_CTRL_2 0x00000208 | ||
291 | |||
292 | #define REG_DSI_PHY_PLL_CTRL_3 0x0000020c | ||
293 | |||
294 | #define REG_DSI_PHY_PLL_CTRL_4 0x00000210 | ||
295 | |||
296 | #define REG_DSI_PHY_PLL_CTRL_5 0x00000214 | ||
297 | |||
298 | #define REG_DSI_PHY_PLL_CTRL_6 0x00000218 | ||
299 | |||
300 | #define REG_DSI_PHY_PLL_CTRL_7 0x0000021c | ||
301 | |||
302 | #define REG_DSI_PHY_PLL_CTRL_8 0x00000220 | ||
303 | |||
304 | #define REG_DSI_PHY_PLL_CTRL_9 0x00000224 | ||
305 | |||
306 | #define REG_DSI_PHY_PLL_CTRL_10 0x00000228 | ||
307 | |||
308 | #define REG_DSI_PHY_PLL_CTRL_11 0x0000022c | ||
309 | |||
310 | #define REG_DSI_PHY_PLL_CTRL_12 0x00000230 | ||
311 | |||
312 | #define REG_DSI_PHY_PLL_CTRL_13 0x00000234 | ||
313 | |||
314 | #define REG_DSI_PHY_PLL_CTRL_14 0x00000238 | ||
315 | |||
316 | #define REG_DSI_PHY_PLL_CTRL_15 0x0000023c | ||
317 | |||
318 | #define REG_DSI_PHY_PLL_CTRL_16 0x00000240 | ||
319 | |||
320 | #define REG_DSI_PHY_PLL_CTRL_17 0x00000244 | ||
321 | |||
322 | #define REG_DSI_PHY_PLL_CTRL_18 0x00000248 | ||
323 | |||
324 | #define REG_DSI_PHY_PLL_CTRL_19 0x0000024c | ||
325 | |||
326 | #define REG_DSI_PHY_PLL_CTRL_20 0x00000250 | ||
327 | |||
328 | #define REG_DSI_PHY_PLL_STATUS 0x00000280 | ||
329 | #define DSI_PHY_PLL_STATUS_PLL_BUSY 0x00000001 | ||
330 | |||
331 | #define REG_DSI_8x60_PHY_TPA_CTRL_1 0x00000258 | ||
332 | |||
333 | #define REG_DSI_8x60_PHY_TPA_CTRL_2 0x0000025c | ||
334 | |||
335 | #define REG_DSI_8x60_PHY_TIMING_CTRL_0 0x00000260 | ||
336 | |||
337 | #define REG_DSI_8x60_PHY_TIMING_CTRL_1 0x00000264 | ||
338 | |||
339 | #define REG_DSI_8x60_PHY_TIMING_CTRL_2 0x00000268 | ||
340 | |||
341 | #define REG_DSI_8x60_PHY_TIMING_CTRL_3 0x0000026c | ||
342 | |||
343 | #define REG_DSI_8x60_PHY_TIMING_CTRL_4 0x00000270 | ||
344 | |||
345 | #define REG_DSI_8x60_PHY_TIMING_CTRL_5 0x00000274 | ||
346 | |||
347 | #define REG_DSI_8x60_PHY_TIMING_CTRL_6 0x00000278 | ||
348 | |||
349 | #define REG_DSI_8x60_PHY_TIMING_CTRL_7 0x0000027c | ||
350 | |||
351 | #define REG_DSI_8x60_PHY_TIMING_CTRL_8 0x00000280 | ||
352 | |||
353 | #define REG_DSI_8x60_PHY_TIMING_CTRL_9 0x00000284 | ||
354 | |||
355 | #define REG_DSI_8x60_PHY_TIMING_CTRL_10 0x00000288 | ||
356 | |||
357 | #define REG_DSI_8x60_PHY_TIMING_CTRL_11 0x0000028c | ||
358 | |||
359 | #define REG_DSI_8x60_PHY_CTRL_0 0x00000290 | ||
360 | |||
361 | #define REG_DSI_8x60_PHY_CTRL_1 0x00000294 | ||
362 | |||
363 | #define REG_DSI_8x60_PHY_CTRL_2 0x00000298 | ||
364 | |||
365 | #define REG_DSI_8x60_PHY_CTRL_3 0x0000029c | ||
366 | |||
367 | #define REG_DSI_8x60_PHY_STRENGTH_0 0x000002a0 | ||
368 | |||
369 | #define REG_DSI_8x60_PHY_STRENGTH_1 0x000002a4 | ||
370 | |||
371 | #define REG_DSI_8x60_PHY_STRENGTH_2 0x000002a8 | ||
372 | |||
373 | #define REG_DSI_8x60_PHY_STRENGTH_3 0x000002ac | ||
374 | |||
375 | #define REG_DSI_8x60_PHY_REGULATOR_CTRL_0 0x000002cc | ||
376 | |||
377 | #define REG_DSI_8x60_PHY_REGULATOR_CTRL_1 0x000002d0 | ||
378 | |||
379 | #define REG_DSI_8x60_PHY_REGULATOR_CTRL_2 0x000002d4 | ||
380 | |||
381 | #define REG_DSI_8x60_PHY_REGULATOR_CTRL_3 0x000002d8 | ||
382 | |||
383 | #define REG_DSI_8x60_PHY_REGULATOR_CTRL_4 0x000002dc | ||
384 | |||
385 | #define REG_DSI_8x60_PHY_CAL_HW_TRIGGER 0x000000f0 | ||
386 | |||
387 | #define REG_DSI_8x60_PHY_CAL_CTRL 0x000000f4 | ||
388 | |||
389 | #define REG_DSI_8x60_PHY_CAL_STATUS 0x000000fc | ||
390 | #define DSI_8x60_PHY_CAL_STATUS_CAL_BUSY 0x10000000 | ||
391 | |||
392 | static inline uint32_t REG_DSI_8960_LN(uint32_t i0) { return 0x00000300 + 0x40*i0; } | ||
393 | |||
394 | static inline uint32_t REG_DSI_8960_LN_CFG_0(uint32_t i0) { return 0x00000300 + 0x40*i0; } | ||
395 | |||
396 | static inline uint32_t REG_DSI_8960_LN_CFG_1(uint32_t i0) { return 0x00000304 + 0x40*i0; } | ||
397 | |||
398 | static inline uint32_t REG_DSI_8960_LN_CFG_2(uint32_t i0) { return 0x00000308 + 0x40*i0; } | ||
399 | |||
400 | static inline uint32_t REG_DSI_8960_LN_TEST_DATAPATH(uint32_t i0) { return 0x0000030c + 0x40*i0; } | ||
401 | |||
402 | static inline uint32_t REG_DSI_8960_LN_TEST_STR_0(uint32_t i0) { return 0x00000314 + 0x40*i0; } | ||
403 | |||
404 | static inline uint32_t REG_DSI_8960_LN_TEST_STR_1(uint32_t i0) { return 0x00000318 + 0x40*i0; } | ||
405 | |||
406 | #define REG_DSI_8960_PHY_LNCK_CFG_0 0x00000400 | ||
407 | |||
408 | #define REG_DSI_8960_PHY_LNCK_CFG_1 0x00000404 | ||
409 | |||
410 | #define REG_DSI_8960_PHY_LNCK_CFG_2 0x00000408 | ||
411 | |||
412 | #define REG_DSI_8960_PHY_LNCK_TEST_DATAPATH 0x0000040c | ||
413 | |||
414 | #define REG_DSI_8960_PHY_LNCK_TEST_STR0 0x00000414 | ||
415 | |||
416 | #define REG_DSI_8960_PHY_LNCK_TEST_STR1 0x00000418 | ||
417 | |||
418 | #define REG_DSI_8960_PHY_TIMING_CTRL_0 0x00000440 | ||
419 | |||
420 | #define REG_DSI_8960_PHY_TIMING_CTRL_1 0x00000444 | ||
421 | |||
422 | #define REG_DSI_8960_PHY_TIMING_CTRL_2 0x00000448 | ||
423 | |||
424 | #define REG_DSI_8960_PHY_TIMING_CTRL_3 0x0000044c | ||
425 | |||
426 | #define REG_DSI_8960_PHY_TIMING_CTRL_4 0x00000450 | ||
427 | |||
428 | #define REG_DSI_8960_PHY_TIMING_CTRL_5 0x00000454 | ||
429 | |||
430 | #define REG_DSI_8960_PHY_TIMING_CTRL_6 0x00000458 | ||
431 | |||
432 | #define REG_DSI_8960_PHY_TIMING_CTRL_7 0x0000045c | ||
433 | |||
434 | #define REG_DSI_8960_PHY_TIMING_CTRL_8 0x00000460 | ||
435 | |||
436 | #define REG_DSI_8960_PHY_TIMING_CTRL_9 0x00000464 | ||
437 | |||
438 | #define REG_DSI_8960_PHY_TIMING_CTRL_10 0x00000468 | ||
439 | |||
440 | #define REG_DSI_8960_PHY_TIMING_CTRL_11 0x0000046c | ||
441 | |||
442 | #define REG_DSI_8960_PHY_CTRL_0 0x00000470 | ||
443 | |||
444 | #define REG_DSI_8960_PHY_CTRL_1 0x00000474 | ||
445 | |||
446 | #define REG_DSI_8960_PHY_CTRL_2 0x00000478 | ||
447 | |||
448 | #define REG_DSI_8960_PHY_CTRL_3 0x0000047c | ||
449 | |||
450 | #define REG_DSI_8960_PHY_STRENGTH_0 0x00000480 | ||
451 | |||
452 | #define REG_DSI_8960_PHY_STRENGTH_1 0x00000484 | ||
453 | |||
454 | #define REG_DSI_8960_PHY_STRENGTH_2 0x00000488 | ||
455 | |||
456 | #define REG_DSI_8960_PHY_BIST_CTRL_0 0x0000048c | ||
457 | |||
458 | #define REG_DSI_8960_PHY_BIST_CTRL_1 0x00000490 | ||
459 | |||
460 | #define REG_DSI_8960_PHY_BIST_CTRL_2 0x00000494 | ||
461 | |||
462 | #define REG_DSI_8960_PHY_BIST_CTRL_3 0x00000498 | ||
463 | |||
464 | #define REG_DSI_8960_PHY_BIST_CTRL_4 0x0000049c | ||
465 | |||
466 | #define REG_DSI_8960_PHY_LDO_CTRL 0x000004b0 | ||
467 | |||
468 | #define REG_DSI_8960_PHY_REGULATOR_CTRL_0 0x00000500 | ||
469 | |||
470 | #define REG_DSI_8960_PHY_REGULATOR_CTRL_1 0x00000504 | ||
471 | |||
472 | #define REG_DSI_8960_PHY_REGULATOR_CTRL_2 0x00000508 | ||
473 | |||
474 | #define REG_DSI_8960_PHY_REGULATOR_CTRL_3 0x0000050c | ||
475 | |||
476 | #define REG_DSI_8960_PHY_REGULATOR_CTRL_4 0x00000510 | ||
477 | |||
478 | #define REG_DSI_8960_PHY_REGULATOR_CAL_PWR_CFG 0x00000518 | ||
479 | |||
480 | #define REG_DSI_8960_PHY_CAL_HW_TRIGGER 0x00000528 | ||
481 | |||
482 | #define REG_DSI_8960_PHY_CAL_SW_CFG_0 0x0000052c | ||
483 | |||
484 | #define REG_DSI_8960_PHY_CAL_SW_CFG_1 0x00000530 | ||
485 | |||
486 | #define REG_DSI_8960_PHY_CAL_SW_CFG_2 0x00000534 | ||
487 | |||
488 | #define REG_DSI_8960_PHY_CAL_HW_CFG_0 0x00000538 | ||
489 | |||
490 | #define REG_DSI_8960_PHY_CAL_HW_CFG_1 0x0000053c | ||
491 | |||
492 | #define REG_DSI_8960_PHY_CAL_HW_CFG_2 0x00000540 | ||
493 | |||
494 | #define REG_DSI_8960_PHY_CAL_HW_CFG_3 0x00000544 | ||
495 | |||
496 | #define REG_DSI_8960_PHY_CAL_HW_CFG_4 0x00000548 | ||
497 | |||
498 | #define REG_DSI_8960_PHY_CAL_STATUS 0x00000550 | ||
499 | #define DSI_8960_PHY_CAL_STATUS_CAL_BUSY 0x00000010 | ||
500 | |||
501 | |||
502 | #endif /* DSI_XML */ | ||
diff --git a/drivers/gpu/drm/msm/dsi/mmss_cc.xml.h b/drivers/gpu/drm/msm/dsi/mmss_cc.xml.h new file mode 100644 index 000000000000..aefc1b8feae9 --- /dev/null +++ b/drivers/gpu/drm/msm/dsi/mmss_cc.xml.h | |||
@@ -0,0 +1,114 @@ | |||
1 | #ifndef MMSS_CC_XML | ||
2 | #define MMSS_CC_XML | ||
3 | |||
4 | /* Autogenerated file, DO NOT EDIT manually! | ||
5 | |||
6 | This file was generated by the rules-ng-ng headergen tool in this git repository: | ||
7 | http://0x04.net/cgit/index.cgi/rules-ng-ng | ||
8 | git clone git://0x04.net/rules-ng-ng | ||
9 | |||
10 | The rules-ng-ng source files this header was generated from are: | ||
11 | - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) | ||
12 | - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) | ||
13 | - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-08-16 22:16:36) | ||
14 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) | ||
15 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) | ||
16 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) | ||
17 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) | ||
18 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) | ||
19 | |||
20 | Copyright (C) 2013 by the following authors: | ||
21 | - Rob Clark <robdclark@gmail.com> (robclark) | ||
22 | |||
23 | Permission is hereby granted, free of charge, to any person obtaining | ||
24 | a copy of this software and associated documentation files (the | ||
25 | "Software"), to deal in the Software without restriction, including | ||
26 | without limitation the rights to use, copy, modify, merge, publish, | ||
27 | distribute, sublicense, and/or sell copies of the Software, and to | ||
28 | permit persons to whom the Software is furnished to do so, subject to | ||
29 | the following conditions: | ||
30 | |||
31 | The above copyright notice and this permission notice (including the | ||
32 | next paragraph) shall be included in all copies or substantial | ||
33 | portions of the Software. | ||
34 | |||
35 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
37 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
38 | IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE | ||
39 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
40 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
41 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | |||
45 | enum mmss_cc_clk { | ||
46 | CLK = 0, | ||
47 | PCLK = 1, | ||
48 | }; | ||
49 | |||
50 | #define REG_MMSS_CC_AHB 0x00000008 | ||
51 | |||
52 | static inline uint32_t __offset_CLK(enum mmss_cc_clk idx) | ||
53 | { | ||
54 | switch (idx) { | ||
55 | case CLK: return 0x0000004c; | ||
56 | case PCLK: return 0x00000130; | ||
57 | default: return INVALID_IDX(idx); | ||
58 | } | ||
59 | } | ||
60 | static inline uint32_t REG_MMSS_CC_CLK(enum mmss_cc_clk i0) { return 0x00000000 + __offset_CLK(i0); } | ||
61 | |||
62 | static inline uint32_t REG_MMSS_CC_CLK_CC(enum mmss_cc_clk i0) { return 0x00000000 + __offset_CLK(i0); } | ||
63 | #define MMSS_CC_CLK_CC_CLK_EN 0x00000001 | ||
64 | #define MMSS_CC_CLK_CC_ROOT_EN 0x00000004 | ||
65 | #define MMSS_CC_CLK_CC_MND_EN 0x00000020 | ||
66 | #define MMSS_CC_CLK_CC_MND_MODE__MASK 0x000000c0 | ||
67 | #define MMSS_CC_CLK_CC_MND_MODE__SHIFT 6 | ||
68 | static inline uint32_t MMSS_CC_CLK_CC_MND_MODE(uint32_t val) | ||
69 | { | ||
70 | return ((val) << MMSS_CC_CLK_CC_MND_MODE__SHIFT) & MMSS_CC_CLK_CC_MND_MODE__MASK; | ||
71 | } | ||
72 | #define MMSS_CC_CLK_CC_PMXO_SEL__MASK 0x00000300 | ||
73 | #define MMSS_CC_CLK_CC_PMXO_SEL__SHIFT 8 | ||
74 | static inline uint32_t MMSS_CC_CLK_CC_PMXO_SEL(uint32_t val) | ||
75 | { | ||
76 | return ((val) << MMSS_CC_CLK_CC_PMXO_SEL__SHIFT) & MMSS_CC_CLK_CC_PMXO_SEL__MASK; | ||
77 | } | ||
78 | |||
79 | static inline uint32_t REG_MMSS_CC_CLK_MD(enum mmss_cc_clk i0) { return 0x00000004 + __offset_CLK(i0); } | ||
80 | #define MMSS_CC_CLK_MD_D__MASK 0x000000ff | ||
81 | #define MMSS_CC_CLK_MD_D__SHIFT 0 | ||
82 | static inline uint32_t MMSS_CC_CLK_MD_D(uint32_t val) | ||
83 | { | ||
84 | return ((val) << MMSS_CC_CLK_MD_D__SHIFT) & MMSS_CC_CLK_MD_D__MASK; | ||
85 | } | ||
86 | #define MMSS_CC_CLK_MD_M__MASK 0x0000ff00 | ||
87 | #define MMSS_CC_CLK_MD_M__SHIFT 8 | ||
88 | static inline uint32_t MMSS_CC_CLK_MD_M(uint32_t val) | ||
89 | { | ||
90 | return ((val) << MMSS_CC_CLK_MD_M__SHIFT) & MMSS_CC_CLK_MD_M__MASK; | ||
91 | } | ||
92 | |||
93 | static inline uint32_t REG_MMSS_CC_CLK_NS(enum mmss_cc_clk i0) { return 0x00000008 + __offset_CLK(i0); } | ||
94 | #define MMSS_CC_CLK_NS_SRC__MASK 0x0000000f | ||
95 | #define MMSS_CC_CLK_NS_SRC__SHIFT 0 | ||
96 | static inline uint32_t MMSS_CC_CLK_NS_SRC(uint32_t val) | ||
97 | { | ||
98 | return ((val) << MMSS_CC_CLK_NS_SRC__SHIFT) & MMSS_CC_CLK_NS_SRC__MASK; | ||
99 | } | ||
100 | #define MMSS_CC_CLK_NS_PRE_DIV_FUNC__MASK 0x00fff000 | ||
101 | #define MMSS_CC_CLK_NS_PRE_DIV_FUNC__SHIFT 12 | ||
102 | static inline uint32_t MMSS_CC_CLK_NS_PRE_DIV_FUNC(uint32_t val) | ||
103 | { | ||
104 | return ((val) << MMSS_CC_CLK_NS_PRE_DIV_FUNC__SHIFT) & MMSS_CC_CLK_NS_PRE_DIV_FUNC__MASK; | ||
105 | } | ||
106 | #define MMSS_CC_CLK_NS_VAL__MASK 0xff000000 | ||
107 | #define MMSS_CC_CLK_NS_VAL__SHIFT 24 | ||
108 | static inline uint32_t MMSS_CC_CLK_NS_VAL(uint32_t val) | ||
109 | { | ||
110 | return ((val) << MMSS_CC_CLK_NS_VAL__SHIFT) & MMSS_CC_CLK_NS_VAL__MASK; | ||
111 | } | ||
112 | |||
113 | |||
114 | #endif /* MMSS_CC_XML */ | ||
diff --git a/drivers/gpu/drm/msm/dsi/sfpb.xml.h b/drivers/gpu/drm/msm/dsi/sfpb.xml.h new file mode 100644 index 000000000000..a225e8170b2a --- /dev/null +++ b/drivers/gpu/drm/msm/dsi/sfpb.xml.h | |||
@@ -0,0 +1,48 @@ | |||
1 | #ifndef SFPB_XML | ||
2 | #define SFPB_XML | ||
3 | |||
4 | /* Autogenerated file, DO NOT EDIT manually! | ||
5 | |||
6 | This file was generated by the rules-ng-ng headergen tool in this git repository: | ||
7 | http://0x04.net/cgit/index.cgi/rules-ng-ng | ||
8 | git clone git://0x04.net/rules-ng-ng | ||
9 | |||
10 | The rules-ng-ng source files this header was generated from are: | ||
11 | - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) | ||
12 | - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) | ||
13 | - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-08-16 22:16:36) | ||
14 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) | ||
15 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) | ||
16 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) | ||
17 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) | ||
18 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) | ||
19 | |||
20 | Copyright (C) 2013 by the following authors: | ||
21 | - Rob Clark <robdclark@gmail.com> (robclark) | ||
22 | |||
23 | Permission is hereby granted, free of charge, to any person obtaining | ||
24 | a copy of this software and associated documentation files (the | ||
25 | "Software"), to deal in the Software without restriction, including | ||
26 | without limitation the rights to use, copy, modify, merge, publish, | ||
27 | distribute, sublicense, and/or sell copies of the Software, and to | ||
28 | permit persons to whom the Software is furnished to do so, subject to | ||
29 | the following conditions: | ||
30 | |||
31 | The above copyright notice and this permission notice (including the | ||
32 | next paragraph) shall be included in all copies or substantial | ||
33 | portions of the Software. | ||
34 | |||
35 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
37 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
38 | IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE | ||
39 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
40 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
41 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | |||
45 | #define REG_SFPB_CFG 0x00000058 | ||
46 | |||
47 | |||
48 | #endif /* SFPB_XML */ | ||
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.xml.h b/drivers/gpu/drm/msm/hdmi/hdmi.xml.h new file mode 100644 index 000000000000..f5fa4865e059 --- /dev/null +++ b/drivers/gpu/drm/msm/hdmi/hdmi.xml.h | |||
@@ -0,0 +1,508 @@ | |||
1 | #ifndef HDMI_XML | ||
2 | #define HDMI_XML | ||
3 | |||
4 | /* Autogenerated file, DO NOT EDIT manually! | ||
5 | |||
6 | This file was generated by the rules-ng-ng headergen tool in this git repository: | ||
7 | http://0x04.net/cgit/index.cgi/rules-ng-ng | ||
8 | git clone git://0x04.net/rules-ng-ng | ||
9 | |||
10 | The rules-ng-ng source files this header was generated from are: | ||
11 | - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) | ||
12 | - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) | ||
13 | - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-08-16 22:16:36) | ||
14 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) | ||
15 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) | ||
16 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) | ||
17 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) | ||
18 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) | ||
19 | |||
20 | Copyright (C) 2013 by the following authors: | ||
21 | - Rob Clark <robdclark@gmail.com> (robclark) | ||
22 | |||
23 | Permission is hereby granted, free of charge, to any person obtaining | ||
24 | a copy of this software and associated documentation files (the | ||
25 | "Software"), to deal in the Software without restriction, including | ||
26 | without limitation the rights to use, copy, modify, merge, publish, | ||
27 | distribute, sublicense, and/or sell copies of the Software, and to | ||
28 | permit persons to whom the Software is furnished to do so, subject to | ||
29 | the following conditions: | ||
30 | |||
31 | The above copyright notice and this permission notice (including the | ||
32 | next paragraph) shall be included in all copies or substantial | ||
33 | portions of the Software. | ||
34 | |||
35 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
37 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
38 | IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE | ||
39 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
40 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
41 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | |||
45 | enum hdmi_hdcp_key_state { | ||
46 | NO_KEYS = 0, | ||
47 | NOT_CHECKED = 1, | ||
48 | CHECKING = 2, | ||
49 | KEYS_VALID = 3, | ||
50 | AKSV_INVALID = 4, | ||
51 | CHECKSUM_MISMATCH = 5, | ||
52 | }; | ||
53 | |||
54 | enum hdmi_ddc_read_write { | ||
55 | DDC_WRITE = 0, | ||
56 | DDC_READ = 1, | ||
57 | }; | ||
58 | |||
59 | enum hdmi_acr_cts { | ||
60 | ACR_NONE = 0, | ||
61 | ACR_32 = 1, | ||
62 | ACR_44 = 2, | ||
63 | ACR_48 = 3, | ||
64 | }; | ||
65 | |||
66 | #define REG_HDMI_CTRL 0x00000000 | ||
67 | #define HDMI_CTRL_ENABLE 0x00000001 | ||
68 | #define HDMI_CTRL_HDMI 0x00000002 | ||
69 | #define HDMI_CTRL_ENCRYPTED 0x00000004 | ||
70 | |||
71 | #define REG_HDMI_AUDIO_PKT_CTRL1 0x00000020 | ||
72 | #define HDMI_AUDIO_PKT_CTRL1_AUDIO_SAMPLE_SEND 0x00000001 | ||
73 | |||
74 | #define REG_HDMI_ACR_PKT_CTRL 0x00000024 | ||
75 | #define HDMI_ACR_PKT_CTRL_CONT 0x00000001 | ||
76 | #define HDMI_ACR_PKT_CTRL_SEND 0x00000002 | ||
77 | #define HDMI_ACR_PKT_CTRL_SELECT__MASK 0x00000030 | ||
78 | #define HDMI_ACR_PKT_CTRL_SELECT__SHIFT 4 | ||
79 | static inline uint32_t HDMI_ACR_PKT_CTRL_SELECT(enum hdmi_acr_cts val) | ||
80 | { | ||
81 | return ((val) << HDMI_ACR_PKT_CTRL_SELECT__SHIFT) & HDMI_ACR_PKT_CTRL_SELECT__MASK; | ||
82 | } | ||
83 | #define HDMI_ACR_PKT_CTRL_SOURCE 0x00000100 | ||
84 | #define HDMI_ACR_PKT_CTRL_N_MULTIPLIER__MASK 0x00070000 | ||
85 | #define HDMI_ACR_PKT_CTRL_N_MULTIPLIER__SHIFT 16 | ||
86 | static inline uint32_t HDMI_ACR_PKT_CTRL_N_MULTIPLIER(uint32_t val) | ||
87 | { | ||
88 | return ((val) << HDMI_ACR_PKT_CTRL_N_MULTIPLIER__SHIFT) & HDMI_ACR_PKT_CTRL_N_MULTIPLIER__MASK; | ||
89 | } | ||
90 | #define HDMI_ACR_PKT_CTRL_AUDIO_PRIORITY 0x80000000 | ||
91 | |||
92 | #define REG_HDMI_VBI_PKT_CTRL 0x00000028 | ||
93 | #define HDMI_VBI_PKT_CTRL_GC_ENABLE 0x00000010 | ||
94 | #define HDMI_VBI_PKT_CTRL_GC_EVERY_FRAME 0x00000020 | ||
95 | #define HDMI_VBI_PKT_CTRL_ISRC_SEND 0x00000100 | ||
96 | #define HDMI_VBI_PKT_CTRL_ISRC_CONTINUOUS 0x00000200 | ||
97 | #define HDMI_VBI_PKT_CTRL_ACP_SEND 0x00001000 | ||
98 | #define HDMI_VBI_PKT_CTRL_ACP_SRC_SW 0x00002000 | ||
99 | |||
100 | #define REG_HDMI_INFOFRAME_CTRL0 0x0000002c | ||
101 | #define HDMI_INFOFRAME_CTRL0_AVI_SEND 0x00000001 | ||
102 | #define HDMI_INFOFRAME_CTRL0_AVI_CONT 0x00000002 | ||
103 | #define HDMI_INFOFRAME_CTRL0_AUDIO_INFO_SEND 0x00000010 | ||
104 | #define HDMI_INFOFRAME_CTRL0_AUDIO_INFO_CONT 0x00000020 | ||
105 | #define HDMI_INFOFRAME_CTRL0_AUDIO_INFO_SOURCE 0x00000040 | ||
106 | #define HDMI_INFOFRAME_CTRL0_AUDIO_INFO_UPDATE 0x00000080 | ||
107 | |||
108 | #define REG_HDMI_GEN_PKT_CTRL 0x00000034 | ||
109 | #define HDMI_GEN_PKT_CTRL_GENERIC0_SEND 0x00000001 | ||
110 | #define HDMI_GEN_PKT_CTRL_GENERIC0_CONT 0x00000002 | ||
111 | #define HDMI_GEN_PKT_CTRL_GENERIC0_UPDATE__MASK 0x0000000c | ||
112 | #define HDMI_GEN_PKT_CTRL_GENERIC0_UPDATE__SHIFT 2 | ||
113 | static inline uint32_t HDMI_GEN_PKT_CTRL_GENERIC0_UPDATE(uint32_t val) | ||
114 | { | ||
115 | return ((val) << HDMI_GEN_PKT_CTRL_GENERIC0_UPDATE__SHIFT) & HDMI_GEN_PKT_CTRL_GENERIC0_UPDATE__MASK; | ||
116 | } | ||
117 | #define HDMI_GEN_PKT_CTRL_GENERIC1_SEND 0x00000010 | ||
118 | #define HDMI_GEN_PKT_CTRL_GENERIC1_CONT 0x00000020 | ||
119 | #define HDMI_GEN_PKT_CTRL_GENERIC0_LINE__MASK 0x003f0000 | ||
120 | #define HDMI_GEN_PKT_CTRL_GENERIC0_LINE__SHIFT 16 | ||
121 | static inline uint32_t HDMI_GEN_PKT_CTRL_GENERIC0_LINE(uint32_t val) | ||
122 | { | ||
123 | return ((val) << HDMI_GEN_PKT_CTRL_GENERIC0_LINE__SHIFT) & HDMI_GEN_PKT_CTRL_GENERIC0_LINE__MASK; | ||
124 | } | ||
125 | #define HDMI_GEN_PKT_CTRL_GENERIC1_LINE__MASK 0x3f000000 | ||
126 | #define HDMI_GEN_PKT_CTRL_GENERIC1_LINE__SHIFT 24 | ||
127 | static inline uint32_t HDMI_GEN_PKT_CTRL_GENERIC1_LINE(uint32_t val) | ||
128 | { | ||
129 | return ((val) << HDMI_GEN_PKT_CTRL_GENERIC1_LINE__SHIFT) & HDMI_GEN_PKT_CTRL_GENERIC1_LINE__MASK; | ||
130 | } | ||
131 | |||
132 | #define REG_HDMI_GC 0x00000040 | ||
133 | #define HDMI_GC_MUTE 0x00000001 | ||
134 | |||
135 | #define REG_HDMI_AUDIO_PKT_CTRL2 0x00000044 | ||
136 | #define HDMI_AUDIO_PKT_CTRL2_OVERRIDE 0x00000001 | ||
137 | #define HDMI_AUDIO_PKT_CTRL2_LAYOUT 0x00000002 | ||
138 | |||
139 | static inline uint32_t REG_HDMI_AVI_INFO(uint32_t i0) { return 0x0000006c + 0x4*i0; } | ||
140 | |||
141 | #define REG_HDMI_GENERIC0_HDR 0x00000084 | ||
142 | |||
143 | static inline uint32_t REG_HDMI_GENERIC0(uint32_t i0) { return 0x00000088 + 0x4*i0; } | ||
144 | |||
145 | #define REG_HDMI_GENERIC1_HDR 0x000000a4 | ||
146 | |||
147 | static inline uint32_t REG_HDMI_GENERIC1(uint32_t i0) { return 0x000000a8 + 0x4*i0; } | ||
148 | |||
149 | static inline uint32_t REG_HDMI_ACR(uint32_t i0) { return 0x000000c4 + 0x8*i0; } | ||
150 | |||
151 | static inline uint32_t REG_HDMI_ACR_0(uint32_t i0) { return 0x000000c4 + 0x8*i0; } | ||
152 | #define HDMI_ACR_0_CTS__MASK 0xfffff000 | ||
153 | #define HDMI_ACR_0_CTS__SHIFT 12 | ||
154 | static inline uint32_t HDMI_ACR_0_CTS(uint32_t val) | ||
155 | { | ||
156 | return ((val) << HDMI_ACR_0_CTS__SHIFT) & HDMI_ACR_0_CTS__MASK; | ||
157 | } | ||
158 | |||
159 | static inline uint32_t REG_HDMI_ACR_1(uint32_t i0) { return 0x000000c8 + 0x8*i0; } | ||
160 | #define HDMI_ACR_1_N__MASK 0xffffffff | ||
161 | #define HDMI_ACR_1_N__SHIFT 0 | ||
162 | static inline uint32_t HDMI_ACR_1_N(uint32_t val) | ||
163 | { | ||
164 | return ((val) << HDMI_ACR_1_N__SHIFT) & HDMI_ACR_1_N__MASK; | ||
165 | } | ||
166 | |||
167 | #define REG_HDMI_AUDIO_INFO0 0x000000e4 | ||
168 | #define HDMI_AUDIO_INFO0_CHECKSUM__MASK 0x000000ff | ||
169 | #define HDMI_AUDIO_INFO0_CHECKSUM__SHIFT 0 | ||
170 | static inline uint32_t HDMI_AUDIO_INFO0_CHECKSUM(uint32_t val) | ||
171 | { | ||
172 | return ((val) << HDMI_AUDIO_INFO0_CHECKSUM__SHIFT) & HDMI_AUDIO_INFO0_CHECKSUM__MASK; | ||
173 | } | ||
174 | #define HDMI_AUDIO_INFO0_CC__MASK 0x00000700 | ||
175 | #define HDMI_AUDIO_INFO0_CC__SHIFT 8 | ||
176 | static inline uint32_t HDMI_AUDIO_INFO0_CC(uint32_t val) | ||
177 | { | ||
178 | return ((val) << HDMI_AUDIO_INFO0_CC__SHIFT) & HDMI_AUDIO_INFO0_CC__MASK; | ||
179 | } | ||
180 | |||
181 | #define REG_HDMI_AUDIO_INFO1 0x000000e8 | ||
182 | #define HDMI_AUDIO_INFO1_CA__MASK 0x000000ff | ||
183 | #define HDMI_AUDIO_INFO1_CA__SHIFT 0 | ||
184 | static inline uint32_t HDMI_AUDIO_INFO1_CA(uint32_t val) | ||
185 | { | ||
186 | return ((val) << HDMI_AUDIO_INFO1_CA__SHIFT) & HDMI_AUDIO_INFO1_CA__MASK; | ||
187 | } | ||
188 | #define HDMI_AUDIO_INFO1_LSV__MASK 0x00007800 | ||
189 | #define HDMI_AUDIO_INFO1_LSV__SHIFT 11 | ||
190 | static inline uint32_t HDMI_AUDIO_INFO1_LSV(uint32_t val) | ||
191 | { | ||
192 | return ((val) << HDMI_AUDIO_INFO1_LSV__SHIFT) & HDMI_AUDIO_INFO1_LSV__MASK; | ||
193 | } | ||
194 | #define HDMI_AUDIO_INFO1_DM_INH 0x00008000 | ||
195 | |||
196 | #define REG_HDMI_HDCP_CTRL 0x00000110 | ||
197 | #define HDMI_HDCP_CTRL_ENABLE 0x00000001 | ||
198 | #define HDMI_HDCP_CTRL_ENCRYPTION_ENABLE 0x00000100 | ||
199 | |||
200 | #define REG_HDMI_HDCP_INT_CTRL 0x00000118 | ||
201 | |||
202 | #define REG_HDMI_HDCP_LINK0_STATUS 0x0000011c | ||
203 | #define HDMI_HDCP_LINK0_STATUS_AN_0_READY 0x00000100 | ||
204 | #define HDMI_HDCP_LINK0_STATUS_AN_1_READY 0x00000200 | ||
205 | #define HDMI_HDCP_LINK0_STATUS_KEY_STATE__MASK 0x70000000 | ||
206 | #define HDMI_HDCP_LINK0_STATUS_KEY_STATE__SHIFT 28 | ||
207 | static inline uint32_t HDMI_HDCP_LINK0_STATUS_KEY_STATE(enum hdmi_hdcp_key_state val) | ||
208 | { | ||
209 | return ((val) << HDMI_HDCP_LINK0_STATUS_KEY_STATE__SHIFT) & HDMI_HDCP_LINK0_STATUS_KEY_STATE__MASK; | ||
210 | } | ||
211 | |||
212 | #define REG_HDMI_HDCP_RESET 0x00000130 | ||
213 | #define HDMI_HDCP_RESET_LINK0_DEAUTHENTICATE 0x00000001 | ||
214 | |||
215 | #define REG_HDMI_AUDIO_CFG 0x000001d0 | ||
216 | #define HDMI_AUDIO_CFG_ENGINE_ENABLE 0x00000001 | ||
217 | #define HDMI_AUDIO_CFG_FIFO_WATERMARK__MASK 0x000000f0 | ||
218 | #define HDMI_AUDIO_CFG_FIFO_WATERMARK__SHIFT 4 | ||
219 | static inline uint32_t HDMI_AUDIO_CFG_FIFO_WATERMARK(uint32_t val) | ||
220 | { | ||
221 | return ((val) << HDMI_AUDIO_CFG_FIFO_WATERMARK__SHIFT) & HDMI_AUDIO_CFG_FIFO_WATERMARK__MASK; | ||
222 | } | ||
223 | |||
224 | #define REG_HDMI_USEC_REFTIMER 0x00000208 | ||
225 | |||
226 | #define REG_HDMI_DDC_CTRL 0x0000020c | ||
227 | #define HDMI_DDC_CTRL_GO 0x00000001 | ||
228 | #define HDMI_DDC_CTRL_SOFT_RESET 0x00000002 | ||
229 | #define HDMI_DDC_CTRL_SEND_RESET 0x00000004 | ||
230 | #define HDMI_DDC_CTRL_SW_STATUS_RESET 0x00000008 | ||
231 | #define HDMI_DDC_CTRL_TRANSACTION_CNT__MASK 0x00300000 | ||
232 | #define HDMI_DDC_CTRL_TRANSACTION_CNT__SHIFT 20 | ||
233 | static inline uint32_t HDMI_DDC_CTRL_TRANSACTION_CNT(uint32_t val) | ||
234 | { | ||
235 | return ((val) << HDMI_DDC_CTRL_TRANSACTION_CNT__SHIFT) & HDMI_DDC_CTRL_TRANSACTION_CNT__MASK; | ||
236 | } | ||
237 | |||
238 | #define REG_HDMI_DDC_INT_CTRL 0x00000214 | ||
239 | #define HDMI_DDC_INT_CTRL_SW_DONE_INT 0x00000001 | ||
240 | #define HDMI_DDC_INT_CTRL_SW_DONE_ACK 0x00000002 | ||
241 | #define HDMI_DDC_INT_CTRL_SW_DONE_MASK 0x00000004 | ||
242 | |||
243 | #define REG_HDMI_DDC_SW_STATUS 0x00000218 | ||
244 | #define HDMI_DDC_SW_STATUS_NACK0 0x00001000 | ||
245 | #define HDMI_DDC_SW_STATUS_NACK1 0x00002000 | ||
246 | #define HDMI_DDC_SW_STATUS_NACK2 0x00004000 | ||
247 | #define HDMI_DDC_SW_STATUS_NACK3 0x00008000 | ||
248 | |||
249 | #define REG_HDMI_DDC_HW_STATUS 0x0000021c | ||
250 | |||
251 | #define REG_HDMI_DDC_SPEED 0x00000220 | ||
252 | #define HDMI_DDC_SPEED_THRESHOLD__MASK 0x00000003 | ||
253 | #define HDMI_DDC_SPEED_THRESHOLD__SHIFT 0 | ||
254 | static inline uint32_t HDMI_DDC_SPEED_THRESHOLD(uint32_t val) | ||
255 | { | ||
256 | return ((val) << HDMI_DDC_SPEED_THRESHOLD__SHIFT) & HDMI_DDC_SPEED_THRESHOLD__MASK; | ||
257 | } | ||
258 | #define HDMI_DDC_SPEED_PRESCALE__MASK 0xffff0000 | ||
259 | #define HDMI_DDC_SPEED_PRESCALE__SHIFT 16 | ||
260 | static inline uint32_t HDMI_DDC_SPEED_PRESCALE(uint32_t val) | ||
261 | { | ||
262 | return ((val) << HDMI_DDC_SPEED_PRESCALE__SHIFT) & HDMI_DDC_SPEED_PRESCALE__MASK; | ||
263 | } | ||
264 | |||
265 | #define REG_HDMI_DDC_SETUP 0x00000224 | ||
266 | #define HDMI_DDC_SETUP_TIMEOUT__MASK 0xff000000 | ||
267 | #define HDMI_DDC_SETUP_TIMEOUT__SHIFT 24 | ||
268 | static inline uint32_t HDMI_DDC_SETUP_TIMEOUT(uint32_t val) | ||
269 | { | ||
270 | return ((val) << HDMI_DDC_SETUP_TIMEOUT__SHIFT) & HDMI_DDC_SETUP_TIMEOUT__MASK; | ||
271 | } | ||
272 | |||
273 | static inline uint32_t REG_HDMI_I2C_TRANSACTION(uint32_t i0) { return 0x00000228 + 0x4*i0; } | ||
274 | |||
275 | static inline uint32_t REG_HDMI_I2C_TRANSACTION_REG(uint32_t i0) { return 0x00000228 + 0x4*i0; } | ||
276 | #define HDMI_I2C_TRANSACTION_REG_RW__MASK 0x00000001 | ||
277 | #define HDMI_I2C_TRANSACTION_REG_RW__SHIFT 0 | ||
278 | static inline uint32_t HDMI_I2C_TRANSACTION_REG_RW(enum hdmi_ddc_read_write val) | ||
279 | { | ||
280 | return ((val) << HDMI_I2C_TRANSACTION_REG_RW__SHIFT) & HDMI_I2C_TRANSACTION_REG_RW__MASK; | ||
281 | } | ||
282 | #define HDMI_I2C_TRANSACTION_REG_STOP_ON_NACK 0x00000100 | ||
283 | #define HDMI_I2C_TRANSACTION_REG_START 0x00001000 | ||
284 | #define HDMI_I2C_TRANSACTION_REG_STOP 0x00002000 | ||
285 | #define HDMI_I2C_TRANSACTION_REG_CNT__MASK 0x00ff0000 | ||
286 | #define HDMI_I2C_TRANSACTION_REG_CNT__SHIFT 16 | ||
287 | static inline uint32_t HDMI_I2C_TRANSACTION_REG_CNT(uint32_t val) | ||
288 | { | ||
289 | return ((val) << HDMI_I2C_TRANSACTION_REG_CNT__SHIFT) & HDMI_I2C_TRANSACTION_REG_CNT__MASK; | ||
290 | } | ||
291 | |||
292 | #define REG_HDMI_DDC_DATA 0x00000238 | ||
293 | #define HDMI_DDC_DATA_DATA_RW__MASK 0x00000001 | ||
294 | #define HDMI_DDC_DATA_DATA_RW__SHIFT 0 | ||
295 | static inline uint32_t HDMI_DDC_DATA_DATA_RW(enum hdmi_ddc_read_write val) | ||
296 | { | ||
297 | return ((val) << HDMI_DDC_DATA_DATA_RW__SHIFT) & HDMI_DDC_DATA_DATA_RW__MASK; | ||
298 | } | ||
299 | #define HDMI_DDC_DATA_DATA__MASK 0x0000ff00 | ||
300 | #define HDMI_DDC_DATA_DATA__SHIFT 8 | ||
301 | static inline uint32_t HDMI_DDC_DATA_DATA(uint32_t val) | ||
302 | { | ||
303 | return ((val) << HDMI_DDC_DATA_DATA__SHIFT) & HDMI_DDC_DATA_DATA__MASK; | ||
304 | } | ||
305 | #define HDMI_DDC_DATA_INDEX__MASK 0x00ff0000 | ||
306 | #define HDMI_DDC_DATA_INDEX__SHIFT 16 | ||
307 | static inline uint32_t HDMI_DDC_DATA_INDEX(uint32_t val) | ||
308 | { | ||
309 | return ((val) << HDMI_DDC_DATA_INDEX__SHIFT) & HDMI_DDC_DATA_INDEX__MASK; | ||
310 | } | ||
311 | #define HDMI_DDC_DATA_INDEX_WRITE 0x80000000 | ||
312 | |||
313 | #define REG_HDMI_HPD_INT_STATUS 0x00000250 | ||
314 | #define HDMI_HPD_INT_STATUS_INT 0x00000001 | ||
315 | #define HDMI_HPD_INT_STATUS_CABLE_DETECTED 0x00000002 | ||
316 | |||
317 | #define REG_HDMI_HPD_INT_CTRL 0x00000254 | ||
318 | #define HDMI_HPD_INT_CTRL_INT_ACK 0x00000001 | ||
319 | #define HDMI_HPD_INT_CTRL_INT_CONNECT 0x00000002 | ||
320 | #define HDMI_HPD_INT_CTRL_INT_EN 0x00000004 | ||
321 | #define HDMI_HPD_INT_CTRL_RX_INT_ACK 0x00000010 | ||
322 | #define HDMI_HPD_INT_CTRL_RX_INT_EN 0x00000020 | ||
323 | #define HDMI_HPD_INT_CTRL_RCV_PLUGIN_DET_MASK 0x00000200 | ||
324 | |||
325 | #define REG_HDMI_HPD_CTRL 0x00000258 | ||
326 | #define HDMI_HPD_CTRL_TIMEOUT__MASK 0x00001fff | ||
327 | #define HDMI_HPD_CTRL_TIMEOUT__SHIFT 0 | ||
328 | static inline uint32_t HDMI_HPD_CTRL_TIMEOUT(uint32_t val) | ||
329 | { | ||
330 | return ((val) << HDMI_HPD_CTRL_TIMEOUT__SHIFT) & HDMI_HPD_CTRL_TIMEOUT__MASK; | ||
331 | } | ||
332 | #define HDMI_HPD_CTRL_ENABLE 0x10000000 | ||
333 | |||
334 | #define REG_HDMI_DDC_REF 0x0000027c | ||
335 | #define HDMI_DDC_REF_REFTIMER_ENABLE 0x00010000 | ||
336 | #define HDMI_DDC_REF_REFTIMER__MASK 0x0000ffff | ||
337 | #define HDMI_DDC_REF_REFTIMER__SHIFT 0 | ||
338 | static inline uint32_t HDMI_DDC_REF_REFTIMER(uint32_t val) | ||
339 | { | ||
340 | return ((val) << HDMI_DDC_REF_REFTIMER__SHIFT) & HDMI_DDC_REF_REFTIMER__MASK; | ||
341 | } | ||
342 | |||
343 | #define REG_HDMI_ACTIVE_HSYNC 0x000002b4 | ||
344 | #define HDMI_ACTIVE_HSYNC_START__MASK 0x00000fff | ||
345 | #define HDMI_ACTIVE_HSYNC_START__SHIFT 0 | ||
346 | static inline uint32_t HDMI_ACTIVE_HSYNC_START(uint32_t val) | ||
347 | { | ||
348 | return ((val) << HDMI_ACTIVE_HSYNC_START__SHIFT) & HDMI_ACTIVE_HSYNC_START__MASK; | ||
349 | } | ||
350 | #define HDMI_ACTIVE_HSYNC_END__MASK 0x0fff0000 | ||
351 | #define HDMI_ACTIVE_HSYNC_END__SHIFT 16 | ||
352 | static inline uint32_t HDMI_ACTIVE_HSYNC_END(uint32_t val) | ||
353 | { | ||
354 | return ((val) << HDMI_ACTIVE_HSYNC_END__SHIFT) & HDMI_ACTIVE_HSYNC_END__MASK; | ||
355 | } | ||
356 | |||
357 | #define REG_HDMI_ACTIVE_VSYNC 0x000002b8 | ||
358 | #define HDMI_ACTIVE_VSYNC_START__MASK 0x00000fff | ||
359 | #define HDMI_ACTIVE_VSYNC_START__SHIFT 0 | ||
360 | static inline uint32_t HDMI_ACTIVE_VSYNC_START(uint32_t val) | ||
361 | { | ||
362 | return ((val) << HDMI_ACTIVE_VSYNC_START__SHIFT) & HDMI_ACTIVE_VSYNC_START__MASK; | ||
363 | } | ||
364 | #define HDMI_ACTIVE_VSYNC_END__MASK 0x0fff0000 | ||
365 | #define HDMI_ACTIVE_VSYNC_END__SHIFT 16 | ||
366 | static inline uint32_t HDMI_ACTIVE_VSYNC_END(uint32_t val) | ||
367 | { | ||
368 | return ((val) << HDMI_ACTIVE_VSYNC_END__SHIFT) & HDMI_ACTIVE_VSYNC_END__MASK; | ||
369 | } | ||
370 | |||
371 | #define REG_HDMI_VSYNC_ACTIVE_F2 0x000002bc | ||
372 | #define HDMI_VSYNC_ACTIVE_F2_START__MASK 0x00000fff | ||
373 | #define HDMI_VSYNC_ACTIVE_F2_START__SHIFT 0 | ||
374 | static inline uint32_t HDMI_VSYNC_ACTIVE_F2_START(uint32_t val) | ||
375 | { | ||
376 | return ((val) << HDMI_VSYNC_ACTIVE_F2_START__SHIFT) & HDMI_VSYNC_ACTIVE_F2_START__MASK; | ||
377 | } | ||
378 | #define HDMI_VSYNC_ACTIVE_F2_END__MASK 0x0fff0000 | ||
379 | #define HDMI_VSYNC_ACTIVE_F2_END__SHIFT 16 | ||
380 | static inline uint32_t HDMI_VSYNC_ACTIVE_F2_END(uint32_t val) | ||
381 | { | ||
382 | return ((val) << HDMI_VSYNC_ACTIVE_F2_END__SHIFT) & HDMI_VSYNC_ACTIVE_F2_END__MASK; | ||
383 | } | ||
384 | |||
385 | #define REG_HDMI_TOTAL 0x000002c0 | ||
386 | #define HDMI_TOTAL_H_TOTAL__MASK 0x00000fff | ||
387 | #define HDMI_TOTAL_H_TOTAL__SHIFT 0 | ||
388 | static inline uint32_t HDMI_TOTAL_H_TOTAL(uint32_t val) | ||
389 | { | ||
390 | return ((val) << HDMI_TOTAL_H_TOTAL__SHIFT) & HDMI_TOTAL_H_TOTAL__MASK; | ||
391 | } | ||
392 | #define HDMI_TOTAL_V_TOTAL__MASK 0x0fff0000 | ||
393 | #define HDMI_TOTAL_V_TOTAL__SHIFT 16 | ||
394 | static inline uint32_t HDMI_TOTAL_V_TOTAL(uint32_t val) | ||
395 | { | ||
396 | return ((val) << HDMI_TOTAL_V_TOTAL__SHIFT) & HDMI_TOTAL_V_TOTAL__MASK; | ||
397 | } | ||
398 | |||
399 | #define REG_HDMI_VSYNC_TOTAL_F2 0x000002c4 | ||
400 | #define HDMI_VSYNC_TOTAL_F2_V_TOTAL__MASK 0x00000fff | ||
401 | #define HDMI_VSYNC_TOTAL_F2_V_TOTAL__SHIFT 0 | ||
402 | static inline uint32_t HDMI_VSYNC_TOTAL_F2_V_TOTAL(uint32_t val) | ||
403 | { | ||
404 | return ((val) << HDMI_VSYNC_TOTAL_F2_V_TOTAL__SHIFT) & HDMI_VSYNC_TOTAL_F2_V_TOTAL__MASK; | ||
405 | } | ||
406 | |||
407 | #define REG_HDMI_FRAME_CTRL 0x000002c8 | ||
408 | #define HDMI_FRAME_CTRL_RGB_MUX_SEL_BGR 0x00001000 | ||
409 | #define HDMI_FRAME_CTRL_VSYNC_LOW 0x10000000 | ||
410 | #define HDMI_FRAME_CTRL_HSYNC_LOW 0x20000000 | ||
411 | #define HDMI_FRAME_CTRL_INTERLACED_EN 0x80000000 | ||
412 | |||
413 | #define REG_HDMI_PHY_CTRL 0x000002d4 | ||
414 | #define HDMI_PHY_CTRL_SW_RESET_PLL 0x00000001 | ||
415 | #define HDMI_PHY_CTRL_SW_RESET_PLL_LOW 0x00000002 | ||
416 | #define HDMI_PHY_CTRL_SW_RESET 0x00000004 | ||
417 | #define HDMI_PHY_CTRL_SW_RESET_LOW 0x00000008 | ||
418 | |||
419 | #define REG_HDMI_AUD_INT 0x000002cc | ||
420 | #define HDMI_AUD_INT_AUD_FIFO_URUN_INT 0x00000001 | ||
421 | #define HDMI_AUD_INT_AUD_FIFO_URAN_MASK 0x00000002 | ||
422 | #define HDMI_AUD_INT_AUD_SAM_DROP_INT 0x00000004 | ||
423 | #define HDMI_AUD_INT_AUD_SAM_DROP_MASK 0x00000008 | ||
424 | |||
425 | #define REG_HDMI_8x60_PHY_REG0 0x00000300 | ||
426 | #define HDMI_8x60_PHY_REG0_DESER_DEL_CTRL__MASK 0x0000001c | ||
427 | #define HDMI_8x60_PHY_REG0_DESER_DEL_CTRL__SHIFT 2 | ||
428 | static inline uint32_t HDMI_8x60_PHY_REG0_DESER_DEL_CTRL(uint32_t val) | ||
429 | { | ||
430 | return ((val) << HDMI_8x60_PHY_REG0_DESER_DEL_CTRL__SHIFT) & HDMI_8x60_PHY_REG0_DESER_DEL_CTRL__MASK; | ||
431 | } | ||
432 | |||
433 | #define REG_HDMI_8x60_PHY_REG1 0x00000304 | ||
434 | #define HDMI_8x60_PHY_REG1_DTEST_MUX_SEL__MASK 0x000000f0 | ||
435 | #define HDMI_8x60_PHY_REG1_DTEST_MUX_SEL__SHIFT 4 | ||
436 | static inline uint32_t HDMI_8x60_PHY_REG1_DTEST_MUX_SEL(uint32_t val) | ||
437 | { | ||
438 | return ((val) << HDMI_8x60_PHY_REG1_DTEST_MUX_SEL__SHIFT) & HDMI_8x60_PHY_REG1_DTEST_MUX_SEL__MASK; | ||
439 | } | ||
440 | #define HDMI_8x60_PHY_REG1_OUTVOL_SWING_CTRL__MASK 0x0000000f | ||
441 | #define HDMI_8x60_PHY_REG1_OUTVOL_SWING_CTRL__SHIFT 0 | ||
442 | static inline uint32_t HDMI_8x60_PHY_REG1_OUTVOL_SWING_CTRL(uint32_t val) | ||
443 | { | ||
444 | return ((val) << HDMI_8x60_PHY_REG1_OUTVOL_SWING_CTRL__SHIFT) & HDMI_8x60_PHY_REG1_OUTVOL_SWING_CTRL__MASK; | ||
445 | } | ||
446 | |||
447 | #define REG_HDMI_8x60_PHY_REG2 0x00000308 | ||
448 | #define HDMI_8x60_PHY_REG2_PD_DESER 0x00000001 | ||
449 | #define HDMI_8x60_PHY_REG2_PD_DRIVE_1 0x00000002 | ||
450 | #define HDMI_8x60_PHY_REG2_PD_DRIVE_2 0x00000004 | ||
451 | #define HDMI_8x60_PHY_REG2_PD_DRIVE_3 0x00000008 | ||
452 | #define HDMI_8x60_PHY_REG2_PD_DRIVE_4 0x00000010 | ||
453 | #define HDMI_8x60_PHY_REG2_PD_PLL 0x00000020 | ||
454 | #define HDMI_8x60_PHY_REG2_PD_PWRGEN 0x00000040 | ||
455 | #define HDMI_8x60_PHY_REG2_RCV_SENSE_EN 0x00000080 | ||
456 | |||
457 | #define REG_HDMI_8x60_PHY_REG3 0x0000030c | ||
458 | #define HDMI_8x60_PHY_REG3_PLL_ENABLE 0x00000001 | ||
459 | |||
460 | #define REG_HDMI_8x60_PHY_REG4 0x00000310 | ||
461 | |||
462 | #define REG_HDMI_8x60_PHY_REG5 0x00000314 | ||
463 | |||
464 | #define REG_HDMI_8x60_PHY_REG6 0x00000318 | ||
465 | |||
466 | #define REG_HDMI_8x60_PHY_REG7 0x0000031c | ||
467 | |||
468 | #define REG_HDMI_8x60_PHY_REG8 0x00000320 | ||
469 | |||
470 | #define REG_HDMI_8x60_PHY_REG9 0x00000324 | ||
471 | |||
472 | #define REG_HDMI_8x60_PHY_REG10 0x00000328 | ||
473 | |||
474 | #define REG_HDMI_8x60_PHY_REG11 0x0000032c | ||
475 | |||
476 | #define REG_HDMI_8x60_PHY_REG12 0x00000330 | ||
477 | #define HDMI_8x60_PHY_REG12_RETIMING_EN 0x00000001 | ||
478 | #define HDMI_8x60_PHY_REG12_PLL_LOCK_DETECT_EN 0x00000002 | ||
479 | #define HDMI_8x60_PHY_REG12_FORCE_LOCK 0x00000010 | ||
480 | |||
481 | #define REG_HDMI_8960_PHY_REG0 0x00000400 | ||
482 | |||
483 | #define REG_HDMI_8960_PHY_REG1 0x00000404 | ||
484 | |||
485 | #define REG_HDMI_8960_PHY_REG2 0x00000408 | ||
486 | |||
487 | #define REG_HDMI_8960_PHY_REG3 0x0000040c | ||
488 | |||
489 | #define REG_HDMI_8960_PHY_REG4 0x00000410 | ||
490 | |||
491 | #define REG_HDMI_8960_PHY_REG5 0x00000414 | ||
492 | |||
493 | #define REG_HDMI_8960_PHY_REG6 0x00000418 | ||
494 | |||
495 | #define REG_HDMI_8960_PHY_REG7 0x0000041c | ||
496 | |||
497 | #define REG_HDMI_8960_PHY_REG8 0x00000420 | ||
498 | |||
499 | #define REG_HDMI_8960_PHY_REG9 0x00000424 | ||
500 | |||
501 | #define REG_HDMI_8960_PHY_REG10 0x00000428 | ||
502 | |||
503 | #define REG_HDMI_8960_PHY_REG11 0x0000042c | ||
504 | |||
505 | #define REG_HDMI_8960_PHY_REG12 0x00000430 | ||
506 | |||
507 | |||
508 | #endif /* HDMI_XML */ | ||
diff --git a/drivers/gpu/drm/msm/hdmi/qfprom.xml.h b/drivers/gpu/drm/msm/hdmi/qfprom.xml.h new file mode 100644 index 000000000000..bee36363bcd0 --- /dev/null +++ b/drivers/gpu/drm/msm/hdmi/qfprom.xml.h | |||
@@ -0,0 +1,50 @@ | |||
1 | #ifndef QFPROM_XML | ||
2 | #define QFPROM_XML | ||
3 | |||
4 | /* Autogenerated file, DO NOT EDIT manually! | ||
5 | |||
6 | This file was generated by the rules-ng-ng headergen tool in this git repository: | ||
7 | http://0x04.net/cgit/index.cgi/rules-ng-ng | ||
8 | git clone git://0x04.net/rules-ng-ng | ||
9 | |||
10 | The rules-ng-ng source files this header was generated from are: | ||
11 | - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) | ||
12 | - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) | ||
13 | - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-08-16 22:16:36) | ||
14 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) | ||
15 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) | ||
16 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) | ||
17 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) | ||
18 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) | ||
19 | |||
20 | Copyright (C) 2013 by the following authors: | ||
21 | - Rob Clark <robdclark@gmail.com> (robclark) | ||
22 | |||
23 | Permission is hereby granted, free of charge, to any person obtaining | ||
24 | a copy of this software and associated documentation files (the | ||
25 | "Software"), to deal in the Software without restriction, including | ||
26 | without limitation the rights to use, copy, modify, merge, publish, | ||
27 | distribute, sublicense, and/or sell copies of the Software, and to | ||
28 | permit persons to whom the Software is furnished to do so, subject to | ||
29 | the following conditions: | ||
30 | |||
31 | The above copyright notice and this permission notice (including the | ||
32 | next paragraph) shall be included in all copies or substantial | ||
33 | portions of the Software. | ||
34 | |||
35 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
37 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
38 | IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE | ||
39 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
40 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
41 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | |||
45 | #define REG_QFPROM_CONFIG_ROW0_LSB 0x00000238 | ||
46 | #define QFPROM_CONFIG_ROW0_LSB_HDMI_DISABLE 0x00200000 | ||
47 | #define QFPROM_CONFIG_ROW0_LSB_HDCP_DISABLE 0x00400000 | ||
48 | |||
49 | |||
50 | #endif /* QFPROM_XML */ | ||
diff --git a/drivers/gpu/drm/msm/mdp4/mdp4.xml.h b/drivers/gpu/drm/msm/mdp4/mdp4.xml.h new file mode 100644 index 000000000000..bbeeebe2db55 --- /dev/null +++ b/drivers/gpu/drm/msm/mdp4/mdp4.xml.h | |||
@@ -0,0 +1,1061 @@ | |||
1 | #ifndef MDP4_XML | ||
2 | #define MDP4_XML | ||
3 | |||
4 | /* Autogenerated file, DO NOT EDIT manually! | ||
5 | |||
6 | This file was generated by the rules-ng-ng headergen tool in this git repository: | ||
7 | http://0x04.net/cgit/index.cgi/rules-ng-ng | ||
8 | git clone git://0x04.net/rules-ng-ng | ||
9 | |||
10 | The rules-ng-ng source files this header was generated from are: | ||
11 | - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) | ||
12 | - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) | ||
13 | - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-08-16 22:16:36) | ||
14 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) | ||
15 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) | ||
16 | - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) | ||
17 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) | ||
18 | - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) | ||
19 | |||
20 | Copyright (C) 2013 by the following authors: | ||
21 | - Rob Clark <robdclark@gmail.com> (robclark) | ||
22 | |||
23 | Permission is hereby granted, free of charge, to any person obtaining | ||
24 | a copy of this software and associated documentation files (the | ||
25 | "Software"), to deal in the Software without restriction, including | ||
26 | without limitation the rights to use, copy, modify, merge, publish, | ||
27 | distribute, sublicense, and/or sell copies of the Software, and to | ||
28 | permit persons to whom the Software is furnished to do so, subject to | ||
29 | the following conditions: | ||
30 | |||
31 | The above copyright notice and this permission notice (including the | ||
32 | next paragraph) shall be included in all copies or substantial | ||
33 | portions of the Software. | ||
34 | |||
35 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
37 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
38 | IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE | ||
39 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
40 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
41 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | |||
45 | enum mpd4_bpc { | ||
46 | BPC1 = 0, | ||
47 | BPC5 = 1, | ||
48 | BPC6 = 2, | ||
49 | BPC8 = 3, | ||
50 | }; | ||
51 | |||
52 | enum mpd4_bpc_alpha { | ||
53 | BPC1A = 0, | ||
54 | BPC4A = 1, | ||
55 | BPC6A = 2, | ||
56 | BPC8A = 3, | ||
57 | }; | ||
58 | |||
59 | enum mpd4_alpha_type { | ||
60 | FG_CONST = 0, | ||
61 | BG_CONST = 1, | ||
62 | FG_PIXEL = 2, | ||
63 | BG_PIXEL = 3, | ||
64 | }; | ||
65 | |||
66 | enum mpd4_pipe { | ||
67 | VG1 = 0, | ||
68 | VG2 = 1, | ||
69 | RGB1 = 2, | ||
70 | RGB2 = 3, | ||
71 | RGB3 = 4, | ||
72 | VG3 = 5, | ||
73 | VG4 = 6, | ||
74 | }; | ||
75 | |||
76 | enum mpd4_mixer { | ||
77 | MIXER0 = 0, | ||
78 | MIXER1 = 1, | ||
79 | MIXER2 = 2, | ||
80 | }; | ||
81 | |||
82 | enum mpd4_mixer_stage_id { | ||
83 | STAGE_UNUSED = 0, | ||
84 | STAGE_BASE = 1, | ||
85 | STAGE0 = 2, | ||
86 | STAGE1 = 3, | ||
87 | STAGE2 = 4, | ||
88 | STAGE3 = 5, | ||
89 | }; | ||
90 | |||
91 | enum mdp4_intf { | ||
92 | INTF_LCDC_DTV = 0, | ||
93 | INTF_DSI_VIDEO = 1, | ||
94 | INTF_DSI_CMD = 2, | ||
95 | INTF_EBI2_TV = 3, | ||
96 | }; | ||
97 | |||
98 | enum mdp4_cursor_format { | ||
99 | CURSOR_ARGB = 1, | ||
100 | CURSOR_XRGB = 2, | ||
101 | }; | ||
102 | |||
103 | enum mdp4_dma { | ||
104 | DMA_P = 0, | ||
105 | DMA_S = 1, | ||
106 | DMA_E = 2, | ||
107 | }; | ||
108 | |||
109 | #define MDP4_IRQ_OVERLAY0_DONE 0x00000001 | ||
110 | #define MDP4_IRQ_OVERLAY1_DONE 0x00000002 | ||
111 | #define MDP4_IRQ_DMA_S_DONE 0x00000004 | ||
112 | #define MDP4_IRQ_DMA_E_DONE 0x00000008 | ||
113 | #define MDP4_IRQ_DMA_P_DONE 0x00000010 | ||
114 | #define MDP4_IRQ_VG1_HISTOGRAM 0x00000020 | ||
115 | #define MDP4_IRQ_VG2_HISTOGRAM 0x00000040 | ||
116 | #define MDP4_IRQ_PRIMARY_VSYNC 0x00000080 | ||
117 | #define MDP4_IRQ_PRIMARY_INTF_UDERRUN 0x00000100 | ||
118 | #define MDP4_IRQ_EXTERNAL_VSYNC 0x00000200 | ||
119 | #define MDP4_IRQ_EXTERNAL_INTF_UDERRUN 0x00000400 | ||
120 | #define MDP4_IRQ_PRIMARY_RDPTR 0x00000800 | ||
121 | #define MDP4_IRQ_DMA_P_HISTOGRAM 0x00020000 | ||
122 | #define MDP4_IRQ_DMA_S_HISTOGRAM 0x04000000 | ||
123 | #define MDP4_IRQ_OVERLAY2_DONE 0x40000000 | ||
124 | #define REG_MDP4_VERSION 0x00000000 | ||
125 | #define MDP4_VERSION_MINOR__MASK 0x00ff0000 | ||
126 | #define MDP4_VERSION_MINOR__SHIFT 16 | ||
127 | static inline uint32_t MDP4_VERSION_MINOR(uint32_t val) | ||
128 | { | ||
129 | return ((val) << MDP4_VERSION_MINOR__SHIFT) & MDP4_VERSION_MINOR__MASK; | ||
130 | } | ||
131 | #define MDP4_VERSION_MAJOR__MASK 0xff000000 | ||
132 | #define MDP4_VERSION_MAJOR__SHIFT 24 | ||
133 | static inline uint32_t MDP4_VERSION_MAJOR(uint32_t val) | ||
134 | { | ||
135 | return ((val) << MDP4_VERSION_MAJOR__SHIFT) & MDP4_VERSION_MAJOR__MASK; | ||
136 | } | ||
137 | |||
138 | #define REG_MDP4_OVLP0_KICK 0x00000004 | ||
139 | |||
140 | #define REG_MDP4_OVLP1_KICK 0x00000008 | ||
141 | |||
142 | #define REG_MDP4_OVLP2_KICK 0x000000d0 | ||
143 | |||
144 | #define REG_MDP4_DMA_P_KICK 0x0000000c | ||
145 | |||
146 | #define REG_MDP4_DMA_S_KICK 0x00000010 | ||
147 | |||
148 | #define REG_MDP4_DMA_E_KICK 0x00000014 | ||
149 | |||
150 | #define REG_MDP4_DISP_STATUS 0x00000018 | ||
151 | |||
152 | #define REG_MDP4_DISP_INTF_SEL 0x00000038 | ||
153 | #define MDP4_DISP_INTF_SEL_PRIM__MASK 0x00000003 | ||
154 | #define MDP4_DISP_INTF_SEL_PRIM__SHIFT 0 | ||
155 | static inline uint32_t MDP4_DISP_INTF_SEL_PRIM(enum mdp4_intf val) | ||
156 | { | ||
157 | return ((val) << MDP4_DISP_INTF_SEL_PRIM__SHIFT) & MDP4_DISP_INTF_SEL_PRIM__MASK; | ||
158 | } | ||
159 | #define MDP4_DISP_INTF_SEL_SEC__MASK 0x0000000c | ||
160 | #define MDP4_DISP_INTF_SEL_SEC__SHIFT 2 | ||
161 | static inline uint32_t MDP4_DISP_INTF_SEL_SEC(enum mdp4_intf val) | ||
162 | { | ||
163 | return ((val) << MDP4_DISP_INTF_SEL_SEC__SHIFT) & MDP4_DISP_INTF_SEL_SEC__MASK; | ||
164 | } | ||
165 | #define MDP4_DISP_INTF_SEL_EXT__MASK 0x00000030 | ||
166 | #define MDP4_DISP_INTF_SEL_EXT__SHIFT 4 | ||
167 | static inline uint32_t MDP4_DISP_INTF_SEL_EXT(enum mdp4_intf val) | ||
168 | { | ||
169 | return ((val) << MDP4_DISP_INTF_SEL_EXT__SHIFT) & MDP4_DISP_INTF_SEL_EXT__MASK; | ||
170 | } | ||
171 | #define MDP4_DISP_INTF_SEL_DSI_VIDEO 0x00000040 | ||
172 | #define MDP4_DISP_INTF_SEL_DSI_CMD 0x00000080 | ||
173 | |||
174 | #define REG_MDP4_RESET_STATUS 0x0000003c | ||
175 | |||
176 | #define REG_MDP4_READ_CNFG 0x0000004c | ||
177 | |||
178 | #define REG_MDP4_INTR_ENABLE 0x00000050 | ||
179 | |||
180 | #define REG_MDP4_INTR_STATUS 0x00000054 | ||
181 | |||
182 | #define REG_MDP4_INTR_CLEAR 0x00000058 | ||
183 | |||
184 | #define REG_MDP4_EBI2_LCD0 0x00000060 | ||
185 | |||
186 | #define REG_MDP4_EBI2_LCD1 0x00000064 | ||
187 | |||
188 | #define REG_MDP4_PORTMAP_MODE 0x00000070 | ||
189 | |||
190 | #define REG_MDP4_CS_CONTROLLER0 0x000000c0 | ||
191 | |||
192 | #define REG_MDP4_CS_CONTROLLER1 0x000000c4 | ||
193 | |||
194 | #define REG_MDP4_LAYERMIXER2_IN_CFG 0x000100f0 | ||
195 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE0__MASK 0x00000007 | ||
196 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE0__SHIFT 0 | ||
197 | static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE0(enum mpd4_mixer_stage_id val) | ||
198 | { | ||
199 | return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE0__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE0__MASK; | ||
200 | } | ||
201 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE0_MIXER1 0x00000008 | ||
202 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE1__MASK 0x00000070 | ||
203 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE1__SHIFT 4 | ||
204 | static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE1(enum mpd4_mixer_stage_id val) | ||
205 | { | ||
206 | return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE1__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE1__MASK; | ||
207 | } | ||
208 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE1_MIXER1 0x00000080 | ||
209 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE2__MASK 0x00000700 | ||
210 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE2__SHIFT 8 | ||
211 | static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE2(enum mpd4_mixer_stage_id val) | ||
212 | { | ||
213 | return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE2__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE2__MASK; | ||
214 | } | ||
215 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE2_MIXER1 0x00000800 | ||
216 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE3__MASK 0x00007000 | ||
217 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE3__SHIFT 12 | ||
218 | static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE3(enum mpd4_mixer_stage_id val) | ||
219 | { | ||
220 | return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE3__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE3__MASK; | ||
221 | } | ||
222 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE3_MIXER1 0x00008000 | ||
223 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE4__MASK 0x00070000 | ||
224 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE4__SHIFT 16 | ||
225 | static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE4(enum mpd4_mixer_stage_id val) | ||
226 | { | ||
227 | return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE4__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE4__MASK; | ||
228 | } | ||
229 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE4_MIXER1 0x00080000 | ||
230 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE5__MASK 0x00700000 | ||
231 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE5__SHIFT 20 | ||
232 | static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE5(enum mpd4_mixer_stage_id val) | ||
233 | { | ||
234 | return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE5__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE5__MASK; | ||
235 | } | ||
236 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE5_MIXER1 0x00800000 | ||
237 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE6__MASK 0x07000000 | ||
238 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE6__SHIFT 24 | ||
239 | static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE6(enum mpd4_mixer_stage_id val) | ||
240 | { | ||
241 | return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE6__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE6__MASK; | ||
242 | } | ||
243 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE6_MIXER1 0x08000000 | ||
244 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE7__MASK 0x70000000 | ||
245 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE7__SHIFT 28 | ||
246 | static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE7(enum mpd4_mixer_stage_id val) | ||
247 | { | ||
248 | return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE7__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE7__MASK; | ||
249 | } | ||
250 | #define MDP4_LAYERMIXER2_IN_CFG_PIPE7_MIXER1 0x80000000 | ||
251 | |||
252 | #define REG_MDP4_LAYERMIXER_IN_CFG_UPDATE_METHOD 0x000100fc | ||
253 | |||
254 | #define REG_MDP4_LAYERMIXER_IN_CFG 0x00010100 | ||
255 | #define MDP4_LAYERMIXER_IN_CFG_PIPE0__MASK 0x00000007 | ||
256 | #define MDP4_LAYERMIXER_IN_CFG_PIPE0__SHIFT 0 | ||
257 | static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE0(enum mpd4_mixer_stage_id val) | ||
258 | { | ||
259 | return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE0__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE0__MASK; | ||
260 | } | ||
261 | #define MDP4_LAYERMIXER_IN_CFG_PIPE0_MIXER1 0x00000008 | ||
262 | #define MDP4_LAYERMIXER_IN_CFG_PIPE1__MASK 0x00000070 | ||
263 | #define MDP4_LAYERMIXER_IN_CFG_PIPE1__SHIFT 4 | ||
264 | static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE1(enum mpd4_mixer_stage_id val) | ||
265 | { | ||
266 | return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE1__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE1__MASK; | ||
267 | } | ||
268 | #define MDP4_LAYERMIXER_IN_CFG_PIPE1_MIXER1 0x00000080 | ||
269 | #define MDP4_LAYERMIXER_IN_CFG_PIPE2__MASK 0x00000700 | ||
270 | #define MDP4_LAYERMIXER_IN_CFG_PIPE2__SHIFT 8 | ||
271 | static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE2(enum mpd4_mixer_stage_id val) | ||
272 | { | ||
273 | return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE2__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE2__MASK; | ||
274 | } | ||
275 | #define MDP4_LAYERMIXER_IN_CFG_PIPE2_MIXER1 0x00000800 | ||
276 | #define MDP4_LAYERMIXER_IN_CFG_PIPE3__MASK 0x00007000 | ||
277 | #define MDP4_LAYERMIXER_IN_CFG_PIPE3__SHIFT 12 | ||
278 | static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE3(enum mpd4_mixer_stage_id val) | ||
279 | { | ||
280 | return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE3__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE3__MASK; | ||
281 | } | ||
282 | #define MDP4_LAYERMIXER_IN_CFG_PIPE3_MIXER1 0x00008000 | ||
283 | #define MDP4_LAYERMIXER_IN_CFG_PIPE4__MASK 0x00070000 | ||
284 | #define MDP4_LAYERMIXER_IN_CFG_PIPE4__SHIFT 16 | ||
285 | static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE4(enum mpd4_mixer_stage_id val) | ||
286 | { | ||
287 | return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE4__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE4__MASK; | ||
288 | } | ||
289 | #define MDP4_LAYERMIXER_IN_CFG_PIPE4_MIXER1 0x00080000 | ||
290 | #define MDP4_LAYERMIXER_IN_CFG_PIPE5__MASK 0x00700000 | ||
291 | #define MDP4_LAYERMIXER_IN_CFG_PIPE5__SHIFT 20 | ||
292 | static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE5(enum mpd4_mixer_stage_id val) | ||
293 | { | ||
294 | return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE5__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE5__MASK; | ||
295 | } | ||
296 | #define MDP4_LAYERMIXER_IN_CFG_PIPE5_MIXER1 0x00800000 | ||
297 | #define MDP4_LAYERMIXER_IN_CFG_PIPE6__MASK 0x07000000 | ||
298 | #define MDP4_LAYERMIXER_IN_CFG_PIPE6__SHIFT 24 | ||
299 | static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE6(enum mpd4_mixer_stage_id val) | ||
300 | { | ||
301 | return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE6__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE6__MASK; | ||
302 | } | ||
303 | #define MDP4_LAYERMIXER_IN_CFG_PIPE6_MIXER1 0x08000000 | ||
304 | #define MDP4_LAYERMIXER_IN_CFG_PIPE7__MASK 0x70000000 | ||
305 | #define MDP4_LAYERMIXER_IN_CFG_PIPE7__SHIFT 28 | ||
306 | static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE7(enum mpd4_mixer_stage_id val) | ||
307 | { | ||
308 | return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE7__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE7__MASK; | ||
309 | } | ||
310 | #define MDP4_LAYERMIXER_IN_CFG_PIPE7_MIXER1 0x80000000 | ||
311 | |||
312 | #define REG_MDP4_VG2_SRC_FORMAT 0x00030050 | ||
313 | |||
314 | #define REG_MDP4_VG2_CONST_COLOR 0x00031008 | ||
315 | |||
316 | #define REG_MDP4_OVERLAY_FLUSH 0x00018000 | ||
317 | #define MDP4_OVERLAY_FLUSH_OVLP0 0x00000001 | ||
318 | #define MDP4_OVERLAY_FLUSH_OVLP1 0x00000002 | ||
319 | #define MDP4_OVERLAY_FLUSH_VG1 0x00000004 | ||
320 | #define MDP4_OVERLAY_FLUSH_VG2 0x00000008 | ||
321 | #define MDP4_OVERLAY_FLUSH_RGB1 0x00000010 | ||
322 | #define MDP4_OVERLAY_FLUSH_RGB2 0x00000020 | ||
323 | |||
324 | static inline uint32_t __offset_OVLP(uint32_t idx) | ||
325 | { | ||
326 | switch (idx) { | ||
327 | case 0: return 0x00010000; | ||
328 | case 1: return 0x00018000; | ||
329 | case 2: return 0x00088000; | ||
330 | default: return INVALID_IDX(idx); | ||
331 | } | ||
332 | } | ||
333 | static inline uint32_t REG_MDP4_OVLP(uint32_t i0) { return 0x00000000 + __offset_OVLP(i0); } | ||
334 | |||
335 | static inline uint32_t REG_MDP4_OVLP_CFG(uint32_t i0) { return 0x00000004 + __offset_OVLP(i0); } | ||
336 | |||
337 | static inline uint32_t REG_MDP4_OVLP_SIZE(uint32_t i0) { return 0x00000008 + __offset_OVLP(i0); } | ||
338 | #define MDP4_OVLP_SIZE_HEIGHT__MASK 0xffff0000 | ||
339 | #define MDP4_OVLP_SIZE_HEIGHT__SHIFT 16 | ||
340 | static inline uint32_t MDP4_OVLP_SIZE_HEIGHT(uint32_t val) | ||
341 | { | ||
342 | return ((val) << MDP4_OVLP_SIZE_HEIGHT__SHIFT) & MDP4_OVLP_SIZE_HEIGHT__MASK; | ||
343 | } | ||
344 | #define MDP4_OVLP_SIZE_WIDTH__MASK 0x0000ffff | ||
345 | #define MDP4_OVLP_SIZE_WIDTH__SHIFT 0 | ||
346 | static inline uint32_t MDP4_OVLP_SIZE_WIDTH(uint32_t val) | ||
347 | { | ||
348 | return ((val) << MDP4_OVLP_SIZE_WIDTH__SHIFT) & MDP4_OVLP_SIZE_WIDTH__MASK; | ||
349 | } | ||
350 | |||
351 | static inline uint32_t REG_MDP4_OVLP_BASE(uint32_t i0) { return 0x0000000c + __offset_OVLP(i0); } | ||
352 | |||
353 | static inline uint32_t REG_MDP4_OVLP_STRIDE(uint32_t i0) { return 0x00000010 + __offset_OVLP(i0); } | ||
354 | |||
355 | static inline uint32_t REG_MDP4_OVLP_OPMODE(uint32_t i0) { return 0x00000014 + __offset_OVLP(i0); } | ||
356 | |||
357 | static inline uint32_t __offset_STAGE(uint32_t idx) | ||
358 | { | ||
359 | switch (idx) { | ||
360 | case 0: return 0x00000104; | ||
361 | case 1: return 0x00000124; | ||
362 | case 2: return 0x00000144; | ||
363 | case 3: return 0x00000160; | ||
364 | default: return INVALID_IDX(idx); | ||
365 | } | ||
366 | } | ||
367 | static inline uint32_t REG_MDP4_OVLP_STAGE(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE(i1); } | ||
368 | |||
369 | static inline uint32_t REG_MDP4_OVLP_STAGE_OP(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE(i1); } | ||
370 | #define MDP4_OVLP_STAGE_OP_FG_ALPHA__MASK 0x00000003 | ||
371 | #define MDP4_OVLP_STAGE_OP_FG_ALPHA__SHIFT 0 | ||
372 | static inline uint32_t MDP4_OVLP_STAGE_OP_FG_ALPHA(enum mpd4_alpha_type val) | ||
373 | { | ||
374 | return ((val) << MDP4_OVLP_STAGE_OP_FG_ALPHA__SHIFT) & MDP4_OVLP_STAGE_OP_FG_ALPHA__MASK; | ||
375 | } | ||
376 | #define MDP4_OVLP_STAGE_OP_FG_INV_ALPHA 0x00000004 | ||
377 | #define MDP4_OVLP_STAGE_OP_FG_MOD_ALPHA 0x00000008 | ||
378 | #define MDP4_OVLP_STAGE_OP_BG_ALPHA__MASK 0x00000030 | ||
379 | #define MDP4_OVLP_STAGE_OP_BG_ALPHA__SHIFT 4 | ||
380 | static inline uint32_t MDP4_OVLP_STAGE_OP_BG_ALPHA(enum mpd4_alpha_type val) | ||
381 | { | ||
382 | return ((val) << MDP4_OVLP_STAGE_OP_BG_ALPHA__SHIFT) & MDP4_OVLP_STAGE_OP_BG_ALPHA__MASK; | ||
383 | } | ||
384 | #define MDP4_OVLP_STAGE_OP_BG_INV_ALPHA 0x00000040 | ||
385 | #define MDP4_OVLP_STAGE_OP_BG_MOD_ALPHA 0x00000080 | ||
386 | #define MDP4_OVLP_STAGE_OP_FG_TRANSP 0x00000100 | ||
387 | #define MDP4_OVLP_STAGE_OP_BG_TRANSP 0x00000200 | ||
388 | |||
389 | static inline uint32_t REG_MDP4_OVLP_STAGE_FG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00000004 + __offset_OVLP(i0) + __offset_STAGE(i1); } | ||
390 | |||
391 | static inline uint32_t REG_MDP4_OVLP_STAGE_BG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00000008 + __offset_OVLP(i0) + __offset_STAGE(i1); } | ||
392 | |||
393 | static inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_LOW0(uint32_t i0, uint32_t i1) { return 0x0000000c + __offset_OVLP(i0) + __offset_STAGE(i1); } | ||
394 | |||
395 | static inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_LOW1(uint32_t i0, uint32_t i1) { return 0x00000010 + __offset_OVLP(i0) + __offset_STAGE(i1); } | ||
396 | |||
397 | static inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_HIGH0(uint32_t i0, uint32_t i1) { return 0x00000014 + __offset_OVLP(i0) + __offset_STAGE(i1); } | ||
398 | |||
399 | static inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_HIGH1(uint32_t i0, uint32_t i1) { return 0x00000018 + __offset_OVLP(i0) + __offset_STAGE(i1); } | ||
400 | |||
401 | static inline uint32_t __offset_STAGE_CO3(uint32_t idx) | ||
402 | { | ||
403 | switch (idx) { | ||
404 | case 0: return 0x00001004; | ||
405 | case 1: return 0x00001404; | ||
406 | case 2: return 0x00001804; | ||
407 | case 3: return 0x00001b84; | ||
408 | default: return INVALID_IDX(idx); | ||
409 | } | ||
410 | } | ||
411 | static inline uint32_t REG_MDP4_OVLP_STAGE_CO3(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE_CO3(i1); } | ||
412 | |||
413 | static inline uint32_t REG_MDP4_OVLP_STAGE_CO3_SEL(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE_CO3(i1); } | ||
414 | #define MDP4_OVLP_STAGE_CO3_SEL_FG_ALPHA 0x00000001 | ||
415 | |||
416 | static inline uint32_t REG_MDP4_OVLP_TRANSP_LOW0(uint32_t i0) { return 0x00000180 + __offset_OVLP(i0); } | ||
417 | |||
418 | static inline uint32_t REG_MDP4_OVLP_TRANSP_LOW1(uint32_t i0) { return 0x00000184 + __offset_OVLP(i0); } | ||
419 | |||
420 | static inline uint32_t REG_MDP4_OVLP_TRANSP_HIGH0(uint32_t i0) { return 0x00000188 + __offset_OVLP(i0); } | ||
421 | |||
422 | static inline uint32_t REG_MDP4_OVLP_TRANSP_HIGH1(uint32_t i0) { return 0x0000018c + __offset_OVLP(i0); } | ||
423 | |||
424 | static inline uint32_t REG_MDP4_OVLP_CSC_CONFIG(uint32_t i0) { return 0x00000200 + __offset_OVLP(i0); } | ||
425 | |||
426 | static inline uint32_t REG_MDP4_OVLP_CSC(uint32_t i0) { return 0x00002000 + __offset_OVLP(i0); } | ||
427 | |||
428 | |||
429 | static inline uint32_t REG_MDP4_OVLP_CSC_MV(uint32_t i0, uint32_t i1) { return 0x00002400 + __offset_OVLP(i0) + 0x4*i1; } | ||
430 | |||
431 | static inline uint32_t REG_MDP4_OVLP_CSC_MV_VAL(uint32_t i0, uint32_t i1) { return 0x00002400 + __offset_OVLP(i0) + 0x4*i1; } | ||
432 | |||
433 | static inline uint32_t REG_MDP4_OVLP_CSC_PRE_BV(uint32_t i0, uint32_t i1) { return 0x00002500 + __offset_OVLP(i0) + 0x4*i1; } | ||
434 | |||
435 | static inline uint32_t REG_MDP4_OVLP_CSC_PRE_BV_VAL(uint32_t i0, uint32_t i1) { return 0x00002500 + __offset_OVLP(i0) + 0x4*i1; } | ||
436 | |||
437 | static inline uint32_t REG_MDP4_OVLP_CSC_POST_BV(uint32_t i0, uint32_t i1) { return 0x00002580 + __offset_OVLP(i0) + 0x4*i1; } | ||
438 | |||
439 | static inline uint32_t REG_MDP4_OVLP_CSC_POST_BV_VAL(uint32_t i0, uint32_t i1) { return 0x00002580 + __offset_OVLP(i0) + 0x4*i1; } | ||
440 | |||
441 | static inline uint32_t REG_MDP4_OVLP_CSC_PRE_LV(uint32_t i0, uint32_t i1) { return 0x00002600 + __offset_OVLP(i0) + 0x4*i1; } | ||
442 | |||
443 | static inline uint32_t REG_MDP4_OVLP_CSC_PRE_LV_VAL(uint32_t i0, uint32_t i1) { return 0x00002600 + __offset_OVLP(i0) + 0x4*i1; } | ||
444 | |||
445 | static inline uint32_t REG_MDP4_OVLP_CSC_POST_LV(uint32_t i0, uint32_t i1) { return 0x00002680 + __offset_OVLP(i0) + 0x4*i1; } | ||
446 | |||
447 | static inline uint32_t REG_MDP4_OVLP_CSC_POST_LV_VAL(uint32_t i0, uint32_t i1) { return 0x00002680 + __offset_OVLP(i0) + 0x4*i1; } | ||
448 | |||
449 | #define REG_MDP4_DMA_P_OP_MODE 0x00090070 | ||
450 | |||
451 | static inline uint32_t REG_MDP4_LUTN(uint32_t i0) { return 0x00094800 + 0x400*i0; } | ||
452 | |||
453 | static inline uint32_t REG_MDP4_LUTN_LUT(uint32_t i0, uint32_t i1) { return 0x00094800 + 0x400*i0 + 0x4*i1; } | ||
454 | |||
455 | static inline uint32_t REG_MDP4_LUTN_LUT_VAL(uint32_t i0, uint32_t i1) { return 0x00094800 + 0x400*i0 + 0x4*i1; } | ||
456 | |||
457 | #define REG_MDP4_DMA_S_OP_MODE 0x000a0028 | ||
458 | |||
459 | static inline uint32_t REG_MDP4_DMA_E_QUANT(uint32_t i0) { return 0x000b0070 + 0x4*i0; } | ||
460 | |||
461 | static inline uint32_t __offset_DMA(enum mdp4_dma idx) | ||
462 | { | ||
463 | switch (idx) { | ||
464 | case DMA_P: return 0x00090000; | ||
465 | case DMA_S: return 0x000a0000; | ||
466 | case DMA_E: return 0x000b0000; | ||
467 | default: return INVALID_IDX(idx); | ||
468 | } | ||
469 | } | ||
470 | static inline uint32_t REG_MDP4_DMA(enum mdp4_dma i0) { return 0x00000000 + __offset_DMA(i0); } | ||
471 | |||
472 | static inline uint32_t REG_MDP4_DMA_CONFIG(enum mdp4_dma i0) { return 0x00000000 + __offset_DMA(i0); } | ||
473 | #define MDP4_DMA_CONFIG_G_BPC__MASK 0x00000003 | ||
474 | #define MDP4_DMA_CONFIG_G_BPC__SHIFT 0 | ||
475 | static inline uint32_t MDP4_DMA_CONFIG_G_BPC(enum mpd4_bpc val) | ||
476 | { | ||
477 | return ((val) << MDP4_DMA_CONFIG_G_BPC__SHIFT) & MDP4_DMA_CONFIG_G_BPC__MASK; | ||
478 | } | ||
479 | #define MDP4_DMA_CONFIG_B_BPC__MASK 0x0000000c | ||
480 | #define MDP4_DMA_CONFIG_B_BPC__SHIFT 2 | ||
481 | static inline uint32_t MDP4_DMA_CONFIG_B_BPC(enum mpd4_bpc val) | ||
482 | { | ||
483 | return ((val) << MDP4_DMA_CONFIG_B_BPC__SHIFT) & MDP4_DMA_CONFIG_B_BPC__MASK; | ||
484 | } | ||
485 | #define MDP4_DMA_CONFIG_R_BPC__MASK 0x00000030 | ||
486 | #define MDP4_DMA_CONFIG_R_BPC__SHIFT 4 | ||
487 | static inline uint32_t MDP4_DMA_CONFIG_R_BPC(enum mpd4_bpc val) | ||
488 | { | ||
489 | return ((val) << MDP4_DMA_CONFIG_R_BPC__SHIFT) & MDP4_DMA_CONFIG_R_BPC__MASK; | ||
490 | } | ||
491 | #define MDP4_DMA_CONFIG_PACK_ALIGN_MSB 0x00000080 | ||
492 | #define MDP4_DMA_CONFIG_PACK__MASK 0x0000ff00 | ||
493 | #define MDP4_DMA_CONFIG_PACK__SHIFT 8 | ||
494 | static inline uint32_t MDP4_DMA_CONFIG_PACK(uint32_t val) | ||
495 | { | ||
496 | return ((val) << MDP4_DMA_CONFIG_PACK__SHIFT) & MDP4_DMA_CONFIG_PACK__MASK; | ||
497 | } | ||
498 | #define MDP4_DMA_CONFIG_DEFLKR_EN 0x01000000 | ||
499 | #define MDP4_DMA_CONFIG_DITHER_EN 0x01000000 | ||
500 | |||
501 | static inline uint32_t REG_MDP4_DMA_SRC_SIZE(enum mdp4_dma i0) { return 0x00000004 + __offset_DMA(i0); } | ||
502 | #define MDP4_DMA_SRC_SIZE_HEIGHT__MASK 0xffff0000 | ||
503 | #define MDP4_DMA_SRC_SIZE_HEIGHT__SHIFT 16 | ||
504 | static inline uint32_t MDP4_DMA_SRC_SIZE_HEIGHT(uint32_t val) | ||
505 | { | ||
506 | return ((val) << MDP4_DMA_SRC_SIZE_HEIGHT__SHIFT) & MDP4_DMA_SRC_SIZE_HEIGHT__MASK; | ||
507 | } | ||
508 | #define MDP4_DMA_SRC_SIZE_WIDTH__MASK 0x0000ffff | ||
509 | #define MDP4_DMA_SRC_SIZE_WIDTH__SHIFT 0 | ||
510 | static inline uint32_t MDP4_DMA_SRC_SIZE_WIDTH(uint32_t val) | ||
511 | { | ||
512 | return ((val) << MDP4_DMA_SRC_SIZE_WIDTH__SHIFT) & MDP4_DMA_SRC_SIZE_WIDTH__MASK; | ||
513 | } | ||
514 | |||
515 | static inline uint32_t REG_MDP4_DMA_SRC_BASE(enum mdp4_dma i0) { return 0x00000008 + __offset_DMA(i0); } | ||
516 | |||
517 | static inline uint32_t REG_MDP4_DMA_SRC_STRIDE(enum mdp4_dma i0) { return 0x0000000c + __offset_DMA(i0); } | ||
518 | |||
519 | static inline uint32_t REG_MDP4_DMA_DST_SIZE(enum mdp4_dma i0) { return 0x00000010 + __offset_DMA(i0); } | ||
520 | #define MDP4_DMA_DST_SIZE_HEIGHT__MASK 0xffff0000 | ||
521 | #define MDP4_DMA_DST_SIZE_HEIGHT__SHIFT 16 | ||
522 | static inline uint32_t MDP4_DMA_DST_SIZE_HEIGHT(uint32_t val) | ||
523 | { | ||
524 | return ((val) << MDP4_DMA_DST_SIZE_HEIGHT__SHIFT) & MDP4_DMA_DST_SIZE_HEIGHT__MASK; | ||
525 | } | ||
526 | #define MDP4_DMA_DST_SIZE_WIDTH__MASK 0x0000ffff | ||
527 | #define MDP4_DMA_DST_SIZE_WIDTH__SHIFT 0 | ||
528 | static inline uint32_t MDP4_DMA_DST_SIZE_WIDTH(uint32_t val) | ||
529 | { | ||
530 | return ((val) << MDP4_DMA_DST_SIZE_WIDTH__SHIFT) & MDP4_DMA_DST_SIZE_WIDTH__MASK; | ||
531 | } | ||
532 | |||
533 | static inline uint32_t REG_MDP4_DMA_CURSOR_SIZE(enum mdp4_dma i0) { return 0x00000044 + __offset_DMA(i0); } | ||
534 | #define MDP4_DMA_CURSOR_SIZE_WIDTH__MASK 0x0000007f | ||
535 | #define MDP4_DMA_CURSOR_SIZE_WIDTH__SHIFT 0 | ||
536 | static inline uint32_t MDP4_DMA_CURSOR_SIZE_WIDTH(uint32_t val) | ||
537 | { | ||
538 | return ((val) << MDP4_DMA_CURSOR_SIZE_WIDTH__SHIFT) & MDP4_DMA_CURSOR_SIZE_WIDTH__MASK; | ||
539 | } | ||
540 | #define MDP4_DMA_CURSOR_SIZE_HEIGHT__MASK 0x007f0000 | ||
541 | #define MDP4_DMA_CURSOR_SIZE_HEIGHT__SHIFT 16 | ||
542 | static inline uint32_t MDP4_DMA_CURSOR_SIZE_HEIGHT(uint32_t val) | ||
543 | { | ||
544 | return ((val) << MDP4_DMA_CURSOR_SIZE_HEIGHT__SHIFT) & MDP4_DMA_CURSOR_SIZE_HEIGHT__MASK; | ||
545 | } | ||
546 | |||
547 | static inline uint32_t REG_MDP4_DMA_CURSOR_BASE(enum mdp4_dma i0) { return 0x00000048 + __offset_DMA(i0); } | ||
548 | |||
549 | static inline uint32_t REG_MDP4_DMA_CURSOR_POS(enum mdp4_dma i0) { return 0x0000004c + __offset_DMA(i0); } | ||
550 | #define MDP4_DMA_CURSOR_POS_X__MASK 0x0000ffff | ||
551 | #define MDP4_DMA_CURSOR_POS_X__SHIFT 0 | ||
552 | static inline uint32_t MDP4_DMA_CURSOR_POS_X(uint32_t val) | ||
553 | { | ||
554 | return ((val) << MDP4_DMA_CURSOR_POS_X__SHIFT) & MDP4_DMA_CURSOR_POS_X__MASK; | ||
555 | } | ||
556 | #define MDP4_DMA_CURSOR_POS_Y__MASK 0xffff0000 | ||
557 | #define MDP4_DMA_CURSOR_POS_Y__SHIFT 16 | ||
558 | static inline uint32_t MDP4_DMA_CURSOR_POS_Y(uint32_t val) | ||
559 | { | ||
560 | return ((val) << MDP4_DMA_CURSOR_POS_Y__SHIFT) & MDP4_DMA_CURSOR_POS_Y__MASK; | ||
561 | } | ||
562 | |||
563 | static inline uint32_t REG_MDP4_DMA_CURSOR_BLEND_CONFIG(enum mdp4_dma i0) { return 0x00000060 + __offset_DMA(i0); } | ||
564 | #define MDP4_DMA_CURSOR_BLEND_CONFIG_CURSOR_EN 0x00000001 | ||
565 | #define MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__MASK 0x00000006 | ||
566 | #define MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__SHIFT 1 | ||
567 | static inline uint32_t MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT(enum mdp4_cursor_format val) | ||
568 | { | ||
569 | return ((val) << MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__SHIFT) & MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__MASK; | ||
570 | } | ||
571 | #define MDP4_DMA_CURSOR_BLEND_CONFIG_TRANSP_EN 0x00000008 | ||
572 | |||
573 | static inline uint32_t REG_MDP4_DMA_CURSOR_BLEND_PARAM(enum mdp4_dma i0) { return 0x00000064 + __offset_DMA(i0); } | ||
574 | |||
575 | static inline uint32_t REG_MDP4_DMA_BLEND_TRANS_LOW(enum mdp4_dma i0) { return 0x00000068 + __offset_DMA(i0); } | ||
576 | |||
577 | static inline uint32_t REG_MDP4_DMA_BLEND_TRANS_HIGH(enum mdp4_dma i0) { return 0x0000006c + __offset_DMA(i0); } | ||
578 | |||
579 | static inline uint32_t REG_MDP4_DMA_FETCH_CONFIG(enum mdp4_dma i0) { return 0x00001004 + __offset_DMA(i0); } | ||
580 | |||
581 | static inline uint32_t REG_MDP4_DMA_CSC(enum mdp4_dma i0) { return 0x00003000 + __offset_DMA(i0); } | ||
582 | |||
583 | |||
584 | static inline uint32_t REG_MDP4_DMA_CSC_MV(enum mdp4_dma i0, uint32_t i1) { return 0x00003400 + __offset_DMA(i0) + 0x4*i1; } | ||
585 | |||
586 | static inline uint32_t REG_MDP4_DMA_CSC_MV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003400 + __offset_DMA(i0) + 0x4*i1; } | ||
587 | |||
588 | static inline uint32_t REG_MDP4_DMA_CSC_PRE_BV(enum mdp4_dma i0, uint32_t i1) { return 0x00003500 + __offset_DMA(i0) + 0x4*i1; } | ||
589 | |||
590 | static inline uint32_t REG_MDP4_DMA_CSC_PRE_BV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003500 + __offset_DMA(i0) + 0x4*i1; } | ||
591 | |||
592 | static inline uint32_t REG_MDP4_DMA_CSC_POST_BV(enum mdp4_dma i0, uint32_t i1) { return 0x00003580 + __offset_DMA(i0) + 0x4*i1; } | ||
593 | |||
594 | static inline uint32_t REG_MDP4_DMA_CSC_POST_BV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003580 + __offset_DMA(i0) + 0x4*i1; } | ||
595 | |||
596 | static inline uint32_t REG_MDP4_DMA_CSC_PRE_LV(enum mdp4_dma i0, uint32_t i1) { return 0x00003600 + __offset_DMA(i0) + 0x4*i1; } | ||
597 | |||
598 | static inline uint32_t REG_MDP4_DMA_CSC_PRE_LV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003600 + __offset_DMA(i0) + 0x4*i1; } | ||
599 | |||
600 | static inline uint32_t REG_MDP4_DMA_CSC_POST_LV(enum mdp4_dma i0, uint32_t i1) { return 0x00003680 + __offset_DMA(i0) + 0x4*i1; } | ||
601 | |||
602 | static inline uint32_t REG_MDP4_DMA_CSC_POST_LV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003680 + __offset_DMA(i0) + 0x4*i1; } | ||
603 | |||
604 | static inline uint32_t REG_MDP4_PIPE(enum mpd4_pipe i0) { return 0x00020000 + 0x10000*i0; } | ||
605 | |||
606 | static inline uint32_t REG_MDP4_PIPE_SRC_SIZE(enum mpd4_pipe i0) { return 0x00020000 + 0x10000*i0; } | ||
607 | #define MDP4_PIPE_SRC_SIZE_HEIGHT__MASK 0xffff0000 | ||
608 | #define MDP4_PIPE_SRC_SIZE_HEIGHT__SHIFT 16 | ||
609 | static inline uint32_t MDP4_PIPE_SRC_SIZE_HEIGHT(uint32_t val) | ||
610 | { | ||
611 | return ((val) << MDP4_PIPE_SRC_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_SRC_SIZE_HEIGHT__MASK; | ||
612 | } | ||
613 | #define MDP4_PIPE_SRC_SIZE_WIDTH__MASK 0x0000ffff | ||
614 | #define MDP4_PIPE_SRC_SIZE_WIDTH__SHIFT 0 | ||
615 | static inline uint32_t MDP4_PIPE_SRC_SIZE_WIDTH(uint32_t val) | ||
616 | { | ||
617 | return ((val) << MDP4_PIPE_SRC_SIZE_WIDTH__SHIFT) & MDP4_PIPE_SRC_SIZE_WIDTH__MASK; | ||
618 | } | ||
619 | |||
620 | static inline uint32_t REG_MDP4_PIPE_SRC_XY(enum mpd4_pipe i0) { return 0x00020004 + 0x10000*i0; } | ||
621 | #define MDP4_PIPE_SRC_XY_Y__MASK 0xffff0000 | ||
622 | #define MDP4_PIPE_SRC_XY_Y__SHIFT 16 | ||
623 | static inline uint32_t MDP4_PIPE_SRC_XY_Y(uint32_t val) | ||
624 | { | ||
625 | return ((val) << MDP4_PIPE_SRC_XY_Y__SHIFT) & MDP4_PIPE_SRC_XY_Y__MASK; | ||
626 | } | ||
627 | #define MDP4_PIPE_SRC_XY_X__MASK 0x0000ffff | ||
628 | #define MDP4_PIPE_SRC_XY_X__SHIFT 0 | ||
629 | static inline uint32_t MDP4_PIPE_SRC_XY_X(uint32_t val) | ||
630 | { | ||
631 | return ((val) << MDP4_PIPE_SRC_XY_X__SHIFT) & MDP4_PIPE_SRC_XY_X__MASK; | ||
632 | } | ||
633 | |||
634 | static inline uint32_t REG_MDP4_PIPE_DST_SIZE(enum mpd4_pipe i0) { return 0x00020008 + 0x10000*i0; } | ||
635 | #define MDP4_PIPE_DST_SIZE_HEIGHT__MASK 0xffff0000 | ||
636 | #define MDP4_PIPE_DST_SIZE_HEIGHT__SHIFT 16 | ||
637 | static inline uint32_t MDP4_PIPE_DST_SIZE_HEIGHT(uint32_t val) | ||
638 | { | ||
639 | return ((val) << MDP4_PIPE_DST_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_DST_SIZE_HEIGHT__MASK; | ||
640 | } | ||
641 | #define MDP4_PIPE_DST_SIZE_WIDTH__MASK 0x0000ffff | ||
642 | #define MDP4_PIPE_DST_SIZE_WIDTH__SHIFT 0 | ||
643 | static inline uint32_t MDP4_PIPE_DST_SIZE_WIDTH(uint32_t val) | ||
644 | { | ||
645 | return ((val) << MDP4_PIPE_DST_SIZE_WIDTH__SHIFT) & MDP4_PIPE_DST_SIZE_WIDTH__MASK; | ||
646 | } | ||
647 | |||
648 | static inline uint32_t REG_MDP4_PIPE_DST_XY(enum mpd4_pipe i0) { return 0x0002000c + 0x10000*i0; } | ||
649 | #define MDP4_PIPE_DST_XY_Y__MASK 0xffff0000 | ||
650 | #define MDP4_PIPE_DST_XY_Y__SHIFT 16 | ||
651 | static inline uint32_t MDP4_PIPE_DST_XY_Y(uint32_t val) | ||
652 | { | ||
653 | return ((val) << MDP4_PIPE_DST_XY_Y__SHIFT) & MDP4_PIPE_DST_XY_Y__MASK; | ||
654 | } | ||
655 | #define MDP4_PIPE_DST_XY_X__MASK 0x0000ffff | ||
656 | #define MDP4_PIPE_DST_XY_X__SHIFT 0 | ||
657 | static inline uint32_t MDP4_PIPE_DST_XY_X(uint32_t val) | ||
658 | { | ||
659 | return ((val) << MDP4_PIPE_DST_XY_X__SHIFT) & MDP4_PIPE_DST_XY_X__MASK; | ||
660 | } | ||
661 | |||
662 | static inline uint32_t REG_MDP4_PIPE_SRCP0_BASE(enum mpd4_pipe i0) { return 0x00020010 + 0x10000*i0; } | ||
663 | |||
664 | static inline uint32_t REG_MDP4_PIPE_SRCP1_BASE(enum mpd4_pipe i0) { return 0x00020014 + 0x10000*i0; } | ||
665 | |||
666 | static inline uint32_t REG_MDP4_PIPE_SRCP2_BASE(enum mpd4_pipe i0) { return 0x00020018 + 0x10000*i0; } | ||
667 | |||
668 | static inline uint32_t REG_MDP4_PIPE_SRC_STRIDE_A(enum mpd4_pipe i0) { return 0x00020040 + 0x10000*i0; } | ||
669 | #define MDP4_PIPE_SRC_STRIDE_A_P0__MASK 0x0000ffff | ||
670 | #define MDP4_PIPE_SRC_STRIDE_A_P0__SHIFT 0 | ||
671 | static inline uint32_t MDP4_PIPE_SRC_STRIDE_A_P0(uint32_t val) | ||
672 | { | ||
673 | return ((val) << MDP4_PIPE_SRC_STRIDE_A_P0__SHIFT) & MDP4_PIPE_SRC_STRIDE_A_P0__MASK; | ||
674 | } | ||
675 | #define MDP4_PIPE_SRC_STRIDE_A_P1__MASK 0xffff0000 | ||
676 | #define MDP4_PIPE_SRC_STRIDE_A_P1__SHIFT 16 | ||
677 | static inline uint32_t MDP4_PIPE_SRC_STRIDE_A_P1(uint32_t val) | ||
678 | { | ||
679 | return ((val) << MDP4_PIPE_SRC_STRIDE_A_P1__SHIFT) & MDP4_PIPE_SRC_STRIDE_A_P1__MASK; | ||
680 | } | ||
681 | |||
682 | static inline uint32_t REG_MDP4_PIPE_SRC_STRIDE_B(enum mpd4_pipe i0) { return 0x00020044 + 0x10000*i0; } | ||
683 | #define MDP4_PIPE_SRC_STRIDE_B_P2__MASK 0x0000ffff | ||
684 | #define MDP4_PIPE_SRC_STRIDE_B_P2__SHIFT 0 | ||
685 | static inline uint32_t MDP4_PIPE_SRC_STRIDE_B_P2(uint32_t val) | ||
686 | { | ||
687 | return ((val) << MDP4_PIPE_SRC_STRIDE_B_P2__SHIFT) & MDP4_PIPE_SRC_STRIDE_B_P2__MASK; | ||
688 | } | ||
689 | #define MDP4_PIPE_SRC_STRIDE_B_P3__MASK 0xffff0000 | ||
690 | #define MDP4_PIPE_SRC_STRIDE_B_P3__SHIFT 16 | ||
691 | static inline uint32_t MDP4_PIPE_SRC_STRIDE_B_P3(uint32_t val) | ||
692 | { | ||
693 | return ((val) << MDP4_PIPE_SRC_STRIDE_B_P3__SHIFT) & MDP4_PIPE_SRC_STRIDE_B_P3__MASK; | ||
694 | } | ||
695 | |||
696 | static inline uint32_t REG_MDP4_PIPE_FRAME_SIZE(enum mpd4_pipe i0) { return 0x00020048 + 0x10000*i0; } | ||
697 | #define MDP4_PIPE_FRAME_SIZE_HEIGHT__MASK 0xffff0000 | ||
698 | #define MDP4_PIPE_FRAME_SIZE_HEIGHT__SHIFT 16 | ||
699 | static inline uint32_t MDP4_PIPE_FRAME_SIZE_HEIGHT(uint32_t val) | ||
700 | { | ||
701 | return ((val) << MDP4_PIPE_FRAME_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_FRAME_SIZE_HEIGHT__MASK; | ||
702 | } | ||
703 | #define MDP4_PIPE_FRAME_SIZE_WIDTH__MASK 0x0000ffff | ||
704 | #define MDP4_PIPE_FRAME_SIZE_WIDTH__SHIFT 0 | ||
705 | static inline uint32_t MDP4_PIPE_FRAME_SIZE_WIDTH(uint32_t val) | ||
706 | { | ||
707 | return ((val) << MDP4_PIPE_FRAME_SIZE_WIDTH__SHIFT) & MDP4_PIPE_FRAME_SIZE_WIDTH__MASK; | ||
708 | } | ||
709 | |||
710 | static inline uint32_t REG_MDP4_PIPE_SRC_FORMAT(enum mpd4_pipe i0) { return 0x00020050 + 0x10000*i0; } | ||
711 | #define MDP4_PIPE_SRC_FORMAT_G_BPC__MASK 0x00000003 | ||
712 | #define MDP4_PIPE_SRC_FORMAT_G_BPC__SHIFT 0 | ||
713 | static inline uint32_t MDP4_PIPE_SRC_FORMAT_G_BPC(enum mpd4_bpc val) | ||
714 | { | ||
715 | return ((val) << MDP4_PIPE_SRC_FORMAT_G_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_G_BPC__MASK; | ||
716 | } | ||
717 | #define MDP4_PIPE_SRC_FORMAT_B_BPC__MASK 0x0000000c | ||
718 | #define MDP4_PIPE_SRC_FORMAT_B_BPC__SHIFT 2 | ||
719 | static inline uint32_t MDP4_PIPE_SRC_FORMAT_B_BPC(enum mpd4_bpc val) | ||
720 | { | ||
721 | return ((val) << MDP4_PIPE_SRC_FORMAT_B_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_B_BPC__MASK; | ||
722 | } | ||
723 | #define MDP4_PIPE_SRC_FORMAT_R_BPC__MASK 0x00000030 | ||
724 | #define MDP4_PIPE_SRC_FORMAT_R_BPC__SHIFT 4 | ||
725 | static inline uint32_t MDP4_PIPE_SRC_FORMAT_R_BPC(enum mpd4_bpc val) | ||
726 | { | ||
727 | return ((val) << MDP4_PIPE_SRC_FORMAT_R_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_R_BPC__MASK; | ||
728 | } | ||
729 | #define MDP4_PIPE_SRC_FORMAT_A_BPC__MASK 0x000000c0 | ||
730 | #define MDP4_PIPE_SRC_FORMAT_A_BPC__SHIFT 6 | ||
731 | static inline uint32_t MDP4_PIPE_SRC_FORMAT_A_BPC(enum mpd4_bpc_alpha val) | ||
732 | { | ||
733 | return ((val) << MDP4_PIPE_SRC_FORMAT_A_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_A_BPC__MASK; | ||
734 | } | ||
735 | #define MDP4_PIPE_SRC_FORMAT_ALPHA_ENABLE 0x00000100 | ||
736 | #define MDP4_PIPE_SRC_FORMAT_CPP__MASK 0x00000600 | ||
737 | #define MDP4_PIPE_SRC_FORMAT_CPP__SHIFT 9 | ||
738 | static inline uint32_t MDP4_PIPE_SRC_FORMAT_CPP(uint32_t val) | ||
739 | { | ||
740 | return ((val) << MDP4_PIPE_SRC_FORMAT_CPP__SHIFT) & MDP4_PIPE_SRC_FORMAT_CPP__MASK; | ||
741 | } | ||
742 | #define MDP4_PIPE_SRC_FORMAT_ROTATED_90 0x00001000 | ||
743 | #define MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK 0x00006000 | ||
744 | #define MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT 13 | ||
745 | static inline uint32_t MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT(uint32_t val) | ||
746 | { | ||
747 | return ((val) << MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT) & MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK; | ||
748 | } | ||
749 | #define MDP4_PIPE_SRC_FORMAT_UNPACK_TIGHT 0x00020000 | ||
750 | #define MDP4_PIPE_SRC_FORMAT_UNPACK_ALIGN_MSB 0x00040000 | ||
751 | #define MDP4_PIPE_SRC_FORMAT_SOLID_FILL 0x00400000 | ||
752 | |||
753 | static inline uint32_t REG_MDP4_PIPE_SRC_UNPACK(enum mpd4_pipe i0) { return 0x00020054 + 0x10000*i0; } | ||
754 | #define MDP4_PIPE_SRC_UNPACK_ELEM0__MASK 0x000000ff | ||
755 | #define MDP4_PIPE_SRC_UNPACK_ELEM0__SHIFT 0 | ||
756 | static inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM0(uint32_t val) | ||
757 | { | ||
758 | return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM0__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM0__MASK; | ||
759 | } | ||
760 | #define MDP4_PIPE_SRC_UNPACK_ELEM1__MASK 0x0000ff00 | ||
761 | #define MDP4_PIPE_SRC_UNPACK_ELEM1__SHIFT 8 | ||
762 | static inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM1(uint32_t val) | ||
763 | { | ||
764 | return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM1__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM1__MASK; | ||
765 | } | ||
766 | #define MDP4_PIPE_SRC_UNPACK_ELEM2__MASK 0x00ff0000 | ||
767 | #define MDP4_PIPE_SRC_UNPACK_ELEM2__SHIFT 16 | ||
768 | static inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM2(uint32_t val) | ||
769 | { | ||
770 | return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM2__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM2__MASK; | ||
771 | } | ||
772 | #define MDP4_PIPE_SRC_UNPACK_ELEM3__MASK 0xff000000 | ||
773 | #define MDP4_PIPE_SRC_UNPACK_ELEM3__SHIFT 24 | ||
774 | static inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM3(uint32_t val) | ||
775 | { | ||
776 | return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM3__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM3__MASK; | ||
777 | } | ||
778 | |||
779 | static inline uint32_t REG_MDP4_PIPE_OP_MODE(enum mpd4_pipe i0) { return 0x00020058 + 0x10000*i0; } | ||
780 | #define MDP4_PIPE_OP_MODE_SCALEX_EN 0x00000001 | ||
781 | #define MDP4_PIPE_OP_MODE_SCALEY_EN 0x00000002 | ||
782 | #define MDP4_PIPE_OP_MODE_SRC_YCBCR 0x00000200 | ||
783 | #define MDP4_PIPE_OP_MODE_DST_YCBCR 0x00000400 | ||
784 | #define MDP4_PIPE_OP_MODE_CSC_EN 0x00000800 | ||
785 | #define MDP4_PIPE_OP_MODE_FLIP_LR 0x00002000 | ||
786 | #define MDP4_PIPE_OP_MODE_FLIP_UD 0x00004000 | ||
787 | #define MDP4_PIPE_OP_MODE_DITHER_EN 0x00008000 | ||
788 | #define MDP4_PIPE_OP_MODE_IGC_LUT_EN 0x00010000 | ||
789 | #define MDP4_PIPE_OP_MODE_DEINT_EN 0x00040000 | ||
790 | #define MDP4_PIPE_OP_MODE_DEINT_ODD_REF 0x00080000 | ||
791 | |||
792 | static inline uint32_t REG_MDP4_PIPE_PHASEX_STEP(enum mpd4_pipe i0) { return 0x0002005c + 0x10000*i0; } | ||
793 | |||
794 | static inline uint32_t REG_MDP4_PIPE_PHASEY_STEP(enum mpd4_pipe i0) { return 0x00020060 + 0x10000*i0; } | ||
795 | |||
796 | static inline uint32_t REG_MDP4_PIPE_FETCH_CONFIG(enum mpd4_pipe i0) { return 0x00021004 + 0x10000*i0; } | ||
797 | |||
798 | static inline uint32_t REG_MDP4_PIPE_SOLID_COLOR(enum mpd4_pipe i0) { return 0x00021008 + 0x10000*i0; } | ||
799 | |||
800 | static inline uint32_t REG_MDP4_PIPE_CSC(enum mpd4_pipe i0) { return 0x00024000 + 0x10000*i0; } | ||
801 | |||
802 | |||
803 | static inline uint32_t REG_MDP4_PIPE_CSC_MV(enum mpd4_pipe i0, uint32_t i1) { return 0x00024400 + 0x10000*i0 + 0x4*i1; } | ||
804 | |||
805 | static inline uint32_t REG_MDP4_PIPE_CSC_MV_VAL(enum mpd4_pipe i0, uint32_t i1) { return 0x00024400 + 0x10000*i0 + 0x4*i1; } | ||
806 | |||
807 | static inline uint32_t REG_MDP4_PIPE_CSC_PRE_BV(enum mpd4_pipe i0, uint32_t i1) { return 0x00024500 + 0x10000*i0 + 0x4*i1; } | ||
808 | |||
809 | static inline uint32_t REG_MDP4_PIPE_CSC_PRE_BV_VAL(enum mpd4_pipe i0, uint32_t i1) { return 0x00024500 + 0x10000*i0 + 0x4*i1; } | ||
810 | |||
811 | static inline uint32_t REG_MDP4_PIPE_CSC_POST_BV(enum mpd4_pipe i0, uint32_t i1) { return 0x00024580 + 0x10000*i0 + 0x4*i1; } | ||
812 | |||
813 | static inline uint32_t REG_MDP4_PIPE_CSC_POST_BV_VAL(enum mpd4_pipe i0, uint32_t i1) { return 0x00024580 + 0x10000*i0 + 0x4*i1; } | ||
814 | |||
815 | static inline uint32_t REG_MDP4_PIPE_CSC_PRE_LV(enum mpd4_pipe i0, uint32_t i1) { return 0x00024600 + 0x10000*i0 + 0x4*i1; } | ||
816 | |||
817 | static inline uint32_t REG_MDP4_PIPE_CSC_PRE_LV_VAL(enum mpd4_pipe i0, uint32_t i1) { return 0x00024600 + 0x10000*i0 + 0x4*i1; } | ||
818 | |||
819 | static inline uint32_t REG_MDP4_PIPE_CSC_POST_LV(enum mpd4_pipe i0, uint32_t i1) { return 0x00024680 + 0x10000*i0 + 0x4*i1; } | ||
820 | |||
821 | static inline uint32_t REG_MDP4_PIPE_CSC_POST_LV_VAL(enum mpd4_pipe i0, uint32_t i1) { return 0x00024680 + 0x10000*i0 + 0x4*i1; } | ||
822 | |||
823 | #define REG_MDP4_LCDC 0x000c0000 | ||
824 | |||
825 | #define REG_MDP4_LCDC_ENABLE 0x000c0000 | ||
826 | |||
827 | #define REG_MDP4_LCDC_HSYNC_CTRL 0x000c0004 | ||
828 | #define MDP4_LCDC_HSYNC_CTRL_PULSEW__MASK 0x0000ffff | ||
829 | #define MDP4_LCDC_HSYNC_CTRL_PULSEW__SHIFT 0 | ||
830 | static inline uint32_t MDP4_LCDC_HSYNC_CTRL_PULSEW(uint32_t val) | ||
831 | { | ||
832 | return ((val) << MDP4_LCDC_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_LCDC_HSYNC_CTRL_PULSEW__MASK; | ||
833 | } | ||
834 | #define MDP4_LCDC_HSYNC_CTRL_PERIOD__MASK 0xffff0000 | ||
835 | #define MDP4_LCDC_HSYNC_CTRL_PERIOD__SHIFT 16 | ||
836 | static inline uint32_t MDP4_LCDC_HSYNC_CTRL_PERIOD(uint32_t val) | ||
837 | { | ||
838 | return ((val) << MDP4_LCDC_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_LCDC_HSYNC_CTRL_PERIOD__MASK; | ||
839 | } | ||
840 | |||
841 | #define REG_MDP4_LCDC_VSYNC_PERIOD 0x000c0008 | ||
842 | |||
843 | #define REG_MDP4_LCDC_VSYNC_LEN 0x000c000c | ||
844 | |||
845 | #define REG_MDP4_LCDC_DISPLAY_HCTRL 0x000c0010 | ||
846 | #define MDP4_LCDC_DISPLAY_HCTRL_START__MASK 0x0000ffff | ||
847 | #define MDP4_LCDC_DISPLAY_HCTRL_START__SHIFT 0 | ||
848 | static inline uint32_t MDP4_LCDC_DISPLAY_HCTRL_START(uint32_t val) | ||
849 | { | ||
850 | return ((val) << MDP4_LCDC_DISPLAY_HCTRL_START__SHIFT) & MDP4_LCDC_DISPLAY_HCTRL_START__MASK; | ||
851 | } | ||
852 | #define MDP4_LCDC_DISPLAY_HCTRL_END__MASK 0xffff0000 | ||
853 | #define MDP4_LCDC_DISPLAY_HCTRL_END__SHIFT 16 | ||
854 | static inline uint32_t MDP4_LCDC_DISPLAY_HCTRL_END(uint32_t val) | ||
855 | { | ||
856 | return ((val) << MDP4_LCDC_DISPLAY_HCTRL_END__SHIFT) & MDP4_LCDC_DISPLAY_HCTRL_END__MASK; | ||
857 | } | ||
858 | |||
859 | #define REG_MDP4_LCDC_DISPLAY_VSTART 0x000c0014 | ||
860 | |||
861 | #define REG_MDP4_LCDC_DISPLAY_VEND 0x000c0018 | ||
862 | |||
863 | #define REG_MDP4_LCDC_ACTIVE_HCTL 0x000c001c | ||
864 | #define MDP4_LCDC_ACTIVE_HCTL_START__MASK 0x00007fff | ||
865 | #define MDP4_LCDC_ACTIVE_HCTL_START__SHIFT 0 | ||
866 | static inline uint32_t MDP4_LCDC_ACTIVE_HCTL_START(uint32_t val) | ||
867 | { | ||
868 | return ((val) << MDP4_LCDC_ACTIVE_HCTL_START__SHIFT) & MDP4_LCDC_ACTIVE_HCTL_START__MASK; | ||
869 | } | ||
870 | #define MDP4_LCDC_ACTIVE_HCTL_END__MASK 0x7fff0000 | ||
871 | #define MDP4_LCDC_ACTIVE_HCTL_END__SHIFT 16 | ||
872 | static inline uint32_t MDP4_LCDC_ACTIVE_HCTL_END(uint32_t val) | ||
873 | { | ||
874 | return ((val) << MDP4_LCDC_ACTIVE_HCTL_END__SHIFT) & MDP4_LCDC_ACTIVE_HCTL_END__MASK; | ||
875 | } | ||
876 | #define MDP4_LCDC_ACTIVE_HCTL_ACTIVE_START_X 0x80000000 | ||
877 | |||
878 | #define REG_MDP4_LCDC_ACTIVE_VSTART 0x000c0020 | ||
879 | |||
880 | #define REG_MDP4_LCDC_ACTIVE_VEND 0x000c0024 | ||
881 | |||
882 | #define REG_MDP4_LCDC_BORDER_CLR 0x000c0028 | ||
883 | |||
884 | #define REG_MDP4_LCDC_UNDERFLOW_CLR 0x000c002c | ||
885 | #define MDP4_LCDC_UNDERFLOW_CLR_COLOR__MASK 0x00ffffff | ||
886 | #define MDP4_LCDC_UNDERFLOW_CLR_COLOR__SHIFT 0 | ||
887 | static inline uint32_t MDP4_LCDC_UNDERFLOW_CLR_COLOR(uint32_t val) | ||
888 | { | ||
889 | return ((val) << MDP4_LCDC_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_LCDC_UNDERFLOW_CLR_COLOR__MASK; | ||
890 | } | ||
891 | #define MDP4_LCDC_UNDERFLOW_CLR_ENABLE_RECOVERY 0x80000000 | ||
892 | |||
893 | #define REG_MDP4_LCDC_HSYNC_SKEW 0x000c0030 | ||
894 | |||
895 | #define REG_MDP4_LCDC_TEST_CNTL 0x000c0034 | ||
896 | |||
897 | #define REG_MDP4_LCDC_CTRL_POLARITY 0x000c0038 | ||
898 | #define MDP4_LCDC_CTRL_POLARITY_HSYNC_LOW 0x00000001 | ||
899 | #define MDP4_LCDC_CTRL_POLARITY_VSYNC_LOW 0x00000002 | ||
900 | #define MDP4_LCDC_CTRL_POLARITY_DATA_EN_LOW 0x00000004 | ||
901 | |||
902 | #define REG_MDP4_DTV 0x000d0000 | ||
903 | |||
904 | #define REG_MDP4_DTV_ENABLE 0x000d0000 | ||
905 | |||
906 | #define REG_MDP4_DTV_HSYNC_CTRL 0x000d0004 | ||
907 | #define MDP4_DTV_HSYNC_CTRL_PULSEW__MASK 0x0000ffff | ||
908 | #define MDP4_DTV_HSYNC_CTRL_PULSEW__SHIFT 0 | ||
909 | static inline uint32_t MDP4_DTV_HSYNC_CTRL_PULSEW(uint32_t val) | ||
910 | { | ||
911 | return ((val) << MDP4_DTV_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_DTV_HSYNC_CTRL_PULSEW__MASK; | ||
912 | } | ||
913 | #define MDP4_DTV_HSYNC_CTRL_PERIOD__MASK 0xffff0000 | ||
914 | #define MDP4_DTV_HSYNC_CTRL_PERIOD__SHIFT 16 | ||
915 | static inline uint32_t MDP4_DTV_HSYNC_CTRL_PERIOD(uint32_t val) | ||
916 | { | ||
917 | return ((val) << MDP4_DTV_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_DTV_HSYNC_CTRL_PERIOD__MASK; | ||
918 | } | ||
919 | |||
920 | #define REG_MDP4_DTV_VSYNC_PERIOD 0x000d0008 | ||
921 | |||
922 | #define REG_MDP4_DTV_VSYNC_LEN 0x000d000c | ||
923 | |||
924 | #define REG_MDP4_DTV_DISPLAY_HCTRL 0x000d0018 | ||
925 | #define MDP4_DTV_DISPLAY_HCTRL_START__MASK 0x0000ffff | ||
926 | #define MDP4_DTV_DISPLAY_HCTRL_START__SHIFT 0 | ||
927 | static inline uint32_t MDP4_DTV_DISPLAY_HCTRL_START(uint32_t val) | ||
928 | { | ||
929 | return ((val) << MDP4_DTV_DISPLAY_HCTRL_START__SHIFT) & MDP4_DTV_DISPLAY_HCTRL_START__MASK; | ||
930 | } | ||
931 | #define MDP4_DTV_DISPLAY_HCTRL_END__MASK 0xffff0000 | ||
932 | #define MDP4_DTV_DISPLAY_HCTRL_END__SHIFT 16 | ||
933 | static inline uint32_t MDP4_DTV_DISPLAY_HCTRL_END(uint32_t val) | ||
934 | { | ||
935 | return ((val) << MDP4_DTV_DISPLAY_HCTRL_END__SHIFT) & MDP4_DTV_DISPLAY_HCTRL_END__MASK; | ||
936 | } | ||
937 | |||
938 | #define REG_MDP4_DTV_DISPLAY_VSTART 0x000d001c | ||
939 | |||
940 | #define REG_MDP4_DTV_DISPLAY_VEND 0x000d0020 | ||
941 | |||
942 | #define REG_MDP4_DTV_ACTIVE_HCTL 0x000d002c | ||
943 | #define MDP4_DTV_ACTIVE_HCTL_START__MASK 0x00007fff | ||
944 | #define MDP4_DTV_ACTIVE_HCTL_START__SHIFT 0 | ||
945 | static inline uint32_t MDP4_DTV_ACTIVE_HCTL_START(uint32_t val) | ||
946 | { | ||
947 | return ((val) << MDP4_DTV_ACTIVE_HCTL_START__SHIFT) & MDP4_DTV_ACTIVE_HCTL_START__MASK; | ||
948 | } | ||
949 | #define MDP4_DTV_ACTIVE_HCTL_END__MASK 0x7fff0000 | ||
950 | #define MDP4_DTV_ACTIVE_HCTL_END__SHIFT 16 | ||
951 | static inline uint32_t MDP4_DTV_ACTIVE_HCTL_END(uint32_t val) | ||
952 | { | ||
953 | return ((val) << MDP4_DTV_ACTIVE_HCTL_END__SHIFT) & MDP4_DTV_ACTIVE_HCTL_END__MASK; | ||
954 | } | ||
955 | #define MDP4_DTV_ACTIVE_HCTL_ACTIVE_START_X 0x80000000 | ||
956 | |||
957 | #define REG_MDP4_DTV_ACTIVE_VSTART 0x000d0030 | ||
958 | |||
959 | #define REG_MDP4_DTV_ACTIVE_VEND 0x000d0038 | ||
960 | |||
961 | #define REG_MDP4_DTV_BORDER_CLR 0x000d0040 | ||
962 | |||
963 | #define REG_MDP4_DTV_UNDERFLOW_CLR 0x000d0044 | ||
964 | #define MDP4_DTV_UNDERFLOW_CLR_COLOR__MASK 0x00ffffff | ||
965 | #define MDP4_DTV_UNDERFLOW_CLR_COLOR__SHIFT 0 | ||
966 | static inline uint32_t MDP4_DTV_UNDERFLOW_CLR_COLOR(uint32_t val) | ||
967 | { | ||
968 | return ((val) << MDP4_DTV_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_DTV_UNDERFLOW_CLR_COLOR__MASK; | ||
969 | } | ||
970 | #define MDP4_DTV_UNDERFLOW_CLR_ENABLE_RECOVERY 0x80000000 | ||
971 | |||
972 | #define REG_MDP4_DTV_HSYNC_SKEW 0x000d0048 | ||
973 | |||
974 | #define REG_MDP4_DTV_TEST_CNTL 0x000d004c | ||
975 | |||
976 | #define REG_MDP4_DTV_CTRL_POLARITY 0x000d0050 | ||
977 | #define MDP4_DTV_CTRL_POLARITY_HSYNC_LOW 0x00000001 | ||
978 | #define MDP4_DTV_CTRL_POLARITY_VSYNC_LOW 0x00000002 | ||
979 | #define MDP4_DTV_CTRL_POLARITY_DATA_EN_LOW 0x00000004 | ||
980 | |||
981 | #define REG_MDP4_DSI 0x000e0000 | ||
982 | |||
983 | #define REG_MDP4_DSI_ENABLE 0x000e0000 | ||
984 | |||
985 | #define REG_MDP4_DSI_HSYNC_CTRL 0x000e0004 | ||
986 | #define MDP4_DSI_HSYNC_CTRL_PULSEW__MASK 0x0000ffff | ||
987 | #define MDP4_DSI_HSYNC_CTRL_PULSEW__SHIFT 0 | ||
988 | static inline uint32_t MDP4_DSI_HSYNC_CTRL_PULSEW(uint32_t val) | ||
989 | { | ||
990 | return ((val) << MDP4_DSI_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_DSI_HSYNC_CTRL_PULSEW__MASK; | ||
991 | } | ||
992 | #define MDP4_DSI_HSYNC_CTRL_PERIOD__MASK 0xffff0000 | ||
993 | #define MDP4_DSI_HSYNC_CTRL_PERIOD__SHIFT 16 | ||
994 | static inline uint32_t MDP4_DSI_HSYNC_CTRL_PERIOD(uint32_t val) | ||
995 | { | ||
996 | return ((val) << MDP4_DSI_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_DSI_HSYNC_CTRL_PERIOD__MASK; | ||
997 | } | ||
998 | |||
999 | #define REG_MDP4_DSI_VSYNC_PERIOD 0x000e0008 | ||
1000 | |||
1001 | #define REG_MDP4_DSI_VSYNC_LEN 0x000e000c | ||
1002 | |||
1003 | #define REG_MDP4_DSI_DISPLAY_HCTRL 0x000e0010 | ||
1004 | #define MDP4_DSI_DISPLAY_HCTRL_START__MASK 0x0000ffff | ||
1005 | #define MDP4_DSI_DISPLAY_HCTRL_START__SHIFT 0 | ||
1006 | static inline uint32_t MDP4_DSI_DISPLAY_HCTRL_START(uint32_t val) | ||
1007 | { | ||
1008 | return ((val) << MDP4_DSI_DISPLAY_HCTRL_START__SHIFT) & MDP4_DSI_DISPLAY_HCTRL_START__MASK; | ||
1009 | } | ||
1010 | #define MDP4_DSI_DISPLAY_HCTRL_END__MASK 0xffff0000 | ||
1011 | #define MDP4_DSI_DISPLAY_HCTRL_END__SHIFT 16 | ||
1012 | static inline uint32_t MDP4_DSI_DISPLAY_HCTRL_END(uint32_t val) | ||
1013 | { | ||
1014 | return ((val) << MDP4_DSI_DISPLAY_HCTRL_END__SHIFT) & MDP4_DSI_DISPLAY_HCTRL_END__MASK; | ||
1015 | } | ||
1016 | |||
1017 | #define REG_MDP4_DSI_DISPLAY_VSTART 0x000e0014 | ||
1018 | |||
1019 | #define REG_MDP4_DSI_DISPLAY_VEND 0x000e0018 | ||
1020 | |||
1021 | #define REG_MDP4_DSI_ACTIVE_HCTL 0x000e001c | ||
1022 | #define MDP4_DSI_ACTIVE_HCTL_START__MASK 0x00007fff | ||
1023 | #define MDP4_DSI_ACTIVE_HCTL_START__SHIFT 0 | ||
1024 | static inline uint32_t MDP4_DSI_ACTIVE_HCTL_START(uint32_t val) | ||
1025 | { | ||
1026 | return ((val) << MDP4_DSI_ACTIVE_HCTL_START__SHIFT) & MDP4_DSI_ACTIVE_HCTL_START__MASK; | ||
1027 | } | ||
1028 | #define MDP4_DSI_ACTIVE_HCTL_END__MASK 0x7fff0000 | ||
1029 | #define MDP4_DSI_ACTIVE_HCTL_END__SHIFT 16 | ||
1030 | static inline uint32_t MDP4_DSI_ACTIVE_HCTL_END(uint32_t val) | ||
1031 | { | ||
1032 | return ((val) << MDP4_DSI_ACTIVE_HCTL_END__SHIFT) & MDP4_DSI_ACTIVE_HCTL_END__MASK; | ||
1033 | } | ||
1034 | #define MDP4_DSI_ACTIVE_HCTL_ACTIVE_START_X 0x80000000 | ||
1035 | |||
1036 | #define REG_MDP4_DSI_ACTIVE_VSTART 0x000e0020 | ||
1037 | |||
1038 | #define REG_MDP4_DSI_ACTIVE_VEND 0x000e0024 | ||
1039 | |||
1040 | #define REG_MDP4_DSI_BORDER_CLR 0x000e0028 | ||
1041 | |||
1042 | #define REG_MDP4_DSI_UNDERFLOW_CLR 0x000e002c | ||
1043 | #define MDP4_DSI_UNDERFLOW_CLR_COLOR__MASK 0x00ffffff | ||
1044 | #define MDP4_DSI_UNDERFLOW_CLR_COLOR__SHIFT 0 | ||
1045 | static inline uint32_t MDP4_DSI_UNDERFLOW_CLR_COLOR(uint32_t val) | ||
1046 | { | ||
1047 | return ((val) << MDP4_DSI_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_DSI_UNDERFLOW_CLR_COLOR__MASK; | ||
1048 | } | ||
1049 | #define MDP4_DSI_UNDERFLOW_CLR_ENABLE_RECOVERY 0x80000000 | ||
1050 | |||
1051 | #define REG_MDP4_DSI_HSYNC_SKEW 0x000e0030 | ||
1052 | |||
1053 | #define REG_MDP4_DSI_TEST_CNTL 0x000e0034 | ||
1054 | |||
1055 | #define REG_MDP4_DSI_CTRL_POLARITY 0x000e0038 | ||
1056 | #define MDP4_DSI_CTRL_POLARITY_HSYNC_LOW 0x00000001 | ||
1057 | #define MDP4_DSI_CTRL_POLARITY_VSYNC_LOW 0x00000002 | ||
1058 | #define MDP4_DSI_CTRL_POLARITY_DATA_EN_LOW 0x00000004 | ||
1059 | |||
1060 | |||
1061 | #endif /* MDP4_XML */ | ||