xref: /openbmc/linux/drivers/gpu/drm/msm/dsi/dsi.xml.h (revision f3539c12)
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://github.com/freedreno/envytools/
8 git clone https://github.com/freedreno/envytools.git
9 
10 The rules-ng-ng source files this header was generated from are:
11 - /home/robclark/src/freedreno/envytools/rnndb/msm.xml                 (    676 bytes, from 2015-05-20 20:03:14)
12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2016-02-10 17:07:21)
13 - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2015-05-20 20:03:14)
14 - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2015-09-18 12:07:28)
15 - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37194 bytes, from 2015-09-18 12:07:28)
16 - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  27887 bytes, from 2015-10-22 16:34:52)
17 - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2015-10-22 16:35:02)
18 - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2015-05-20 20:03:14)
19 - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2015-05-20 20:03:07)
20 - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41472 bytes, from 2016-01-22 18:18:18)
21 - /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2015-05-20 20:03:14)
22 
23 Copyright (C) 2013-2015 by the following authors:
24 - Rob Clark <robdclark@gmail.com> (robclark)
25 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
26 
27 Permission is hereby granted, free of charge, to any person obtaining
28 a copy of this software and associated documentation files (the
29 "Software"), to deal in the Software without restriction, including
30 without limitation the rights to use, copy, modify, merge, publish,
31 distribute, sublicense, and/or sell copies of the Software, and to
32 permit persons to whom the Software is furnished to do so, subject to
33 the following conditions:
34 
35 The above copyright notice and this permission notice (including the
36 next paragraph) shall be included in all copies or substantial
37 portions of the Software.
38 
39 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
42 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
43 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
44 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
45 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
46 */
47 
48 
49 enum dsi_traffic_mode {
50 	NON_BURST_SYNCH_PULSE = 0,
51 	NON_BURST_SYNCH_EVENT = 1,
52 	BURST_MODE = 2,
53 };
54 
55 enum dsi_vid_dst_format {
56 	VID_DST_FORMAT_RGB565 = 0,
57 	VID_DST_FORMAT_RGB666 = 1,
58 	VID_DST_FORMAT_RGB666_LOOSE = 2,
59 	VID_DST_FORMAT_RGB888 = 3,
60 };
61 
62 enum dsi_rgb_swap {
63 	SWAP_RGB = 0,
64 	SWAP_RBG = 1,
65 	SWAP_BGR = 2,
66 	SWAP_BRG = 3,
67 	SWAP_GRB = 4,
68 	SWAP_GBR = 5,
69 };
70 
71 enum dsi_cmd_trigger {
72 	TRIGGER_NONE = 0,
73 	TRIGGER_SEOF = 1,
74 	TRIGGER_TE = 2,
75 	TRIGGER_SW = 4,
76 	TRIGGER_SW_SEOF = 5,
77 	TRIGGER_SW_TE = 6,
78 };
79 
80 enum dsi_cmd_dst_format {
81 	CMD_DST_FORMAT_RGB111 = 0,
82 	CMD_DST_FORMAT_RGB332 = 3,
83 	CMD_DST_FORMAT_RGB444 = 4,
84 	CMD_DST_FORMAT_RGB565 = 6,
85 	CMD_DST_FORMAT_RGB666 = 7,
86 	CMD_DST_FORMAT_RGB888 = 8,
87 };
88 
89 enum dsi_lane_swap {
90 	LANE_SWAP_0123 = 0,
91 	LANE_SWAP_3012 = 1,
92 	LANE_SWAP_2301 = 2,
93 	LANE_SWAP_1230 = 3,
94 	LANE_SWAP_0321 = 4,
95 	LANE_SWAP_1032 = 5,
96 	LANE_SWAP_2103 = 6,
97 	LANE_SWAP_3210 = 7,
98 };
99 
100 #define DSI_IRQ_CMD_DMA_DONE					0x00000001
101 #define DSI_IRQ_MASK_CMD_DMA_DONE				0x00000002
102 #define DSI_IRQ_CMD_MDP_DONE					0x00000100
103 #define DSI_IRQ_MASK_CMD_MDP_DONE				0x00000200
104 #define DSI_IRQ_VIDEO_DONE					0x00010000
105 #define DSI_IRQ_MASK_VIDEO_DONE					0x00020000
106 #define DSI_IRQ_BTA_DONE					0x00100000
107 #define DSI_IRQ_MASK_BTA_DONE					0x00200000
108 #define DSI_IRQ_ERROR						0x01000000
109 #define DSI_IRQ_MASK_ERROR					0x02000000
110 #define REG_DSI_6G_HW_VERSION					0x00000000
111 #define DSI_6G_HW_VERSION_MAJOR__MASK				0xf0000000
112 #define DSI_6G_HW_VERSION_MAJOR__SHIFT				28
113 static inline uint32_t DSI_6G_HW_VERSION_MAJOR(uint32_t val)
114 {
115 	return ((val) << DSI_6G_HW_VERSION_MAJOR__SHIFT) & DSI_6G_HW_VERSION_MAJOR__MASK;
116 }
117 #define DSI_6G_HW_VERSION_MINOR__MASK				0x0fff0000
118 #define DSI_6G_HW_VERSION_MINOR__SHIFT				16
119 static inline uint32_t DSI_6G_HW_VERSION_MINOR(uint32_t val)
120 {
121 	return ((val) << DSI_6G_HW_VERSION_MINOR__SHIFT) & DSI_6G_HW_VERSION_MINOR__MASK;
122 }
123 #define DSI_6G_HW_VERSION_STEP__MASK				0x0000ffff
124 #define DSI_6G_HW_VERSION_STEP__SHIFT				0
125 static inline uint32_t DSI_6G_HW_VERSION_STEP(uint32_t val)
126 {
127 	return ((val) << DSI_6G_HW_VERSION_STEP__SHIFT) & DSI_6G_HW_VERSION_STEP__MASK;
128 }
129 
130 #define REG_DSI_CTRL						0x00000000
131 #define DSI_CTRL_ENABLE						0x00000001
132 #define DSI_CTRL_VID_MODE_EN					0x00000002
133 #define DSI_CTRL_CMD_MODE_EN					0x00000004
134 #define DSI_CTRL_LANE0						0x00000010
135 #define DSI_CTRL_LANE1						0x00000020
136 #define DSI_CTRL_LANE2						0x00000040
137 #define DSI_CTRL_LANE3						0x00000080
138 #define DSI_CTRL_CLK_EN						0x00000100
139 #define DSI_CTRL_ECC_CHECK					0x00100000
140 #define DSI_CTRL_CRC_CHECK					0x01000000
141 
142 #define REG_DSI_STATUS0						0x00000004
143 #define DSI_STATUS0_CMD_MODE_ENGINE_BUSY			0x00000001
144 #define DSI_STATUS0_CMD_MODE_DMA_BUSY				0x00000002
145 #define DSI_STATUS0_CMD_MODE_MDP_BUSY				0x00000004
146 #define DSI_STATUS0_VIDEO_MODE_ENGINE_BUSY			0x00000008
147 #define DSI_STATUS0_DSI_BUSY					0x00000010
148 #define DSI_STATUS0_INTERLEAVE_OP_CONTENTION			0x80000000
149 
150 #define REG_DSI_FIFO_STATUS					0x00000008
151 #define DSI_FIFO_STATUS_CMD_MDP_FIFO_UNDERFLOW			0x00000080
152 
153 #define REG_DSI_VID_CFG0					0x0000000c
154 #define DSI_VID_CFG0_VIRT_CHANNEL__MASK				0x00000003
155 #define DSI_VID_CFG0_VIRT_CHANNEL__SHIFT			0
156 static inline uint32_t DSI_VID_CFG0_VIRT_CHANNEL(uint32_t val)
157 {
158 	return ((val) << DSI_VID_CFG0_VIRT_CHANNEL__SHIFT) & DSI_VID_CFG0_VIRT_CHANNEL__MASK;
159 }
160 #define DSI_VID_CFG0_DST_FORMAT__MASK				0x00000030
161 #define DSI_VID_CFG0_DST_FORMAT__SHIFT				4
162 static inline uint32_t DSI_VID_CFG0_DST_FORMAT(enum dsi_vid_dst_format val)
163 {
164 	return ((val) << DSI_VID_CFG0_DST_FORMAT__SHIFT) & DSI_VID_CFG0_DST_FORMAT__MASK;
165 }
166 #define DSI_VID_CFG0_TRAFFIC_MODE__MASK				0x00000300
167 #define DSI_VID_CFG0_TRAFFIC_MODE__SHIFT			8
168 static inline uint32_t DSI_VID_CFG0_TRAFFIC_MODE(enum dsi_traffic_mode val)
169 {
170 	return ((val) << DSI_VID_CFG0_TRAFFIC_MODE__SHIFT) & DSI_VID_CFG0_TRAFFIC_MODE__MASK;
171 }
172 #define DSI_VID_CFG0_BLLP_POWER_STOP				0x00001000
173 #define DSI_VID_CFG0_EOF_BLLP_POWER_STOP			0x00008000
174 #define DSI_VID_CFG0_HSA_POWER_STOP				0x00010000
175 #define DSI_VID_CFG0_HBP_POWER_STOP				0x00100000
176 #define DSI_VID_CFG0_HFP_POWER_STOP				0x01000000
177 #define DSI_VID_CFG0_PULSE_MODE_HSA_HE				0x10000000
178 
179 #define REG_DSI_VID_CFG1					0x0000001c
180 #define DSI_VID_CFG1_R_SEL					0x00000001
181 #define DSI_VID_CFG1_G_SEL					0x00000010
182 #define DSI_VID_CFG1_B_SEL					0x00000100
183 #define DSI_VID_CFG1_RGB_SWAP__MASK				0x00007000
184 #define DSI_VID_CFG1_RGB_SWAP__SHIFT				12
185 static inline uint32_t DSI_VID_CFG1_RGB_SWAP(enum dsi_rgb_swap val)
186 {
187 	return ((val) << DSI_VID_CFG1_RGB_SWAP__SHIFT) & DSI_VID_CFG1_RGB_SWAP__MASK;
188 }
189 
190 #define REG_DSI_ACTIVE_H					0x00000020
191 #define DSI_ACTIVE_H_START__MASK				0x00000fff
192 #define DSI_ACTIVE_H_START__SHIFT				0
193 static inline uint32_t DSI_ACTIVE_H_START(uint32_t val)
194 {
195 	return ((val) << DSI_ACTIVE_H_START__SHIFT) & DSI_ACTIVE_H_START__MASK;
196 }
197 #define DSI_ACTIVE_H_END__MASK					0x0fff0000
198 #define DSI_ACTIVE_H_END__SHIFT					16
199 static inline uint32_t DSI_ACTIVE_H_END(uint32_t val)
200 {
201 	return ((val) << DSI_ACTIVE_H_END__SHIFT) & DSI_ACTIVE_H_END__MASK;
202 }
203 
204 #define REG_DSI_ACTIVE_V					0x00000024
205 #define DSI_ACTIVE_V_START__MASK				0x00000fff
206 #define DSI_ACTIVE_V_START__SHIFT				0
207 static inline uint32_t DSI_ACTIVE_V_START(uint32_t val)
208 {
209 	return ((val) << DSI_ACTIVE_V_START__SHIFT) & DSI_ACTIVE_V_START__MASK;
210 }
211 #define DSI_ACTIVE_V_END__MASK					0x0fff0000
212 #define DSI_ACTIVE_V_END__SHIFT					16
213 static inline uint32_t DSI_ACTIVE_V_END(uint32_t val)
214 {
215 	return ((val) << DSI_ACTIVE_V_END__SHIFT) & DSI_ACTIVE_V_END__MASK;
216 }
217 
218 #define REG_DSI_TOTAL						0x00000028
219 #define DSI_TOTAL_H_TOTAL__MASK					0x00000fff
220 #define DSI_TOTAL_H_TOTAL__SHIFT				0
221 static inline uint32_t DSI_TOTAL_H_TOTAL(uint32_t val)
222 {
223 	return ((val) << DSI_TOTAL_H_TOTAL__SHIFT) & DSI_TOTAL_H_TOTAL__MASK;
224 }
225 #define DSI_TOTAL_V_TOTAL__MASK					0x0fff0000
226 #define DSI_TOTAL_V_TOTAL__SHIFT				16
227 static inline uint32_t DSI_TOTAL_V_TOTAL(uint32_t val)
228 {
229 	return ((val) << DSI_TOTAL_V_TOTAL__SHIFT) & DSI_TOTAL_V_TOTAL__MASK;
230 }
231 
232 #define REG_DSI_ACTIVE_HSYNC					0x0000002c
233 #define DSI_ACTIVE_HSYNC_START__MASK				0x00000fff
234 #define DSI_ACTIVE_HSYNC_START__SHIFT				0
235 static inline uint32_t DSI_ACTIVE_HSYNC_START(uint32_t val)
236 {
237 	return ((val) << DSI_ACTIVE_HSYNC_START__SHIFT) & DSI_ACTIVE_HSYNC_START__MASK;
238 }
239 #define DSI_ACTIVE_HSYNC_END__MASK				0x0fff0000
240 #define DSI_ACTIVE_HSYNC_END__SHIFT				16
241 static inline uint32_t DSI_ACTIVE_HSYNC_END(uint32_t val)
242 {
243 	return ((val) << DSI_ACTIVE_HSYNC_END__SHIFT) & DSI_ACTIVE_HSYNC_END__MASK;
244 }
245 
246 #define REG_DSI_ACTIVE_VSYNC_HPOS				0x00000030
247 #define DSI_ACTIVE_VSYNC_HPOS_START__MASK			0x00000fff
248 #define DSI_ACTIVE_VSYNC_HPOS_START__SHIFT			0
249 static inline uint32_t DSI_ACTIVE_VSYNC_HPOS_START(uint32_t val)
250 {
251 	return ((val) << DSI_ACTIVE_VSYNC_HPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_START__MASK;
252 }
253 #define DSI_ACTIVE_VSYNC_HPOS_END__MASK				0x0fff0000
254 #define DSI_ACTIVE_VSYNC_HPOS_END__SHIFT			16
255 static inline uint32_t DSI_ACTIVE_VSYNC_HPOS_END(uint32_t val)
256 {
257 	return ((val) << DSI_ACTIVE_VSYNC_HPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_END__MASK;
258 }
259 
260 #define REG_DSI_ACTIVE_VSYNC_VPOS				0x00000034
261 #define DSI_ACTIVE_VSYNC_VPOS_START__MASK			0x00000fff
262 #define DSI_ACTIVE_VSYNC_VPOS_START__SHIFT			0
263 static inline uint32_t DSI_ACTIVE_VSYNC_VPOS_START(uint32_t val)
264 {
265 	return ((val) << DSI_ACTIVE_VSYNC_VPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_START__MASK;
266 }
267 #define DSI_ACTIVE_VSYNC_VPOS_END__MASK				0x0fff0000
268 #define DSI_ACTIVE_VSYNC_VPOS_END__SHIFT			16
269 static inline uint32_t DSI_ACTIVE_VSYNC_VPOS_END(uint32_t val)
270 {
271 	return ((val) << DSI_ACTIVE_VSYNC_VPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_END__MASK;
272 }
273 
274 #define REG_DSI_CMD_DMA_CTRL					0x00000038
275 #define DSI_CMD_DMA_CTRL_BROADCAST_EN				0x80000000
276 #define DSI_CMD_DMA_CTRL_FROM_FRAME_BUFFER			0x10000000
277 #define DSI_CMD_DMA_CTRL_LOW_POWER				0x04000000
278 
279 #define REG_DSI_CMD_CFG0					0x0000003c
280 #define DSI_CMD_CFG0_DST_FORMAT__MASK				0x0000000f
281 #define DSI_CMD_CFG0_DST_FORMAT__SHIFT				0
282 static inline uint32_t DSI_CMD_CFG0_DST_FORMAT(enum dsi_cmd_dst_format val)
283 {
284 	return ((val) << DSI_CMD_CFG0_DST_FORMAT__SHIFT) & DSI_CMD_CFG0_DST_FORMAT__MASK;
285 }
286 #define DSI_CMD_CFG0_R_SEL					0x00000010
287 #define DSI_CMD_CFG0_G_SEL					0x00000100
288 #define DSI_CMD_CFG0_B_SEL					0x00001000
289 #define DSI_CMD_CFG0_INTERLEAVE_MAX__MASK			0x00f00000
290 #define DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT			20
291 static inline uint32_t DSI_CMD_CFG0_INTERLEAVE_MAX(uint32_t val)
292 {
293 	return ((val) << DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT) & DSI_CMD_CFG0_INTERLEAVE_MAX__MASK;
294 }
295 #define DSI_CMD_CFG0_RGB_SWAP__MASK				0x00070000
296 #define DSI_CMD_CFG0_RGB_SWAP__SHIFT				16
297 static inline uint32_t DSI_CMD_CFG0_RGB_SWAP(enum dsi_rgb_swap val)
298 {
299 	return ((val) << DSI_CMD_CFG0_RGB_SWAP__SHIFT) & DSI_CMD_CFG0_RGB_SWAP__MASK;
300 }
301 
302 #define REG_DSI_CMD_CFG1					0x00000040
303 #define DSI_CMD_CFG1_WR_MEM_START__MASK				0x000000ff
304 #define DSI_CMD_CFG1_WR_MEM_START__SHIFT			0
305 static inline uint32_t DSI_CMD_CFG1_WR_MEM_START(uint32_t val)
306 {
307 	return ((val) << DSI_CMD_CFG1_WR_MEM_START__SHIFT) & DSI_CMD_CFG1_WR_MEM_START__MASK;
308 }
309 #define DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK			0x0000ff00
310 #define DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT			8
311 static inline uint32_t DSI_CMD_CFG1_WR_MEM_CONTINUE(uint32_t val)
312 {
313 	return ((val) << DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT) & DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK;
314 }
315 #define DSI_CMD_CFG1_INSERT_DCS_COMMAND				0x00010000
316 
317 #define REG_DSI_DMA_BASE					0x00000044
318 
319 #define REG_DSI_DMA_LEN						0x00000048
320 
321 #define REG_DSI_CMD_MDP_STREAM_CTRL				0x00000054
322 #define DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__MASK			0x0000003f
323 #define DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__SHIFT		0
324 static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE(uint32_t val)
325 {
326 	return ((val) << DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__MASK;
327 }
328 #define DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__MASK		0x00000300
329 #define DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__SHIFT		8
330 static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL(uint32_t val)
331 {
332 	return ((val) << DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__MASK;
333 }
334 #define DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__MASK		0xffff0000
335 #define DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__SHIFT		16
336 static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT(uint32_t val)
337 {
338 	return ((val) << DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__MASK;
339 }
340 
341 #define REG_DSI_CMD_MDP_STREAM_TOTAL				0x00000058
342 #define DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__MASK			0x00000fff
343 #define DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__SHIFT			0
344 static inline uint32_t DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL(uint32_t val)
345 {
346 	return ((val) << DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__MASK;
347 }
348 #define DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__MASK			0x0fff0000
349 #define DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__SHIFT			16
350 static inline uint32_t DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL(uint32_t val)
351 {
352 	return ((val) << DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__MASK;
353 }
354 
355 #define REG_DSI_ACK_ERR_STATUS					0x00000064
356 
357 static inline uint32_t REG_DSI_RDBK(uint32_t i0) { return 0x00000068 + 0x4*i0; }
358 
359 static inline uint32_t REG_DSI_RDBK_DATA(uint32_t i0) { return 0x00000068 + 0x4*i0; }
360 
361 #define REG_DSI_TRIG_CTRL					0x00000080
362 #define DSI_TRIG_CTRL_DMA_TRIGGER__MASK				0x00000007
363 #define DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT			0
364 static inline uint32_t DSI_TRIG_CTRL_DMA_TRIGGER(enum dsi_cmd_trigger val)
365 {
366 	return ((val) << DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT) & DSI_TRIG_CTRL_DMA_TRIGGER__MASK;
367 }
368 #define DSI_TRIG_CTRL_MDP_TRIGGER__MASK				0x00000070
369 #define DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT			4
370 static inline uint32_t DSI_TRIG_CTRL_MDP_TRIGGER(enum dsi_cmd_trigger val)
371 {
372 	return ((val) << DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT) & DSI_TRIG_CTRL_MDP_TRIGGER__MASK;
373 }
374 #define DSI_TRIG_CTRL_STREAM__MASK				0x00000300
375 #define DSI_TRIG_CTRL_STREAM__SHIFT				8
376 static inline uint32_t DSI_TRIG_CTRL_STREAM(uint32_t val)
377 {
378 	return ((val) << DSI_TRIG_CTRL_STREAM__SHIFT) & DSI_TRIG_CTRL_STREAM__MASK;
379 }
380 #define DSI_TRIG_CTRL_BLOCK_DMA_WITHIN_FRAME			0x00001000
381 #define DSI_TRIG_CTRL_TE					0x80000000
382 
383 #define REG_DSI_TRIG_DMA					0x0000008c
384 
385 #define REG_DSI_DLN0_PHY_ERR					0x000000b0
386 #define DSI_DLN0_PHY_ERR_DLN0_ERR_ESC				0x00000001
387 #define DSI_DLN0_PHY_ERR_DLN0_ERR_SYNC_ESC			0x00000010
388 #define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTROL			0x00000100
389 #define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP0		0x00001000
390 #define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP1		0x00010000
391 
392 #define REG_DSI_TIMEOUT_STATUS					0x000000bc
393 
394 #define REG_DSI_CLKOUT_TIMING_CTRL				0x000000c0
395 #define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK			0x0000003f
396 #define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT			0
397 static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE(uint32_t val)
398 {
399 	return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK;
400 }
401 #define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK			0x00003f00
402 #define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT		8
403 static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_POST(uint32_t val)
404 {
405 	return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK;
406 }
407 
408 #define REG_DSI_EOT_PACKET_CTRL					0x000000c8
409 #define DSI_EOT_PACKET_CTRL_TX_EOT_APPEND			0x00000001
410 #define DSI_EOT_PACKET_CTRL_RX_EOT_IGNORE			0x00000010
411 
412 #define REG_DSI_LANE_CTRL					0x000000a8
413 #define DSI_LANE_CTRL_CLKLN_HS_FORCE_REQUEST			0x10000000
414 
415 #define REG_DSI_LANE_SWAP_CTRL					0x000000ac
416 #define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK			0x00000007
417 #define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT			0
418 static inline uint32_t DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL(enum dsi_lane_swap val)
419 {
420 	return ((val) << DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT) & DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK;
421 }
422 
423 #define REG_DSI_ERR_INT_MASK0					0x00000108
424 
425 #define REG_DSI_INTR_CTRL					0x0000010c
426 
427 #define REG_DSI_RESET						0x00000114
428 
429 #define REG_DSI_CLK_CTRL					0x00000118
430 #define DSI_CLK_CTRL_AHBS_HCLK_ON				0x00000001
431 #define DSI_CLK_CTRL_AHBM_SCLK_ON				0x00000002
432 #define DSI_CLK_CTRL_PCLK_ON					0x00000004
433 #define DSI_CLK_CTRL_DSICLK_ON					0x00000008
434 #define DSI_CLK_CTRL_BYTECLK_ON					0x00000010
435 #define DSI_CLK_CTRL_ESCCLK_ON					0x00000020
436 #define DSI_CLK_CTRL_FORCE_ON_DYN_AHBM_HCLK			0x00000200
437 
438 #define REG_DSI_CLK_STATUS					0x0000011c
439 #define DSI_CLK_STATUS_PLL_UNLOCKED				0x00010000
440 
441 #define REG_DSI_PHY_RESET					0x00000128
442 #define DSI_PHY_RESET_RESET					0x00000001
443 
444 #define REG_DSI_T_CLK_PRE_EXTEND				0x0000017c
445 #define DSI_T_CLK_PRE_EXTEND_INC_BY_2_BYTECLK			0x00000001
446 
447 #define REG_DSI_RDBK_DATA_CTRL					0x000001d0
448 #define DSI_RDBK_DATA_CTRL_COUNT__MASK				0x00ff0000
449 #define DSI_RDBK_DATA_CTRL_COUNT__SHIFT				16
450 static inline uint32_t DSI_RDBK_DATA_CTRL_COUNT(uint32_t val)
451 {
452 	return ((val) << DSI_RDBK_DATA_CTRL_COUNT__SHIFT) & DSI_RDBK_DATA_CTRL_COUNT__MASK;
453 }
454 #define DSI_RDBK_DATA_CTRL_CLR					0x00000001
455 
456 #define REG_DSI_VERSION						0x000001f0
457 #define DSI_VERSION_MAJOR__MASK					0xff000000
458 #define DSI_VERSION_MAJOR__SHIFT				24
459 static inline uint32_t DSI_VERSION_MAJOR(uint32_t val)
460 {
461 	return ((val) << DSI_VERSION_MAJOR__SHIFT) & DSI_VERSION_MAJOR__MASK;
462 }
463 
464 #define REG_DSI_PHY_PLL_CTRL_0					0x00000200
465 #define DSI_PHY_PLL_CTRL_0_ENABLE				0x00000001
466 
467 #define REG_DSI_PHY_PLL_CTRL_1					0x00000204
468 
469 #define REG_DSI_PHY_PLL_CTRL_2					0x00000208
470 
471 #define REG_DSI_PHY_PLL_CTRL_3					0x0000020c
472 
473 #define REG_DSI_PHY_PLL_CTRL_4					0x00000210
474 
475 #define REG_DSI_PHY_PLL_CTRL_5					0x00000214
476 
477 #define REG_DSI_PHY_PLL_CTRL_6					0x00000218
478 
479 #define REG_DSI_PHY_PLL_CTRL_7					0x0000021c
480 
481 #define REG_DSI_PHY_PLL_CTRL_8					0x00000220
482 
483 #define REG_DSI_PHY_PLL_CTRL_9					0x00000224
484 
485 #define REG_DSI_PHY_PLL_CTRL_10					0x00000228
486 
487 #define REG_DSI_PHY_PLL_CTRL_11					0x0000022c
488 
489 #define REG_DSI_PHY_PLL_CTRL_12					0x00000230
490 
491 #define REG_DSI_PHY_PLL_CTRL_13					0x00000234
492 
493 #define REG_DSI_PHY_PLL_CTRL_14					0x00000238
494 
495 #define REG_DSI_PHY_PLL_CTRL_15					0x0000023c
496 
497 #define REG_DSI_PHY_PLL_CTRL_16					0x00000240
498 
499 #define REG_DSI_PHY_PLL_CTRL_17					0x00000244
500 
501 #define REG_DSI_PHY_PLL_CTRL_18					0x00000248
502 
503 #define REG_DSI_PHY_PLL_CTRL_19					0x0000024c
504 
505 #define REG_DSI_PHY_PLL_CTRL_20					0x00000250
506 
507 #define REG_DSI_PHY_PLL_STATUS					0x00000280
508 #define DSI_PHY_PLL_STATUS_PLL_BUSY				0x00000001
509 
510 #define REG_DSI_8x60_PHY_TPA_CTRL_1				0x00000258
511 
512 #define REG_DSI_8x60_PHY_TPA_CTRL_2				0x0000025c
513 
514 #define REG_DSI_8x60_PHY_TIMING_CTRL_0				0x00000260
515 
516 #define REG_DSI_8x60_PHY_TIMING_CTRL_1				0x00000264
517 
518 #define REG_DSI_8x60_PHY_TIMING_CTRL_2				0x00000268
519 
520 #define REG_DSI_8x60_PHY_TIMING_CTRL_3				0x0000026c
521 
522 #define REG_DSI_8x60_PHY_TIMING_CTRL_4				0x00000270
523 
524 #define REG_DSI_8x60_PHY_TIMING_CTRL_5				0x00000274
525 
526 #define REG_DSI_8x60_PHY_TIMING_CTRL_6				0x00000278
527 
528 #define REG_DSI_8x60_PHY_TIMING_CTRL_7				0x0000027c
529 
530 #define REG_DSI_8x60_PHY_TIMING_CTRL_8				0x00000280
531 
532 #define REG_DSI_8x60_PHY_TIMING_CTRL_9				0x00000284
533 
534 #define REG_DSI_8x60_PHY_TIMING_CTRL_10				0x00000288
535 
536 #define REG_DSI_8x60_PHY_TIMING_CTRL_11				0x0000028c
537 
538 #define REG_DSI_8x60_PHY_CTRL_0					0x00000290
539 
540 #define REG_DSI_8x60_PHY_CTRL_1					0x00000294
541 
542 #define REG_DSI_8x60_PHY_CTRL_2					0x00000298
543 
544 #define REG_DSI_8x60_PHY_CTRL_3					0x0000029c
545 
546 #define REG_DSI_8x60_PHY_STRENGTH_0				0x000002a0
547 
548 #define REG_DSI_8x60_PHY_STRENGTH_1				0x000002a4
549 
550 #define REG_DSI_8x60_PHY_STRENGTH_2				0x000002a8
551 
552 #define REG_DSI_8x60_PHY_STRENGTH_3				0x000002ac
553 
554 #define REG_DSI_8x60_PHY_REGULATOR_CTRL_0			0x000002cc
555 
556 #define REG_DSI_8x60_PHY_REGULATOR_CTRL_1			0x000002d0
557 
558 #define REG_DSI_8x60_PHY_REGULATOR_CTRL_2			0x000002d4
559 
560 #define REG_DSI_8x60_PHY_REGULATOR_CTRL_3			0x000002d8
561 
562 #define REG_DSI_8x60_PHY_REGULATOR_CTRL_4			0x000002dc
563 
564 #define REG_DSI_8x60_PHY_CAL_HW_TRIGGER				0x000000f0
565 
566 #define REG_DSI_8x60_PHY_CAL_CTRL				0x000000f4
567 
568 #define REG_DSI_8x60_PHY_CAL_STATUS				0x000000fc
569 #define DSI_8x60_PHY_CAL_STATUS_CAL_BUSY			0x10000000
570 
571 static inline uint32_t REG_DSI_28nm_8960_PHY_LN(uint32_t i0) { return 0x00000000 + 0x40*i0; }
572 
573 static inline uint32_t REG_DSI_28nm_8960_PHY_LN_CFG_0(uint32_t i0) { return 0x00000000 + 0x40*i0; }
574 
575 static inline uint32_t REG_DSI_28nm_8960_PHY_LN_CFG_1(uint32_t i0) { return 0x00000004 + 0x40*i0; }
576 
577 static inline uint32_t REG_DSI_28nm_8960_PHY_LN_CFG_2(uint32_t i0) { return 0x00000008 + 0x40*i0; }
578 
579 static inline uint32_t REG_DSI_28nm_8960_PHY_LN_TEST_DATAPATH(uint32_t i0) { return 0x0000000c + 0x40*i0; }
580 
581 static inline uint32_t REG_DSI_28nm_8960_PHY_LN_TEST_STR_0(uint32_t i0) { return 0x00000014 + 0x40*i0; }
582 
583 static inline uint32_t REG_DSI_28nm_8960_PHY_LN_TEST_STR_1(uint32_t i0) { return 0x00000018 + 0x40*i0; }
584 
585 #define REG_DSI_28nm_8960_PHY_LNCK_CFG_0			0x00000100
586 
587 #define REG_DSI_28nm_8960_PHY_LNCK_CFG_1			0x00000104
588 
589 #define REG_DSI_28nm_8960_PHY_LNCK_CFG_2			0x00000108
590 
591 #define REG_DSI_28nm_8960_PHY_LNCK_TEST_DATAPATH		0x0000010c
592 
593 #define REG_DSI_28nm_8960_PHY_LNCK_TEST_STR0			0x00000114
594 
595 #define REG_DSI_28nm_8960_PHY_LNCK_TEST_STR1			0x00000118
596 
597 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_0			0x00000140
598 #define DSI_28nm_8960_PHY_TIMING_CTRL_0_CLK_ZERO__MASK		0x000000ff
599 #define DSI_28nm_8960_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT		0
600 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_0_CLK_ZERO(uint32_t val)
601 {
602 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_0_CLK_ZERO__MASK;
603 }
604 
605 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_1			0x00000144
606 #define DSI_28nm_8960_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK		0x000000ff
607 #define DSI_28nm_8960_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT	0
608 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_1_CLK_TRAIL(uint32_t val)
609 {
610 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK;
611 }
612 
613 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_2			0x00000148
614 #define DSI_28nm_8960_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK	0x000000ff
615 #define DSI_28nm_8960_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT	0
616 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_2_CLK_PREPARE(uint32_t val)
617 {
618 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK;
619 }
620 
621 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_3			0x0000014c
622 
623 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_4			0x00000150
624 #define DSI_28nm_8960_PHY_TIMING_CTRL_4_HS_EXIT__MASK		0x000000ff
625 #define DSI_28nm_8960_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT		0
626 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_4_HS_EXIT(uint32_t val)
627 {
628 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_4_HS_EXIT__MASK;
629 }
630 
631 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_5			0x00000154
632 #define DSI_28nm_8960_PHY_TIMING_CTRL_5_HS_ZERO__MASK		0x000000ff
633 #define DSI_28nm_8960_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT		0
634 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_5_HS_ZERO(uint32_t val)
635 {
636 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_5_HS_ZERO__MASK;
637 }
638 
639 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_6			0x00000158
640 #define DSI_28nm_8960_PHY_TIMING_CTRL_6_HS_PREPARE__MASK	0x000000ff
641 #define DSI_28nm_8960_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT	0
642 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_6_HS_PREPARE(uint32_t val)
643 {
644 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_6_HS_PREPARE__MASK;
645 }
646 
647 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_7			0x0000015c
648 #define DSI_28nm_8960_PHY_TIMING_CTRL_7_HS_TRAIL__MASK		0x000000ff
649 #define DSI_28nm_8960_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT		0
650 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_7_HS_TRAIL(uint32_t val)
651 {
652 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_7_HS_TRAIL__MASK;
653 }
654 
655 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_8			0x00000160
656 #define DSI_28nm_8960_PHY_TIMING_CTRL_8_HS_RQST__MASK		0x000000ff
657 #define DSI_28nm_8960_PHY_TIMING_CTRL_8_HS_RQST__SHIFT		0
658 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_8_HS_RQST(uint32_t val)
659 {
660 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_8_HS_RQST__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_8_HS_RQST__MASK;
661 }
662 
663 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_9			0x00000164
664 #define DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_GO__MASK		0x00000007
665 #define DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_GO__SHIFT		0
666 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_GO(uint32_t val)
667 {
668 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_GO__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_GO__MASK;
669 }
670 #define DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_SURE__MASK		0x00000070
671 #define DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_SURE__SHIFT		4
672 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_SURE(uint32_t val)
673 {
674 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_SURE__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_9_TA_SURE__MASK;
675 }
676 
677 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_10			0x00000168
678 #define DSI_28nm_8960_PHY_TIMING_CTRL_10_TA_GET__MASK		0x00000007
679 #define DSI_28nm_8960_PHY_TIMING_CTRL_10_TA_GET__SHIFT		0
680 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_10_TA_GET(uint32_t val)
681 {
682 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_10_TA_GET__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_10_TA_GET__MASK;
683 }
684 
685 #define REG_DSI_28nm_8960_PHY_TIMING_CTRL_11			0x0000016c
686 #define DSI_28nm_8960_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK	0x000000ff
687 #define DSI_28nm_8960_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT	0
688 static inline uint32_t DSI_28nm_8960_PHY_TIMING_CTRL_11_TRIG3_CMD(uint32_t val)
689 {
690 	return ((val) << DSI_28nm_8960_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT) & DSI_28nm_8960_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK;
691 }
692 
693 #define REG_DSI_28nm_8960_PHY_CTRL_0				0x00000170
694 
695 #define REG_DSI_28nm_8960_PHY_CTRL_1				0x00000174
696 
697 #define REG_DSI_28nm_8960_PHY_CTRL_2				0x00000178
698 
699 #define REG_DSI_28nm_8960_PHY_CTRL_3				0x0000017c
700 
701 #define REG_DSI_28nm_8960_PHY_STRENGTH_0			0x00000180
702 
703 #define REG_DSI_28nm_8960_PHY_STRENGTH_1			0x00000184
704 
705 #define REG_DSI_28nm_8960_PHY_STRENGTH_2			0x00000188
706 
707 #define REG_DSI_28nm_8960_PHY_BIST_CTRL_0			0x0000018c
708 
709 #define REG_DSI_28nm_8960_PHY_BIST_CTRL_1			0x00000190
710 
711 #define REG_DSI_28nm_8960_PHY_BIST_CTRL_2			0x00000194
712 
713 #define REG_DSI_28nm_8960_PHY_BIST_CTRL_3			0x00000198
714 
715 #define REG_DSI_28nm_8960_PHY_BIST_CTRL_4			0x0000019c
716 
717 #define REG_DSI_28nm_8960_PHY_LDO_CTRL				0x000001b0
718 
719 #define REG_DSI_28nm_8960_PHY_MISC_REGULATOR_CTRL_0		0x00000000
720 
721 #define REG_DSI_28nm_8960_PHY_MISC_REGULATOR_CTRL_1		0x00000004
722 
723 #define REG_DSI_28nm_8960_PHY_MISC_REGULATOR_CTRL_2		0x00000008
724 
725 #define REG_DSI_28nm_8960_PHY_MISC_REGULATOR_CTRL_3		0x0000000c
726 
727 #define REG_DSI_28nm_8960_PHY_MISC_REGULATOR_CTRL_4		0x00000010
728 
729 #define REG_DSI_28nm_8960_PHY_MISC_REGULATOR_CTRL_5		0x00000014
730 
731 #define REG_DSI_28nm_8960_PHY_MISC_REGULATOR_CAL_PWR_CFG	0x00000018
732 
733 #define REG_DSI_28nm_8960_PHY_MISC_CAL_HW_TRIGGER		0x00000028
734 
735 #define REG_DSI_28nm_8960_PHY_MISC_CAL_SW_CFG_0			0x0000002c
736 
737 #define REG_DSI_28nm_8960_PHY_MISC_CAL_SW_CFG_1			0x00000030
738 
739 #define REG_DSI_28nm_8960_PHY_MISC_CAL_SW_CFG_2			0x00000034
740 
741 #define REG_DSI_28nm_8960_PHY_MISC_CAL_HW_CFG_0			0x00000038
742 
743 #define REG_DSI_28nm_8960_PHY_MISC_CAL_HW_CFG_1			0x0000003c
744 
745 #define REG_DSI_28nm_8960_PHY_MISC_CAL_HW_CFG_2			0x00000040
746 
747 #define REG_DSI_28nm_8960_PHY_MISC_CAL_HW_CFG_3			0x00000044
748 
749 #define REG_DSI_28nm_8960_PHY_MISC_CAL_HW_CFG_4			0x00000048
750 
751 #define REG_DSI_28nm_8960_PHY_MISC_CAL_STATUS			0x00000050
752 #define DSI_28nm_8960_PHY_MISC_CAL_STATUS_CAL_BUSY		0x00000010
753 
754 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_0			0x00000000
755 #define DSI_28nm_8960_PHY_PLL_CTRL_0_ENABLE			0x00000001
756 
757 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_1			0x00000004
758 
759 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_2			0x00000008
760 
761 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_3			0x0000000c
762 
763 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_4			0x00000010
764 
765 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_5			0x00000014
766 
767 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_6			0x00000018
768 
769 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_7			0x0000001c
770 
771 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_8			0x00000020
772 
773 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_9			0x00000024
774 
775 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_10			0x00000028
776 
777 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_11			0x0000002c
778 
779 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_12			0x00000030
780 
781 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_13			0x00000034
782 
783 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_14			0x00000038
784 
785 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_15			0x0000003c
786 
787 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_16			0x00000040
788 
789 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_17			0x00000044
790 
791 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_18			0x00000048
792 
793 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_19			0x0000004c
794 
795 #define REG_DSI_28nm_8960_PHY_PLL_CTRL_20			0x00000050
796 
797 #define REG_DSI_28nm_8960_PHY_PLL_RDY				0x00000080
798 #define DSI_28nm_8960_PHY_PLL_RDY_PLL_RDY			0x00000001
799 
800 static inline uint32_t REG_DSI_28nm_PHY_LN(uint32_t i0) { return 0x00000000 + 0x40*i0; }
801 
802 static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_0(uint32_t i0) { return 0x00000000 + 0x40*i0; }
803 
804 static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_1(uint32_t i0) { return 0x00000004 + 0x40*i0; }
805 
806 static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_2(uint32_t i0) { return 0x00000008 + 0x40*i0; }
807 
808 static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_3(uint32_t i0) { return 0x0000000c + 0x40*i0; }
809 
810 static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_4(uint32_t i0) { return 0x00000010 + 0x40*i0; }
811 
812 static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_DATAPATH(uint32_t i0) { return 0x00000014 + 0x40*i0; }
813 
814 static inline uint32_t REG_DSI_28nm_PHY_LN_DEBUG_SEL(uint32_t i0) { return 0x00000018 + 0x40*i0; }
815 
816 static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_STR_0(uint32_t i0) { return 0x0000001c + 0x40*i0; }
817 
818 static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_STR_1(uint32_t i0) { return 0x00000020 + 0x40*i0; }
819 
820 #define REG_DSI_28nm_PHY_LNCK_CFG_0				0x00000100
821 
822 #define REG_DSI_28nm_PHY_LNCK_CFG_1				0x00000104
823 
824 #define REG_DSI_28nm_PHY_LNCK_CFG_2				0x00000108
825 
826 #define REG_DSI_28nm_PHY_LNCK_CFG_3				0x0000010c
827 
828 #define REG_DSI_28nm_PHY_LNCK_CFG_4				0x00000110
829 
830 #define REG_DSI_28nm_PHY_LNCK_TEST_DATAPATH			0x00000114
831 
832 #define REG_DSI_28nm_PHY_LNCK_DEBUG_SEL				0x00000118
833 
834 #define REG_DSI_28nm_PHY_LNCK_TEST_STR0				0x0000011c
835 
836 #define REG_DSI_28nm_PHY_LNCK_TEST_STR1				0x00000120
837 
838 #define REG_DSI_28nm_PHY_TIMING_CTRL_0				0x00000140
839 #define DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__MASK		0x000000ff
840 #define DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT		0
841 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO(uint32_t val)
842 {
843 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__MASK;
844 }
845 
846 #define REG_DSI_28nm_PHY_TIMING_CTRL_1				0x00000144
847 #define DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK		0x000000ff
848 #define DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT		0
849 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL(uint32_t val)
850 {
851 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK;
852 }
853 
854 #define REG_DSI_28nm_PHY_TIMING_CTRL_2				0x00000148
855 #define DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK		0x000000ff
856 #define DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT		0
857 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE(uint32_t val)
858 {
859 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK;
860 }
861 
862 #define REG_DSI_28nm_PHY_TIMING_CTRL_3				0x0000014c
863 #define DSI_28nm_PHY_TIMING_CTRL_3_CLK_ZERO_8			0x00000001
864 
865 #define REG_DSI_28nm_PHY_TIMING_CTRL_4				0x00000150
866 #define DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__MASK		0x000000ff
867 #define DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT		0
868 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT(uint32_t val)
869 {
870 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__MASK;
871 }
872 
873 #define REG_DSI_28nm_PHY_TIMING_CTRL_5				0x00000154
874 #define DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__MASK		0x000000ff
875 #define DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT		0
876 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO(uint32_t val)
877 {
878 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__MASK;
879 }
880 
881 #define REG_DSI_28nm_PHY_TIMING_CTRL_6				0x00000158
882 #define DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__MASK		0x000000ff
883 #define DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT		0
884 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE(uint32_t val)
885 {
886 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__MASK;
887 }
888 
889 #define REG_DSI_28nm_PHY_TIMING_CTRL_7				0x0000015c
890 #define DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__MASK		0x000000ff
891 #define DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT		0
892 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL(uint32_t val)
893 {
894 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__MASK;
895 }
896 
897 #define REG_DSI_28nm_PHY_TIMING_CTRL_8				0x00000160
898 #define DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__MASK		0x000000ff
899 #define DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__SHIFT		0
900 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST(uint32_t val)
901 {
902 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__MASK;
903 }
904 
905 #define REG_DSI_28nm_PHY_TIMING_CTRL_9				0x00000164
906 #define DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__MASK			0x00000007
907 #define DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__SHIFT			0
908 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_9_TA_GO(uint32_t val)
909 {
910 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__MASK;
911 }
912 #define DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__MASK		0x00000070
913 #define DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__SHIFT		4
914 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE(uint32_t val)
915 {
916 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__MASK;
917 }
918 
919 #define REG_DSI_28nm_PHY_TIMING_CTRL_10				0x00000168
920 #define DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__MASK		0x00000007
921 #define DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__SHIFT		0
922 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_10_TA_GET(uint32_t val)
923 {
924 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__MASK;
925 }
926 
927 #define REG_DSI_28nm_PHY_TIMING_CTRL_11				0x0000016c
928 #define DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK		0x000000ff
929 #define DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT		0
930 static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD(uint32_t val)
931 {
932 	return ((val) << DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK;
933 }
934 
935 #define REG_DSI_28nm_PHY_CTRL_0					0x00000170
936 
937 #define REG_DSI_28nm_PHY_CTRL_1					0x00000174
938 
939 #define REG_DSI_28nm_PHY_CTRL_2					0x00000178
940 
941 #define REG_DSI_28nm_PHY_CTRL_3					0x0000017c
942 
943 #define REG_DSI_28nm_PHY_CTRL_4					0x00000180
944 
945 #define REG_DSI_28nm_PHY_STRENGTH_0				0x00000184
946 
947 #define REG_DSI_28nm_PHY_STRENGTH_1				0x00000188
948 
949 #define REG_DSI_28nm_PHY_BIST_CTRL_0				0x000001b4
950 
951 #define REG_DSI_28nm_PHY_BIST_CTRL_1				0x000001b8
952 
953 #define REG_DSI_28nm_PHY_BIST_CTRL_2				0x000001bc
954 
955 #define REG_DSI_28nm_PHY_BIST_CTRL_3				0x000001c0
956 
957 #define REG_DSI_28nm_PHY_BIST_CTRL_4				0x000001c4
958 
959 #define REG_DSI_28nm_PHY_BIST_CTRL_5				0x000001c8
960 
961 #define REG_DSI_28nm_PHY_GLBL_TEST_CTRL				0x000001d4
962 #define DSI_28nm_PHY_GLBL_TEST_CTRL_BITCLK_HS_SEL		0x00000001
963 
964 #define REG_DSI_28nm_PHY_LDO_CNTRL				0x000001dc
965 
966 #define REG_DSI_28nm_PHY_REGULATOR_CTRL_0			0x00000000
967 
968 #define REG_DSI_28nm_PHY_REGULATOR_CTRL_1			0x00000004
969 
970 #define REG_DSI_28nm_PHY_REGULATOR_CTRL_2			0x00000008
971 
972 #define REG_DSI_28nm_PHY_REGULATOR_CTRL_3			0x0000000c
973 
974 #define REG_DSI_28nm_PHY_REGULATOR_CTRL_4			0x00000010
975 
976 #define REG_DSI_28nm_PHY_REGULATOR_CTRL_5			0x00000014
977 
978 #define REG_DSI_28nm_PHY_REGULATOR_CAL_PWR_CFG			0x00000018
979 
980 #define REG_DSI_28nm_PHY_PLL_REFCLK_CFG				0x00000000
981 #define DSI_28nm_PHY_PLL_REFCLK_CFG_DBLR			0x00000001
982 
983 #define REG_DSI_28nm_PHY_PLL_POSTDIV1_CFG			0x00000004
984 
985 #define REG_DSI_28nm_PHY_PLL_CHGPUMP_CFG			0x00000008
986 
987 #define REG_DSI_28nm_PHY_PLL_VCOLPF_CFG				0x0000000c
988 
989 #define REG_DSI_28nm_PHY_PLL_VREG_CFG				0x00000010
990 #define DSI_28nm_PHY_PLL_VREG_CFG_POSTDIV1_BYPASS_B		0x00000002
991 
992 #define REG_DSI_28nm_PHY_PLL_PWRGEN_CFG				0x00000014
993 
994 #define REG_DSI_28nm_PHY_PLL_DMUX_CFG				0x00000018
995 
996 #define REG_DSI_28nm_PHY_PLL_AMUX_CFG				0x0000001c
997 
998 #define REG_DSI_28nm_PHY_PLL_GLB_CFG				0x00000020
999 #define DSI_28nm_PHY_PLL_GLB_CFG_PLL_PWRDN_B			0x00000001
1000 #define DSI_28nm_PHY_PLL_GLB_CFG_PLL_LDO_PWRDN_B		0x00000002
1001 #define DSI_28nm_PHY_PLL_GLB_CFG_PLL_PWRGEN_PWRDN_B		0x00000004
1002 #define DSI_28nm_PHY_PLL_GLB_CFG_PLL_ENABLE			0x00000008
1003 
1004 #define REG_DSI_28nm_PHY_PLL_POSTDIV2_CFG			0x00000024
1005 
1006 #define REG_DSI_28nm_PHY_PLL_POSTDIV3_CFG			0x00000028
1007 
1008 #define REG_DSI_28nm_PHY_PLL_LPFR_CFG				0x0000002c
1009 
1010 #define REG_DSI_28nm_PHY_PLL_LPFC1_CFG				0x00000030
1011 
1012 #define REG_DSI_28nm_PHY_PLL_LPFC2_CFG				0x00000034
1013 
1014 #define REG_DSI_28nm_PHY_PLL_SDM_CFG0				0x00000038
1015 #define DSI_28nm_PHY_PLL_SDM_CFG0_BYP_DIV__MASK			0x0000003f
1016 #define DSI_28nm_PHY_PLL_SDM_CFG0_BYP_DIV__SHIFT		0
1017 static inline uint32_t DSI_28nm_PHY_PLL_SDM_CFG0_BYP_DIV(uint32_t val)
1018 {
1019 	return ((val) << DSI_28nm_PHY_PLL_SDM_CFG0_BYP_DIV__SHIFT) & DSI_28nm_PHY_PLL_SDM_CFG0_BYP_DIV__MASK;
1020 }
1021 #define DSI_28nm_PHY_PLL_SDM_CFG0_BYP				0x00000040
1022 
1023 #define REG_DSI_28nm_PHY_PLL_SDM_CFG1				0x0000003c
1024 #define DSI_28nm_PHY_PLL_SDM_CFG1_DC_OFFSET__MASK		0x0000003f
1025 #define DSI_28nm_PHY_PLL_SDM_CFG1_DC_OFFSET__SHIFT		0
1026 static inline uint32_t DSI_28nm_PHY_PLL_SDM_CFG1_DC_OFFSET(uint32_t val)
1027 {
1028 	return ((val) << DSI_28nm_PHY_PLL_SDM_CFG1_DC_OFFSET__SHIFT) & DSI_28nm_PHY_PLL_SDM_CFG1_DC_OFFSET__MASK;
1029 }
1030 #define DSI_28nm_PHY_PLL_SDM_CFG1_DITHER_EN__MASK		0x00000040
1031 #define DSI_28nm_PHY_PLL_SDM_CFG1_DITHER_EN__SHIFT		6
1032 static inline uint32_t DSI_28nm_PHY_PLL_SDM_CFG1_DITHER_EN(uint32_t val)
1033 {
1034 	return ((val) << DSI_28nm_PHY_PLL_SDM_CFG1_DITHER_EN__SHIFT) & DSI_28nm_PHY_PLL_SDM_CFG1_DITHER_EN__MASK;
1035 }
1036 
1037 #define REG_DSI_28nm_PHY_PLL_SDM_CFG2				0x00000040
1038 #define DSI_28nm_PHY_PLL_SDM_CFG2_FREQ_SEED_7_0__MASK		0x000000ff
1039 #define DSI_28nm_PHY_PLL_SDM_CFG2_FREQ_SEED_7_0__SHIFT		0
1040 static inline uint32_t DSI_28nm_PHY_PLL_SDM_CFG2_FREQ_SEED_7_0(uint32_t val)
1041 {
1042 	return ((val) << DSI_28nm_PHY_PLL_SDM_CFG2_FREQ_SEED_7_0__SHIFT) & DSI_28nm_PHY_PLL_SDM_CFG2_FREQ_SEED_7_0__MASK;
1043 }
1044 
1045 #define REG_DSI_28nm_PHY_PLL_SDM_CFG3				0x00000044
1046 #define DSI_28nm_PHY_PLL_SDM_CFG3_FREQ_SEED_15_8__MASK		0x000000ff
1047 #define DSI_28nm_PHY_PLL_SDM_CFG3_FREQ_SEED_15_8__SHIFT		0
1048 static inline uint32_t DSI_28nm_PHY_PLL_SDM_CFG3_FREQ_SEED_15_8(uint32_t val)
1049 {
1050 	return ((val) << DSI_28nm_PHY_PLL_SDM_CFG3_FREQ_SEED_15_8__SHIFT) & DSI_28nm_PHY_PLL_SDM_CFG3_FREQ_SEED_15_8__MASK;
1051 }
1052 
1053 #define REG_DSI_28nm_PHY_PLL_SDM_CFG4				0x00000048
1054 
1055 #define REG_DSI_28nm_PHY_PLL_SSC_CFG0				0x0000004c
1056 
1057 #define REG_DSI_28nm_PHY_PLL_SSC_CFG1				0x00000050
1058 
1059 #define REG_DSI_28nm_PHY_PLL_SSC_CFG2				0x00000054
1060 
1061 #define REG_DSI_28nm_PHY_PLL_SSC_CFG3				0x00000058
1062 
1063 #define REG_DSI_28nm_PHY_PLL_LKDET_CFG0				0x0000005c
1064 
1065 #define REG_DSI_28nm_PHY_PLL_LKDET_CFG1				0x00000060
1066 
1067 #define REG_DSI_28nm_PHY_PLL_LKDET_CFG2				0x00000064
1068 
1069 #define REG_DSI_28nm_PHY_PLL_TEST_CFG				0x00000068
1070 #define DSI_28nm_PHY_PLL_TEST_CFG_PLL_SW_RESET			0x00000001
1071 
1072 #define REG_DSI_28nm_PHY_PLL_CAL_CFG0				0x0000006c
1073 
1074 #define REG_DSI_28nm_PHY_PLL_CAL_CFG1				0x00000070
1075 
1076 #define REG_DSI_28nm_PHY_PLL_CAL_CFG2				0x00000074
1077 
1078 #define REG_DSI_28nm_PHY_PLL_CAL_CFG3				0x00000078
1079 
1080 #define REG_DSI_28nm_PHY_PLL_CAL_CFG4				0x0000007c
1081 
1082 #define REG_DSI_28nm_PHY_PLL_CAL_CFG5				0x00000080
1083 
1084 #define REG_DSI_28nm_PHY_PLL_CAL_CFG6				0x00000084
1085 
1086 #define REG_DSI_28nm_PHY_PLL_CAL_CFG7				0x00000088
1087 
1088 #define REG_DSI_28nm_PHY_PLL_CAL_CFG8				0x0000008c
1089 
1090 #define REG_DSI_28nm_PHY_PLL_CAL_CFG9				0x00000090
1091 
1092 #define REG_DSI_28nm_PHY_PLL_CAL_CFG10				0x00000094
1093 
1094 #define REG_DSI_28nm_PHY_PLL_CAL_CFG11				0x00000098
1095 
1096 #define REG_DSI_28nm_PHY_PLL_EFUSE_CFG				0x0000009c
1097 
1098 #define REG_DSI_28nm_PHY_PLL_DEBUG_BUS_SEL			0x000000a0
1099 
1100 #define REG_DSI_28nm_PHY_PLL_CTRL_42				0x000000a4
1101 
1102 #define REG_DSI_28nm_PHY_PLL_CTRL_43				0x000000a8
1103 
1104 #define REG_DSI_28nm_PHY_PLL_CTRL_44				0x000000ac
1105 
1106 #define REG_DSI_28nm_PHY_PLL_CTRL_45				0x000000b0
1107 
1108 #define REG_DSI_28nm_PHY_PLL_CTRL_46				0x000000b4
1109 
1110 #define REG_DSI_28nm_PHY_PLL_CTRL_47				0x000000b8
1111 
1112 #define REG_DSI_28nm_PHY_PLL_CTRL_48				0x000000bc
1113 
1114 #define REG_DSI_28nm_PHY_PLL_STATUS				0x000000c0
1115 #define DSI_28nm_PHY_PLL_STATUS_PLL_RDY				0x00000001
1116 
1117 #define REG_DSI_28nm_PHY_PLL_DEBUG_BUS0				0x000000c4
1118 
1119 #define REG_DSI_28nm_PHY_PLL_DEBUG_BUS1				0x000000c8
1120 
1121 #define REG_DSI_28nm_PHY_PLL_DEBUG_BUS2				0x000000cc
1122 
1123 #define REG_DSI_28nm_PHY_PLL_DEBUG_BUS3				0x000000d0
1124 
1125 #define REG_DSI_28nm_PHY_PLL_CTRL_54				0x000000d4
1126 
1127 static inline uint32_t REG_DSI_20nm_PHY_LN(uint32_t i0) { return 0x00000000 + 0x40*i0; }
1128 
1129 static inline uint32_t REG_DSI_20nm_PHY_LN_CFG_0(uint32_t i0) { return 0x00000000 + 0x40*i0; }
1130 
1131 static inline uint32_t REG_DSI_20nm_PHY_LN_CFG_1(uint32_t i0) { return 0x00000004 + 0x40*i0; }
1132 
1133 static inline uint32_t REG_DSI_20nm_PHY_LN_CFG_2(uint32_t i0) { return 0x00000008 + 0x40*i0; }
1134 
1135 static inline uint32_t REG_DSI_20nm_PHY_LN_CFG_3(uint32_t i0) { return 0x0000000c + 0x40*i0; }
1136 
1137 static inline uint32_t REG_DSI_20nm_PHY_LN_CFG_4(uint32_t i0) { return 0x00000010 + 0x40*i0; }
1138 
1139 static inline uint32_t REG_DSI_20nm_PHY_LN_TEST_DATAPATH(uint32_t i0) { return 0x00000014 + 0x40*i0; }
1140 
1141 static inline uint32_t REG_DSI_20nm_PHY_LN_DEBUG_SEL(uint32_t i0) { return 0x00000018 + 0x40*i0; }
1142 
1143 static inline uint32_t REG_DSI_20nm_PHY_LN_TEST_STR_0(uint32_t i0) { return 0x0000001c + 0x40*i0; }
1144 
1145 static inline uint32_t REG_DSI_20nm_PHY_LN_TEST_STR_1(uint32_t i0) { return 0x00000020 + 0x40*i0; }
1146 
1147 #define REG_DSI_20nm_PHY_LNCK_CFG_0				0x00000100
1148 
1149 #define REG_DSI_20nm_PHY_LNCK_CFG_1				0x00000104
1150 
1151 #define REG_DSI_20nm_PHY_LNCK_CFG_2				0x00000108
1152 
1153 #define REG_DSI_20nm_PHY_LNCK_CFG_3				0x0000010c
1154 
1155 #define REG_DSI_20nm_PHY_LNCK_CFG_4				0x00000110
1156 
1157 #define REG_DSI_20nm_PHY_LNCK_TEST_DATAPATH			0x00000114
1158 
1159 #define REG_DSI_20nm_PHY_LNCK_DEBUG_SEL				0x00000118
1160 
1161 #define REG_DSI_20nm_PHY_LNCK_TEST_STR0				0x0000011c
1162 
1163 #define REG_DSI_20nm_PHY_LNCK_TEST_STR1				0x00000120
1164 
1165 #define REG_DSI_20nm_PHY_TIMING_CTRL_0				0x00000140
1166 #define DSI_20nm_PHY_TIMING_CTRL_0_CLK_ZERO__MASK		0x000000ff
1167 #define DSI_20nm_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT		0
1168 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_0_CLK_ZERO(uint32_t val)
1169 {
1170 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_0_CLK_ZERO__MASK;
1171 }
1172 
1173 #define REG_DSI_20nm_PHY_TIMING_CTRL_1				0x00000144
1174 #define DSI_20nm_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK		0x000000ff
1175 #define DSI_20nm_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT		0
1176 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_1_CLK_TRAIL(uint32_t val)
1177 {
1178 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK;
1179 }
1180 
1181 #define REG_DSI_20nm_PHY_TIMING_CTRL_2				0x00000148
1182 #define DSI_20nm_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK		0x000000ff
1183 #define DSI_20nm_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT		0
1184 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_2_CLK_PREPARE(uint32_t val)
1185 {
1186 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK;
1187 }
1188 
1189 #define REG_DSI_20nm_PHY_TIMING_CTRL_3				0x0000014c
1190 #define DSI_20nm_PHY_TIMING_CTRL_3_CLK_ZERO_8			0x00000001
1191 
1192 #define REG_DSI_20nm_PHY_TIMING_CTRL_4				0x00000150
1193 #define DSI_20nm_PHY_TIMING_CTRL_4_HS_EXIT__MASK		0x000000ff
1194 #define DSI_20nm_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT		0
1195 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_4_HS_EXIT(uint32_t val)
1196 {
1197 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_4_HS_EXIT__MASK;
1198 }
1199 
1200 #define REG_DSI_20nm_PHY_TIMING_CTRL_5				0x00000154
1201 #define DSI_20nm_PHY_TIMING_CTRL_5_HS_ZERO__MASK		0x000000ff
1202 #define DSI_20nm_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT		0
1203 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_5_HS_ZERO(uint32_t val)
1204 {
1205 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_5_HS_ZERO__MASK;
1206 }
1207 
1208 #define REG_DSI_20nm_PHY_TIMING_CTRL_6				0x00000158
1209 #define DSI_20nm_PHY_TIMING_CTRL_6_HS_PREPARE__MASK		0x000000ff
1210 #define DSI_20nm_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT		0
1211 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_6_HS_PREPARE(uint32_t val)
1212 {
1213 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_6_HS_PREPARE__MASK;
1214 }
1215 
1216 #define REG_DSI_20nm_PHY_TIMING_CTRL_7				0x0000015c
1217 #define DSI_20nm_PHY_TIMING_CTRL_7_HS_TRAIL__MASK		0x000000ff
1218 #define DSI_20nm_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT		0
1219 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_7_HS_TRAIL(uint32_t val)
1220 {
1221 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_7_HS_TRAIL__MASK;
1222 }
1223 
1224 #define REG_DSI_20nm_PHY_TIMING_CTRL_8				0x00000160
1225 #define DSI_20nm_PHY_TIMING_CTRL_8_HS_RQST__MASK		0x000000ff
1226 #define DSI_20nm_PHY_TIMING_CTRL_8_HS_RQST__SHIFT		0
1227 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_8_HS_RQST(uint32_t val)
1228 {
1229 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_8_HS_RQST__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_8_HS_RQST__MASK;
1230 }
1231 
1232 #define REG_DSI_20nm_PHY_TIMING_CTRL_9				0x00000164
1233 #define DSI_20nm_PHY_TIMING_CTRL_9_TA_GO__MASK			0x00000007
1234 #define DSI_20nm_PHY_TIMING_CTRL_9_TA_GO__SHIFT			0
1235 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_9_TA_GO(uint32_t val)
1236 {
1237 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_9_TA_GO__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_9_TA_GO__MASK;
1238 }
1239 #define DSI_20nm_PHY_TIMING_CTRL_9_TA_SURE__MASK		0x00000070
1240 #define DSI_20nm_PHY_TIMING_CTRL_9_TA_SURE__SHIFT		4
1241 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_9_TA_SURE(uint32_t val)
1242 {
1243 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_9_TA_SURE__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_9_TA_SURE__MASK;
1244 }
1245 
1246 #define REG_DSI_20nm_PHY_TIMING_CTRL_10				0x00000168
1247 #define DSI_20nm_PHY_TIMING_CTRL_10_TA_GET__MASK		0x00000007
1248 #define DSI_20nm_PHY_TIMING_CTRL_10_TA_GET__SHIFT		0
1249 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_10_TA_GET(uint32_t val)
1250 {
1251 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_10_TA_GET__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_10_TA_GET__MASK;
1252 }
1253 
1254 #define REG_DSI_20nm_PHY_TIMING_CTRL_11				0x0000016c
1255 #define DSI_20nm_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK		0x000000ff
1256 #define DSI_20nm_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT		0
1257 static inline uint32_t DSI_20nm_PHY_TIMING_CTRL_11_TRIG3_CMD(uint32_t val)
1258 {
1259 	return ((val) << DSI_20nm_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT) & DSI_20nm_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK;
1260 }
1261 
1262 #define REG_DSI_20nm_PHY_CTRL_0					0x00000170
1263 
1264 #define REG_DSI_20nm_PHY_CTRL_1					0x00000174
1265 
1266 #define REG_DSI_20nm_PHY_CTRL_2					0x00000178
1267 
1268 #define REG_DSI_20nm_PHY_CTRL_3					0x0000017c
1269 
1270 #define REG_DSI_20nm_PHY_CTRL_4					0x00000180
1271 
1272 #define REG_DSI_20nm_PHY_STRENGTH_0				0x00000184
1273 
1274 #define REG_DSI_20nm_PHY_STRENGTH_1				0x00000188
1275 
1276 #define REG_DSI_20nm_PHY_BIST_CTRL_0				0x000001b4
1277 
1278 #define REG_DSI_20nm_PHY_BIST_CTRL_1				0x000001b8
1279 
1280 #define REG_DSI_20nm_PHY_BIST_CTRL_2				0x000001bc
1281 
1282 #define REG_DSI_20nm_PHY_BIST_CTRL_3				0x000001c0
1283 
1284 #define REG_DSI_20nm_PHY_BIST_CTRL_4				0x000001c4
1285 
1286 #define REG_DSI_20nm_PHY_BIST_CTRL_5				0x000001c8
1287 
1288 #define REG_DSI_20nm_PHY_GLBL_TEST_CTRL				0x000001d4
1289 #define DSI_20nm_PHY_GLBL_TEST_CTRL_BITCLK_HS_SEL		0x00000001
1290 
1291 #define REG_DSI_20nm_PHY_LDO_CNTRL				0x000001dc
1292 
1293 #define REG_DSI_20nm_PHY_REGULATOR_CTRL_0			0x00000000
1294 
1295 #define REG_DSI_20nm_PHY_REGULATOR_CTRL_1			0x00000004
1296 
1297 #define REG_DSI_20nm_PHY_REGULATOR_CTRL_2			0x00000008
1298 
1299 #define REG_DSI_20nm_PHY_REGULATOR_CTRL_3			0x0000000c
1300 
1301 #define REG_DSI_20nm_PHY_REGULATOR_CTRL_4			0x00000010
1302 
1303 #define REG_DSI_20nm_PHY_REGULATOR_CTRL_5			0x00000014
1304 
1305 #define REG_DSI_20nm_PHY_REGULATOR_CAL_PWR_CFG			0x00000018
1306 
1307 
1308 #endif /* DSI_XML */
1309