xref: /linux/drivers/gpu/drm/msm/registers/display/dsi.xml (revision db5d28c0bfe566908719bec8e25443aabecbb802)
1*4f52f5e6SDmitry Baryshkov<?xml version="1.0" encoding="UTF-8"?>
2*4f52f5e6SDmitry Baryshkov<database xmlns="http://nouveau.freedesktop.org/"
3*4f52f5e6SDmitry Baryshkovxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4*4f52f5e6SDmitry Baryshkovxsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
5*4f52f5e6SDmitry Baryshkov<import file="freedreno_copyright.xml"/>
6*4f52f5e6SDmitry Baryshkov
7*4f52f5e6SDmitry Baryshkov<domain name="DSI" width="32">
8*4f52f5e6SDmitry Baryshkov	<enum name="dsi_traffic_mode">
9*4f52f5e6SDmitry Baryshkov		<value name="NON_BURST_SYNCH_PULSE" value="0"/>
10*4f52f5e6SDmitry Baryshkov		<value name="NON_BURST_SYNCH_EVENT" value="1"/>
11*4f52f5e6SDmitry Baryshkov		<value name="BURST_MODE" value="2"/>
12*4f52f5e6SDmitry Baryshkov	</enum>
13*4f52f5e6SDmitry Baryshkov	<enum name="dsi_vid_dst_format">
14*4f52f5e6SDmitry Baryshkov		<value name="VID_DST_FORMAT_RGB565" value="0"/>
15*4f52f5e6SDmitry Baryshkov		<value name="VID_DST_FORMAT_RGB666" value="1"/>
16*4f52f5e6SDmitry Baryshkov		<value name="VID_DST_FORMAT_RGB666_LOOSE" value="2"/>
17*4f52f5e6SDmitry Baryshkov		<value name="VID_DST_FORMAT_RGB888" value="3"/>
18*4f52f5e6SDmitry Baryshkov	</enum>
19*4f52f5e6SDmitry Baryshkov	<enum name="dsi_rgb_swap">
20*4f52f5e6SDmitry Baryshkov		<value name="SWAP_RGB" value="0"/>
21*4f52f5e6SDmitry Baryshkov		<value name="SWAP_RBG" value="1"/>
22*4f52f5e6SDmitry Baryshkov		<value name="SWAP_BGR" value="2"/>
23*4f52f5e6SDmitry Baryshkov		<value name="SWAP_BRG" value="3"/>
24*4f52f5e6SDmitry Baryshkov		<value name="SWAP_GRB" value="4"/>
25*4f52f5e6SDmitry Baryshkov		<value name="SWAP_GBR" value="5"/>
26*4f52f5e6SDmitry Baryshkov	</enum>
27*4f52f5e6SDmitry Baryshkov	<enum name="dsi_cmd_trigger">
28*4f52f5e6SDmitry Baryshkov		<value name="TRIGGER_NONE" value="0"/>
29*4f52f5e6SDmitry Baryshkov		<value name="TRIGGER_SEOF" value="1"/>
30*4f52f5e6SDmitry Baryshkov		<value name="TRIGGER_TE" value="2"/>
31*4f52f5e6SDmitry Baryshkov		<value name="TRIGGER_SW" value="4"/>
32*4f52f5e6SDmitry Baryshkov		<value name="TRIGGER_SW_SEOF" value="5"/>
33*4f52f5e6SDmitry Baryshkov		<value name="TRIGGER_SW_TE" value="6"/>
34*4f52f5e6SDmitry Baryshkov	</enum>
35*4f52f5e6SDmitry Baryshkov	<enum name="dsi_cmd_dst_format">
36*4f52f5e6SDmitry Baryshkov		<value name="CMD_DST_FORMAT_RGB111" value="0"/>
37*4f52f5e6SDmitry Baryshkov		<value name="CMD_DST_FORMAT_RGB332" value="3"/>
38*4f52f5e6SDmitry Baryshkov		<value name="CMD_DST_FORMAT_RGB444" value="4"/>
39*4f52f5e6SDmitry Baryshkov		<value name="CMD_DST_FORMAT_RGB565" value="6"/>
40*4f52f5e6SDmitry Baryshkov		<value name="CMD_DST_FORMAT_RGB666" value="7"/>
41*4f52f5e6SDmitry Baryshkov		<value name="CMD_DST_FORMAT_RGB888" value="8"/>
42*4f52f5e6SDmitry Baryshkov	</enum>
43*4f52f5e6SDmitry Baryshkov	<enum name="dsi_lane_swap">
44*4f52f5e6SDmitry Baryshkov		<value name="LANE_SWAP_0123" value="0"/>
45*4f52f5e6SDmitry Baryshkov		<value name="LANE_SWAP_3012" value="1"/>
46*4f52f5e6SDmitry Baryshkov		<value name="LANE_SWAP_2301" value="2"/>
47*4f52f5e6SDmitry Baryshkov		<value name="LANE_SWAP_1230" value="3"/>
48*4f52f5e6SDmitry Baryshkov		<value name="LANE_SWAP_0321" value="4"/>
49*4f52f5e6SDmitry Baryshkov		<value name="LANE_SWAP_1032" value="5"/>
50*4f52f5e6SDmitry Baryshkov		<value name="LANE_SWAP_2103" value="6"/>
51*4f52f5e6SDmitry Baryshkov		<value name="LANE_SWAP_3210" value="7"/>
52*4f52f5e6SDmitry Baryshkov	</enum>
53*4f52f5e6SDmitry Baryshkov		<enum name="video_config_bpp">
54*4f52f5e6SDmitry Baryshkov		<value name="VIDEO_CONFIG_18BPP" value="0"/>
55*4f52f5e6SDmitry Baryshkov		<value name="VIDEO_CONFIG_24BPP" value="1"/>
56*4f52f5e6SDmitry Baryshkov	</enum>
57*4f52f5e6SDmitry Baryshkov	<enum name="video_pattern_sel">
58*4f52f5e6SDmitry Baryshkov		<value name="VID_PRBS" value="0"/>
59*4f52f5e6SDmitry Baryshkov		<value name="VID_INCREMENTAL" value="1"/>
60*4f52f5e6SDmitry Baryshkov		<value name="VID_FIXED" value="2"/>
61*4f52f5e6SDmitry Baryshkov		<value name="VID_MDSS_GENERAL_PATTERN" value="3"/>
62*4f52f5e6SDmitry Baryshkov	</enum>
63*4f52f5e6SDmitry Baryshkov	<enum name="cmd_mdp_stream0_pattern_sel">
64*4f52f5e6SDmitry Baryshkov		<value name="CMD_MDP_PRBS" value="0"/>
65*4f52f5e6SDmitry Baryshkov		<value name="CMD_MDP_INCREMENTAL" value="1"/>
66*4f52f5e6SDmitry Baryshkov		<value name="CMD_MDP_FIXED" value="2"/>
67*4f52f5e6SDmitry Baryshkov		<value name="CMD_MDP_MDSS_GENERAL_PATTERN" value="3"/>
68*4f52f5e6SDmitry Baryshkov	</enum>
69*4f52f5e6SDmitry Baryshkov	<enum name="cmd_dma_pattern_sel">
70*4f52f5e6SDmitry Baryshkov		<value name="CMD_DMA_PRBS" value="0"/>
71*4f52f5e6SDmitry Baryshkov		<value name="CMD_DMA_INCREMENTAL" value="1"/>
72*4f52f5e6SDmitry Baryshkov		<value name="CMD_DMA_FIXED" value="2"/>
73*4f52f5e6SDmitry Baryshkov		<value name="CMD_DMA_CUSTOM_PATTERN_DMA_FIFO" value="3"/>
74*4f52f5e6SDmitry Baryshkov	</enum>
75*4f52f5e6SDmitry Baryshkov	<bitset name="DSI_IRQ">
76*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_DMA_DONE" pos="0" type="boolean"/>
77*4f52f5e6SDmitry Baryshkov		<bitfield name="MASK_CMD_DMA_DONE" pos="1" type="boolean"/>
78*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MDP_DONE" pos="8" type="boolean"/>
79*4f52f5e6SDmitry Baryshkov		<bitfield name="MASK_CMD_MDP_DONE" pos="9" type="boolean"/>
80*4f52f5e6SDmitry Baryshkov		<bitfield name="VIDEO_DONE" pos="16" type="boolean"/>
81*4f52f5e6SDmitry Baryshkov		<bitfield name="MASK_VIDEO_DONE" pos="17" type="boolean"/>
82*4f52f5e6SDmitry Baryshkov		<bitfield name="BTA_DONE" pos="20" type="boolean"/>
83*4f52f5e6SDmitry Baryshkov		<bitfield name="MASK_BTA_DONE" pos="21" type="boolean"/>
84*4f52f5e6SDmitry Baryshkov		<bitfield name="ERROR" pos="24" type="boolean"/>
85*4f52f5e6SDmitry Baryshkov		<bitfield name="MASK_ERROR" pos="25" type="boolean"/>
86*4f52f5e6SDmitry Baryshkov	</bitset>
87*4f52f5e6SDmitry Baryshkov
88*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00000" name="6G_HW_VERSION">
89*4f52f5e6SDmitry Baryshkov		<bitfield name="MAJOR" low="28" high="31" type="uint"/>
90*4f52f5e6SDmitry Baryshkov		<bitfield name="MINOR" low="16" high="27" type="uint"/>
91*4f52f5e6SDmitry Baryshkov		<bitfield name="STEP" low="0" high="15" type="uint"/>
92*4f52f5e6SDmitry Baryshkov	</reg32>
93*4f52f5e6SDmitry Baryshkov
94*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00000" name="CTRL">
95*4f52f5e6SDmitry Baryshkov		<bitfield name="ENABLE" pos="0" type="boolean"/>
96*4f52f5e6SDmitry Baryshkov		<bitfield name="VID_MODE_EN" pos="1" type="boolean"/>
97*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MODE_EN" pos="2" type="boolean"/>
98*4f52f5e6SDmitry Baryshkov		<bitfield name="LANE0" pos="4" type="boolean"/>
99*4f52f5e6SDmitry Baryshkov		<bitfield name="LANE1" pos="5" type="boolean"/>
100*4f52f5e6SDmitry Baryshkov		<bitfield name="LANE2" pos="6" type="boolean"/>
101*4f52f5e6SDmitry Baryshkov		<bitfield name="LANE3" pos="7" type="boolean"/>
102*4f52f5e6SDmitry Baryshkov		<bitfield name="CLK_EN" pos="8" type="boolean"/>
103*4f52f5e6SDmitry Baryshkov		<bitfield name="ECC_CHECK" pos="20" type="boolean"/>
104*4f52f5e6SDmitry Baryshkov		<bitfield name="CRC_CHECK" pos="24" type="boolean"/>
105*4f52f5e6SDmitry Baryshkov	</reg32>
106*4f52f5e6SDmitry Baryshkov
107*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00004" name="STATUS0">
108*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MODE_ENGINE_BUSY" pos="0" type="boolean"/>
109*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MODE_DMA_BUSY" pos="1" type="boolean"/>
110*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MODE_MDP_BUSY" pos="2" type="boolean"/>
111*4f52f5e6SDmitry Baryshkov		<bitfield name="VIDEO_MODE_ENGINE_BUSY" pos="3" type="boolean"/>
112*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_BUSY" pos="4" type="boolean"/>  <!-- see mipi_dsi_cmd_bta_sw_trigger() -->
113*4f52f5e6SDmitry Baryshkov		<bitfield name="INTERLEAVE_OP_CONTENTION" pos="31" type="boolean"/>
114*4f52f5e6SDmitry Baryshkov	</reg32>
115*4f52f5e6SDmitry Baryshkov
116*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00008" name="FIFO_STATUS">
117*4f52f5e6SDmitry Baryshkov		<bitfield name="VIDEO_MDP_FIFO_OVERFLOW" pos="0" type="boolean"/>
118*4f52f5e6SDmitry Baryshkov		<bitfield name="VIDEO_MDP_FIFO_UNDERFLOW" pos="3" type="boolean"/>
119*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MDP_FIFO_UNDERFLOW" pos="7" type="boolean"/>
120*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_DMA_FIFO_RD_WATERMARK_REACH" pos="8" type="boolean"/>
121*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_DMA_FIFO_WR_WATERMARK_REACH" pos="9" type="boolean"/>
122*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_DMA_FIFO_UNDERFLOW" pos="10" type="boolean"/>
123*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_LP_FIFO_EMPTY"     pos="12" type="boolean"/>
124*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_LP_FIFO_FULL"      pos="13" type="boolean"/>
125*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_LP_FIFO_OVERFLOW"  pos="14" type="boolean"/>
126*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_HS_FIFO_EMPTY"     pos="16" type="boolean"/>
127*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_HS_FIFO_FULL"      pos="17" type="boolean"/>
128*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_HS_FIFO_OVERFLOW"  pos="18" type="boolean"/>
129*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_HS_FIFO_UNDERFLOW" pos="19" type="boolean"/>
130*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN1_HS_FIFO_EMPTY"     pos="20" type="boolean"/>
131*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN1_HS_FIFO_FULL"      pos="21" type="boolean"/>
132*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN1_HS_FIFO_OVERFLOW"  pos="22" type="boolean"/>
133*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN1_HS_FIFO_UNDERFLOW" pos="23" type="boolean"/>
134*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN2_HS_FIFO_EMPTY"     pos="24" type="boolean"/>
135*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN2_HS_FIFO_FULL"      pos="25" type="boolean"/>
136*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN2_HS_FIFO_OVERFLOW"  pos="26" type="boolean"/>
137*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN2_HS_FIFO_UNDERFLOW" pos="27" type="boolean"/>
138*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN3_HS_FIFO_EMPTY"     pos="28" type="boolean"/>
139*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN3_HS_FIFO_FULL"      pos="29" type="boolean"/>
140*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN3_HS_FIFO_OVERFLOW"  pos="30" type="boolean"/>
141*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN3_HS_FIFO_UNDERFLOW" pos="31" type="boolean"/>
142*4f52f5e6SDmitry Baryshkov	</reg32>
143*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0000c" name="VID_CFG0">
144*4f52f5e6SDmitry Baryshkov		<bitfield name="VIRT_CHANNEL" low="0" high="1" type="uint"/>  <!-- always zero? -->
145*4f52f5e6SDmitry Baryshkov		<bitfield name="DST_FORMAT" low="4" high="5" type="dsi_vid_dst_format"/>
146*4f52f5e6SDmitry Baryshkov		<bitfield name="TRAFFIC_MODE" low="8" high="9" type="dsi_traffic_mode"/>
147*4f52f5e6SDmitry Baryshkov		<bitfield name="BLLP_POWER_STOP" pos="12" type="boolean"/>
148*4f52f5e6SDmitry Baryshkov		<bitfield name="EOF_BLLP_POWER_STOP" pos="15" type="boolean"/>
149*4f52f5e6SDmitry Baryshkov		<bitfield name="HSA_POWER_STOP" pos="16" type="boolean"/>
150*4f52f5e6SDmitry Baryshkov		<bitfield name="HBP_POWER_STOP" pos="20" type="boolean"/>
151*4f52f5e6SDmitry Baryshkov		<bitfield name="HFP_POWER_STOP" pos="24" type="boolean"/>
152*4f52f5e6SDmitry Baryshkov		<bitfield name="DATABUS_WIDEN" pos="25" type="boolean"/>
153*4f52f5e6SDmitry Baryshkov		<bitfield name="PULSE_MODE_HSA_HE" pos="28" type="boolean"/>
154*4f52f5e6SDmitry Baryshkov	</reg32>
155*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0001c" name="VID_CFG1">
156*4f52f5e6SDmitry Baryshkov		<bitfield name="R_SEL" pos="0" type="boolean"/>
157*4f52f5e6SDmitry Baryshkov		<bitfield name="G_SEL" pos="4" type="boolean"/>
158*4f52f5e6SDmitry Baryshkov		<bitfield name="B_SEL" pos="8" type="boolean"/>
159*4f52f5e6SDmitry Baryshkov		<bitfield name="RGB_SWAP" low="12" high="14" type="dsi_rgb_swap"/>
160*4f52f5e6SDmitry Baryshkov	</reg32>
161*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00020" name="ACTIVE_H">
162*4f52f5e6SDmitry Baryshkov		<bitfield name="START" low="0" high="11" type="uint"/>
163*4f52f5e6SDmitry Baryshkov		<bitfield name="END" low="16" high="27" type="uint"/>
164*4f52f5e6SDmitry Baryshkov	</reg32>
165*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00024" name="ACTIVE_V">
166*4f52f5e6SDmitry Baryshkov		<bitfield name="START" low="0" high="11" type="uint"/>
167*4f52f5e6SDmitry Baryshkov		<bitfield name="END" low="16" high="27" type="uint"/>
168*4f52f5e6SDmitry Baryshkov	</reg32>
169*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00028" name="TOTAL">
170*4f52f5e6SDmitry Baryshkov		<bitfield name="H_TOTAL" low="0" high="11" type="uint"/>
171*4f52f5e6SDmitry Baryshkov		<bitfield name="V_TOTAL" low="16" high="27" type="uint"/>
172*4f52f5e6SDmitry Baryshkov	</reg32>
173*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0002c" name="ACTIVE_HSYNC">
174*4f52f5e6SDmitry Baryshkov		<bitfield name="START" low="0" high="11" type="uint"/>
175*4f52f5e6SDmitry Baryshkov		<bitfield name="END" low="16" high="27" type="uint"/>
176*4f52f5e6SDmitry Baryshkov	</reg32>
177*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00030" name="ACTIVE_VSYNC_HPOS">
178*4f52f5e6SDmitry Baryshkov		<bitfield name="START" low="0" high="11" type="uint"/>
179*4f52f5e6SDmitry Baryshkov		<bitfield name="END" low="16" high="27" type="uint"/>
180*4f52f5e6SDmitry Baryshkov	</reg32>
181*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00034" name="ACTIVE_VSYNC_VPOS">
182*4f52f5e6SDmitry Baryshkov		<bitfield name="START" low="0" high="11" type="uint"/>
183*4f52f5e6SDmitry Baryshkov		<bitfield name="END" low="16" high="27" type="uint"/>
184*4f52f5e6SDmitry Baryshkov	</reg32>
185*4f52f5e6SDmitry Baryshkov
186*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00038" name="CMD_DMA_CTRL">
187*4f52f5e6SDmitry Baryshkov		<bitfield name="BROADCAST_EN" pos="31" type="boolean"/>
188*4f52f5e6SDmitry Baryshkov		<bitfield name="FROM_FRAME_BUFFER" pos="28" type="boolean"/>
189*4f52f5e6SDmitry Baryshkov		<bitfield name="LOW_POWER" pos="26" type="boolean"/>
190*4f52f5e6SDmitry Baryshkov	</reg32>
191*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0003c" name="CMD_CFG0">
192*4f52f5e6SDmitry Baryshkov		<bitfield name="DST_FORMAT" low="0" high="3" type="dsi_cmd_dst_format"/>
193*4f52f5e6SDmitry Baryshkov		<bitfield name="R_SEL" pos="4" type="boolean"/>
194*4f52f5e6SDmitry Baryshkov		<bitfield name="G_SEL" pos="8" type="boolean"/>
195*4f52f5e6SDmitry Baryshkov		<bitfield name="B_SEL" pos="12" type="boolean"/>
196*4f52f5e6SDmitry Baryshkov		<bitfield name="INTERLEAVE_MAX" low="20" high="23" type="uint"/>
197*4f52f5e6SDmitry Baryshkov		<bitfield name="RGB_SWAP" low="16" high="18" type="dsi_rgb_swap"/>
198*4f52f5e6SDmitry Baryshkov	</reg32>
199*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00040" name="CMD_CFG1">
200*4f52f5e6SDmitry Baryshkov		<bitfield name="WR_MEM_START" low="0" high="7" type="uint"/>
201*4f52f5e6SDmitry Baryshkov		<bitfield name="WR_MEM_CONTINUE" low="8" high="15" type="uint"/>
202*4f52f5e6SDmitry Baryshkov		<bitfield name="INSERT_DCS_COMMAND" pos="16" type="boolean"/>
203*4f52f5e6SDmitry Baryshkov	</reg32>
204*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00044" name="DMA_BASE"/>
205*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00048" name="DMA_LEN"/>
206*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00054" name="CMD_MDP_STREAM0_CTRL">
207*4f52f5e6SDmitry Baryshkov		<bitfield name="DATA_TYPE" low="0" high="5" type="uint"/>
208*4f52f5e6SDmitry Baryshkov		<bitfield name="VIRTUAL_CHANNEL" low="8" high="9" type="uint"/>
209*4f52f5e6SDmitry Baryshkov		<bitfield name="WORD_COUNT" low="16" high="31" type="uint"/>
210*4f52f5e6SDmitry Baryshkov	</reg32>
211*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00058" name="CMD_MDP_STREAM0_TOTAL">
212*4f52f5e6SDmitry Baryshkov		<bitfield name="H_TOTAL" low="0" high="11" type="uint"/>
213*4f52f5e6SDmitry Baryshkov		<bitfield name="V_TOTAL" low="16" high="27" type="uint"/>
214*4f52f5e6SDmitry Baryshkov	</reg32>
215*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0005c" name="CMD_MDP_STREAM1_CTRL">
216*4f52f5e6SDmitry Baryshkov		<bitfield name="DATA_TYPE" low="0" high="5" type="uint"/>
217*4f52f5e6SDmitry Baryshkov		<bitfield name="VIRTUAL_CHANNEL" low="8" high="9" type="uint"/>
218*4f52f5e6SDmitry Baryshkov		<bitfield name="WORD_COUNT" low="16" high="31" type="uint"/>
219*4f52f5e6SDmitry Baryshkov	</reg32>
220*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00060" name="CMD_MDP_STREAM1_TOTAL">
221*4f52f5e6SDmitry Baryshkov		<bitfield name="H_TOTAL" low="0" high="15" type="uint"/>
222*4f52f5e6SDmitry Baryshkov		<bitfield name="V_TOTAL" low="16" high="31" type="uint"/>
223*4f52f5e6SDmitry Baryshkov	</reg32>
224*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00064" name="ACK_ERR_STATUS"/>
225*4f52f5e6SDmitry Baryshkov	<array offset="0x00068" name="RDBK" length="4" stride="4">
226*4f52f5e6SDmitry Baryshkov		<reg32 offset="0x0" name="DATA"/>
227*4f52f5e6SDmitry Baryshkov	</array>
228*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00080" name="TRIG_CTRL">
229*4f52f5e6SDmitry Baryshkov		<bitfield name="DMA_TRIGGER" low="0" high="2" type="dsi_cmd_trigger"/>
230*4f52f5e6SDmitry Baryshkov		<bitfield name="MDP_TRIGGER" low="4" high="6" type="dsi_cmd_trigger"/>
231*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM" low="8" high="9" type="uint"/>
232*4f52f5e6SDmitry Baryshkov		<bitfield name="BLOCK_DMA_WITHIN_FRAME" pos="12" type="boolean"/>
233*4f52f5e6SDmitry Baryshkov		<bitfield name="TE" pos="31" type="boolean"/>
234*4f52f5e6SDmitry Baryshkov	</reg32>
235*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0008c" name="TRIG_DMA"/>
236*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000b0" name="DLN0_PHY_ERR">
237*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_ERR_ESC" pos="0" type="boolean"/>
238*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_ERR_SYNC_ESC" pos="4" type="boolean"/>
239*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_ERR_CONTROL" pos="8" type="boolean"/>
240*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_ERR_CONTENTION_LP0" pos="12" type="boolean"/>
241*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_ERR_CONTENTION_LP1" pos="16" type="boolean"/>
242*4f52f5e6SDmitry Baryshkov	</reg32>
243*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000b4" name="LP_TIMER_CTRL">
244*4f52f5e6SDmitry Baryshkov		<bitfield name="LP_RX_TO" low="0" high="15" type="uint"/>
245*4f52f5e6SDmitry Baryshkov		<bitfield name="BTA_TO" low="16" high="31" type="uint"/>
246*4f52f5e6SDmitry Baryshkov	</reg32>
247*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000b8" name="HS_TIMER_CTRL">
248*4f52f5e6SDmitry Baryshkov		<bitfield name="HS_TX_TO" low="0" high="15" type="uint"/>
249*4f52f5e6SDmitry Baryshkov		<bitfield name="TIMER_RESOLUTION" low="16" high="19" type="uint"/>
250*4f52f5e6SDmitry Baryshkov		<bitfield name="HS_TX_TO_STOP_EN" pos="28" type="boolean"/>
251*4f52f5e6SDmitry Baryshkov	</reg32>
252*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000bc" name="TIMEOUT_STATUS"/>
253*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000c0" name="CLKOUT_TIMING_CTRL">
254*4f52f5e6SDmitry Baryshkov		<bitfield name="T_CLK_PRE" low="0" high="5" type="uint"/>
255*4f52f5e6SDmitry Baryshkov		<bitfield name="T_CLK_POST" low="8" high="13" type="uint"/>
256*4f52f5e6SDmitry Baryshkov	</reg32>
257*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000c8" name="EOT_PACKET_CTRL">
258*4f52f5e6SDmitry Baryshkov		<bitfield name="TX_EOT_APPEND" pos="0" type="boolean"/>
259*4f52f5e6SDmitry Baryshkov		<bitfield name="RX_EOT_IGNORE" pos="4" type="boolean"/>
260*4f52f5e6SDmitry Baryshkov	</reg32>
261*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000a4" name="LANE_STATUS">
262*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_STOPSTATE" pos="0" type="boolean"/>
263*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN1_STOPSTATE" pos="1" type="boolean"/>
264*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN2_STOPSTATE" pos="2" type="boolean"/>
265*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN3_STOPSTATE" pos="3" type="boolean"/>
266*4f52f5e6SDmitry Baryshkov		<bitfield name="CLKLN_STOPSTATE" pos="4" type="boolean"/>
267*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_ULPS_ACTIVE_NOT" pos="8" type="boolean"/>
268*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN1_ULPS_ACTIVE_NOT" pos="9" type="boolean"/>
269*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN2_ULPS_ACTIVE_NOT" pos="10" type="boolean"/>
270*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN3_ULPS_ACTIVE_NOT" pos="11" type="boolean"/>
271*4f52f5e6SDmitry Baryshkov		<bitfield name="CLKLN_ULPS_ACTIVE_NOT" pos="12" type="boolean"/>
272*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN0_DIRECTION" pos="16" type="boolean"/>
273*4f52f5e6SDmitry Baryshkov	</reg32>
274*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000a8" name="LANE_CTRL">
275*4f52f5e6SDmitry Baryshkov		<bitfield name="HS_REQ_SEL_PHY" pos="24" type="boolean"/>
276*4f52f5e6SDmitry Baryshkov		<bitfield name="CLKLN_HS_FORCE_REQUEST" pos="28" type="boolean"/>
277*4f52f5e6SDmitry Baryshkov	</reg32>
278*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x000ac" name="LANE_SWAP_CTRL">
279*4f52f5e6SDmitry Baryshkov		<bitfield name="DLN_SWAP_SEL" low="0" high="2" type="dsi_lane_swap"/>
280*4f52f5e6SDmitry Baryshkov	</reg32>
281*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00108" name="ERR_INT_MASK0"/>
282*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0010c" name="INTR_CTRL" type="DSI_IRQ"/>
283*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00114" name="RESET"/>
284*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00118" name="CLK_CTRL">
285*4f52f5e6SDmitry Baryshkov		<bitfield name="AHBS_HCLK_ON" pos="0" type="boolean"/>
286*4f52f5e6SDmitry Baryshkov		<bitfield name="AHBM_SCLK_ON" pos="1" type="boolean"/>
287*4f52f5e6SDmitry Baryshkov		<bitfield name="PCLK_ON" pos="2" type="boolean"/>
288*4f52f5e6SDmitry Baryshkov		<bitfield name="DSICLK_ON" pos="3" type="boolean"/>
289*4f52f5e6SDmitry Baryshkov		<bitfield name="BYTECLK_ON" pos="4" type="boolean"/>
290*4f52f5e6SDmitry Baryshkov		<bitfield name="ESCCLK_ON" pos="5" type="boolean"/>
291*4f52f5e6SDmitry Baryshkov		<bitfield name="FORCE_ON_DYN_AHBM_HCLK" pos="9" type="boolean"/>
292*4f52f5e6SDmitry Baryshkov	</reg32>
293*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0011c" name="CLK_STATUS">
294*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_AON_AHBM_HCLK_ACTIVE" pos="0" type="boolean"/>
295*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_DYN_AHBM_HCLK_ACTIVE" pos="1" type="boolean"/>
296*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_AON_AHBS_HCLK_ACTIVE" pos="2" type="boolean"/>
297*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_DYN_AHBS_HCLK_ACTIVE" pos="3" type="boolean"/>
298*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_AON_DSICLK_ACTIVE" pos="4" type="boolean"/>
299*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_DYN_DSICLK_ACTIVE" pos="5" type="boolean"/>
300*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_AON_BYTECLK_ACTIVE" pos="6" type="boolean"/>
301*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_DYN_BYTECLK_ACTIVE" pos="7" type="boolean"/>
302*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_AON_ESCCLK_ACTIVE" pos="8" type="boolean"/>
303*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_AON_PCLK_ACTIVE" pos="9" type="boolean"/>
304*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_DYN_PCLK_ACTIVE" pos="10" type="boolean"/>
305*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_DYN_CMD_PCLK_ACTIVE" pos="12" type="boolean"/>
306*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_CMD_PCLK_ACTIVE" pos="13" type="boolean"/>
307*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_VID_PCLK_ACTIVE" pos="14" type="boolean"/>
308*4f52f5e6SDmitry Baryshkov		<bitfield name="DSI_CAM_BIST_PCLK_ACT" pos="15" type="boolean"/>
309*4f52f5e6SDmitry Baryshkov		<bitfield name="PLL_UNLOCKED" pos="16" type="boolean"/>
310*4f52f5e6SDmitry Baryshkov	</reg32>
311*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00128" name="PHY_RESET">
312*4f52f5e6SDmitry Baryshkov		<bitfield name="RESET" pos="0" type="boolean"/>
313*4f52f5e6SDmitry Baryshkov	</reg32>
314*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00160" name="TEST_PATTERN_GEN_VIDEO_INIT_VAL"/>
315*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00198" name="TPG_MAIN_CONTROL">
316*4f52f5e6SDmitry Baryshkov		<bitfield name="CHECKERED_RECTANGLE_PATTERN" pos="8" type="boolean"/>
317*4f52f5e6SDmitry Baryshkov	</reg32>
318*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x001a0" name="TPG_VIDEO_CONFIG">
319*4f52f5e6SDmitry Baryshkov		<bitfield name="BPP" low="0" high="1" type="video_config_bpp"/>
320*4f52f5e6SDmitry Baryshkov		<bitfield name="RGB" pos="2" type="boolean"/>
321*4f52f5e6SDmitry Baryshkov	</reg32>
322*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00158" name="TEST_PATTERN_GEN_CTRL">
323*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_DMA_PATTERN_SEL" low="16" high="17" type="cmd_dma_pattern_sel"/>
324*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MDP_STREAM0_PATTERN_SEL" low="8" high="9" type="cmd_mdp_stream0_pattern_sel"/>
325*4f52f5e6SDmitry Baryshkov		<bitfield name="VIDEO_PATTERN_SEL" low="4" high="5" type="video_pattern_sel"/>
326*4f52f5e6SDmitry Baryshkov		<bitfield name="TPG_DMA_FIFO_MODE" pos="2" type="boolean"/>
327*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_DMA_TPG_EN" pos="1" type="boolean"/>
328*4f52f5e6SDmitry Baryshkov		<bitfield name="EN" pos="0" type="boolean"/>
329*4f52f5e6SDmitry Baryshkov	</reg32>
330*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00168" name="TEST_PATTERN_GEN_CMD_MDP_INIT_VAL0"/>
331*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x00180" name="TEST_PATTERN_GEN_CMD_STREAM0_TRIGGER">
332*4f52f5e6SDmitry Baryshkov		<bitfield name="SW_TRIGGER" pos="0" type="boolean"/>
333*4f52f5e6SDmitry Baryshkov	</reg32>
334*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0019c" name="TPG_MAIN_CONTROL2">
335*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MDP0_CHECKERED_RECTANGLE_PATTERN" pos="7" type="boolean"/>
336*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MDP1_CHECKERED_RECTANGLE_PATTERN" pos="16" type="boolean"/>
337*4f52f5e6SDmitry Baryshkov		<bitfield name="CMD_MDP2_CHECKERED_RECTANGLE_PATTERN" pos="25" type="boolean"/>
338*4f52f5e6SDmitry Baryshkov	</reg32>
339*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0017c" name="T_CLK_PRE_EXTEND">
340*4f52f5e6SDmitry Baryshkov		<bitfield name="INC_BY_2_BYTECLK" pos="0" type="boolean"/>
341*4f52f5e6SDmitry Baryshkov	</reg32>
342*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x001b4" name="CMD_MODE_MDP_CTRL2">
343*4f52f5e6SDmitry Baryshkov		<bitfield name="DST_FORMAT2" low="0" high="3" type="dsi_cmd_dst_format"/>
344*4f52f5e6SDmitry Baryshkov		<bitfield name="R_SEL" pos="4" type="boolean"/>
345*4f52f5e6SDmitry Baryshkov		<bitfield name="G_SEL" pos="5" type="boolean"/>
346*4f52f5e6SDmitry Baryshkov		<bitfield name="B_SEL" pos="6" type="boolean"/>
347*4f52f5e6SDmitry Baryshkov		<bitfield name="BYTE_MSB_LSB_FLIP" pos="7" type="boolean"/>
348*4f52f5e6SDmitry Baryshkov		<bitfield name="RGB_SWAP" low="8" high="10" type="dsi_rgb_swap"/>
349*4f52f5e6SDmitry Baryshkov		<bitfield name="INPUT_RGB_SWAP" low="12" high="14" type="dsi_rgb_swap"/>
350*4f52f5e6SDmitry Baryshkov		<bitfield name="BURST_MODE" pos="16" type="boolean"/>
351*4f52f5e6SDmitry Baryshkov		<bitfield name="DATABUS_WIDEN" pos="20" type="boolean"/>
352*4f52f5e6SDmitry Baryshkov	</reg32>
353*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x001b8" name="CMD_MODE_MDP_STREAM2_CTRL">
354*4f52f5e6SDmitry Baryshkov		<bitfield name="DATA_TYPE" low="0" high="5" type="uint"/>
355*4f52f5e6SDmitry Baryshkov		<bitfield name="VIRTUAL_CHANNEL" low="8" high="9" type="uint"/>
356*4f52f5e6SDmitry Baryshkov		<bitfield name="WORD_COUNT" low="16" high="31" type="uint"/>
357*4f52f5e6SDmitry Baryshkov	</reg32>
358*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x001d0" name="RDBK_DATA_CTRL">
359*4f52f5e6SDmitry Baryshkov		<bitfield name="COUNT" low="16" high="23" type="uint"/>
360*4f52f5e6SDmitry Baryshkov		<bitfield name="CLR" pos="0" type="boolean"/>
361*4f52f5e6SDmitry Baryshkov	</reg32>
362*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x001f0" name="VERSION">
363*4f52f5e6SDmitry Baryshkov		<bitfield name="MAJOR" low="24" high="31" type="uint"/>
364*4f52f5e6SDmitry Baryshkov	</reg32>
365*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x002d4" name="CPHY_MODE_CTRL"/>
366*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x0029c" name="VIDEO_COMPRESSION_MODE_CTRL">
367*4f52f5e6SDmitry Baryshkov		<bitfield name="WC" low="16" high="31" type="uint"/>
368*4f52f5e6SDmitry Baryshkov		<bitfield name="DATATYPE" low="8" high="13" type="uint"/>
369*4f52f5e6SDmitry Baryshkov		<bitfield name="PKT_PER_LINE" low="6" high="7" type="uint"/>
370*4f52f5e6SDmitry Baryshkov		<bitfield name="EOL_BYTE_NUM" low="4" high="5" type="uint"/>
371*4f52f5e6SDmitry Baryshkov		<bitfield name="EN" pos="0" type="boolean"/>
372*4f52f5e6SDmitry Baryshkov	</reg32>
373*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x002a4" name="COMMAND_COMPRESSION_MODE_CTRL">
374*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM1_DATATYPE" low="24" high="29" type="uint"/>
375*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM1_PKT_PER_LINE" low="22" high="23" type="uint"/>
376*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM1_EOL_BYTE_NUM" low="20" high="21" type="uint"/>
377*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM1_EN" pos="16" type="boolean"/>
378*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM0_DATATYPE" low="8" high="13" type="uint"/>
379*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM0_PKT_PER_LINE" low="6" high="7" type="uint"/>
380*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM0_EOL_BYTE_NUM" low="4" high="5" type="uint"/>
381*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM0_EN" pos="0" type="boolean"/>
382*4f52f5e6SDmitry Baryshkov	</reg32>
383*4f52f5e6SDmitry Baryshkov	<reg32 offset="0x002a8" name="COMMAND_COMPRESSION_MODE_CTRL2">
384*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM1_SLICE_WIDTH" low="16" high="31" type="uint"/>
385*4f52f5e6SDmitry Baryshkov		<bitfield name="STREAM0_SLICE_WIDTH" low="0" high="15" type="uint"/>
386*4f52f5e6SDmitry Baryshkov	</reg32>
387*4f52f5e6SDmitry Baryshkov
388*4f52f5e6SDmitry Baryshkov</domain>
389*4f52f5e6SDmitry Baryshkov
390*4f52f5e6SDmitry Baryshkov</database>
391