dsi.xml.h 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839
  1. #ifndef DSI_XML
  2. #define DSI_XML
  3. /* Autogenerated file, DO NOT EDIT manually!
  4. This file was generated by the rules-ng-ng headergen tool in this git repository:
  5. http://github.com/freedreno/envytools/
  6. git clone https://github.com/freedreno/envytools.git
  7. The rules-ng-ng source files this header was generated from are:
  8. - /usr2/hali/local/envytools/envytools/rnndb/dsi/dsi.xml ( 18681 bytes, from 2015-03-04 23:08:31)
  9. - /usr2/hali/local/envytools/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2015-01-28 21:43:22)
  10. Copyright (C) 2013-2015 by the following authors:
  11. - Rob Clark <robdclark@gmail.com> (robclark)
  12. Permission is hereby granted, free of charge, to any person obtaining
  13. a copy of this software and associated documentation files (the
  14. "Software"), to deal in the Software without restriction, including
  15. without limitation the rights to use, copy, modify, merge, publish,
  16. distribute, sublicense, and/or sell copies of the Software, and to
  17. permit persons to whom the Software is furnished to do so, subject to
  18. the following conditions:
  19. The above copyright notice and this permission notice (including the
  20. next paragraph) shall be included in all copies or substantial
  21. portions of the Software.
  22. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  23. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  24. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  25. IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  26. LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  27. OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  28. WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  29. */
  30. enum dsi_traffic_mode {
  31. NON_BURST_SYNCH_PULSE = 0,
  32. NON_BURST_SYNCH_EVENT = 1,
  33. BURST_MODE = 2,
  34. };
  35. enum dsi_vid_dst_format {
  36. VID_DST_FORMAT_RGB565 = 0,
  37. VID_DST_FORMAT_RGB666 = 1,
  38. VID_DST_FORMAT_RGB666_LOOSE = 2,
  39. VID_DST_FORMAT_RGB888 = 3,
  40. };
  41. enum dsi_rgb_swap {
  42. SWAP_RGB = 0,
  43. SWAP_RBG = 1,
  44. SWAP_BGR = 2,
  45. SWAP_BRG = 3,
  46. SWAP_GRB = 4,
  47. SWAP_GBR = 5,
  48. };
  49. enum dsi_cmd_trigger {
  50. TRIGGER_NONE = 0,
  51. TRIGGER_SEOF = 1,
  52. TRIGGER_TE = 2,
  53. TRIGGER_SW = 4,
  54. TRIGGER_SW_SEOF = 5,
  55. TRIGGER_SW_TE = 6,
  56. };
  57. enum dsi_cmd_dst_format {
  58. CMD_DST_FORMAT_RGB111 = 0,
  59. CMD_DST_FORMAT_RGB332 = 3,
  60. CMD_DST_FORMAT_RGB444 = 4,
  61. CMD_DST_FORMAT_RGB565 = 6,
  62. CMD_DST_FORMAT_RGB666 = 7,
  63. CMD_DST_FORMAT_RGB888 = 8,
  64. };
  65. enum dsi_lane_swap {
  66. LANE_SWAP_0123 = 0,
  67. LANE_SWAP_3012 = 1,
  68. LANE_SWAP_2301 = 2,
  69. LANE_SWAP_1230 = 3,
  70. LANE_SWAP_0321 = 4,
  71. LANE_SWAP_1032 = 5,
  72. LANE_SWAP_2103 = 6,
  73. LANE_SWAP_3210 = 7,
  74. };
  75. #define DSI_IRQ_CMD_DMA_DONE 0x00000001
  76. #define DSI_IRQ_MASK_CMD_DMA_DONE 0x00000002
  77. #define DSI_IRQ_CMD_MDP_DONE 0x00000100
  78. #define DSI_IRQ_MASK_CMD_MDP_DONE 0x00000200
  79. #define DSI_IRQ_VIDEO_DONE 0x00010000
  80. #define DSI_IRQ_MASK_VIDEO_DONE 0x00020000
  81. #define DSI_IRQ_BTA_DONE 0x00100000
  82. #define DSI_IRQ_MASK_BTA_DONE 0x00200000
  83. #define DSI_IRQ_ERROR 0x01000000
  84. #define DSI_IRQ_MASK_ERROR 0x02000000
  85. #define REG_DSI_6G_HW_VERSION 0x00000000
  86. #define DSI_6G_HW_VERSION_MAJOR__MASK 0xf0000000
  87. #define DSI_6G_HW_VERSION_MAJOR__SHIFT 28
  88. static inline uint32_t DSI_6G_HW_VERSION_MAJOR(uint32_t val)
  89. {
  90. return ((val) << DSI_6G_HW_VERSION_MAJOR__SHIFT) & DSI_6G_HW_VERSION_MAJOR__MASK;
  91. }
  92. #define DSI_6G_HW_VERSION_MINOR__MASK 0x0fff0000
  93. #define DSI_6G_HW_VERSION_MINOR__SHIFT 16
  94. static inline uint32_t DSI_6G_HW_VERSION_MINOR(uint32_t val)
  95. {
  96. return ((val) << DSI_6G_HW_VERSION_MINOR__SHIFT) & DSI_6G_HW_VERSION_MINOR__MASK;
  97. }
  98. #define DSI_6G_HW_VERSION_STEP__MASK 0x0000ffff
  99. #define DSI_6G_HW_VERSION_STEP__SHIFT 0
  100. static inline uint32_t DSI_6G_HW_VERSION_STEP(uint32_t val)
  101. {
  102. return ((val) << DSI_6G_HW_VERSION_STEP__SHIFT) & DSI_6G_HW_VERSION_STEP__MASK;
  103. }
  104. #define REG_DSI_CTRL 0x00000000
  105. #define DSI_CTRL_ENABLE 0x00000001
  106. #define DSI_CTRL_VID_MODE_EN 0x00000002
  107. #define DSI_CTRL_CMD_MODE_EN 0x00000004
  108. #define DSI_CTRL_LANE0 0x00000010
  109. #define DSI_CTRL_LANE1 0x00000020
  110. #define DSI_CTRL_LANE2 0x00000040
  111. #define DSI_CTRL_LANE3 0x00000080
  112. #define DSI_CTRL_CLK_EN 0x00000100
  113. #define DSI_CTRL_ECC_CHECK 0x00100000
  114. #define DSI_CTRL_CRC_CHECK 0x01000000
  115. #define REG_DSI_STATUS0 0x00000004
  116. #define DSI_STATUS0_CMD_MODE_ENGINE_BUSY 0x00000001
  117. #define DSI_STATUS0_CMD_MODE_DMA_BUSY 0x00000002
  118. #define DSI_STATUS0_CMD_MODE_MDP_BUSY 0x00000004
  119. #define DSI_STATUS0_VIDEO_MODE_ENGINE_BUSY 0x00000008
  120. #define DSI_STATUS0_DSI_BUSY 0x00000010
  121. #define DSI_STATUS0_INTERLEAVE_OP_CONTENTION 0x80000000
  122. #define REG_DSI_FIFO_STATUS 0x00000008
  123. #define DSI_FIFO_STATUS_CMD_MDP_FIFO_UNDERFLOW 0x00000080
  124. #define REG_DSI_VID_CFG0 0x0000000c
  125. #define DSI_VID_CFG0_VIRT_CHANNEL__MASK 0x00000003
  126. #define DSI_VID_CFG0_VIRT_CHANNEL__SHIFT 0
  127. static inline uint32_t DSI_VID_CFG0_VIRT_CHANNEL(uint32_t val)
  128. {
  129. return ((val) << DSI_VID_CFG0_VIRT_CHANNEL__SHIFT) & DSI_VID_CFG0_VIRT_CHANNEL__MASK;
  130. }
  131. #define DSI_VID_CFG0_DST_FORMAT__MASK 0x00000030
  132. #define DSI_VID_CFG0_DST_FORMAT__SHIFT 4
  133. static inline uint32_t DSI_VID_CFG0_DST_FORMAT(enum dsi_vid_dst_format val)
  134. {
  135. return ((val) << DSI_VID_CFG0_DST_FORMAT__SHIFT) & DSI_VID_CFG0_DST_FORMAT__MASK;
  136. }
  137. #define DSI_VID_CFG0_TRAFFIC_MODE__MASK 0x00000300
  138. #define DSI_VID_CFG0_TRAFFIC_MODE__SHIFT 8
  139. static inline uint32_t DSI_VID_CFG0_TRAFFIC_MODE(enum dsi_traffic_mode val)
  140. {
  141. return ((val) << DSI_VID_CFG0_TRAFFIC_MODE__SHIFT) & DSI_VID_CFG0_TRAFFIC_MODE__MASK;
  142. }
  143. #define DSI_VID_CFG0_BLLP_POWER_STOP 0x00001000
  144. #define DSI_VID_CFG0_EOF_BLLP_POWER_STOP 0x00008000
  145. #define DSI_VID_CFG0_HSA_POWER_STOP 0x00010000
  146. #define DSI_VID_CFG0_HBP_POWER_STOP 0x00100000
  147. #define DSI_VID_CFG0_HFP_POWER_STOP 0x01000000
  148. #define DSI_VID_CFG0_PULSE_MODE_HSA_HE 0x10000000
  149. #define REG_DSI_VID_CFG1 0x0000001c
  150. #define DSI_VID_CFG1_R_SEL 0x00000001
  151. #define DSI_VID_CFG1_G_SEL 0x00000010
  152. #define DSI_VID_CFG1_B_SEL 0x00000100
  153. #define DSI_VID_CFG1_RGB_SWAP__MASK 0x00007000
  154. #define DSI_VID_CFG1_RGB_SWAP__SHIFT 12
  155. static inline uint32_t DSI_VID_CFG1_RGB_SWAP(enum dsi_rgb_swap val)
  156. {
  157. return ((val) << DSI_VID_CFG1_RGB_SWAP__SHIFT) & DSI_VID_CFG1_RGB_SWAP__MASK;
  158. }
  159. #define REG_DSI_ACTIVE_H 0x00000020
  160. #define DSI_ACTIVE_H_START__MASK 0x00000fff
  161. #define DSI_ACTIVE_H_START__SHIFT 0
  162. static inline uint32_t DSI_ACTIVE_H_START(uint32_t val)
  163. {
  164. return ((val) << DSI_ACTIVE_H_START__SHIFT) & DSI_ACTIVE_H_START__MASK;
  165. }
  166. #define DSI_ACTIVE_H_END__MASK 0x0fff0000
  167. #define DSI_ACTIVE_H_END__SHIFT 16
  168. static inline uint32_t DSI_ACTIVE_H_END(uint32_t val)
  169. {
  170. return ((val) << DSI_ACTIVE_H_END__SHIFT) & DSI_ACTIVE_H_END__MASK;
  171. }
  172. #define REG_DSI_ACTIVE_V 0x00000024
  173. #define DSI_ACTIVE_V_START__MASK 0x00000fff
  174. #define DSI_ACTIVE_V_START__SHIFT 0
  175. static inline uint32_t DSI_ACTIVE_V_START(uint32_t val)
  176. {
  177. return ((val) << DSI_ACTIVE_V_START__SHIFT) & DSI_ACTIVE_V_START__MASK;
  178. }
  179. #define DSI_ACTIVE_V_END__MASK 0x0fff0000
  180. #define DSI_ACTIVE_V_END__SHIFT 16
  181. static inline uint32_t DSI_ACTIVE_V_END(uint32_t val)
  182. {
  183. return ((val) << DSI_ACTIVE_V_END__SHIFT) & DSI_ACTIVE_V_END__MASK;
  184. }
  185. #define REG_DSI_TOTAL 0x00000028
  186. #define DSI_TOTAL_H_TOTAL__MASK 0x00000fff
  187. #define DSI_TOTAL_H_TOTAL__SHIFT 0
  188. static inline uint32_t DSI_TOTAL_H_TOTAL(uint32_t val)
  189. {
  190. return ((val) << DSI_TOTAL_H_TOTAL__SHIFT) & DSI_TOTAL_H_TOTAL__MASK;
  191. }
  192. #define DSI_TOTAL_V_TOTAL__MASK 0x0fff0000
  193. #define DSI_TOTAL_V_TOTAL__SHIFT 16
  194. static inline uint32_t DSI_TOTAL_V_TOTAL(uint32_t val)
  195. {
  196. return ((val) << DSI_TOTAL_V_TOTAL__SHIFT) & DSI_TOTAL_V_TOTAL__MASK;
  197. }
  198. #define REG_DSI_ACTIVE_HSYNC 0x0000002c
  199. #define DSI_ACTIVE_HSYNC_START__MASK 0x00000fff
  200. #define DSI_ACTIVE_HSYNC_START__SHIFT 0
  201. static inline uint32_t DSI_ACTIVE_HSYNC_START(uint32_t val)
  202. {
  203. return ((val) << DSI_ACTIVE_HSYNC_START__SHIFT) & DSI_ACTIVE_HSYNC_START__MASK;
  204. }
  205. #define DSI_ACTIVE_HSYNC_END__MASK 0x0fff0000
  206. #define DSI_ACTIVE_HSYNC_END__SHIFT 16
  207. static inline uint32_t DSI_ACTIVE_HSYNC_END(uint32_t val)
  208. {
  209. return ((val) << DSI_ACTIVE_HSYNC_END__SHIFT) & DSI_ACTIVE_HSYNC_END__MASK;
  210. }
  211. #define REG_DSI_ACTIVE_VSYNC_HPOS 0x00000030
  212. #define DSI_ACTIVE_VSYNC_HPOS_START__MASK 0x00000fff
  213. #define DSI_ACTIVE_VSYNC_HPOS_START__SHIFT 0
  214. static inline uint32_t DSI_ACTIVE_VSYNC_HPOS_START(uint32_t val)
  215. {
  216. return ((val) << DSI_ACTIVE_VSYNC_HPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_START__MASK;
  217. }
  218. #define DSI_ACTIVE_VSYNC_HPOS_END__MASK 0x0fff0000
  219. #define DSI_ACTIVE_VSYNC_HPOS_END__SHIFT 16
  220. static inline uint32_t DSI_ACTIVE_VSYNC_HPOS_END(uint32_t val)
  221. {
  222. return ((val) << DSI_ACTIVE_VSYNC_HPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_END__MASK;
  223. }
  224. #define REG_DSI_ACTIVE_VSYNC_VPOS 0x00000034
  225. #define DSI_ACTIVE_VSYNC_VPOS_START__MASK 0x00000fff
  226. #define DSI_ACTIVE_VSYNC_VPOS_START__SHIFT 0
  227. static inline uint32_t DSI_ACTIVE_VSYNC_VPOS_START(uint32_t val)
  228. {
  229. return ((val) << DSI_ACTIVE_VSYNC_VPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_START__MASK;
  230. }
  231. #define DSI_ACTIVE_VSYNC_VPOS_END__MASK 0x0fff0000
  232. #define DSI_ACTIVE_VSYNC_VPOS_END__SHIFT 16
  233. static inline uint32_t DSI_ACTIVE_VSYNC_VPOS_END(uint32_t val)
  234. {
  235. return ((val) << DSI_ACTIVE_VSYNC_VPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_END__MASK;
  236. }
  237. #define REG_DSI_CMD_DMA_CTRL 0x00000038
  238. #define DSI_CMD_DMA_CTRL_BROADCAST_EN 0x80000000
  239. #define DSI_CMD_DMA_CTRL_FROM_FRAME_BUFFER 0x10000000
  240. #define DSI_CMD_DMA_CTRL_LOW_POWER 0x04000000
  241. #define REG_DSI_CMD_CFG0 0x0000003c
  242. #define DSI_CMD_CFG0_DST_FORMAT__MASK 0x0000000f
  243. #define DSI_CMD_CFG0_DST_FORMAT__SHIFT 0
  244. static inline uint32_t DSI_CMD_CFG0_DST_FORMAT(enum dsi_cmd_dst_format val)
  245. {
  246. return ((val) << DSI_CMD_CFG0_DST_FORMAT__SHIFT) & DSI_CMD_CFG0_DST_FORMAT__MASK;
  247. }
  248. #define DSI_CMD_CFG0_R_SEL 0x00000010
  249. #define DSI_CMD_CFG0_G_SEL 0x00000100
  250. #define DSI_CMD_CFG0_B_SEL 0x00001000
  251. #define DSI_CMD_CFG0_INTERLEAVE_MAX__MASK 0x00f00000
  252. #define DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT 20
  253. static inline uint32_t DSI_CMD_CFG0_INTERLEAVE_MAX(uint32_t val)
  254. {
  255. return ((val) << DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT) & DSI_CMD_CFG0_INTERLEAVE_MAX__MASK;
  256. }
  257. #define DSI_CMD_CFG0_RGB_SWAP__MASK 0x00070000
  258. #define DSI_CMD_CFG0_RGB_SWAP__SHIFT 16
  259. static inline uint32_t DSI_CMD_CFG0_RGB_SWAP(enum dsi_rgb_swap val)
  260. {
  261. return ((val) << DSI_CMD_CFG0_RGB_SWAP__SHIFT) & DSI_CMD_CFG0_RGB_SWAP__MASK;
  262. }
  263. #define REG_DSI_CMD_CFG1 0x00000040
  264. #define DSI_CMD_CFG1_WR_MEM_START__MASK 0x000000ff
  265. #define DSI_CMD_CFG1_WR_MEM_START__SHIFT 0
  266. static inline uint32_t DSI_CMD_CFG1_WR_MEM_START(uint32_t val)
  267. {
  268. return ((val) << DSI_CMD_CFG1_WR_MEM_START__SHIFT) & DSI_CMD_CFG1_WR_MEM_START__MASK;
  269. }
  270. #define DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK 0x0000ff00
  271. #define DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT 8
  272. static inline uint32_t DSI_CMD_CFG1_WR_MEM_CONTINUE(uint32_t val)
  273. {
  274. return ((val) << DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT) & DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK;
  275. }
  276. #define DSI_CMD_CFG1_INSERT_DCS_COMMAND 0x00010000
  277. #define REG_DSI_DMA_BASE 0x00000044
  278. #define REG_DSI_DMA_LEN 0x00000048
  279. #define REG_DSI_CMD_MDP_STREAM_CTRL 0x00000054
  280. #define DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__MASK 0x0000003f
  281. #define DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__SHIFT 0
  282. static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE(uint32_t val)
  283. {
  284. return ((val) << DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_DATA_TYPE__MASK;
  285. }
  286. #define DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__MASK 0x00000300
  287. #define DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__SHIFT 8
  288. static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL(uint32_t val)
  289. {
  290. return ((val) << DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_VIRTUAL_CHANNEL__MASK;
  291. }
  292. #define DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__MASK 0xffff0000
  293. #define DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__SHIFT 16
  294. static inline uint32_t DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT(uint32_t val)
  295. {
  296. return ((val) << DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MDP_STREAM_CTRL_WORD_COUNT__MASK;
  297. }
  298. #define REG_DSI_CMD_MDP_STREAM_TOTAL 0x00000058
  299. #define DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__MASK 0x00000fff
  300. #define DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__SHIFT 0
  301. static inline uint32_t DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL(uint32_t val)
  302. {
  303. return ((val) << DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM_TOTAL_H_TOTAL__MASK;
  304. }
  305. #define DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__MASK 0x0fff0000
  306. #define DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__SHIFT 16
  307. static inline uint32_t DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL(uint32_t val)
  308. {
  309. return ((val) << DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM_TOTAL_V_TOTAL__MASK;
  310. }
  311. #define REG_DSI_ACK_ERR_STATUS 0x00000064
  312. static inline uint32_t REG_DSI_RDBK(uint32_t i0) { return 0x00000068 + 0x4*i0; }
  313. static inline uint32_t REG_DSI_RDBK_DATA(uint32_t i0) { return 0x00000068 + 0x4*i0; }
  314. #define REG_DSI_TRIG_CTRL 0x00000080
  315. #define DSI_TRIG_CTRL_DMA_TRIGGER__MASK 0x00000007
  316. #define DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT 0
  317. static inline uint32_t DSI_TRIG_CTRL_DMA_TRIGGER(enum dsi_cmd_trigger val)
  318. {
  319. return ((val) << DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT) & DSI_TRIG_CTRL_DMA_TRIGGER__MASK;
  320. }
  321. #define DSI_TRIG_CTRL_MDP_TRIGGER__MASK 0x00000070
  322. #define DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT 4
  323. static inline uint32_t DSI_TRIG_CTRL_MDP_TRIGGER(enum dsi_cmd_trigger val)
  324. {
  325. return ((val) << DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT) & DSI_TRIG_CTRL_MDP_TRIGGER__MASK;
  326. }
  327. #define DSI_TRIG_CTRL_STREAM__MASK 0x00000300
  328. #define DSI_TRIG_CTRL_STREAM__SHIFT 8
  329. static inline uint32_t DSI_TRIG_CTRL_STREAM(uint32_t val)
  330. {
  331. return ((val) << DSI_TRIG_CTRL_STREAM__SHIFT) & DSI_TRIG_CTRL_STREAM__MASK;
  332. }
  333. #define DSI_TRIG_CTRL_BLOCK_DMA_WITHIN_FRAME 0x00001000
  334. #define DSI_TRIG_CTRL_TE 0x80000000
  335. #define REG_DSI_TRIG_DMA 0x0000008c
  336. #define REG_DSI_DLN0_PHY_ERR 0x000000b0
  337. #define REG_DSI_TIMEOUT_STATUS 0x000000bc
  338. #define REG_DSI_CLKOUT_TIMING_CTRL 0x000000c0
  339. #define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK 0x0000003f
  340. #define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT 0
  341. static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE(uint32_t val)
  342. {
  343. return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK;
  344. }
  345. #define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK 0x00003f00
  346. #define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT 8
  347. static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_POST(uint32_t val)
  348. {
  349. return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK;
  350. }
  351. #define REG_DSI_EOT_PACKET_CTRL 0x000000c8
  352. #define DSI_EOT_PACKET_CTRL_TX_EOT_APPEND 0x00000001
  353. #define DSI_EOT_PACKET_CTRL_RX_EOT_IGNORE 0x00000010
  354. #define REG_DSI_LANE_SWAP_CTRL 0x000000ac
  355. #define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK 0x00000007
  356. #define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT 0
  357. static inline uint32_t DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL(enum dsi_lane_swap val)
  358. {
  359. return ((val) << DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT) & DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK;
  360. }
  361. #define REG_DSI_ERR_INT_MASK0 0x00000108
  362. #define REG_DSI_INTR_CTRL 0x0000010c
  363. #define REG_DSI_RESET 0x00000114
  364. #define REG_DSI_CLK_CTRL 0x00000118
  365. #define DSI_CLK_CTRL_AHBS_HCLK_ON 0x00000001
  366. #define DSI_CLK_CTRL_AHBM_SCLK_ON 0x00000002
  367. #define DSI_CLK_CTRL_PCLK_ON 0x00000004
  368. #define DSI_CLK_CTRL_DSICLK_ON 0x00000008
  369. #define DSI_CLK_CTRL_BYTECLK_ON 0x00000010
  370. #define DSI_CLK_CTRL_ESCCLK_ON 0x00000020
  371. #define DSI_CLK_CTRL_FORCE_ON_DYN_AHBM_HCLK 0x00000200
  372. #define REG_DSI_CLK_STATUS 0x0000011c
  373. #define DSI_CLK_STATUS_PLL_UNLOCKED 0x00010000
  374. #define REG_DSI_PHY_RESET 0x00000128
  375. #define DSI_PHY_RESET_RESET 0x00000001
  376. #define REG_DSI_RDBK_DATA_CTRL 0x000001d0
  377. #define DSI_RDBK_DATA_CTRL_COUNT__MASK 0x00ff0000
  378. #define DSI_RDBK_DATA_CTRL_COUNT__SHIFT 16
  379. static inline uint32_t DSI_RDBK_DATA_CTRL_COUNT(uint32_t val)
  380. {
  381. return ((val) << DSI_RDBK_DATA_CTRL_COUNT__SHIFT) & DSI_RDBK_DATA_CTRL_COUNT__MASK;
  382. }
  383. #define DSI_RDBK_DATA_CTRL_CLR 0x00000001
  384. #define REG_DSI_VERSION 0x000001f0
  385. #define DSI_VERSION_MAJOR__MASK 0xff000000
  386. #define DSI_VERSION_MAJOR__SHIFT 24
  387. static inline uint32_t DSI_VERSION_MAJOR(uint32_t val)
  388. {
  389. return ((val) << DSI_VERSION_MAJOR__SHIFT) & DSI_VERSION_MAJOR__MASK;
  390. }
  391. #define REG_DSI_PHY_PLL_CTRL_0 0x00000200
  392. #define DSI_PHY_PLL_CTRL_0_ENABLE 0x00000001
  393. #define REG_DSI_PHY_PLL_CTRL_1 0x00000204
  394. #define REG_DSI_PHY_PLL_CTRL_2 0x00000208
  395. #define REG_DSI_PHY_PLL_CTRL_3 0x0000020c
  396. #define REG_DSI_PHY_PLL_CTRL_4 0x00000210
  397. #define REG_DSI_PHY_PLL_CTRL_5 0x00000214
  398. #define REG_DSI_PHY_PLL_CTRL_6 0x00000218
  399. #define REG_DSI_PHY_PLL_CTRL_7 0x0000021c
  400. #define REG_DSI_PHY_PLL_CTRL_8 0x00000220
  401. #define REG_DSI_PHY_PLL_CTRL_9 0x00000224
  402. #define REG_DSI_PHY_PLL_CTRL_10 0x00000228
  403. #define REG_DSI_PHY_PLL_CTRL_11 0x0000022c
  404. #define REG_DSI_PHY_PLL_CTRL_12 0x00000230
  405. #define REG_DSI_PHY_PLL_CTRL_13 0x00000234
  406. #define REG_DSI_PHY_PLL_CTRL_14 0x00000238
  407. #define REG_DSI_PHY_PLL_CTRL_15 0x0000023c
  408. #define REG_DSI_PHY_PLL_CTRL_16 0x00000240
  409. #define REG_DSI_PHY_PLL_CTRL_17 0x00000244
  410. #define REG_DSI_PHY_PLL_CTRL_18 0x00000248
  411. #define REG_DSI_PHY_PLL_CTRL_19 0x0000024c
  412. #define REG_DSI_PHY_PLL_CTRL_20 0x00000250
  413. #define REG_DSI_PHY_PLL_STATUS 0x00000280
  414. #define DSI_PHY_PLL_STATUS_PLL_BUSY 0x00000001
  415. #define REG_DSI_8x60_PHY_TPA_CTRL_1 0x00000258
  416. #define REG_DSI_8x60_PHY_TPA_CTRL_2 0x0000025c
  417. #define REG_DSI_8x60_PHY_TIMING_CTRL_0 0x00000260
  418. #define REG_DSI_8x60_PHY_TIMING_CTRL_1 0x00000264
  419. #define REG_DSI_8x60_PHY_TIMING_CTRL_2 0x00000268
  420. #define REG_DSI_8x60_PHY_TIMING_CTRL_3 0x0000026c
  421. #define REG_DSI_8x60_PHY_TIMING_CTRL_4 0x00000270
  422. #define REG_DSI_8x60_PHY_TIMING_CTRL_5 0x00000274
  423. #define REG_DSI_8x60_PHY_TIMING_CTRL_6 0x00000278
  424. #define REG_DSI_8x60_PHY_TIMING_CTRL_7 0x0000027c
  425. #define REG_DSI_8x60_PHY_TIMING_CTRL_8 0x00000280
  426. #define REG_DSI_8x60_PHY_TIMING_CTRL_9 0x00000284
  427. #define REG_DSI_8x60_PHY_TIMING_CTRL_10 0x00000288
  428. #define REG_DSI_8x60_PHY_TIMING_CTRL_11 0x0000028c
  429. #define REG_DSI_8x60_PHY_CTRL_0 0x00000290
  430. #define REG_DSI_8x60_PHY_CTRL_1 0x00000294
  431. #define REG_DSI_8x60_PHY_CTRL_2 0x00000298
  432. #define REG_DSI_8x60_PHY_CTRL_3 0x0000029c
  433. #define REG_DSI_8x60_PHY_STRENGTH_0 0x000002a0
  434. #define REG_DSI_8x60_PHY_STRENGTH_1 0x000002a4
  435. #define REG_DSI_8x60_PHY_STRENGTH_2 0x000002a8
  436. #define REG_DSI_8x60_PHY_STRENGTH_3 0x000002ac
  437. #define REG_DSI_8x60_PHY_REGULATOR_CTRL_0 0x000002cc
  438. #define REG_DSI_8x60_PHY_REGULATOR_CTRL_1 0x000002d0
  439. #define REG_DSI_8x60_PHY_REGULATOR_CTRL_2 0x000002d4
  440. #define REG_DSI_8x60_PHY_REGULATOR_CTRL_3 0x000002d8
  441. #define REG_DSI_8x60_PHY_REGULATOR_CTRL_4 0x000002dc
  442. #define REG_DSI_8x60_PHY_CAL_HW_TRIGGER 0x000000f0
  443. #define REG_DSI_8x60_PHY_CAL_CTRL 0x000000f4
  444. #define REG_DSI_8x60_PHY_CAL_STATUS 0x000000fc
  445. #define DSI_8x60_PHY_CAL_STATUS_CAL_BUSY 0x10000000
  446. static inline uint32_t REG_DSI_8960_LN(uint32_t i0) { return 0x00000300 + 0x40*i0; }
  447. static inline uint32_t REG_DSI_8960_LN_CFG_0(uint32_t i0) { return 0x00000300 + 0x40*i0; }
  448. static inline uint32_t REG_DSI_8960_LN_CFG_1(uint32_t i0) { return 0x00000304 + 0x40*i0; }
  449. static inline uint32_t REG_DSI_8960_LN_CFG_2(uint32_t i0) { return 0x00000308 + 0x40*i0; }
  450. static inline uint32_t REG_DSI_8960_LN_TEST_DATAPATH(uint32_t i0) { return 0x0000030c + 0x40*i0; }
  451. static inline uint32_t REG_DSI_8960_LN_TEST_STR_0(uint32_t i0) { return 0x00000314 + 0x40*i0; }
  452. static inline uint32_t REG_DSI_8960_LN_TEST_STR_1(uint32_t i0) { return 0x00000318 + 0x40*i0; }
  453. #define REG_DSI_8960_PHY_LNCK_CFG_0 0x00000400
  454. #define REG_DSI_8960_PHY_LNCK_CFG_1 0x00000404
  455. #define REG_DSI_8960_PHY_LNCK_CFG_2 0x00000408
  456. #define REG_DSI_8960_PHY_LNCK_TEST_DATAPATH 0x0000040c
  457. #define REG_DSI_8960_PHY_LNCK_TEST_STR0 0x00000414
  458. #define REG_DSI_8960_PHY_LNCK_TEST_STR1 0x00000418
  459. #define REG_DSI_8960_PHY_TIMING_CTRL_0 0x00000440
  460. #define REG_DSI_8960_PHY_TIMING_CTRL_1 0x00000444
  461. #define REG_DSI_8960_PHY_TIMING_CTRL_2 0x00000448
  462. #define REG_DSI_8960_PHY_TIMING_CTRL_3 0x0000044c
  463. #define REG_DSI_8960_PHY_TIMING_CTRL_4 0x00000450
  464. #define REG_DSI_8960_PHY_TIMING_CTRL_5 0x00000454
  465. #define REG_DSI_8960_PHY_TIMING_CTRL_6 0x00000458
  466. #define REG_DSI_8960_PHY_TIMING_CTRL_7 0x0000045c
  467. #define REG_DSI_8960_PHY_TIMING_CTRL_8 0x00000460
  468. #define REG_DSI_8960_PHY_TIMING_CTRL_9 0x00000464
  469. #define REG_DSI_8960_PHY_TIMING_CTRL_10 0x00000468
  470. #define REG_DSI_8960_PHY_TIMING_CTRL_11 0x0000046c
  471. #define REG_DSI_8960_PHY_CTRL_0 0x00000470
  472. #define REG_DSI_8960_PHY_CTRL_1 0x00000474
  473. #define REG_DSI_8960_PHY_CTRL_2 0x00000478
  474. #define REG_DSI_8960_PHY_CTRL_3 0x0000047c
  475. #define REG_DSI_8960_PHY_STRENGTH_0 0x00000480
  476. #define REG_DSI_8960_PHY_STRENGTH_1 0x00000484
  477. #define REG_DSI_8960_PHY_STRENGTH_2 0x00000488
  478. #define REG_DSI_8960_PHY_BIST_CTRL_0 0x0000048c
  479. #define REG_DSI_8960_PHY_BIST_CTRL_1 0x00000490
  480. #define REG_DSI_8960_PHY_BIST_CTRL_2 0x00000494
  481. #define REG_DSI_8960_PHY_BIST_CTRL_3 0x00000498
  482. #define REG_DSI_8960_PHY_BIST_CTRL_4 0x0000049c
  483. #define REG_DSI_8960_PHY_LDO_CTRL 0x000004b0
  484. #define REG_DSI_8960_PHY_REGULATOR_CTRL_0 0x00000500
  485. #define REG_DSI_8960_PHY_REGULATOR_CTRL_1 0x00000504
  486. #define REG_DSI_8960_PHY_REGULATOR_CTRL_2 0x00000508
  487. #define REG_DSI_8960_PHY_REGULATOR_CTRL_3 0x0000050c
  488. #define REG_DSI_8960_PHY_REGULATOR_CTRL_4 0x00000510
  489. #define REG_DSI_8960_PHY_REGULATOR_CAL_PWR_CFG 0x00000518
  490. #define REG_DSI_8960_PHY_CAL_HW_TRIGGER 0x00000528
  491. #define REG_DSI_8960_PHY_CAL_SW_CFG_0 0x0000052c
  492. #define REG_DSI_8960_PHY_CAL_SW_CFG_1 0x00000530
  493. #define REG_DSI_8960_PHY_CAL_SW_CFG_2 0x00000534
  494. #define REG_DSI_8960_PHY_CAL_HW_CFG_0 0x00000538
  495. #define REG_DSI_8960_PHY_CAL_HW_CFG_1 0x0000053c
  496. #define REG_DSI_8960_PHY_CAL_HW_CFG_2 0x00000540
  497. #define REG_DSI_8960_PHY_CAL_HW_CFG_3 0x00000544
  498. #define REG_DSI_8960_PHY_CAL_HW_CFG_4 0x00000548
  499. #define REG_DSI_8960_PHY_CAL_STATUS 0x00000550
  500. #define DSI_8960_PHY_CAL_STATUS_CAL_BUSY 0x00000010
  501. static inline uint32_t REG_DSI_28nm_PHY_LN(uint32_t i0) { return 0x00000000 + 0x40*i0; }
  502. static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_0(uint32_t i0) { return 0x00000000 + 0x40*i0; }
  503. static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_1(uint32_t i0) { return 0x00000004 + 0x40*i0; }
  504. static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_2(uint32_t i0) { return 0x00000008 + 0x40*i0; }
  505. static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_3(uint32_t i0) { return 0x0000000c + 0x40*i0; }
  506. static inline uint32_t REG_DSI_28nm_PHY_LN_CFG_4(uint32_t i0) { return 0x00000010 + 0x40*i0; }
  507. static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_DATAPATH(uint32_t i0) { return 0x00000014 + 0x40*i0; }
  508. static inline uint32_t REG_DSI_28nm_PHY_LN_DEBUG_SEL(uint32_t i0) { return 0x00000018 + 0x40*i0; }
  509. static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_STR_0(uint32_t i0) { return 0x0000001c + 0x40*i0; }
  510. static inline uint32_t REG_DSI_28nm_PHY_LN_TEST_STR_1(uint32_t i0) { return 0x00000020 + 0x40*i0; }
  511. #define REG_DSI_28nm_PHY_LNCK_CFG_0 0x00000100
  512. #define REG_DSI_28nm_PHY_LNCK_CFG_1 0x00000104
  513. #define REG_DSI_28nm_PHY_LNCK_CFG_2 0x00000108
  514. #define REG_DSI_28nm_PHY_LNCK_CFG_3 0x0000010c
  515. #define REG_DSI_28nm_PHY_LNCK_CFG_4 0x00000110
  516. #define REG_DSI_28nm_PHY_LNCK_TEST_DATAPATH 0x00000114
  517. #define REG_DSI_28nm_PHY_LNCK_DEBUG_SEL 0x00000118
  518. #define REG_DSI_28nm_PHY_LNCK_TEST_STR0 0x0000011c
  519. #define REG_DSI_28nm_PHY_LNCK_TEST_STR1 0x00000120
  520. #define REG_DSI_28nm_PHY_TIMING_CTRL_0 0x00000140
  521. #define DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__MASK 0x000000ff
  522. #define DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT 0
  523. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO(uint32_t val)
  524. {
  525. return ((val) << DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_0_CLK_ZERO__MASK;
  526. }
  527. #define REG_DSI_28nm_PHY_TIMING_CTRL_1 0x00000144
  528. #define DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK 0x000000ff
  529. #define DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT 0
  530. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL(uint32_t val)
  531. {
  532. return ((val) << DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_1_CLK_TRAIL__MASK;
  533. }
  534. #define REG_DSI_28nm_PHY_TIMING_CTRL_2 0x00000148
  535. #define DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK 0x000000ff
  536. #define DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT 0
  537. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE(uint32_t val)
  538. {
  539. return ((val) << DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_2_CLK_PREPARE__MASK;
  540. }
  541. #define REG_DSI_28nm_PHY_TIMING_CTRL_3 0x0000014c
  542. #define DSI_28nm_PHY_TIMING_CTRL_3_CLK_ZERO_8 0x00000001
  543. #define REG_DSI_28nm_PHY_TIMING_CTRL_4 0x00000150
  544. #define DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__MASK 0x000000ff
  545. #define DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT 0
  546. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT(uint32_t val)
  547. {
  548. return ((val) << DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_4_HS_EXIT__MASK;
  549. }
  550. #define REG_DSI_28nm_PHY_TIMING_CTRL_5 0x00000154
  551. #define DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__MASK 0x000000ff
  552. #define DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT 0
  553. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO(uint32_t val)
  554. {
  555. return ((val) << DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_5_HS_ZERO__MASK;
  556. }
  557. #define REG_DSI_28nm_PHY_TIMING_CTRL_6 0x00000158
  558. #define DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__MASK 0x000000ff
  559. #define DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT 0
  560. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE(uint32_t val)
  561. {
  562. return ((val) << DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_6_HS_PREPARE__MASK;
  563. }
  564. #define REG_DSI_28nm_PHY_TIMING_CTRL_7 0x0000015c
  565. #define DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__MASK 0x000000ff
  566. #define DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT 0
  567. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL(uint32_t val)
  568. {
  569. return ((val) << DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_7_HS_TRAIL__MASK;
  570. }
  571. #define REG_DSI_28nm_PHY_TIMING_CTRL_8 0x00000160
  572. #define DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__MASK 0x000000ff
  573. #define DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__SHIFT 0
  574. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST(uint32_t val)
  575. {
  576. return ((val) << DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_8_HS_RQST__MASK;
  577. }
  578. #define REG_DSI_28nm_PHY_TIMING_CTRL_9 0x00000164
  579. #define DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__MASK 0x00000007
  580. #define DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__SHIFT 0
  581. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_9_TA_GO(uint32_t val)
  582. {
  583. return ((val) << DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_9_TA_GO__MASK;
  584. }
  585. #define DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__MASK 0x00000070
  586. #define DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__SHIFT 4
  587. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE(uint32_t val)
  588. {
  589. return ((val) << DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_9_TA_SURE__MASK;
  590. }
  591. #define REG_DSI_28nm_PHY_TIMING_CTRL_10 0x00000168
  592. #define DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__MASK 0x00000007
  593. #define DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__SHIFT 0
  594. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_10_TA_GET(uint32_t val)
  595. {
  596. return ((val) << DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_10_TA_GET__MASK;
  597. }
  598. #define REG_DSI_28nm_PHY_TIMING_CTRL_11 0x0000016c
  599. #define DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK 0x000000ff
  600. #define DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT 0
  601. static inline uint32_t DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD(uint32_t val)
  602. {
  603. return ((val) << DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__SHIFT) & DSI_28nm_PHY_TIMING_CTRL_11_TRIG3_CMD__MASK;
  604. }
  605. #define REG_DSI_28nm_PHY_CTRL_0 0x00000170
  606. #define REG_DSI_28nm_PHY_CTRL_1 0x00000174
  607. #define REG_DSI_28nm_PHY_CTRL_2 0x00000178
  608. #define REG_DSI_28nm_PHY_CTRL_3 0x0000017c
  609. #define REG_DSI_28nm_PHY_CTRL_4 0x00000180
  610. #define REG_DSI_28nm_PHY_STRENGTH_0 0x00000184
  611. #define REG_DSI_28nm_PHY_STRENGTH_1 0x00000188
  612. #define REG_DSI_28nm_PHY_BIST_CTRL_0 0x000001b4
  613. #define REG_DSI_28nm_PHY_BIST_CTRL_1 0x000001b8
  614. #define REG_DSI_28nm_PHY_BIST_CTRL_2 0x000001bc
  615. #define REG_DSI_28nm_PHY_BIST_CTRL_3 0x000001c0
  616. #define REG_DSI_28nm_PHY_BIST_CTRL_4 0x000001c4
  617. #define REG_DSI_28nm_PHY_BIST_CTRL_5 0x000001c8
  618. #define REG_DSI_28nm_PHY_GLBL_TEST_CTRL 0x000001d4
  619. #define REG_DSI_28nm_PHY_LDO_CNTRL 0x000001dc
  620. #define REG_DSI_28nm_PHY_REGULATOR_CTRL_0 0x00000000
  621. #define REG_DSI_28nm_PHY_REGULATOR_CTRL_1 0x00000004
  622. #define REG_DSI_28nm_PHY_REGULATOR_CTRL_2 0x00000008
  623. #define REG_DSI_28nm_PHY_REGULATOR_CTRL_3 0x0000000c
  624. #define REG_DSI_28nm_PHY_REGULATOR_CTRL_4 0x00000010
  625. #define REG_DSI_28nm_PHY_REGULATOR_CTRL_5 0x00000014
  626. #define REG_DSI_28nm_PHY_REGULATOR_CAL_PWR_CFG 0x00000018
  627. #endif /* DSI_XML */