aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm
diff options
context:
space:
mode:
authorHai Li <hali@codeaurora.org>2015-03-13 19:24:15 -0400
committerRob Clark <robdclark@gmail.com>2015-04-01 19:29:35 -0400
commit3b3627a35d866946aa34adf8a2c57d62bb9dc570 (patch)
tree74428eb2e82117872311d36aa221234140d9297b /drivers/gpu/drm/msm
parentde31ea694466fa199b5ff3cc71fb8308a1f0791e (diff)
drm/msm/dsi: Update generated DSI header file
Prepare for initial DSI implementation Signed-off-by: Hai Li <hali@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm')
-rw-r--r--drivers/gpu/drm/msm/dsi/dsi.xml.h418
1 files changed, 376 insertions, 42 deletions
diff --git a/drivers/gpu/drm/msm/dsi/dsi.xml.h b/drivers/gpu/drm/msm/dsi/dsi.xml.h
index abf1bba520bf..1dcfae265e98 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.xml.h
+++ b/drivers/gpu/drm/msm/dsi/dsi.xml.h
@@ -8,19 +8,10 @@ http://github.com/freedreno/envytools/
8git clone https://github.com/freedreno/envytools.git 8git clone https://github.com/freedreno/envytools.git
9 9
10The rules-ng-ng source files this header was generated from are: 10The rules-ng-ng source files this header was generated from are:
11- /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 676 bytes, from 2014-12-05 15:34:49) 11- /usr2/hali/local/envytools/envytools/rnndb/dsi/dsi.xml ( 18681 bytes, from 2015-03-04 23:08:31)
12- /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 12- /usr2/hali/local/envytools/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2015-01-28 21:43:22)
13- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 20908 bytes, from 2014-12-08 16:13:00) 13
14- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 2357 bytes, from 2014-12-08 16:13:00) 14Copyright (C) 2013-2015 by the following authors:
15- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 27208 bytes, from 2015-01-13 23:56:11)
16- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43)
17- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32)
18- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1686 bytes, from 2014-10-31 16:48:57)
19- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12)
20- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 26848 bytes, from 2015-01-13 23:55:57)
21- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml ( 8253 bytes, from 2014-12-08 16:13:00)
22
23Copyright (C) 2013 by the following authors:
24- Rob Clark <robdclark@gmail.com> (robclark) 15- Rob Clark <robdclark@gmail.com> (robclark)
25 16
26Permission is hereby granted, free of charge, to any person obtaining 17Permission is hereby granted, free of charge, to any person obtaining
@@ -51,11 +42,11 @@ enum dsi_traffic_mode {
51 BURST_MODE = 2, 42 BURST_MODE = 2,
52}; 43};
53 44
54enum dsi_dst_format { 45enum dsi_vid_dst_format {
55 DST_FORMAT_RGB565 = 0, 46 VID_DST_FORMAT_RGB565 = 0,
56 DST_FORMAT_RGB666 = 1, 47 VID_DST_FORMAT_RGB666 = 1,
57 DST_FORMAT_RGB666_LOOSE = 2, 48 VID_DST_FORMAT_RGB666_LOOSE = 2,
58 DST_FORMAT_RGB888 = 3, 49 VID_DST_FORMAT_RGB888 = 3,
59}; 50};
60 51
61enum dsi_rgb_swap { 52enum dsi_rgb_swap {
@@ -69,20 +60,63 @@ enum dsi_rgb_swap {
69 60
70enum dsi_cmd_trigger { 61enum dsi_cmd_trigger {
71 TRIGGER_NONE = 0, 62 TRIGGER_NONE = 0,
63 TRIGGER_SEOF = 1,
72 TRIGGER_TE = 2, 64 TRIGGER_TE = 2,
73 TRIGGER_SW = 4, 65 TRIGGER_SW = 4,
74 TRIGGER_SW_SEOF = 5, 66 TRIGGER_SW_SEOF = 5,
75 TRIGGER_SW_TE = 6, 67 TRIGGER_SW_TE = 6,
76}; 68};
77 69
70enum dsi_cmd_dst_format {
71 CMD_DST_FORMAT_RGB111 = 0,
72 CMD_DST_FORMAT_RGB332 = 3,
73 CMD_DST_FORMAT_RGB444 = 4,
74 CMD_DST_FORMAT_RGB565 = 6,
75 CMD_DST_FORMAT_RGB666 = 7,
76 CMD_DST_FORMAT_RGB888 = 8,
77};
78
79enum dsi_lane_swap {
80 LANE_SWAP_0123 = 0,
81 LANE_SWAP_3012 = 1,
82 LANE_SWAP_2301 = 2,
83 LANE_SWAP_1230 = 3,
84 LANE_SWAP_0321 = 4,
85 LANE_SWAP_1032 = 5,
86 LANE_SWAP_2103 = 6,
87 LANE_SWAP_3210 = 7,
88};
89
78#define DSI_IRQ_CMD_DMA_DONE 0x00000001 90#define DSI_IRQ_CMD_DMA_DONE 0x00000001
79#define DSI_IRQ_MASK_CMD_DMA_DONE 0x00000002 91#define DSI_IRQ_MASK_CMD_DMA_DONE 0x00000002
80#define DSI_IRQ_CMD_MDP_DONE 0x00000100 92#define DSI_IRQ_CMD_MDP_DONE 0x00000100
81#define DSI_IRQ_MASK_CMD_MDP_DONE 0x00000200 93#define DSI_IRQ_MASK_CMD_MDP_DONE 0x00000200
82#define DSI_IRQ_VIDEO_DONE 0x00010000 94#define DSI_IRQ_VIDEO_DONE 0x00010000
83#define DSI_IRQ_MASK_VIDEO_DONE 0x00020000 95#define DSI_IRQ_MASK_VIDEO_DONE 0x00020000
96#define DSI_IRQ_BTA_DONE 0x00100000
97#define DSI_IRQ_MASK_BTA_DONE 0x00200000
84#define DSI_IRQ_ERROR 0x01000000 98#define DSI_IRQ_ERROR 0x01000000
85#define DSI_IRQ_MASK_ERROR 0x02000000 99#define DSI_IRQ_MASK_ERROR 0x02000000
100#define REG_DSI_6G_HW_VERSION 0x00000000
101#define DSI_6G_HW_VERSION_MAJOR__MASK 0xf0000000
102#define DSI_6G_HW_VERSION_MAJOR__SHIFT 28
103static inline uint32_t DSI_6G_HW_VERSION_MAJOR(uint32_t val)
104{
105 return ((val) << DSI_6G_HW_VERSION_MAJOR__SHIFT) & DSI_6G_HW_VERSION_MAJOR__MASK;
106}
107#define DSI_6G_HW_VERSION_MINOR__MASK 0x0fff0000
108#define DSI_6G_HW_VERSION_MINOR__SHIFT 16
109static inline uint32_t DSI_6G_HW_VERSION_MINOR(uint32_t val)
110{
111 return ((val) << DSI_6G_HW_VERSION_MINOR__SHIFT) & DSI_6G_HW_VERSION_MINOR__MASK;
112}
113#define DSI_6G_HW_VERSION_STEP__MASK 0x0000ffff
114#define DSI_6G_HW_VERSION_STEP__SHIFT 0
115static inline uint32_t DSI_6G_HW_VERSION_STEP(uint32_t val)
116{
117 return ((val) << DSI_6G_HW_VERSION_STEP__SHIFT) & DSI_6G_HW_VERSION_STEP__MASK;
118}
119
86#define REG_DSI_CTRL 0x00000000 120#define REG_DSI_CTRL 0x00000000
87#define DSI_CTRL_ENABLE 0x00000001 121#define DSI_CTRL_ENABLE 0x00000001
88#define DSI_CTRL_VID_MODE_EN 0x00000002 122#define DSI_CTRL_VID_MODE_EN 0x00000002
@@ -96,11 +130,15 @@ enum dsi_cmd_trigger {
96#define DSI_CTRL_CRC_CHECK 0x01000000 130#define DSI_CTRL_CRC_CHECK 0x01000000
97 131
98#define REG_DSI_STATUS0 0x00000004 132#define REG_DSI_STATUS0 0x00000004
133#define DSI_STATUS0_CMD_MODE_ENGINE_BUSY 0x00000001
99#define DSI_STATUS0_CMD_MODE_DMA_BUSY 0x00000002 134#define DSI_STATUS0_CMD_MODE_DMA_BUSY 0x00000002
135#define DSI_STATUS0_CMD_MODE_MDP_BUSY 0x00000004
100#define DSI_STATUS0_VIDEO_MODE_ENGINE_BUSY 0x00000008 136#define DSI_STATUS0_VIDEO_MODE_ENGINE_BUSY 0x00000008
101#define DSI_STATUS0_DSI_BUSY 0x00000010 137#define DSI_STATUS0_DSI_BUSY 0x00000010
138#define DSI_STATUS0_INTERLEAVE_OP_CONTENTION 0x80000000
102 139
103#define REG_DSI_FIFO_STATUS 0x00000008 140#define REG_DSI_FIFO_STATUS 0x00000008
141#define DSI_FIFO_STATUS_CMD_MDP_FIFO_UNDERFLOW 0x00000080
104 142
105#define REG_DSI_VID_CFG0 0x0000000c 143#define REG_DSI_VID_CFG0 0x0000000c
106#define DSI_VID_CFG0_VIRT_CHANNEL__MASK 0x00000003 144#define DSI_VID_CFG0_VIRT_CHANNEL__MASK 0x00000003
@@ -111,7 +149,7 @@ static inline uint32_t DSI_VID_CFG0_VIRT_CHANNEL(uint32_t val)
111} 149}
112#define DSI_VID_CFG0_DST_FORMAT__MASK 0x00000030 150#define DSI_VID_CFG0_DST_FORMAT__MASK 0x00000030
113#define DSI_VID_CFG0_DST_FORMAT__SHIFT 4 151#define DSI_VID_CFG0_DST_FORMAT__SHIFT 4
114static inline uint32_t DSI_VID_CFG0_DST_FORMAT(enum dsi_dst_format val) 152static inline uint32_t DSI_VID_CFG0_DST_FORMAT(enum dsi_vid_dst_format val)
115{ 153{
116 return ((val) << DSI_VID_CFG0_DST_FORMAT__SHIFT) & DSI_VID_CFG0_DST_FORMAT__MASK; 154 return ((val) << DSI_VID_CFG0_DST_FORMAT__SHIFT) & DSI_VID_CFG0_DST_FORMAT__MASK;
117} 155}
@@ -129,21 +167,15 @@ static inline uint32_t DSI_VID_CFG0_TRAFFIC_MODE(enum dsi_traffic_mode val)
129#define DSI_VID_CFG0_PULSE_MODE_HSA_HE 0x10000000 167#define DSI_VID_CFG0_PULSE_MODE_HSA_HE 0x10000000
130 168
131#define REG_DSI_VID_CFG1 0x0000001c 169#define REG_DSI_VID_CFG1 0x0000001c
132#define DSI_VID_CFG1_R_SEL 0x00000010 170#define DSI_VID_CFG1_R_SEL 0x00000001
133#define DSI_VID_CFG1_G_SEL 0x00000100 171#define DSI_VID_CFG1_G_SEL 0x00000010
134#define DSI_VID_CFG1_B_SEL 0x00001000 172#define DSI_VID_CFG1_B_SEL 0x00000100
135#define DSI_VID_CFG1_RGB_SWAP__MASK 0x00070000 173#define DSI_VID_CFG1_RGB_SWAP__MASK 0x00007000
136#define DSI_VID_CFG1_RGB_SWAP__SHIFT 16 174#define DSI_VID_CFG1_RGB_SWAP__SHIFT 12
137static inline uint32_t DSI_VID_CFG1_RGB_SWAP(enum dsi_rgb_swap val) 175static inline uint32_t DSI_VID_CFG1_RGB_SWAP(enum dsi_rgb_swap val)
138{ 176{
139 return ((val) << DSI_VID_CFG1_RGB_SWAP__SHIFT) & DSI_VID_CFG1_RGB_SWAP__MASK; 177 return ((val) << DSI_VID_CFG1_RGB_SWAP__SHIFT) & DSI_VID_CFG1_RGB_SWAP__MASK;
140} 178}
141#define DSI_VID_CFG1_INTERLEAVE_MAX__MASK 0x00f00000
142#define DSI_VID_CFG1_INTERLEAVE_MAX__SHIFT 20
143static inline uint32_t DSI_VID_CFG1_INTERLEAVE_MAX(uint32_t val)
144{
145 return ((val) << DSI_VID_CFG1_INTERLEAVE_MAX__SHIFT) & DSI_VID_CFG1_INTERLEAVE_MAX__MASK;
146}
147 179
148#define REG_DSI_ACTIVE_H 0x00000020 180#define REG_DSI_ACTIVE_H 0x00000020
149#define DSI_ACTIVE_H_START__MASK 0x00000fff 181#define DSI_ACTIVE_H_START__MASK 0x00000fff
@@ -201,32 +233,115 @@ static inline uint32_t DSI_ACTIVE_HSYNC_END(uint32_t val)
201 return ((val) << DSI_ACTIVE_HSYNC_END__SHIFT) & DSI_ACTIVE_HSYNC_END__MASK; 233 return ((val) << DSI_ACTIVE_HSYNC_END__SHIFT) & DSI_ACTIVE_HSYNC_END__MASK;
202} 234}
203 235
204#define REG_DSI_ACTIVE_VSYNC 0x00000034 236#define REG_DSI_ACTIVE_VSYNC_HPOS 0x00000030
205#define DSI_ACTIVE_VSYNC_START__MASK 0x00000fff 237#define DSI_ACTIVE_VSYNC_HPOS_START__MASK 0x00000fff
206#define DSI_ACTIVE_VSYNC_START__SHIFT 0 238#define DSI_ACTIVE_VSYNC_HPOS_START__SHIFT 0
207static inline uint32_t DSI_ACTIVE_VSYNC_START(uint32_t val) 239static inline uint32_t DSI_ACTIVE_VSYNC_HPOS_START(uint32_t val)
208{ 240{
209 return ((val) << DSI_ACTIVE_VSYNC_START__SHIFT) & DSI_ACTIVE_VSYNC_START__MASK; 241 return ((val) << DSI_ACTIVE_VSYNC_HPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_START__MASK;
210} 242}
211#define DSI_ACTIVE_VSYNC_END__MASK 0x0fff0000 243#define DSI_ACTIVE_VSYNC_HPOS_END__MASK 0x0fff0000
212#define DSI_ACTIVE_VSYNC_END__SHIFT 16 244#define DSI_ACTIVE_VSYNC_HPOS_END__SHIFT 16
213static inline uint32_t DSI_ACTIVE_VSYNC_END(uint32_t val) 245static inline uint32_t DSI_ACTIVE_VSYNC_HPOS_END(uint32_t val)
214{ 246{
215 return ((val) << DSI_ACTIVE_VSYNC_END__SHIFT) & DSI_ACTIVE_VSYNC_END__MASK; 247 return ((val) << DSI_ACTIVE_VSYNC_HPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_END__MASK;
248}
249
250#define REG_DSI_ACTIVE_VSYNC_VPOS 0x00000034
251#define DSI_ACTIVE_VSYNC_VPOS_START__MASK 0x00000fff
252#define DSI_ACTIVE_VSYNC_VPOS_START__SHIFT 0
253static inline uint32_t DSI_ACTIVE_VSYNC_VPOS_START(uint32_t val)
254{
255 return ((val) << DSI_ACTIVE_VSYNC_VPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_START__MASK;
256}
257#define DSI_ACTIVE_VSYNC_VPOS_END__MASK 0x0fff0000
258#define DSI_ACTIVE_VSYNC_VPOS_END__SHIFT 16
259static inline uint32_t DSI_ACTIVE_VSYNC_VPOS_END(uint32_t val)
260{
261 return ((val) << DSI_ACTIVE_VSYNC_VPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_END__MASK;
216} 262}
217 263
218#define REG_DSI_CMD_DMA_CTRL 0x00000038 264#define REG_DSI_CMD_DMA_CTRL 0x00000038
265#define DSI_CMD_DMA_CTRL_BROADCAST_EN 0x80000000
219#define DSI_CMD_DMA_CTRL_FROM_FRAME_BUFFER 0x10000000 266#define DSI_CMD_DMA_CTRL_FROM_FRAME_BUFFER 0x10000000
220#define DSI_CMD_DMA_CTRL_LOW_POWER 0x04000000 267#define DSI_CMD_DMA_CTRL_LOW_POWER 0x04000000
221 268
222#define REG_DSI_CMD_CFG0 0x0000003c 269#define REG_DSI_CMD_CFG0 0x0000003c
270#define DSI_CMD_CFG0_DST_FORMAT__MASK 0x0000000f
271#define DSI_CMD_CFG0_DST_FORMAT__SHIFT 0
272static inline uint32_t DSI_CMD_CFG0_DST_FORMAT(enum dsi_cmd_dst_format val)
273{
274 return ((val) << DSI_CMD_CFG0_DST_FORMAT__SHIFT) & DSI_CMD_CFG0_DST_FORMAT__MASK;
275}
276#define DSI_CMD_CFG0_R_SEL 0x00000010
277#define DSI_CMD_CFG0_G_SEL 0x00000100
278#define DSI_CMD_CFG0_B_SEL 0x00001000
279#define DSI_CMD_CFG0_INTERLEAVE_MAX__MASK 0x00f00000
280#define DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT 20
281static inline uint32_t DSI_CMD_CFG0_INTERLEAVE_MAX(uint32_t val)
282{
283 return ((val) << DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT) & DSI_CMD_CFG0_INTERLEAVE_MAX__MASK;
284}
285#define DSI_CMD_CFG0_RGB_SWAP__MASK 0x00070000
286#define DSI_CMD_CFG0_RGB_SWAP__SHIFT 16
287static inline uint32_t DSI_CMD_CFG0_RGB_SWAP(enum dsi_rgb_swap val)
288{
289 return ((val) << DSI_CMD_CFG0_RGB_SWAP__SHIFT) & DSI_CMD_CFG0_RGB_SWAP__MASK;
290}
223 291
224#define REG_DSI_CMD_CFG1 0x00000040 292#define REG_DSI_CMD_CFG1 0x00000040
293#define DSI_CMD_CFG1_WR_MEM_START__MASK 0x000000ff
294#define DSI_CMD_CFG1_WR_MEM_START__SHIFT 0
295static inline uint32_t DSI_CMD_CFG1_WR_MEM_START(uint32_t val)
296{
297 return ((val) << DSI_CMD_CFG1_WR_MEM_START__SHIFT) & DSI_CMD_CFG1_WR_MEM_START__MASK;
298}
299#define DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK 0x0000ff00
300#define DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT 8
301static inline uint32_t DSI_CMD_CFG1_WR_MEM_CONTINUE(uint32_t val)
302{
303 return ((val) << DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT) & DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK;
304}
305#define DSI_CMD_CFG1_INSERT_DCS_COMMAND 0x00010000
225 306
226#define REG_DSI_DMA_BASE 0x00000044 307#define REG_DSI_DMA_BASE 0x00000044
227 308
228#define REG_DSI_DMA_LEN 0x00000048 309#define REG_DSI_DMA_LEN 0x00000048
229 310
311#define REG_DSI_CMD_MDP_STREAM_CTRL 0x00000054
312#define DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__MASK 0x0000003f
313#define DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__SHIFT 0
314static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE(uint32_t val)
315{
316 return ((val) << DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__MASK;
317}
318#define DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__MASK 0x00000300
319#define DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__SHIFT 8
320static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL(uint32_t val)
321{
322 return ((val) << DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__MASK;
323}
324#define DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__MASK 0xffff0000
325#define DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__SHIFT 16
326static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT(uint32_t val)
327{
328 return ((val) << DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__MASK;
329}
330
331#define REG_DSI_CMD_MDP_STREAM_TOTAL 0x00000058
332#define DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__MASK 0x00000fff
333#define DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__SHIFT 0
334static inline uint32_t DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL(uint32_t val)
335{
336 return ((val) << DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__MASK;
337}
338#define DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__MASK 0x0fff0000
339#define DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__SHIFT 16
340static inline uint32_t DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL(uint32_t val)
341{
342 return ((val) << DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__MASK;
343}
344
230#define REG_DSI_ACK_ERR_STATUS 0x00000064 345#define REG_DSI_ACK_ERR_STATUS 0x00000064
231 346
232static inline uint32_t REG_DSI_RDBK(uint32_t i0) { return 0x00000068 + 0x4*i0; } 347static inline uint32_t REG_DSI_RDBK(uint32_t i0) { return 0x00000068 + 0x4*i0; }
@@ -234,19 +349,25 @@ static inline uint32_t REG_DSI_RDBK(uint32_t i0) { return 0x00000068 + 0x4*i0; }
234static inline uint32_t REG_DSI_RDBK_DATA(uint32_t i0) { return 0x00000068 + 0x4*i0; } 349static inline uint32_t REG_DSI_RDBK_DATA(uint32_t i0) { return 0x00000068 + 0x4*i0; }
235 350
236#define REG_DSI_TRIG_CTRL 0x00000080 351#define REG_DSI_TRIG_CTRL 0x00000080
237#define DSI_TRIG_CTRL_DMA_TRIGGER__MASK 0x0000000f 352#define DSI_TRIG_CTRL_DMA_TRIGGER__MASK 0x00000007
238#define DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT 0 353#define DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT 0
239static inline uint32_t DSI_TRIG_CTRL_DMA_TRIGGER(enum dsi_cmd_trigger val) 354static inline uint32_t DSI_TRIG_CTRL_DMA_TRIGGER(enum dsi_cmd_trigger val)
240{ 355{
241 return ((val) << DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT) & DSI_TRIG_CTRL_DMA_TRIGGER__MASK; 356 return ((val) << DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT) & DSI_TRIG_CTRL_DMA_TRIGGER__MASK;
242} 357}
243#define DSI_TRIG_CTRL_MDP_TRIGGER__MASK 0x000000f0 358#define DSI_TRIG_CTRL_MDP_TRIGGER__MASK 0x00000070
244#define DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT 4 359#define DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT 4
245static inline uint32_t DSI_TRIG_CTRL_MDP_TRIGGER(enum dsi_cmd_trigger val) 360static inline uint32_t DSI_TRIG_CTRL_MDP_TRIGGER(enum dsi_cmd_trigger val)
246{ 361{
247 return ((val) << DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT) & DSI_TRIG_CTRL_MDP_TRIGGER__MASK; 362 return ((val) << DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT) & DSI_TRIG_CTRL_MDP_TRIGGER__MASK;
248} 363}
249#define DSI_TRIG_CTRL_STREAM 0x00000100 364#define DSI_TRIG_CTRL_STREAM__MASK 0x00000300
365#define DSI_TRIG_CTRL_STREAM__SHIFT 8
366static inline uint32_t DSI_TRIG_CTRL_STREAM(uint32_t val)
367{
368 return ((val) << DSI_TRIG_CTRL_STREAM__SHIFT) & DSI_TRIG_CTRL_STREAM__MASK;
369}
370#define DSI_TRIG_CTRL_BLOCK_DMA_WITHIN_FRAME 0x00001000
250#define DSI_TRIG_CTRL_TE 0x80000000 371#define DSI_TRIG_CTRL_TE 0x80000000
251 372
252#define REG_DSI_TRIG_DMA 0x0000008c 373#define REG_DSI_TRIG_DMA 0x0000008c
@@ -274,6 +395,12 @@ static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_POST(uint32_t val)
274#define DSI_EOT_PACKET_CTRL_RX_EOT_IGNORE 0x00000010 395#define DSI_EOT_PACKET_CTRL_RX_EOT_IGNORE 0x00000010
275 396
276#define REG_DSI_LANE_SWAP_CTRL 0x000000ac 397#define REG_DSI_LANE_SWAP_CTRL 0x000000ac
398#define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK 0x00000007
399#define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT 0
400static inline uint32_t DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL(enum dsi_lane_swap val)
401{
402 return ((val) << DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT) & DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK;
403}
277 404
278#define REG_DSI_ERR_INT_MASK0 0x00000108 405#define REG_DSI_ERR_INT_MASK0 0x00000108
279 406
@@ -282,8 +409,36 @@ static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_POST(uint32_t val)
282#define REG_DSI_RESET 0x00000114 409#define REG_DSI_RESET 0x00000114
283 410
284#define REG_DSI_CLK_CTRL 0x00000118 411#define REG_DSI_CLK_CTRL 0x00000118
412#define DSI_CLK_CTRL_AHBS_HCLK_ON 0x00000001
413#define DSI_CLK_CTRL_AHBM_SCLK_ON 0x00000002
414#define DSI_CLK_CTRL_PCLK_ON 0x00000004
415#define DSI_CLK_CTRL_DSICLK_ON 0x00000008
416#define DSI_CLK_CTRL_BYTECLK_ON 0x00000010
417#define DSI_CLK_CTRL_ESCCLK_ON 0x00000020
418#define DSI_CLK_CTRL_FORCE_ON_DYN_AHBM_HCLK 0x00000200
419
420#define REG_DSI_CLK_STATUS 0x0000011c
421#define DSI_CLK_STATUS_PLL_UNLOCKED 0x00010000
285 422
286#define REG_DSI_PHY_RESET 0x00000128 423#define REG_DSI_PHY_RESET 0x00000128
424#define DSI_PHY_RESET_RESET 0x00000001
425
426#define REG_DSI_RDBK_DATA_CTRL 0x000001d0
427#define DSI_RDBK_DATA_CTRL_COUNT__MASK 0x00ff0000
428#define DSI_RDBK_DATA_CTRL_COUNT__SHIFT 16
429static inline uint32_t DSI_RDBK_DATA_CTRL_COUNT(uint32_t val)
430{
431 return ((val) << DSI_RDBK_DATA_CTRL_COUNT__SHIFT) & DSI_RDBK_DATA_CTRL_COUNT__MASK;
432}
433#define DSI_RDBK_DATA_CTRL_CLR 0x00000001
434
435#define REG_DSI_VERSION 0x000001f0
436#define DSI_VERSION_MAJOR__MASK 0xff000000
437#define DSI_VERSION_MAJOR__SHIFT 24
438static inline uint32_t DSI_VERSION_MAJOR(uint32_t val)
439{
440 return ((val) << DSI_VERSION_MAJOR__SHIFT) & DSI_VERSION_MAJOR__MASK;
441}
287 442
288#define REG_DSI_PHY_PLL_CTRL_0 0x00000200 443#define REG_DSI_PHY_PLL_CTRL_0 0x00000200
289#define DSI_PHY_PLL_CTRL_0_ENABLE 0x00000001 444#define DSI_PHY_PLL_CTRL_0_ENABLE 0x00000001
@@ -501,5 +656,184 @@ static inline uint32_t REG_DSI_8960_LN_TEST_STR_1(uint32_t i0) { return 0x000003
501#define REG_DSI_8960_PHY_CAL_STATUS 0x00000550 656#define REG_DSI_8960_PHY_CAL_STATUS 0x00000550
502#define DSI_8960_PHY_CAL_STATUS_CAL_BUSY 0x00000010 657#define DSI_8960_PHY_CAL_STATUS_CAL_BUSY 0x00000010
503 658
659static inline uint32_t REG_DSI_28nm_PHY_LN(uint32_t i0) { return 0x00000000 + 0x40*i0; }
660
661static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_0(uint32_t i0) { return 0x00000000 + 0x40*i0; }
662
663static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_1(uint32_t i0) { return 0x00000004 + 0x40*i0; }
664
665static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_2(uint32_t i0) { return 0x00000008 + 0x40*i0; }
666
667static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_3(uint32_t i0) { return 0x0000000c + 0x40*i0; }
668
669static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_4(uint32_t i0) { return 0x00000010 + 0x40*i0; }
670
671static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_DATAPATH(uint32_t i0) { return 0x00000014 + 0x40*i0; }
672
673static inline uint32_t REG_DSI_28nm_PHY_LN_DEBUG_SEL(uint32_t i0) { return 0x00000018 + 0x40*i0; }
674
675static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_STR_0(uint32_t i0) { return 0x0000001c + 0x40*i0; }
676
677static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_STR_1(uint32_t i0) { return 0x00000020 + 0x40*i0; }
678
679#define REG_DSI_28nm_PHY_LNCK_CFG_0 0x00000100
680
681#define REG_DSI_28nm_PHY_LNCK_CFG_1 0x00000104
682
683#define REG_DSI_28nm_PHY_LNCK_CFG_2 0x00000108
684
685#define REG_DSI_28nm_PHY_LNCK_CFG_3 0x0000010c
686
687#define REG_DSI_28nm_PHY_LNCK_CFG_4 0x00000110
688
689#define REG_DSI_28nm_PHY_LNCK_TEST_DATAPATH 0x00000114
690
691#define REG_DSI_28nm_PHY_LNCK_DEBUG_SEL 0x00000118
692
693#define REG_DSI_28nm_PHY_LNCK_TEST_STR0 0x0000011c
694
695#define REG_DSI_28nm_PHY_LNCK_TEST_STR1 0x00000120
696
697#define REG_DSI_28nm_PHY_TIMING_CTRL_0 0x00000140
698#define DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__MASK 0x000000ff
699#define DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT 0
700static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO(uint32_t val)
701{
702 return ((val) << DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__MASK;
703}
704
705#define REG_DSI_28nm_PHY_TIMING_CTRL_1 0x00000144
706#define DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK 0x000000ff
707#define DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT 0
708static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL(uint32_t val)
709{
710 return ((val) << DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK;
711}
712
713#define REG_DSI_28nm_PHY_TIMING_CTRL_2 0x00000148
714#define DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK 0x000000ff
715#define DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT 0
716static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE(uint32_t val)
717{
718 return ((val) << DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK;
719}
720
721#define REG_DSI_28nm_PHY_TIMING_CTRL_3 0x0000014c
722#define DSI_28nm_PHY_TIMING_CTRL_3_CLK_ZERO_8 0x00000001
723
724#define REG_DSI_28nm_PHY_TIMING_CTRL_4 0x00000150
725#define DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__MASK 0x000000ff
726#define DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT 0
727static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT(uint32_t val)
728{
729 return ((val) << DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__MASK;
730}
731
732#define REG_DSI_28nm_PHY_TIMING_CTRL_5 0x00000154
733#define DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__MASK 0x000000ff
734#define DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT 0
735static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO(uint32_t val)
736{
737 return ((val) << DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__MASK;
738}
739
740#define REG_DSI_28nm_PHY_TIMING_CTRL_6 0x00000158
741#define DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__MASK 0x000000ff
742#define DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT 0
743static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE(uint32_t val)
744{
745 return ((val) << DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__MASK;
746}
747
748#define REG_DSI_28nm_PHY_TIMING_CTRL_7 0x0000015c
749#define DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__MASK 0x000000ff
750#define DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT 0
751static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL(uint32_t val)
752{
753 return ((val) << DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__MASK;
754}
755
756#define REG_DSI_28nm_PHY_TIMING_CTRL_8 0x00000160
757#define DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__MASK 0x000000ff
758#define DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__SHIFT 0
759static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST(uint32_t val)
760{
761 return ((val) << DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__MASK;
762}
763
764#define REG_DSI_28nm_PHY_TIMING_CTRL_9 0x00000164
765#define DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__MASK 0x00000007
766#define DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__SHIFT 0
767static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_9_TA_GO(uint32_t val)
768{
769 return ((val) << DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__MASK;
770}
771#define DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__MASK 0x00000070
772#define DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__SHIFT 4
773static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE(uint32_t val)
774{
775 return ((val) << DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__MASK;
776}
777
778#define REG_DSI_28nm_PHY_TIMING_CTRL_10 0x00000168
779#define DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__MASK 0x00000007
780#define DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__SHIFT 0
781static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_10_TA_GET(uint32_t val)
782{
783 return ((val) << DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__MASK;
784}
785
786#define REG_DSI_28nm_PHY_TIMING_CTRL_11 0x0000016c
787#define DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK 0x000000ff
788#define DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT 0
789static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD(uint32_t val)
790{
791 return ((val) << DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK;
792}
793
794#define REG_DSI_28nm_PHY_CTRL_0 0x00000170
795
796#define REG_DSI_28nm_PHY_CTRL_1 0x00000174
797
798#define REG_DSI_28nm_PHY_CTRL_2 0x00000178
799
800#define REG_DSI_28nm_PHY_CTRL_3 0x0000017c
801
802#define REG_DSI_28nm_PHY_CTRL_4 0x00000180
803
804#define REG_DSI_28nm_PHY_STRENGTH_0 0x00000184
805
806#define REG_DSI_28nm_PHY_STRENGTH_1 0x00000188
807
808#define REG_DSI_28nm_PHY_BIST_CTRL_0 0x000001b4
809
810#define REG_DSI_28nm_PHY_BIST_CTRL_1 0x000001b8
811
812#define REG_DSI_28nm_PHY_BIST_CTRL_2 0x000001bc
813
814#define REG_DSI_28nm_PHY_BIST_CTRL_3 0x000001c0
815
816#define REG_DSI_28nm_PHY_BIST_CTRL_4 0x000001c4
817
818#define REG_DSI_28nm_PHY_BIST_CTRL_5 0x000001c8
819
820#define REG_DSI_28nm_PHY_GLBL_TEST_CTRL 0x000001d4
821
822#define REG_DSI_28nm_PHY_LDO_CNTRL 0x000001dc
823
824#define REG_DSI_28nm_PHY_REGULATOR_CTRL_0 0x00000000
825
826#define REG_DSI_28nm_PHY_REGULATOR_CTRL_1 0x00000004
827
828#define REG_DSI_28nm_PHY_REGULATOR_CTRL_2 0x00000008
829
830#define REG_DSI_28nm_PHY_REGULATOR_CTRL_3 0x0000000c
831
832#define REG_DSI_28nm_PHY_REGULATOR_CTRL_4 0x00000010
833
834#define REG_DSI_28nm_PHY_REGULATOR_CTRL_5 0x00000014
835
836#define REG_DSI_28nm_PHY_REGULATOR_CAL_PWR_CFG 0x00000018
837
504 838
505#endif /* DSI_XML */ 839#endif /* DSI_XML */