mdp5.xml 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <database xmlns="http://nouveau.freedesktop.org/"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
  5. <import file="freedreno_copyright.xml"/>
  6. <import file="display/mdp_common.xml"/>
  7. <!-- where does this belong? -->
  8. <domain name="VBIF" width="32">
  9. </domain>
  10. <domain name="MDSS" width="32">
  11. <reg32 offset="0x00000" name="HW_VERSION">
  12. <bitfield name="STEP" low="0" high="15" type="uint"/>
  13. <bitfield name="MINOR" low="16" high="27" type="uint"/>
  14. <bitfield name="MAJOR" low="28" high="31" type="uint"/>
  15. </reg32>
  16. <reg32 offset="0x00010" name="HW_INTR_STATUS">
  17. <bitfield name="INTR_MDP" pos="0" type="boolean"/>
  18. <bitfield name="INTR_DSI0" pos="4" type="boolean"/>
  19. <bitfield name="INTR_DSI1" pos="5" type="boolean"/>
  20. <bitfield name="INTR_HDMI" pos="8" type="boolean"/>
  21. <bitfield name="INTR_EDP" pos="12" type="boolean"/>
  22. </reg32>
  23. </domain>
  24. <domain name="MDP5" width="32">
  25. <enum name="mdp5_intf_type">
  26. <value name="INTF_DISABLED" value="0x0"/>
  27. <value name="INTF_DSI" value="0x1"/>
  28. <value name="INTF_HDMI" value="0x3"/>
  29. <value name="INTF_LCDC" value="0x5"/>
  30. <value name="INTF_eDP" value="0x9"/>
  31. <value name="INTF_VIRTUAL" value="0x64"/>
  32. <!-- non-display interfaces are listed below: -->
  33. <value name="INTF_WB" value="0x65"/>
  34. </enum>
  35. <enum name="mdp5_intfnum">
  36. <value name="NO_INTF" value="0"/>
  37. <value name="INTF0" value="1"/>
  38. <value name="INTF1" value="2"/>
  39. <value name="INTF2" value="3"/>
  40. <value name="INTF3" value="4"/>
  41. </enum>
  42. <enum name="mdp5_pipe">
  43. <value name="SSPP_NONE" value="0"/>
  44. <value name="SSPP_VIG0" value="1"/>
  45. <value name="SSPP_VIG1" value="2"/>
  46. <value name="SSPP_VIG2" value="3"/>
  47. <value name="SSPP_RGB0" value="4"/>
  48. <value name="SSPP_RGB1" value="5"/>
  49. <value name="SSPP_RGB2" value="6"/>
  50. <value name="SSPP_DMA0" value="7"/>
  51. <value name="SSPP_DMA1" value="8"/>
  52. <value name="SSPP_VIG3" value="9"/>
  53. <value name="SSPP_RGB3" value="10"/>
  54. <value name="SSPP_CURSOR0" value="11"/>
  55. <value name="SSPP_CURSOR1" value="12"/>
  56. </enum>
  57. <enum name="mdp5_format">
  58. <!-- TODO -->
  59. <value name="DUMMY" value="0"/>
  60. </enum>
  61. <enum name="mdp5_ctl_mode">
  62. <value name="MODE_NONE" value="0"/>
  63. <value name="MODE_WB_0_BLOCK" value="1"/>
  64. <value name="MODE_WB_1_BLOCK" value="2"/>
  65. <value name="MODE_WB_0_LINE" value="3"/>
  66. <value name="MODE_WB_1_LINE" value="4"/>
  67. <value name="MODE_WB_2_LINE" value="5"/>
  68. </enum>
  69. <enum name="mdp5_pack_3d">
  70. <value name="PACK_3D_FRAME_INT" value="0"/>
  71. <value name="PACK_3D_H_ROW_INT" value="1"/>
  72. <value name="PACK_3D_V_ROW_INT" value="2"/>
  73. <value name="PACK_3D_COL_INT" value="3"/>
  74. </enum>
  75. <enum name="mdp5_scale_filter">
  76. <value name="SCALE_FILTER_NEAREST" value="0"/>
  77. <value name="SCALE_FILTER_BIL" value="1"/>
  78. <value name="SCALE_FILTER_PCMN" value="2"/>
  79. <value name="SCALE_FILTER_CA" value="3"/>
  80. </enum>
  81. <enum name="mdp5_pipe_bwc">
  82. <value name="BWC_LOSSLESS" value="0"/>
  83. <value name="BWC_Q_HIGH" value="1"/>
  84. <value name="BWC_Q_MED" value="2"/>
  85. </enum>
  86. <enum name="mdp5_cursor_format">
  87. <value name="CURSOR_FMT_ARGB8888" value="0"/>
  88. <value name="CURSOR_FMT_ARGB1555" value="2"/>
  89. <value name="CURSOR_FMT_ARGB4444" value="4"/>
  90. </enum>
  91. <enum name="mdp5_cursor_alpha">
  92. <value name="CURSOR_ALPHA_CONST" value="0"/>
  93. <value name="CURSOR_ALPHA_PER_PIXEL" value="2"/>
  94. </enum>
  95. <bitset name="MDP5_IRQ">
  96. <bitfield name="WB_0_DONE" pos="0" type="boolean"/>
  97. <bitfield name="WB_1_DONE" pos="1" type="boolean"/>
  98. <bitfield name="WB_2_DONE" pos="4" type="boolean"/>
  99. <bitfield name="PING_PONG_0_DONE" pos="8" type="boolean"/>
  100. <bitfield name="PING_PONG_1_DONE" pos="9" type="boolean"/>
  101. <bitfield name="PING_PONG_2_DONE" pos="10" type="boolean"/>
  102. <bitfield name="PING_PONG_3_DONE" pos="11" type="boolean"/>
  103. <bitfield name="PING_PONG_0_RD_PTR" pos="12" type="boolean"/>
  104. <bitfield name="PING_PONG_1_RD_PTR" pos="13" type="boolean"/>
  105. <bitfield name="PING_PONG_2_RD_PTR" pos="14" type="boolean"/>
  106. <bitfield name="PING_PONG_3_RD_PTR" pos="15" type="boolean"/>
  107. <bitfield name="PING_PONG_0_WR_PTR" pos="16" type="boolean"/>
  108. <bitfield name="PING_PONG_1_WR_PTR" pos="17" type="boolean"/>
  109. <bitfield name="PING_PONG_2_WR_PTR" pos="18" type="boolean"/>
  110. <bitfield name="PING_PONG_3_WR_PTR" pos="19" type="boolean"/>
  111. <bitfield name="PING_PONG_0_AUTO_REF" pos="20" type="boolean"/>
  112. <bitfield name="PING_PONG_1_AUTO_REF" pos="21" type="boolean"/>
  113. <bitfield name="PING_PONG_2_AUTO_REF" pos="22" type="boolean"/>
  114. <bitfield name="PING_PONG_3_AUTO_REF" pos="23" type="boolean"/>
  115. <bitfield name="INTF0_UNDER_RUN" pos="24" type="boolean"/>
  116. <bitfield name="INTF0_VSYNC" pos="25" type="boolean"/>
  117. <bitfield name="INTF1_UNDER_RUN" pos="26" type="boolean"/>
  118. <bitfield name="INTF1_VSYNC" pos="27" type="boolean"/>
  119. <bitfield name="INTF2_UNDER_RUN" pos="28" type="boolean"/>
  120. <bitfield name="INTF2_VSYNC" pos="29" type="boolean"/>
  121. <bitfield name="INTF3_UNDER_RUN" pos="30" type="boolean"/>
  122. <bitfield name="INTF3_VSYNC" pos="31" type="boolean"/>
  123. </bitset>
  124. <bitset name="mdp5_smp_alloc" inline="yes">
  125. <!-- Use "mdp5_cfg->mdp.smp.clients[enum mdp5_pipe]" instead -->
  126. <bitfield name="CLIENT0" low="0" high="7" type="uint"/>
  127. <bitfield name="CLIENT1" low="8" high="15" type="uint"/>
  128. <bitfield name="CLIENT2" low="16" high="23" type="uint"/>
  129. </bitset>
  130. <reg32 offset="0x00000" name="HW_VERSION">
  131. <bitfield name="STEP" low="0" high="15" type="uint"/>
  132. <bitfield name="MINOR" low="16" high="27" type="uint"/>
  133. <bitfield name="MAJOR" low="28" high="31" type="uint"/>
  134. </reg32>
  135. <reg32 offset="0x00004" name="DISP_INTF_SEL">
  136. <bitfield name="INTF0" low="0" high="7" type="mdp5_intf_type"/>
  137. <bitfield name="INTF1" low="8" high="15" type="mdp5_intf_type"/>
  138. <bitfield name="INTF2" low="16" high="23" type="mdp5_intf_type"/>
  139. <bitfield name="INTF3" low="24" high="31" type="mdp5_intf_type"/>
  140. </reg32>
  141. <reg32 offset="0x00010" name="INTR_EN" type="MDP5_IRQ"/>
  142. <reg32 offset="0x00014" name="INTR_STATUS" type="MDP5_IRQ"/>
  143. <reg32 offset="0x00018" name="INTR_CLEAR" type="MDP5_IRQ"/>
  144. <reg32 offset="0x0001C" name="HIST_INTR_EN"/>
  145. <reg32 offset="0x00020" name="HIST_INTR_STATUS"/>
  146. <reg32 offset="0x00024" name="HIST_INTR_CLEAR"/>
  147. <reg32 offset="0x00028" name="SPARE_0">
  148. <bitfield name="SPLIT_DPL_SINGLE_FLUSH_EN" pos="0"/>
  149. </reg32>
  150. <array offset="0x00080" name="SMP_ALLOC_W" length="8" stride="4">
  151. <reg32 offset="0" name="REG" type="mdp5_smp_alloc"/>
  152. </array>
  153. <array offset="0x00130" name="SMP_ALLOC_R" length="8" stride="4">
  154. <reg32 offset="0" name="REG" type="mdp5_smp_alloc"/>
  155. </array>
  156. <enum name="mdp5_igc_type">
  157. <value name="IGC_VIG" value="0"/> <!-- 0x200 -->
  158. <value name="IGC_RGB" value="1"/> <!-- 0x210 -->
  159. <value name="IGC_DMA" value="2"/> <!-- 0x220 -->
  160. <value name="IGC_DSPP" value="3"/> <!-- 0x300 -->
  161. </enum>
  162. <array offsets="0x00200,0x00210,0x00220,0x00300" name="IGC" length="3" stride="0x10" index="mdp5_igc_type">
  163. <array offset="0x00" name="LUT" length="3" stride="4">
  164. <reg32 offset="0" name="REG">
  165. <bitfield name="VAL" low="0" high="11"/>
  166. <bitfield name="INDEX_UPDATE" pos="25" type="boolean"/>
  167. <!--
  168. not sure about these:
  169. /* INDEX_UPDATE */
  170. data = (1 << 25) | (((~(1 << blk_idx)) & 0x7) << 28);
  171. MDSS_MDP_REG_WRITE(offset, (cfg->c0_c1_data[0] & 0xFFF) | data);
  172. -->
  173. <bitfield name="DISABLE_PIPE_0" pos="28" type="boolean"/>
  174. <bitfield name="DISABLE_PIPE_1" pos="29" type="boolean"/>
  175. <bitfield name="DISABLE_PIPE_2" pos="30" type="boolean"/>
  176. </reg32>
  177. </array>
  178. </array>
  179. <reg32 offset="0x002f4" name="SPLIT_DPL_EN"/>
  180. <reg32 offset="0x002f8" name="SPLIT_DPL_UPPER">
  181. <bitfield name="SMART_PANEL" pos="1" type="boolean"/>
  182. <bitfield name="SMART_PANEL_FREE_RUN" pos="2" type="boolean"/>
  183. <bitfield name="INTF1_SW_TRG_MUX" pos="4" type="boolean"/>
  184. <bitfield name="INTF2_SW_TRG_MUX" pos="8" type="boolean"/>
  185. </reg32>
  186. <reg32 offset="0x003f0" name="SPLIT_DPL_LOWER">
  187. <bitfield name="SMART_PANEL" pos="1" type="boolean"/>
  188. <bitfield name="SMART_PANEL_FREE_RUN" pos="2" type="boolean"/>
  189. <bitfield name="INTF1_TG_SYNC" pos="4" type="boolean"/>
  190. <bitfield name="INTF2_TG_SYNC" pos="8" type="boolean"/>
  191. </reg32>
  192. <!-- check length/index.. -->
  193. <array doffsets="mdp5_cfg->ctl.base[0],mdp5_cfg->ctl.base[1],mdp5_cfg->ctl.base[2],mdp5_cfg->ctl.base[3],mdp5_cfg->ctl.base[4]" name="CTL" length="5" stride="0x400">
  194. <array offsets="0x000,0x004,0x008,0x00C,0x010,0x024" name="LAYER" length="6" stride="4">
  195. <!--
  196. NOTE: for backwards compat (from when there were fewer stages),
  197. this register has the low three bits of mdp_mixer_stage_id, with
  198. the high bit coming from LAYER_EXT
  199. -->
  200. <reg32 offset="0" name="REG">
  201. <bitfield name="VIG0" low="0" high="2" type="uint"/>
  202. <bitfield name="VIG1" low="3" high="5" type="uint"/>
  203. <bitfield name="VIG2" low="6" high="8" type="uint"/>
  204. <bitfield name="RGB0" low="9" high="11" type="uint"/>
  205. <bitfield name="RGB1" low="12" high="14" type="uint"/>
  206. <bitfield name="RGB2" low="15" high="17" type="uint"/>
  207. <bitfield name="DMA0" low="18" high="20" type="uint"/>
  208. <bitfield name="DMA1" low="21" high="23" type="uint"/>
  209. <bitfield name="BORDER_COLOR" pos="24" type="boolean"/>
  210. <bitfield name="CURSOR_OUT" pos="25" type="boolean"/>
  211. <bitfield name="VIG3" low="26" high="28" type="uint"/>
  212. <bitfield name="RGB3" low="29" high="31" type="uint"/>
  213. </reg32>
  214. </array>
  215. <reg32 offset="0x014" name="OP">
  216. <bitfield name="MODE" low="0" high="3" type="mdp5_ctl_mode"/>
  217. <bitfield name="INTF_NUM" low="4" high="6" type="mdp5_intfnum"/>
  218. <bitfield name="CMD_MODE" pos="17" type="boolean"/>
  219. <bitfield name="PACK_3D_ENABLE" pos="19" type="boolean"/>
  220. <bitfield name="PACK_3D" low="20" high="21" type="mdp5_pack_3d"/>
  221. </reg32>
  222. <reg32 offset="0x018" name="FLUSH">
  223. <bitfield name="VIG0" pos="0" type="boolean"/>
  224. <bitfield name="VIG1" pos="1" type="boolean"/>
  225. <bitfield name="VIG2" pos="2" type="boolean"/>
  226. <bitfield name="RGB0" pos="3" type="boolean"/>
  227. <bitfield name="RGB1" pos="4" type="boolean"/>
  228. <bitfield name="RGB2" pos="5" type="boolean"/>
  229. <bitfield name="LM0" pos="6" type="boolean"/>
  230. <bitfield name="LM1" pos="7" type="boolean"/>
  231. <bitfield name="LM2" pos="8" type="boolean"/>
  232. <bitfield name="LM3" pos="9" type="boolean"/>
  233. <bitfield name="LM4" pos="10" type="boolean"/>
  234. <bitfield name="DMA0" pos="11" type="boolean"/>
  235. <bitfield name="DMA1" pos="12" type="boolean"/>
  236. <bitfield name="DSPP0" pos="13" type="boolean"/>
  237. <bitfield name="DSPP1" pos="14" type="boolean"/>
  238. <bitfield name="DSPP2" pos="15" type="boolean"/>
  239. <bitfield name="WB" pos="16" type="boolean"/>
  240. <bitfield name="CTL" pos="17" type="boolean"/>
  241. <bitfield name="VIG3" pos="18" type="boolean"/>
  242. <bitfield name="RGB3" pos="19" type="boolean"/>
  243. <bitfield name="LM5" pos="20" type="boolean"/>
  244. <bitfield name="DSPP3" pos="21" type="boolean"/>
  245. <bitfield name="CURSOR_0" pos="22" type="boolean"/>
  246. <bitfield name="CURSOR_1" pos="23" type="boolean"/>
  247. <bitfield name="CHROMADOWN_0" pos="26" type="boolean"/>
  248. <bitfield name="TIMING_3" pos="28" type="boolean"/>
  249. <bitfield name="TIMING_2" pos="29" type="boolean"/>
  250. <bitfield name="TIMING_1" pos="30" type="boolean"/>
  251. <bitfield name="TIMING_0" pos="31" type="boolean"/>
  252. </reg32>
  253. <reg32 offset="0x01C" name="START"/>
  254. <reg32 offset="0x020" name="PACK_3D"/>
  255. <array offsets="0x040,0x044,0x048,0x04C,0x050,0x054" name="LAYER_EXT" length="6" stride="4">
  256. <reg32 offset="0" name="REG">
  257. <bitfield name="VIG0_BIT3" pos="0" type="boolean"/>
  258. <bitfield name="VIG1_BIT3" pos="2" type="boolean"/>
  259. <bitfield name="VIG2_BIT3" pos="4" type="boolean"/>
  260. <bitfield name="VIG3_BIT3" pos="6" type="boolean"/>
  261. <bitfield name="RGB0_BIT3" pos="8" type="boolean"/>
  262. <bitfield name="RGB1_BIT3" pos="10" type="boolean"/>
  263. <bitfield name="RGB2_BIT3" pos="12" type="boolean"/>
  264. <bitfield name="RGB3_BIT3" pos="14" type="boolean"/>
  265. <bitfield name="DMA0_BIT3" pos="16" type="boolean"/>
  266. <bitfield name="DMA1_BIT3" pos="18" type="boolean"/>
  267. <bitfield name="CURSOR0" low="20" high="23" type="mdp_mixer_stage_id"/>
  268. <bitfield name="CURSOR1" low="26" high="29" type="mdp_mixer_stage_id"/>
  269. </reg32>
  270. </array>
  271. </array>
  272. <enum name="mdp5_data_format">
  273. <value name="DATA_FORMAT_RGB" value="0"/>
  274. <value name="DATA_FORMAT_YUV" value="1"/>
  275. </enum>
  276. <array doffsets="INVALID_IDX(idx),mdp5_cfg->pipe_vig.base[0],mdp5_cfg->pipe_vig.base[1],mdp5_cfg->pipe_vig.base[2],mdp5_cfg->pipe_rgb.base[0],mdp5_cfg->pipe_rgb.base[1],mdp5_cfg->pipe_rgb.base[2],mdp5_cfg->pipe_dma.base[0],mdp5_cfg->pipe_dma.base[1],mdp5_cfg->pipe_vig.base[3],mdp5_cfg->pipe_rgb.base[3],mdp5_cfg->pipe_cursor.base[0],mdp5_cfg->pipe_cursor.base[1]" name="PIPE" length="10" stride="0x400" index="mdp5_pipe">
  277. <reg32 offset="0x200" name="OP_MODE">
  278. <bitfield name="CSC_DST_DATA_FORMAT" pos="19" type="mdp5_data_format"/>
  279. <bitfield name="CSC_SRC_DATA_FORMAT" pos="18" type="mdp5_data_format"/>
  280. <bitfield name="CSC_1_EN" pos="17" type="boolean"/>
  281. </reg32>
  282. <reg32 offset="0x2C4" name="HIST_CTL_BASE"/>
  283. <reg32 offset="0x2F0" name="HIST_LUT_BASE"/>
  284. <reg32 offset="0x300" name="HIST_LUT_SWAP"/>
  285. <reg32 offset="0x320" name="CSC_1_MATRIX_COEFF_0">
  286. <bitfield name="COEFF_11" low="0" high="12" type="uint"/>
  287. <bitfield name="COEFF_12" low="16" high="28" type="uint"/>
  288. </reg32>
  289. <reg32 offset="0x324" name="CSC_1_MATRIX_COEFF_1">
  290. <bitfield name="COEFF_13" low="0" high="12" type="uint"/>
  291. <bitfield name="COEFF_21" low="16" high="28" type="uint"/>
  292. </reg32>
  293. <reg32 offset="0x328" name="CSC_1_MATRIX_COEFF_2">
  294. <bitfield name="COEFF_22" low="0" high="12" type="uint"/>
  295. <bitfield name="COEFF_23" low="16" high="28" type="uint"/>
  296. </reg32>
  297. <reg32 offset="0x32c" name="CSC_1_MATRIX_COEFF_3">
  298. <bitfield name="COEFF_31" low="0" high="12" type="uint"/>
  299. <bitfield name="COEFF_32" low="16" high="28" type="uint"/>
  300. </reg32>
  301. <reg32 offset="0x330" name="CSC_1_MATRIX_COEFF_4">
  302. <bitfield name="COEFF_33" low="0" high="12" type="uint"/>
  303. </reg32>
  304. <array offset="0x334" name="CSC_1_PRE_CLAMP" length="3" stride="4">
  305. <reg32 offset="0" name="REG">
  306. <bitfield name="HIGH" low="0" high="7" type="uint"/>
  307. <bitfield name="LOW" low="8" high="15" type="uint"/>
  308. </reg32>
  309. </array>
  310. <array offset="0x340" name="CSC_1_POST_CLAMP" length="3" stride="4">
  311. <reg32 offset="0" name="REG">
  312. <bitfield name="HIGH" low="0" high="7" type="uint"/>
  313. <bitfield name="LOW" low="8" high="15" type="uint"/>
  314. </reg32>
  315. </array>
  316. <array offset="0x34c" name="CSC_1_PRE_BIAS" length="3" stride="4">
  317. <reg32 offset="0" name="REG">
  318. <bitfield name="VALUE" low="0" high="8" type="uint"/>
  319. </reg32>
  320. </array>
  321. <array offset="0x358" name="CSC_1_POST_BIAS" length="3" stride="4">
  322. <reg32 offset="0" name="REG">
  323. <bitfield name="VALUE" low="0" high="8" type="uint"/>
  324. </reg32>
  325. </array>
  326. <!-- SSPP: -->
  327. <reg32 offset="0x000" name="SRC_SIZE" type="reg_wh"/>
  328. <reg32 offset="0x004" name="SRC_IMG_SIZE" type="reg_wh"/>
  329. <reg32 offset="0x008" name="SRC_XY" type="reg_xy"/>
  330. <reg32 offset="0x00C" name="OUT_SIZE" type="reg_wh"/>
  331. <reg32 offset="0x010" name="OUT_XY" type="reg_xy"/>
  332. <reg32 offset="0x014" name="SRC0_ADDR"/>
  333. <reg32 offset="0x018" name="SRC1_ADDR"/>
  334. <reg32 offset="0x01C" name="SRC2_ADDR"/>
  335. <reg32 offset="0x020" name="SRC3_ADDR"/>
  336. <reg32 offset="0x024" name="SRC_STRIDE_A">
  337. <bitfield name="P0" low="0" high="15" type="uint"/>
  338. <bitfield name="P1" low="16" high="31" type="uint"/>
  339. </reg32>
  340. <reg32 offset="0x028" name="SRC_STRIDE_B">
  341. <bitfield name="P2" low="0" high="15" type="uint"/>
  342. <bitfield name="P3" low="16" high="31" type="uint"/>
  343. </reg32>
  344. <reg32 offset="0x02C" name="STILE_FRAME_SIZE"/>
  345. <reg32 offset="0x030" name="SRC_FORMAT">
  346. <bitfield name="G_BPC" low="0" high="1" type="mdp_bpc"/>
  347. <bitfield name="B_BPC" low="2" high="3" type="mdp_bpc"/>
  348. <bitfield name="R_BPC" low="4" high="5" type="mdp_bpc"/>
  349. <bitfield name="A_BPC" low="6" high="7" type="mdp_bpc_alpha"/>
  350. <bitfield name="ALPHA_ENABLE" pos="8" type="boolean"/>
  351. <bitfield name="CPP" low="9" high="10" type="uint">
  352. <brief>8bit characters per pixel minus 1</brief>
  353. </bitfield>
  354. <bitfield name="ROT90" pos="11" type="boolean"/>
  355. <bitfield name="UNPACK_COUNT" low="12" high="13" type="uint"/>
  356. <bitfield name="UNPACK_TIGHT" pos="17" type="boolean"/>
  357. <bitfield name="UNPACK_ALIGN_MSB" pos="18" type="boolean"/>
  358. <bitfield name="FETCH_TYPE" low="19" high="20" type="mdp_fetch_type"/>
  359. <bitfield name="CHROMA_SAMP" low="23" high="24" type="mdp_chroma_samp_type"/>
  360. </reg32>
  361. <reg32 offset="0x034" name="SRC_UNPACK" type="mdp_unpack_pattern"/>
  362. <reg32 offset="0x038" name="SRC_OP_MODE">
  363. <bitfield name="BWC_EN" pos="0" type="boolean"/>
  364. <bitfield name="BWC" low="1" high="2" type="mdp5_pipe_bwc"/>
  365. <bitfield name="FLIP_LR" pos="13" type="boolean"/>
  366. <bitfield name="FLIP_UD" pos="14" type="boolean"/>
  367. <bitfield name="IGC_EN" pos="16" type="boolean"/>
  368. <bitfield name="IGC_ROM_0" pos="17" type="boolean"/>
  369. <bitfield name="IGC_ROM_1" pos="18" type="boolean"/>
  370. <bitfield name="DEINTERLACE" pos="22" type="boolean"/>
  371. <bitfield name="DEINTERLACE_ODD" pos="23" type="boolean"/>
  372. <bitfield name="SW_PIX_EXT_OVERRIDE" pos="31" type="boolean"/>
  373. </reg32>
  374. <reg32 offset="0x03c" name="SRC_CONSTANT_COLOR"/>
  375. <reg32 offset="0x048" name="FETCH_CONFIG"/>
  376. <reg32 offset="0x04c" name="VC1_RANGE"/>
  377. <reg32 offset="0x050" name="REQPRIO_FIFO_WM_0"/>
  378. <reg32 offset="0x054" name="REQPRIO_FIFO_WM_1"/>
  379. <reg32 offset="0x058" name="REQPRIO_FIFO_WM_2"/>
  380. <reg32 offset="0x070" name="SRC_ADDR_SW_STATUS"/>
  381. <reg32 offset="0x0a4" name="CURRENT_SRC0_ADDR"/>
  382. <reg32 offset="0x0a8" name="CURRENT_SRC1_ADDR"/>
  383. <reg32 offset="0x0ac" name="CURRENT_SRC2_ADDR"/>
  384. <reg32 offset="0x0b0" name="CURRENT_SRC3_ADDR"/>
  385. <reg32 offset="0x0b4" name="DECIMATION">
  386. <bitfield name="VERT" low="0" high="7" type="uint"/>
  387. <bitfield name="HORZ" low="8" high="15" type="uint"/>
  388. </reg32>
  389. <array offsets="0x100,0x110,0x120" name="SW_PIX_EXT" length="3" stride="0x10" index="mdp_component_type">
  390. <!--
  391. Notes:
  392. o These value only take effect if SW_PIX_EXT_OVERRIDE is set in SRC_OP_MODE register
  393. o For signed values (int): + indicates overfetch, - indicates line drop
  394. -->
  395. <reg32 offset="0x00" name="LR">
  396. <bitfield name="LEFT_RPT" low="0" high="7" type="uint"/>
  397. <bitfield name="LEFT_OVF" low="8" high="15" type="int"/>
  398. <bitfield name="RIGHT_RPT" low="16" high="23" type="uint"/>
  399. <bitfield name="RIGHT_OVF" low="24" high="31" type="int"/>
  400. </reg32>
  401. <reg32 offset="0x04" name="TB">
  402. <bitfield name="TOP_RPT" low="0" high="7" type="uint"/>
  403. <bitfield name="TOP_OVF" low="8" high="15" type="int"/>
  404. <bitfield name="BOTTOM_RPT" low="16" high="23" type="uint"/>
  405. <bitfield name="BOTTOM_OVF" low="24" high="31" type="int"/>
  406. </reg32>
  407. <reg32 offset="0x08" name="REQ_PIXELS">
  408. <bitfield name="LEFT_RIGHT" low="0" high="15" type="uint"/>
  409. <bitfield name="TOP_BOTTOM" low="16" high="31" type="uint"/>
  410. </reg32>
  411. </array>
  412. <reg32 offset="0x204" name="SCALE_CONFIG">
  413. <bitfield name="SCALEX_EN" pos="0" type="boolean"/>
  414. <bitfield name="SCALEY_EN" pos="1" type="boolean"/>
  415. <bitfield name="SCALEX_FILTER_COMP_0" low="8" high="9" type="mdp5_scale_filter"/>
  416. <bitfield name="SCALEY_FILTER_COMP_0" low="10" high="11" type="mdp5_scale_filter"/>
  417. <bitfield name="SCALEX_FILTER_COMP_1_2" low="12" high="13" type="mdp5_scale_filter"/>
  418. <bitfield name="SCALEY_FILTER_COMP_1_2" low="14" high="15" type="mdp5_scale_filter"/>
  419. <bitfield name="SCALEX_FILTER_COMP_3" low="16" high="17" type="mdp5_scale_filter"/>
  420. <bitfield name="SCALEY_FILTER_COMP_3" low="18" high="19" type="mdp5_scale_filter"/>
  421. </reg32>
  422. <reg32 offset="0x210" name="SCALE_PHASE_STEP_X"/>
  423. <reg32 offset="0x214" name="SCALE_PHASE_STEP_Y"/>
  424. <reg32 offset="0x218" name="SCALE_CR_PHASE_STEP_X"/>
  425. <reg32 offset="0x21c" name="SCALE_CR_PHASE_STEP_Y"/>
  426. <reg32 offset="0x220" name="SCALE_INIT_PHASE_X"/>
  427. <reg32 offset="0x224" name="SCALE_INIT_PHASE_Y"/>
  428. </array>
  429. <array doffsets="mdp5_cfg->lm.base[0],mdp5_cfg->lm.base[1],mdp5_cfg->lm.base[2],mdp5_cfg->lm.base[3],mdp5_cfg->lm.base[4],mdp5_cfg->lm.base[5]" name="LM" length="6" stride="0x400">
  430. <reg32 offset="0x000" name="BLEND_COLOR_OUT">
  431. <bitfield name="STAGE0_FG_ALPHA" pos="1" type="boolean"/>
  432. <bitfield name="STAGE1_FG_ALPHA" pos="2" type="boolean"/>
  433. <bitfield name="STAGE2_FG_ALPHA" pos="3" type="boolean"/>
  434. <bitfield name="STAGE3_FG_ALPHA" pos="4" type="boolean"/>
  435. <bitfield name="STAGE4_FG_ALPHA" pos="5" type="boolean"/>
  436. <bitfield name="STAGE5_FG_ALPHA" pos="6" type="boolean"/>
  437. <bitfield name="STAGE6_FG_ALPHA" pos="7" type="boolean"/>
  438. <bitfield name="SPLIT_LEFT_RIGHT" pos="31" type="boolean"/>
  439. </reg32>
  440. <reg32 offset="0x004" name="OUT_SIZE" type="reg_wh"/>
  441. <reg32 offset="0x008" name="BORDER_COLOR_0"/>
  442. <reg32 offset="0x010" name="BORDER_COLOR_1"/>
  443. <array offsets="0x020,0x050,0x080,0x0B0,0x230,0x260,0x290" name="BLEND" length="7" stride="0x30">
  444. <reg32 offset="0x00" name="OP_MODE">
  445. <bitfield name="FG_ALPHA" low="0" high="1" type="mdp_alpha_type"/>
  446. <bitfield name="FG_INV_ALPHA" pos="2" type="boolean"/>
  447. <bitfield name="FG_MOD_ALPHA" pos="3" type="boolean"/>
  448. <bitfield name="FG_INV_MOD_ALPHA" pos="4" type="boolean"/>
  449. <bitfield name="FG_TRANSP_EN" pos="5" type="boolean"/>
  450. <bitfield name="BG_ALPHA" low="8" high="9" type="mdp_alpha_type"/>
  451. <bitfield name="BG_INV_ALPHA" pos="10" type="boolean"/>
  452. <bitfield name="BG_MOD_ALPHA" pos="11" type="boolean"/>
  453. <bitfield name="BG_INV_MOD_ALPHA" pos="12" type="boolean"/>
  454. <bitfield name="BG_TRANSP_EN" pos="13" type="boolean"/>
  455. </reg32>
  456. <reg32 offset="0x04" name="FG_ALPHA"/>
  457. <reg32 offset="0x08" name="BG_ALPHA"/>
  458. <reg32 offset="0x0c" name="FG_TRANSP_LOW0"/>
  459. <reg32 offset="0x10" name="FG_TRANSP_LOW1"/>
  460. <reg32 offset="0x14" name="FG_TRANSP_HIGH0"/>
  461. <reg32 offset="0x18" name="FG_TRANSP_HIGH1"/>
  462. <reg32 offset="0x1c" name="BG_TRANSP_LOW0"/>
  463. <reg32 offset="0x20" name="BG_TRANSP_LOW1"/>
  464. <reg32 offset="0x24" name="BG_TRANSP_HIGH0"/>
  465. <reg32 offset="0x28" name="BG_TRANSP_HIGH1"/>
  466. </array>
  467. <reg32 offset="0x0e0" name="CURSOR_IMG_SIZE">
  468. <bitfield name="SRC_W" low="0" high="15" type="uint"/>
  469. <bitfield name="SRC_H" low="16" high="31" type="uint"/>
  470. </reg32>
  471. <reg32 offset="0x0e4" name="CURSOR_SIZE">
  472. <bitfield name="ROI_W" low="0" high="15" type="uint"/>
  473. <bitfield name="ROI_H" low="16" high="31" type="uint"/>
  474. </reg32>
  475. <reg32 offset="0x0e8" name="CURSOR_XY">
  476. <bitfield name="SRC_X" low="0" high="15" type="uint"/>
  477. <bitfield name="SRC_Y" low="16" high="31" type="uint"/>
  478. </reg32>
  479. <reg32 offset="0x0dc" name="CURSOR_STRIDE">
  480. <bitfield name="STRIDE" low="0" high="15" type="uint"/>
  481. </reg32>
  482. <reg32 offset="0x0ec" name="CURSOR_FORMAT">
  483. <bitfield name="FORMAT" low="0" high="2" type="mdp5_cursor_format"/>
  484. </reg32>
  485. <reg32 offset="0x0f0" name="CURSOR_BASE_ADDR"/>
  486. <reg32 offset="0x0f4" name="CURSOR_START_XY">
  487. <bitfield name="X_START" low="0" high="15" type="uint"/>
  488. <bitfield name="Y_START" low="16" high="31" type="uint"/>
  489. </reg32>
  490. <reg32 offset="0x0f8" name="CURSOR_BLEND_CONFIG">
  491. <bitfield name="BLEND_EN" pos="0" type="boolean"/>
  492. <bitfield name="BLEND_ALPHA_SEL" low="1" high="2" type="mdp5_cursor_alpha"/>
  493. <bitfield name="BLEND_TRANSP_EN" pos="3" type="boolean"/>
  494. </reg32>
  495. <reg32 offset="0x0fc" name="CURSOR_BLEND_PARAM"/>
  496. <reg32 offset="0x100" name="CURSOR_BLEND_TRANSP_LOW0"/>
  497. <reg32 offset="0x104" name="CURSOR_BLEND_TRANSP_LOW1"/>
  498. <reg32 offset="0x108" name="CURSOR_BLEND_TRANSP_HIGH0"/>
  499. <reg32 offset="0x10c" name="CURSOR_BLEND_TRANSP_HIGH1"/>
  500. <reg32 offset="0x110" name="GC_LUT_BASE"/>
  501. </array>
  502. <array doffsets="mdp5_cfg->dspp.base[0],mdp5_cfg->dspp.base[1],mdp5_cfg->dspp.base[2],mdp5_cfg->dspp.base[3]" name="DSPP" length="4" stride="0x400">
  503. <reg32 offset="0x000" name="OP_MODE">
  504. <bitfield name="IGC_LUT_EN" pos="0" type="boolean"/>
  505. <bitfield name="IGC_TBL_IDX" low="1" high="3" type="uint"/>
  506. <bitfield name="PCC_EN" pos="4" type="boolean"/>
  507. <bitfield name="DITHER_EN" pos="8" type="boolean"/>
  508. <bitfield name="HIST_EN" pos="16" type="boolean"/>
  509. <bitfield name="AUTO_CLEAR" pos="17" type="boolean"/>
  510. <bitfield name="HIST_LUT_EN" pos="19" type="boolean"/>
  511. <bitfield name="PA_EN" pos="20" type="boolean"/>
  512. <bitfield name="GAMUT_EN" pos="23" type="boolean"/>
  513. <bitfield name="GAMUT_ORDER" pos="24" type="boolean"/>
  514. </reg32>
  515. <reg32 offset="0x030" name="PCC_BASE"/>
  516. <reg32 offset="0x150" name="DITHER_DEPTH"/>
  517. <reg32 offset="0x210" name="HIST_CTL_BASE"/>
  518. <reg32 offset="0x230" name="HIST_LUT_BASE"/>
  519. <reg32 offset="0x234" name="HIST_LUT_SWAP"/>
  520. <reg32 offset="0x238" name="PA_BASE"/>
  521. <reg32 offset="0x2dc" name="GAMUT_BASE"/>
  522. <reg32 offset="0x2b0" name="GC_BASE"/>
  523. </array>
  524. <array doffsets="mdp5_cfg->pp.base[0],mdp5_cfg->pp.base[1],mdp5_cfg->pp.base[2],mdp5_cfg->pp.base[3]" name="PP" length="4" stride="0x100">
  525. <reg32 offset="0x000" name="TEAR_CHECK_EN"/>
  526. <reg32 offset="0x004" name="SYNC_CONFIG_VSYNC">
  527. <bitfield name="COUNT" low="0" high="18" type="uint"/>
  528. <bitfield name="COUNTER_EN" pos="19" type="boolean"/>
  529. <bitfield name="IN_EN" pos="20" type="boolean"/>
  530. </reg32>
  531. <reg32 offset="0x008" name="SYNC_CONFIG_HEIGHT"/>
  532. <reg32 offset="0x00c" name="SYNC_WRCOUNT">
  533. <bitfield name="LINE_COUNT" low="0" high="15" type="uint"/>
  534. <bitfield name="FRAME_COUNT" low="16" high="31" type="uint"/>
  535. </reg32>
  536. <reg32 offset="0x010" name="VSYNC_INIT_VAL"/>
  537. <reg32 offset="0x014" name="INT_COUNT_VAL">
  538. <bitfield name="LINE_COUNT" low="0" high="15" type="uint"/>
  539. <bitfield name="FRAME_COUNT" low="16" high="31" type="uint"/>
  540. </reg32>
  541. <reg32 offset="0x018" name="SYNC_THRESH">
  542. <bitfield name="START" low="0" high="15" type="uint"/>
  543. <bitfield name="CONTINUE" low="16" high="31" type="uint"/>
  544. </reg32>
  545. <reg32 offset="0x01c" name="START_POS"/>
  546. <reg32 offset="0x020" name="RD_PTR_IRQ"/>
  547. <reg32 offset="0x024" name="WR_PTR_IRQ"/>
  548. <reg32 offset="0x028" name="OUT_LINE_COUNT"/>
  549. <reg32 offset="0x02c" name="PP_LINE_COUNT"/>
  550. <reg32 offset="0x030" name="AUTOREFRESH_CONFIG"/>
  551. <reg32 offset="0x034" name="FBC_MODE"/>
  552. <reg32 offset="0x038" name="FBC_BUDGET_CTL"/>
  553. <reg32 offset="0x03c" name="FBC_LOSSY_MODE"/>
  554. </array>
  555. <enum name="mdp5_block_size">
  556. <value name="BLOCK_SIZE_64" value="0"/>
  557. <value name="BLOCK_SIZE_128" value="1"/>
  558. </enum>
  559. <enum name="mdp5_rotate_mode">
  560. <value name="ROTATE_0" value="0"/>
  561. <value name="ROTATE_90" value="1"/>
  562. </enum>
  563. <enum name="mdp5_chroma_downsample_method">
  564. <value name="DS_MTHD_NO_PIXEL_DROP" value="0"/>
  565. <value name="DS_MTHD_PIXEL_DROP" value="1"/>
  566. </enum>
  567. <array doffsets="mdp5_cfg->wb.base[0],mdp5_cfg->wb.base[1],mdp5_cfg->wb.base[2],mdp5_cfg->wb.base[3],mdp5_cfg->wb.base[4]" name="WB" length="5" stride="0x400">
  568. <reg32 offset="0x000" name="DST_FORMAT">
  569. <bitfield name="DSTC0_OUT" low="0" high="1" type="uint"/>
  570. <bitfield name="DSTC1_OUT" low="2" high="3" type="uint"/>
  571. <bitfield name="DSTC2_OUT" low="4" high="5" type="uint"/>
  572. <bitfield name="DSTC3_OUT" low="6" high="7" type="uint"/>
  573. <bitfield name="DSTC3_EN" pos="8" type="boolean"/>
  574. <bitfield name="DST_BPP" low="9" high="10" type="uint"/>
  575. <bitfield name="PACK_COUNT" low="12" high="13" type="uint"/>
  576. <bitfield name="DST_ALPHA_X" pos="14" type="boolean"/>
  577. <bitfield name="PACK_TIGHT" pos="17" type="boolean"/>
  578. <bitfield name="PACK_ALIGN_MSB" pos="18" type="boolean"/>
  579. <bitfield name="WRITE_PLANES" low="19" high="20" type="uint"/>
  580. <bitfield name="DST_DITHER_EN" pos="22" type="boolean"/>
  581. <bitfield name="DST_CHROMA_SAMP" low="23" high="25" type="uint"/>
  582. <bitfield name="DST_CHROMA_SITE" low="26" high="29" type="uint"/>
  583. <bitfield name="FRAME_FORMAT" low="30" high="31" type="uint"/>
  584. </reg32>
  585. <reg32 offset="0x004" name="DST_OP_MODE">
  586. <bitfield name="BWC_ENC_EN" pos="0" type="boolean"/>
  587. <bitfield name="BWC_ENC_OP" low="1" high="2" type="uint"/>
  588. <bitfield name="BLOCK_SIZE" low="4" high="4" type="uint"/>
  589. <bitfield name="ROT_MODE" low="5" high="5" type="uint"/>
  590. <bitfield name="ROT_EN" pos="6" type="boolean"/>
  591. <bitfield name="CSC_EN" pos="8" type="boolean"/>
  592. <bitfield name="CSC_SRC_DATA_FORMAT" low="9" high="9" type="uint"/>
  593. <bitfield name="CSC_DST_DATA_FORMAT" low="10" high="10" type="uint"/>
  594. <bitfield name="CHROMA_DWN_SAMPLE_EN" pos="11" type="boolean"/>
  595. <bitfield name="CHROMA_DWN_SAMPLE_FORMAT" low="12" high="12" type="uint"/>
  596. <bitfield name="CHROMA_DWN_SAMPLE_H_MTHD" low="13" high="13" type="uint"/>
  597. <bitfield name="CHROMA_DWN_SAMPLE_V_MTHD" low="14" high="14" type="uint"/>
  598. </reg32>
  599. <reg32 offset="0x008" name="DST_PACK_PATTERN">
  600. <bitfield name="ELEMENT0" low="0" high="1" type="uint"/>
  601. <bitfield name="ELEMENT1" low="8" high="9" type="uint"/>
  602. <bitfield name="ELEMENT2" low="16" high="17" type="uint"/>
  603. <bitfield name="ELEMENT3" low="24" high="25" type="uint"/>
  604. </reg32>
  605. <reg32 offset="0x00c" name="DST0_ADDR"/>
  606. <reg32 offset="0x010" name="DST1_ADDR"/>
  607. <reg32 offset="0x014" name="DST2_ADDR"/>
  608. <reg32 offset="0x018" name="DST3_ADDR"/>
  609. <reg32 offset="0x01c" name="DST_YSTRIDE0">
  610. <bitfield name="DST0_YSTRIDE" low="0" high="15" type="uint"/>
  611. <bitfield name="DST1_YSTRIDE" low="16" high="31" type="uint"/>
  612. </reg32>
  613. <reg32 offset="0x020" name="DST_YSTRIDE1">
  614. <bitfield name="DST2_YSTRIDE" low="0" high="15" type="uint"/>
  615. <bitfield name="DST3_YSTRIDE" low="16" high="31" type="uint"/>
  616. </reg32>
  617. <reg32 offset="0x024" name="DST_DITHER_BITDEPTH"/>
  618. <reg32 offset="0x030" name="DITHER_MATRIX_ROW0"/>
  619. <reg32 offset="0x034" name="DITHER_MATRIX_ROW1"/>
  620. <reg32 offset="0x038" name="DITHER_MATRIX_ROW2"/>
  621. <reg32 offset="0x03c" name="DITHER_MATRIX_ROW3"/>
  622. <reg32 offset="0x048" name="DST_WRITE_CONFIG"/>
  623. <reg32 offset="0x050" name="ROTATION_DNSCALER"/>
  624. <reg32 offset="0x060" name="N16_INIT_PHASE_X_0_3"/>
  625. <reg32 offset="0x064" name="N16_INIT_PHASE_X_1_2"/>
  626. <reg32 offset="0x068" name="N16_INIT_PHASE_Y_0_3"/>
  627. <reg32 offset="0x06c" name="N16_INIT_PHASE_Y_1_2"/>
  628. <reg32 offset="0x074" name="OUT_SIZE">
  629. <bitfield name="DST_W" low="0" high="15" type="uint"/>
  630. <bitfield name="DST_H" low="16" high="31" type="uint"/>
  631. </reg32>
  632. <reg32 offset="0x078" name="ALPHA_X_VALUE"/>
  633. <reg32 offset="0x260" name="CSC_MATRIX_COEFF_0">
  634. <bitfield name="COEFF_11" low="0" high="12" type="uint"/>
  635. <bitfield name="COEFF_12" low="16" high="28" type="uint"/>
  636. </reg32>
  637. <reg32 offset="0x264" name="CSC_MATRIX_COEFF_1">
  638. <bitfield name="COEFF_13" low="0" high="12" type="uint"/>
  639. <bitfield name="COEFF_21" low="16" high="28" type="uint"/>
  640. </reg32>
  641. <reg32 offset="0x268" name="CSC_MATRIX_COEFF_2">
  642. <bitfield name="COEFF_22" low="0" high="12" type="uint"/>
  643. <bitfield name="COEFF_23" low="16" high="28" type="uint"/>
  644. </reg32>
  645. <reg32 offset="0x26c" name="CSC_MATRIX_COEFF_3">
  646. <bitfield name="COEFF_31" low="0" high="12" type="uint"/>
  647. <bitfield name="COEFF_32" low="16" high="28" type="uint"/>
  648. </reg32>
  649. <reg32 offset="0x270" name="CSC_MATRIX_COEFF_4">
  650. <bitfield name="COEFF_33" low="0" high="12" type="uint"/>
  651. </reg32>
  652. <array offset="0x274" name="CSC_COMP_PRECLAMP" length="3" stride="4">
  653. <reg32 offset="0" name="REG">
  654. <bitfield name="HIGH" low="0" high="7" type="uint"/>
  655. <bitfield name="LOW" low="8" high="15" type="uint"/>
  656. </reg32>
  657. </array>
  658. <array offset="0x280" name="CSC_COMP_POSTCLAMP" length="3" stride="4">
  659. <reg32 offset="0" name="REG">
  660. <bitfield name="HIGH" low="0" high="7" type="uint"/>
  661. <bitfield name="LOW" low="8" high="15" type="uint"/>
  662. </reg32>
  663. </array>
  664. <array offset="0x28c" name="CSC_COMP_PREBIAS" length="3" stride="4">
  665. <reg32 offset="0" name="REG">
  666. <bitfield name="VALUE" low="0" high="8" type="uint"/>
  667. </reg32>
  668. </array>
  669. <array offset="0x298" name="CSC_COMP_POSTBIAS" length="3" stride="4">
  670. <reg32 offset="0" name="REG">
  671. <bitfield name="VALUE" low="0" high="8" type="uint"/>
  672. </reg32>
  673. </array>
  674. </array>
  675. <array doffsets="mdp5_cfg->intf.base[0],mdp5_cfg->intf.base[1],mdp5_cfg->intf.base[2],mdp5_cfg->intf.base[3],mdp5_cfg->intf.base[4]" name="INTF" length="5" stride="0x200">
  676. <reg32 offset="0x000" name="TIMING_ENGINE_EN"/>
  677. <reg32 offset="0x004" name="CONFIG"/>
  678. <reg32 offset="0x008" name="HSYNC_CTL">
  679. <bitfield name="PULSEW" low="0" high="15" type="uint"/>
  680. <bitfield name="PERIOD" low="16" high="31" type="uint"/>
  681. </reg32>
  682. <reg32 offset="0x00c" name="VSYNC_PERIOD_F0" type="uint"/>
  683. <reg32 offset="0x010" name="VSYNC_PERIOD_F1" type="uint"/>
  684. <reg32 offset="0x014" name="VSYNC_LEN_F0" type="uint"/>
  685. <reg32 offset="0x018" name="VSYNC_LEN_F1" type="uint"/>
  686. <reg32 offset="0x01c" name="DISPLAY_VSTART_F0" type="uint"/>
  687. <reg32 offset="0x020" name="DISPLAY_VSTART_F1" type="uint"/>
  688. <reg32 offset="0x024" name="DISPLAY_VEND_F0" type="uint"/>
  689. <reg32 offset="0x028" name="DISPLAY_VEND_F1" type="uint"/>
  690. <reg32 offset="0x02c" name="ACTIVE_VSTART_F0">
  691. <bitfield name="VAL" low="0" high="30" type="uint"/>
  692. <bitfield name="ACTIVE_V_ENABLE" pos="31" type="boolean"/>
  693. </reg32>
  694. <reg32 offset="0x030" name="ACTIVE_VSTART_F1">
  695. <bitfield name="VAL" low="0" high="30" type="uint"/>
  696. </reg32>
  697. <reg32 offset="0x034" name="ACTIVE_VEND_F0" type="uint"/>
  698. <reg32 offset="0x038" name="ACTIVE_VEND_F1" type="uint"/>
  699. <reg32 offset="0x03c" name="DISPLAY_HCTL">
  700. <bitfield name="START" low="0" high="15" type="uint"/>
  701. <bitfield name="END" low="16" high="31" type="uint"/>
  702. </reg32>
  703. <reg32 offset="0x040" name="ACTIVE_HCTL">
  704. <bitfield name="START" low="0" high="14" type="uint"/>
  705. <bitfield name="END" low="16" high="30" type="uint"/>
  706. <bitfield name="ACTIVE_H_ENABLE" pos="31" type="boolean"/>
  707. </reg32>
  708. <reg32 offset="0x044" name="BORDER_COLOR"/>
  709. <reg32 offset="0x048" name="UNDERFLOW_COLOR"/>
  710. <reg32 offset="0x04c" name="HSYNC_SKEW"/>
  711. <reg32 offset="0x050" name="POLARITY_CTL">
  712. <bitfield name="HSYNC_LOW" pos="0" type="boolean"/>
  713. <bitfield name="VSYNC_LOW" pos="1" type="boolean"/>
  714. <bitfield name="DATA_EN_LOW" pos="2" type="boolean"/>
  715. </reg32>
  716. <reg32 offset="0x054" name="TEST_CTL"/>
  717. <reg32 offset="0x058" name="TP_COLOR0"/>
  718. <reg32 offset="0x05c" name="TP_COLOR1"/>
  719. <reg32 offset="0x084" name="DSI_CMD_MODE_TRIGGER_EN"/>
  720. <reg32 offset="0x090" name="PANEL_FORMAT" type="mdp5_format"/>
  721. <reg32 offset="0x0a8" name="FRAME_LINE_COUNT_EN"/>
  722. <reg32 offset="0x0ac" name="FRAME_COUNT"/>
  723. <reg32 offset="0x0b0" name="LINE_COUNT"/>
  724. <reg32 offset="0x0f0" name="DEFLICKER_CONFIG"/>
  725. <reg32 offset="0x0f4" name="DEFLICKER_STRNG_COEFF"/>
  726. <reg32 offset="0x0f8" name="DEFLICKER_WEAK_COEFF"/>
  727. <reg32 offset="0x100" name="TPG_ENABLE"/>
  728. <reg32 offset="0x104" name="TPG_MAIN_CONTROL"/>
  729. <reg32 offset="0x108" name="TPG_VIDEO_CONFIG"/>
  730. <reg32 offset="0x10c" name="TPG_COMPONENT_LIMITS"/>
  731. <reg32 offset="0x110" name="TPG_RECTANGLE"/>
  732. <reg32 offset="0x114" name="TPG_INITIAL_VALUE"/>
  733. <reg32 offset="0x118" name="TPG_BLK_WHITE_PATTERN_FRAME"/>
  734. <reg32 offset="0x11c" name="TPG_RGB_MAPPING"/>
  735. </array>
  736. <array doffsets="mdp5_cfg->ad.base[0],mdp5_cfg->ad.base[1]" name="AD" length="2" stride="0x200">
  737. <reg32 offset="0x000" name="BYPASS"/>
  738. <reg32 offset="0x004" name="CTRL_0"/>
  739. <reg32 offset="0x008" name="CTRL_1"/>
  740. <reg32 offset="0x00c" name="FRAME_SIZE"/>
  741. <reg32 offset="0x010" name="CON_CTRL_0"/>
  742. <reg32 offset="0x014" name="CON_CTRL_1"/>
  743. <reg32 offset="0x018" name="STR_MAN"/>
  744. <reg32 offset="0x01c" name="VAR"/>
  745. <reg32 offset="0x020" name="DITH"/>
  746. <reg32 offset="0x024" name="DITH_CTRL"/>
  747. <reg32 offset="0x028" name="AMP_LIM"/>
  748. <reg32 offset="0x02c" name="SLOPE"/>
  749. <reg32 offset="0x030" name="BW_LVL"/>
  750. <reg32 offset="0x034" name="LOGO_POS"/>
  751. <reg32 offset="0x038" name="LUT_FI"/>
  752. <reg32 offset="0x07c" name="LUT_CC"/>
  753. <reg32 offset="0x0c8" name="STR_LIM"/>
  754. <reg32 offset="0x0cc" name="CALIB_AB"/>
  755. <reg32 offset="0x0d0" name="CALIB_CD"/>
  756. <reg32 offset="0x0d4" name="MODE_SEL"/>
  757. <reg32 offset="0x0d8" name="TFILT_CTRL"/>
  758. <reg32 offset="0x0dc" name="BL_MINMAX"/>
  759. <reg32 offset="0x0e0" name="BL"/>
  760. <reg32 offset="0x0e8" name="BL_MAX"/>
  761. <reg32 offset="0x0ec" name="AL"/>
  762. <reg32 offset="0x0f0" name="AL_MIN"/>
  763. <reg32 offset="0x0f4" name="AL_FILT"/>
  764. <reg32 offset="0x0f8" name="CFG_BUF"/>
  765. <reg32 offset="0x100" name="LUT_AL"/>
  766. <reg32 offset="0x144" name="TARG_STR"/>
  767. <reg32 offset="0x148" name="START_CALC"/>
  768. <reg32 offset="0x14c" name="STR_OUT"/>
  769. <reg32 offset="0x154" name="BL_OUT"/>
  770. <reg32 offset="0x158" name="CALC_DONE"/>
  771. </array>
  772. </domain>
  773. </database>