ark1668_sys.h 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  1. #ifndef ARK_SYS_H
  2. #define ARK_SYS_H
  3. #define ARK_SYS_ADDR SYS_BASE
  4. /*
  5. * System register definitions
  6. */
  7. #define rSYS_BOOT_SAMPLE *((volatile unsigned int *)(SYS_BASE+0x0))
  8. #define rSYS_CLK_SEL *((volatile unsigned int *)(SYS_BASE+0x40))
  9. #define rSYS_AHB_CLK_EN *((volatile unsigned int *)(SYS_BASE+0x44))
  10. #define rSYS_APB_CLK_EN *((volatile unsigned int *)(SYS_BASE+0x48))
  11. #define rSYS_AXI_CLK_EN *((volatile unsigned int *)(SYS_BASE+0x4c))
  12. #define rSYS_PER_CLK_EN *((volatile unsigned int *)(SYS_BASE+0x50))
  13. #define rSYS_LCD_CLK_CFG *((volatile unsigned int *)(SYS_BASE+0x54))
  14. #define rSYS_SD_CLK_CFG *((volatile unsigned int *)(SYS_BASE+0x58))
  15. #define rSYS_SD1_CLK_CFG *((volatile unsigned int *)(SYS_BASE+0x5c))
  16. #define rSYS_DEVICE_CLK_CFG0 *((volatile unsigned int *)(SYS_BASE+0x60))
  17. #define rSYS_DEVICE_CLK_CFG1 *((volatile unsigned int *)(SYS_BASE+0x64))
  18. #define rSYS_DEVICE_CLK_CFG2 *((volatile unsigned int *)(SYS_BASE+0x68))
  19. #define rSYS_DEVICE_CLK_CFG3 *((volatile unsigned int *)(SYS_BASE+0x6c))
  20. #define rSYS_CLK_DLY_REG *((volatile unsigned int *)(SYS_BASE+0x70))
  21. #define rSYS_SOFT_RSTNA *((volatile unsigned int *)(SYS_BASE+0x74))
  22. #define rSYS_SOFT_RSTNB *((volatile unsigned int *)(SYS_BASE+0x78))
  23. #define rSYS_SD2_CLK_CFG *((volatile unsigned int *)(SYS_BASE+0x7c))
  24. #define rSYS_ANALOG_REG0 *((volatile unsigned int *)(SYS_BASE+0x140))
  25. #define rSYS_ANALOG_REG1 *((volatile unsigned int *)(SYS_BASE+0x144))
  26. #define rSYS_DDR2_PAD_REG *((volatile unsigned int *)(SYS_BASE+0x148))
  27. #define rSYS_PLLRFCK_CTL *((volatile unsigned int *)(SYS_BASE+0x14c))
  28. #define rSYS_CPUPLL_CFG *((volatile unsigned int *)(SYS_BASE+0x150))
  29. #define rSYS_SYSPLL_CFG *((volatile unsigned int *)(SYS_BASE+0x154))
  30. #define rSYS_AUDPLL_CFG *((volatile unsigned int *)(SYS_BASE+0x158))
  31. #define rSYS_DDRDLL_RDCLK_CFG *((volatile unsigned int *)(SYS_BASE+0x15c))
  32. #define rSYS_DDRDLL_WRCLK_CFG *((volatile unsigned int *)(SYS_BASE+0x160))
  33. #define rSYS_DDRDLL_DQS_CFG0 *((volatile unsigned int *)(SYS_BASE+0x164))
  34. #define rSYS_DDRDLL_DQS_CFG1 *((volatile unsigned int *)(SYS_BASE+0x168))
  35. #define rSYS_DDRDLL_DQS_CFG2 *((volatile unsigned int *)(SYS_BASE+0x16C))
  36. #define rSYS_DDRDLL_BIAS_UP_TRIM *((volatile unsigned int *)(SYS_BASE+0x170))
  37. #define rSYS_DEVICE_CLK_CFG4 *((volatile unsigned int *)(SYS_BASE+0x174))
  38. #define rSYS_LVDS_CTRL_CFG *((volatile unsigned int *)(SYS_BASE+0x190))
  39. #define rSYS_DDS_CLK_CFG *((volatile unsigned int *)(SYS_BASE+0x198))
  40. #define rSYS_DDS_IO_CFG *((volatile unsigned int *)(SYS_BASE+0x19C))
  41. #define rSYS_PAD_CTRL00 *((volatile unsigned int *)(SYS_BASE+0x1c0))
  42. #define rSYS_PAD_CTRL01 *((volatile unsigned int *)(SYS_BASE+0x1c4))
  43. #define rSYS_PAD_CTRL02 *((volatile unsigned int *)(SYS_BASE+0x1c8))
  44. #define rSYS_PAD_CTRL03 *((volatile unsigned int *)(SYS_BASE+0x1cc))
  45. #define rSYS_PAD_CTRL04 *((volatile unsigned int *)(SYS_BASE+0x1d0))
  46. #define rSYS_PAD_CTRL05 *((volatile unsigned int *)(SYS_BASE+0x1d4))
  47. #define rSYS_PAD_CTRL06 *((volatile unsigned int *)(SYS_BASE+0x1d8))
  48. #define rSYS_PAD_CTRL07 *((volatile unsigned int *)(SYS_BASE+0x1dc))
  49. #define rSYS_PAD_CTRL08 *((volatile unsigned int *)(SYS_BASE+0x1e0))
  50. #define rSYS_PAD_CTRL09 *((volatile unsigned int *)(SYS_BASE+0x1e4))
  51. #define rSYS_PAD_CTRL0A *((volatile unsigned int *)(SYS_BASE+0x1e8))
  52. #define rSYS_PAD_CTRL0B *((volatile unsigned int *)(SYS_BASE+0x1ec))
  53. #define rSYS_PAD_CTRL0C *((volatile unsigned int *)(SYS_BASE+0x1f0))
  54. /* PWM */
  55. #define rPWM_ENA0 (*(volatile unsigned int *)(PWM_BASE + 0x00))
  56. #define rPWM_DUTY0 (*(volatile unsigned int *)(PWM_BASE + 0x04))
  57. #define rPWM_CNTR0 (*(volatile unsigned int *)(PWM_BASE + 0x08))
  58. #define rPWM_ENA1 (*(volatile unsigned int *)(PWM_BASE + 0x10))
  59. #define rPWM_DUTY1 (*(volatile unsigned int *)(PWM_BASE + 0x14))
  60. #define rPWM_CNTR1 (*(volatile unsigned int *)(PWM_BASE + 0x18))
  61. #define rPWM_ENA2 (*(volatile unsigned int *)(PWM_BASE + 0x20))
  62. #define rPWM_DUTY2 (*(volatile unsigned int *)(PWM_BASE + 0x24))
  63. #define rPWM_CNTR2 (*(volatile unsigned int *)(PWM_BASE + 0x28))
  64. #define rPWM_ENA3 (*(volatile unsigned int *)(PWM_BASE + 0x30))
  65. #define rPWM_DUTY3 (*(volatile unsigned int *)(PWM_BASE + 0x34))
  66. #define rPWM_CNTR3 (*(volatile unsigned int *)(PWM_BASE + 0x38))
  67. #define rPWM_ENA4 (*(volatile unsigned int *)(PWM_BASE + 0x40))
  68. #define rPWM_DUTY4 (*(volatile unsigned int *)(PWM_BASE + 0x44))
  69. #define rPWM_CNTR4 (*(volatile unsigned int *)(PWM_BASE + 0x48))
  70. #define rPWM_ENA5 (*(volatile unsigned int *)(PWM_BASE + 0x50))
  71. #define rPWM_DUTY5 (*(volatile unsigned int *)(PWM_BASE + 0x54))
  72. #define rPWM_CNTR5 (*(volatile unsigned int *)(PWM_BASE + 0x58))
  73. /* LCD */
  74. #define rLCD_EANBLE *((volatile unsigned int *)(LCD_BASE+0x000))
  75. #define rLCD_CONTROL *((volatile unsigned int *)(LCD_BASE+0x004))
  76. #define rLCD_TIMING0 *((volatile unsigned int *)(LCD_BASE+0x008))
  77. #define rLCD_TIMING1 *((volatile unsigned int *)(LCD_BASE+0x00c))
  78. #define rLCD_TIMING2 *((volatile unsigned int *)(LCD_BASE+0x010))
  79. #define rLCD_TIMING3 *((volatile unsigned int *)(LCD_BASE+0x014))
  80. #define rLCD_TIMING_FRAME_START_CNT_LCD *((volatile unsigned int *)(LCD_BASE+0x018))
  81. #define rLCD_DITHERING *((volatile unsigned int *)(LCD_BASE+0x020))
  82. #define rLCD_ALPHA1_0_VIDEO_OSD1 *((volatile unsigned int *)(LCD_BASE+0x024))
  83. #define rLCD_ALPHA1_0_OSD2_OSD3 *((volatile unsigned int *)(LCD_BASE+0x028))
  84. #define rLCD_ALPHA1_0_VIDEO2 *((volatile unsigned int *)(LCD_BASE+0x030))
  85. #define rLCD_VIDEO_BURST_CTL *((volatile unsigned int *)(LCD_BASE+0x038))
  86. #define rLCD_VIDEO_CTL *((volatile unsigned int *)(LCD_BASE+0x03c))
  87. #define rLCD_VIDEO_WIN_SIZE *((volatile unsigned int *)(LCD_BASE+0x040))
  88. #define rLCD_VIDEO_SIZE *((volatile unsigned int *)(LCD_BASE+0x044))
  89. #define rLCD_VIDEO_VIDEO2_BLD_COEF *((volatile unsigned int *)(LCD_BASE+0x048))
  90. #define rLCD_VIDEO_POSITION *((volatile unsigned int *)(LCD_BASE+0x04c))
  91. #define rLCD_BACK_COLOR *((volatile unsigned int *)(LCD_BASE+0x050))
  92. #define rLCD_VIDEO_ADDR1 *((volatile unsigned int *)(LCD_BASE+0x054))
  93. #define rLCD_VIDEO_ADDR2 *((volatile unsigned int *)(LCD_BASE+0x058))
  94. #define rLCD_VIDEO_ADDR3 *((volatile unsigned int *)(LCD_BASE+0x05c))
  95. #define rLCD_BLD_MODE_LCD_REG0 *((volatile unsigned int *)(LCD_BASE+0x060))
  96. #define rLCD_BLD_MODE_LCD_REG1 *((volatile unsigned int *)(LCD_BASE+0x064))
  97. #define rLCD_BLD_MODE_TV_REG0 *((volatile unsigned int *)(LCD_BASE+0x068))
  98. #define rLCD_BLD_MODE_TV_REG1 *((volatile unsigned int *)(LCD_BASE+0x06c))
  99. #define rLCD_OSD1_BURST_CTL *((volatile unsigned int *)(LCD_BASE+0x070))
  100. #define rLCD_OSD1_CTL *((volatile unsigned int *)(LCD_BASE+0x074))
  101. #define rLCD_OSD1_SIZE *((volatile unsigned int *)(LCD_BASE+0x078))
  102. #define rLCD_OSD1_POSITION *((volatile unsigned int *)(LCD_BASE+0x07c))
  103. #define rLCD_OSD1_ADDR *((volatile unsigned int *)(LCD_BASE+0x080))
  104. #define rLCD_OSD2_BURST_CTL *((volatile unsigned int *)(LCD_BASE+0x084))
  105. #define rLCD_OSD2_CTL *((volatile unsigned int *)(LCD_BASE+0x088))
  106. #define rLCD_OSD2_SIZE *((volatile unsigned int *)(LCD_BASE+0x08c))
  107. #define rLCD_OSD2_POSITION *((volatile unsigned int *)(LCD_BASE+0x090))
  108. #define rLCD_OSD2_ADDR *((volatile unsigned int *)(LCD_BASE+0x094))
  109. #define rLCD_OSD3_CTL *((volatile unsigned int *)(LCD_BASE+0x098))
  110. #define rLCD_OSD3_SIZE *((volatile unsigned int *)(LCD_BASE+0x09c))
  111. #define rLCD_OSD3_POSITION *((volatile unsigned int *)(LCD_BASE+0x0a0))
  112. #define rLCD_OSD3_ADDR *((volatile unsigned int *)(LCD_BASE+0x0a4))
  113. #define rLCD_OSD3_BURST_CTL *((volatile unsigned int *)(LCD_BASE+0x0a8))
  114. #define rLCD_VIDEO_SCALE_VXMOD *((volatile unsigned int *)(LCD_BASE+0x0ac))
  115. #define rLCD_VIDEO_SCALE_CTL *((volatile unsigned int *)(LCD_BASE+0x0b0))
  116. #define rLCD_VIDEO_SCAL_CTL0 *((volatile unsigned int *)(LCD_BASE+0x0b4))
  117. #define rLCD_VIDEO_SCAL_CTL1 *((volatile unsigned int *)(LCD_BASE+0x0b8))
  118. #define rLCD_VIDEO_RIGHT_BOTTOM_CUT_NUM *((volatile unsigned int *)(LCD_BASE+0x0bc))
  119. #define rLCD_VIDEO_SCAL_CTL2 *((volatile unsigned int *)(LCD_BASE+0x0c0))
  120. #define rLCD_VIDEO_SCAL_CTL3 *((volatile unsigned int *)(LCD_BASE+0x0c4))
  121. #define rLCD_VIDEO_SCAL_CTL4 *((volatile unsigned int *)(LCD_BASE+0x0c8))
  122. #define rLCD_VIDEO_HSCAL_COS_VALUE *((volatile unsigned int *)(LCD_BASE+0x0cc))
  123. #define rLCD_COLOR_KEY_MASK_THLD_VIDEO *((volatile unsigned int *)(LCD_BASE+0x0d8))
  124. #define rLCD_COLOR_KEY_MASK_THLD_OSD1 *((volatile unsigned int *)(LCD_BASE+0x0dc))
  125. #define rLCD_COLOR_KEY_MASK_THLD_OSD2 *((volatile unsigned int *)(LCD_BASE+0x0e0))
  126. #define rLCD_COLOR_KEY_MASK_THLD_OSD3 *((volatile unsigned int *)(LCD_BASE+0x0e4))
  127. #define rLCD_COLOR_KEY_MASK_VALUE_VIDEO *((volatile unsigned int *)(LCD_BASE+0x0e8))
  128. #define rLCD_COLOR_KEY_MASK_VALUE_OSD1 *((volatile unsigned int *)(LCD_BASE+0x0ec))
  129. #define rLCD_COLOR_KEY_MASK_VALUE_OSD2 *((volatile unsigned int *)(LCD_BASE+0x0f0))
  130. #define rLCD_COLOR_KEY_MASK_VALUE_OSD3 *((volatile unsigned int *)(LCD_BASE+0x0f4))
  131. #define CLCD_BLD_CUT_LEFT_RIGHT_VIDEO *((volatile unsigned int *)(LCD_BASE+0x0fc))
  132. #define rLCD_BLD_CUT_UP_DOWN_VIDEO *((volatile unsigned int *)(LCD_BASE+0x100))
  133. #define rLCD_BLD_CUT_LEFT_RIGHT_OSD1 *((volatile unsigned int *)(LCD_BASE+0x104))
  134. #define rLCD_BLD_CUT_UP_DOWN_OSD1 *((volatile unsigned int *)(LCD_BASE+0x108))
  135. #define rLCD_BLD_CUT_LEFT_RIGHT_OSD2 *((volatile unsigned int *)(LCD_BASE+0x10c))
  136. #define rLCD_BLD_CUT_UP_DOWN_OSD2 *((volatile unsigned int *)(LCD_BASE+0x110))
  137. #define rLCD_BLD_CUT_LEFT_RIGHT_OSD3 *((volatile unsigned int *)(LCD_BASE+0x114))
  138. #define rLCD_BLD_CUT_UP_DOWN_OSD3 *((volatile unsigned int *)(LCD_BASE+0x118))
  139. #define rLCD_Y2R_COEF321 *((volatile unsigned int *)(LCD_BASE+0x11c))
  140. #define rLCD_Y2R_COEF654 *((volatile unsigned int *)(LCD_BASE+0x120))
  141. #define rLCD_Y2R_COEF7 *((volatile unsigned int *)(LCD_BASE+0x124))
  142. #define rLCD_VIDEO2_VP_REG_0 *((volatile unsigned int *)(LCD_BASE+0x130))
  143. #define rLCD_VIDEO2_VP_REG_1 *((volatile unsigned int *)(LCD_BASE+0x134))
  144. #define rLCD_VIDEO2_VP_REG_2 *((volatile unsigned int *)(LCD_BASE+0x138))
  145. #define rLCD_VIDEO2_VP_REG_3 *((volatile unsigned int *)(LCD_BASE+0x13c))
  146. #define rLCD_VIDEO2_VP_REG_4 *((volatile unsigned int *)(LCD_BASE+0x140))
  147. #define rLCD_OSD1_VP_REG_1 *((volatile unsigned int *)(LCD_BASE+0x144))
  148. #define rLCD_OSD1_VP_REG_2 *((volatile unsigned int *)(LCD_BASE+0x148))
  149. #define rLCD_OSD2_VP_REG_1 *((volatile unsigned int *)(LCD_BASE+0x14c))
  150. #define rLCD_OSD2_VP_REG_2 *((volatile unsigned int *)(LCD_BASE+0x150))
  151. #define rLCD_OSD3_VP_REG_1 *((volatile unsigned int *)(LCD_BASE+0x154))
  152. #define rLCD_OSD3_VP_REG_2 *((volatile unsigned int *)(LCD_BASE+0x158))
  153. #define rLCD_VIDEO_WIN_POINT *((volatile unsigned int *)(LCD_BASE+0x15C))
  154. #define rLCD_OSD1_WIN_POINT *((volatile unsigned int *)(LCD_BASE+0x160))
  155. #define rLCD_OSD2_WIN_POINT *((volatile unsigned int *)(LCD_BASE+0x164))
  156. #define rLCD_OSD3_WIN_POINT *((volatile unsigned int *)(LCD_BASE+0x168))
  157. #define rLCD_VIDEO_SOURCE_SIZE *((volatile unsigned int *)(LCD_BASE+0x16c))
  158. #define rLCD_OSD1_SOURCE_SIZE *((volatile unsigned int *)(LCD_BASE+0x170))
  159. #define rLCD_OSD2_SOURCE_SIZE *((volatile unsigned int *)(LCD_BASE+0x174))
  160. #define rLCD_OSD3_SOURCE_SIZE *((volatile unsigned int *)(LCD_BASE+0x178))
  161. #define rLCD_INTERRUPT_CTL *((volatile unsigned int *)(LCD_BASE+0x17c))
  162. #define rLCD_INTERRUPT_STATUS *((volatile unsigned int *)(LCD_BASE+0x180))
  163. #define rLCD_TIMING_INIT *((volatile unsigned int *)(LCD_BASE+0x184))
  164. #define rLCD_TCON_REG0 *((volatile unsigned int *)(LCD_BASE+0x188))
  165. #define rLCD_TCON_REG1 *((volatile unsigned int *)(LCD_BASE+0x18c))
  166. #define rLCD_TCON_REG2 *((volatile unsigned int *)(LCD_BASE+0x190))
  167. #define rLCD_TCON_REG3 *((volatile unsigned int *)(LCD_BASE+0x194))
  168. #define rLCD_TCON_REG4 *((volatile unsigned int *)(LCD_BASE+0x198))
  169. #define rLCD_TCON_REG5 *((volatile unsigned int *)(LCD_BASE+0x19c))
  170. #define rLCD_TCON_REG6 *((volatile unsigned int *)(LCD_BASE+0x1a0))
  171. #define rLCD_TCON_REG7 *((volatile unsigned int *)(LCD_BASE+0x1a4))
  172. #define rLCD_TCON_REG8 *((volatile unsigned int *)(LCD_BASE+0x1a8))
  173. #define rLCD_TCON_REG9 *((volatile unsigned int *)(LCD_BASE+0x1ac))
  174. #define rLCD_TCON_REG10 *((volatile unsigned int *)(LCD_BASE+0x1b0))
  175. #define rLCD_TCON_REG11 *((volatile unsigned int *)(LCD_BASE+0x1b4))
  176. #define rLCD_TCON_REG12 *((volatile unsigned int *)(LCD_BASE+0x1b8))
  177. #define rLCD_TCON_REG13 *((volatile unsigned int *)(LCD_BASE+0x1bc))
  178. #define rLCD_TCON_REG14 *((volatile unsigned int *)(LCD_BASE+0x1c0))
  179. #define rLCD_TCON_REG15 *((volatile unsigned int *)(LCD_BASE+0x1c4))
  180. #define rLCD_TCON_REG16 *((volatile unsigned int *)(LCD_BASE+0x1c8))
  181. #define rLCD_TCON_REG17 *((volatile unsigned int *)(LCD_BASE+0x1cc))
  182. #define rLCD_TCON_REG18 *((volatile unsigned int *)(LCD_BASE+0x1d0))
  183. #define rLCD_VIDEO_VP_REG_0 *((volatile unsigned int *)(LCD_BASE+0x1d4))
  184. #define rLCD_VIDEO_VP_REG_1 *((volatile unsigned int *)(LCD_BASE+0x1d8))
  185. #define rLCD_VIDEO_VP_REG_2 *((volatile unsigned int *)(LCD_BASE+0x1dc))
  186. #define rLCD_VIDEO_VP_REG_3 *((volatile unsigned int *)(LCD_BASE+0x1e0))
  187. #define rLCD_VIDEO_VP_REG_4 *((volatile unsigned int *)(LCD_BASE+0x1e4))
  188. #define rLCD_GAMMA_REG_0 *((volatile unsigned int *)(LCD_BASE+0x1ec))
  189. #define rLCD_GAMMA_REG_1 *((volatile unsigned int *)(LCD_BASE+0x1f0))
  190. #define rLCD_GAMMA_REG_2 *((volatile unsigned int *)(LCD_BASE+0x1f4))
  191. #define rLCD_GAMMA_REG_3 *((volatile unsigned int *)(LCD_BASE+0x1f8))
  192. #define rLCD_GAMMA_REG_4 *((volatile unsigned int *)(LCD_BASE+0x1fc))
  193. #define rLCD_GAMMA_REG_5 *((volatile unsigned int *)(LCD_BASE+0x200))
  194. #define rLCD_GAMMA_REG_6 *((volatile unsigned int *)(LCD_BASE+0x204))
  195. #define rLCD_GAMMA_REG_7 *((volatile unsigned int *)(LCD_BASE+0x208))
  196. #define rLCD_GAMMA_REG_8 *((volatile unsigned int *)(LCD_BASE+0x20c))
  197. #define rLCD_GAMMA_REG_9 *((volatile unsigned int *)(LCD_BASE+0x210))
  198. #define rLCD_GAMMA_REG_10 *((volatile unsigned int *)(LCD_BASE+0x214))
  199. #define rLCD_GAMMA_REG_11 *((volatile unsigned int *)(LCD_BASE+0x218))
  200. #define rLCD_GAMMA_REG_12 *((volatile unsigned int *)(LCD_BASE+0x21c))
  201. #define rLCD_GAMMA_REG_13 *((volatile unsigned int *)(LCD_BASE+0x220))
  202. #define rLCD_GAMMA_REG_14 *((volatile unsigned int *)(LCD_BASE+0x224))
  203. #define rLCD_GAMMA_REG_15 *((volatile unsigned int *)(LCD_BASE+0x228))
  204. #define rLCD_GAMMA_REG_16 *((volatile unsigned int *)(LCD_BASE+0x22c))
  205. #define rLCD_GAMMA_REG_17 *((volatile unsigned int *)(LCD_BASE+0x230))
  206. #define rLCD_GAMMA_REG_18 *((volatile unsigned int *)(LCD_BASE+0x234))
  207. #define rLCD_GAMMA_REG_19 *((volatile unsigned int *)(LCD_BASE+0x238))
  208. #define rLCD_GAMMA_REG_20 *((volatile unsigned int *)(LCD_BASE+0x23c))
  209. #define rLCD_GAMMA_REG_21 *((volatile unsigned int *)(LCD_BASE+0x240))
  210. #define rLCD_GAMMA_REG_22 *((volatile unsigned int *)(LCD_BASE+0x244))
  211. #define rLCD_GAMMA_REG_23 *((volatile unsigned int *)(LCD_BASE+0x248))
  212. #define rLCD_GAMMA_REG_24 *((volatile unsigned int *)(LCD_BASE+0x24c))
  213. #define rLCD_GAMMA_REG_25 *((volatile unsigned int *)(LCD_BASE+0x250))
  214. #define rLCD_GAMMA_REG_26 *((volatile unsigned int *)(LCD_BASE+0x254))
  215. #define rLCD_GAMMA_REG_27 *((volatile unsigned int *)(LCD_BASE+0x258))
  216. #define rLCD_GAMMA_REG_28 *((volatile unsigned int *)(LCD_BASE+0x25c))
  217. #define rLCD_GAMMA_REG_29 *((volatile unsigned int *)(LCD_BASE+0x260))
  218. #define rLCD_GAMMA_REG_30 *((volatile unsigned int *)(LCD_BASE+0x264))
  219. #define rLCD_GAMMA_REG_31 *((volatile unsigned int *)(LCD_BASE+0x268))
  220. #define rLCD_GAMMA_REG_32 *((volatile unsigned int *)(LCD_BASE+0x26c))
  221. #define rLCD_GAMMA_REG_33 *((volatile unsigned int *)(LCD_BASE+0x270))
  222. #define rLCD_GAMMA_REG_34 *((volatile unsigned int *)(LCD_BASE+0x274))
  223. #define rLCD_GAMMA_REG_35 *((volatile unsigned int *)(LCD_BASE+0x278))
  224. #define rLCD_GAMMA_REG_36 *((volatile unsigned int *)(LCD_BASE+0x27c))
  225. #define rLCD_GAMMA_REG_37 *((volatile unsigned int *)(LCD_BASE+0x280))
  226. #define rLCD_GAMMA_REG_38 *((volatile unsigned int *)(LCD_BASE+0x284))
  227. #define rLCD_GAMMA_REG_39 *((volatile unsigned int *)(LCD_BASE+0x288))
  228. #define rLCD_GAMMA_REG_40 *((volatile unsigned int *)(LCD_BASE+0x28c))
  229. #define rLCD_GAMMA_REG_41 *((volatile unsigned int *)(LCD_BASE+0x290))
  230. #define rLCD_GAMMA_REG_42 *((volatile unsigned int *)(LCD_BASE+0x294))
  231. #define rLCD_GAMMA_REG_43 *((volatile unsigned int *)(LCD_BASE+0x298))
  232. #define rLCD_GAMMA_REG_44 *((volatile unsigned int *)(LCD_BASE+0x29c))
  233. #define rLCD_GAMMA_REG_45 *((volatile unsigned int *)(LCD_BASE+0x2a0))
  234. #define rLCD_GAMMA_REG_46 *((volatile unsigned int *)(LCD_BASE+0x2a4))
  235. #define rLCD_GAMMA_REG_47 *((volatile unsigned int *)(LCD_BASE+0x2a8))
  236. #define rLCD_GAMMA_REG_48 *((volatile unsigned int *)(LCD_BASE+0x2ac))
  237. //TV ENCODER
  238. #define rLCD_TV_CONTROL *((volatile unsigned int *)(LCD_BASE+0x2b0))
  239. #define rLCD_TIMING0_TV *((volatile unsigned int *)(LCD_BASE+0x2b4))
  240. #define rLCD_TIMING1_TV *((volatile unsigned int *)(LCD_BASE+0x2b8))
  241. #define rLCD_TIMING2_TV *((volatile unsigned int *)(LCD_BASE+0x2bc))
  242. #define rLCD_TIMING3_TV *((volatile unsigned int *)(LCD_BASE+0x2c0))
  243. #define rLCD_TIMING_FRAME_START_CNT_TV *((volatile unsigned int *)(LCD_BASE+0x2c4))
  244. #define rTU656_TIMING_TIMING_CNT_NUMBER *((volatile unsigned int *)(LCD_BASE+0x2c8))
  245. #define rLCD_BACK_COLOR_TV *((volatile unsigned int *)(LCD_BASE+0x2cc))
  246. #define rLCD_Y2R_COEF321_TV *((volatile unsigned int *)(LCD_BASE+0x2d0))
  247. #define rLCD_Y2R_COEF654_TV *((volatile unsigned int *)(LCD_BASE+0x2d4))
  248. #define rLCD_Y2R_COEF7_TV *((volatile unsigned int *)(LCD_BASE+0x2d8))
  249. #define rLCD_VIDEO_ADDR1_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x2e4))
  250. #define rLCD_VIDEO_ADDR2_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x2e8))
  251. #define rLCD_VIDEO_ADDR3_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x2ec))
  252. #define rLCD_OSD1_ADDR_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x2f0))
  253. #define rLCD_OSD2_ADDR_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x2f4))
  254. #define rLCD_OSD3_ADDR_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x2f8))
  255. #define rLCD_EXCTRL1 *((volatile unsigned int *)(LCD_BASE+0x2fc))
  256. #define rLCD_EXCTRL2 *((volatile unsigned int *)(LCD_BASE+0x300))
  257. #define rLCD_YPBPR_CTRL0 *((volatile unsigned int *)(LCD_BASE+0x304))
  258. #define rLCD_YPBPR_CTRL1 *((volatile unsigned int *)(LCD_BASE+0x308))
  259. #define rLCD_YPBPR_CTRL2 *((volatile unsigned int *)(LCD_BASE+0x30c))
  260. #define rLCD_YPBPR_CTRL3 *((volatile unsigned int *)(LCD_BASE+0x310))
  261. #define rLCD_YPBPR_CTRL4 *((volatile unsigned int *)(LCD_BASE+0x314))
  262. #define rLCD_YPBPR_CTRL5 *((volatile unsigned int *)(LCD_BASE+0x318))
  263. #define rLCD_VIDEO2_BURST_CTL *((volatile unsigned int *)(LCD_BASE+0x31c))
  264. #define rLCD_VIDEO2_CTL *((volatile unsigned int *)(LCD_BASE+0x320))
  265. #define rLCD_VIDEO2_SOURCE_SIZE *((volatile unsigned int *)(LCD_BASE+0x324))
  266. #define rLCD_VIDEO2_WIN_POINT *((volatile unsigned int *)(LCD_BASE+0x328))
  267. #define rLCD_VIDEO2_WIN_SIZE *((volatile unsigned int *)(LCD_BASE+0x32c))
  268. #define rLCD_VIDEO2_SIZE *((volatile unsigned int *)(LCD_BASE+0x330))
  269. #define rLCD_VIDEO2_POSITION *((volatile unsigned int *)(LCD_BASE+0x334))
  270. #define rLCD_VIDEO2_ADDR1 *((volatile unsigned int *)(LCD_BASE+0x338))
  271. #define rLCD_VIDEO2_ADDR2 *((volatile unsigned int *)(LCD_BASE+0x33c))
  272. #define rLCD_VIDEO2_ADDR3 *((volatile unsigned int *)(LCD_BASE+0x340))
  273. #define rLCD_VIDEO2_ADDR1_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x344))
  274. #define rLCD_VIDEO2_ADDR2_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x348))
  275. #define rLCD_VIDEO2_ADDR3_GROUP1 *((volatile unsigned int *)(LCD_BASE+0x34c))
  276. #define rLCD_VIDEO2_SCALE_VXMOD *((volatile unsigned int *)(LCD_BASE+0x350))
  277. #define rLCD_VIDEO2_SCALE_CTL *((volatile unsigned int *)(LCD_BASE+0x354))
  278. #define rLCD_VIDEO2_SCAL_CTL0 *((volatile unsigned int *)(LCD_BASE+0x358))
  279. #define rLCD_VIDEO2_SCAL_CTL1 *((volatile unsigned int *)(LCD_BASE+0x35c))
  280. #define rLCD_VIDEO2_RIGHT_BOTTOM_CUT_NUM *((volatile unsigned int *)(LCD_BASE+0x360))
  281. #define rLCD_VIDEO2_SCAL_CTL2 *((volatile unsigned int *)(LCD_BASE+0x364))
  282. #define rLCD_VIDEO2_SCAL_CTL3 *((volatile unsigned int *)(LCD_BASE+0x368))
  283. #define rLCD_VIDEO2_SCAL_CTL4 *((volatile unsigned int *)(LCD_BASE+0x36c))
  284. #define rLCD_VIDEO2_HSCAL_COS_VALUE *((volatile unsigned int *)(LCD_BASE+0x370))
  285. #define rLCD_COLOR_KEY_MASK_THLD_VIDEO2 *((volatile unsigned int *)(LCD_BASE+0x374))
  286. #define rLCD_COLOR_KEY_MASK_VALUE_VIDEO2 *((volatile unsigned int *)(LCD_BASE+0x378))
  287. #define rLCD_BLD_CUT_LEFT_RIGHT_VIDEO2 *((volatile unsigned int *)(LCD_BASE+0x37c))
  288. #define rLCD_BLD_CUT_UP_DOWN_VIDEO2 *((volatile unsigned int *)(LCD_BASE+0x380))
  289. #define rLCD_WRITE_BACK_ADDR_VIDEO2 *((volatile unsigned int *)(LCD_BASE+0x384))
  290. #define rLCD_WB_DATA_PER_FRAME_VIDEO2 *((volatile unsigned int *)(LCD_BASE+0x388))
  291. #define rLCD_TV_HV_DELAY *((volatile unsigned int *)(LCD_BASE+0x3ac))
  292. #define rLCD_TV_ENCODER_REG00 *((volatile unsigned int *)(LCD_BASE+0x3b0))
  293. #define rLCD_TV_ENCODER_REG01 *((volatile unsigned int *)(LCD_BASE+0x3b4))
  294. #define rLCD_TV_ENCODER_REG02 *((volatile unsigned int *)(LCD_BASE+0x3b8))
  295. #define rLCD_TV_ENCODER_REG03 *((volatile unsigned int *)(LCD_BASE+0x3bc))
  296. #define rLCD_TV_ENCODER_REG04 *((volatile unsigned int *)(LCD_BASE+0x3c0))
  297. #define rLCD_COLOR_MATRIX_REG00 *((volatile unsigned int *)(LCD_BASE+0x3c4))
  298. #define rLCD_COLOR_MATRIX_REG01 *((volatile unsigned int *)(LCD_BASE+0x3c8))
  299. #define rLCD_COLOR_MATRIX_REG02 *((volatile unsigned int *)(LCD_BASE+0x3cc))
  300. #define rLCD_ITU656_BYP_MOD_CTL *((volatile unsigned int *)(LCD_BASE+0x3d0))
  301. #define rLCD_ITU656_BYP_MOD_NTSC_REG0 *((volatile unsigned int *)(LCD_BASE+0x3d4))
  302. #define rLCD_ITU656_BYP_MOD_NTSC_REG1 *((volatile unsigned int *)(LCD_BASE+0x3d8))
  303. #define rLCD_ITU656_BYP_MOD_NTSC_REG2 *((volatile unsigned int *)(LCD_BASE+0x3dc))
  304. #define rLCD_ITU656_BYP_MOD_NTSC_REG3 *((volatile unsigned int *)(LCD_BASE+0x3e0))
  305. #define rLCD_ITU656_BYP_MOD_NTSC_REG4 *((volatile unsigned int *)(LCD_BASE+0x3e4))
  306. #define rLCD_ITU656_BYP_MOD_PAL_REG0 *((volatile unsigned int *)(LCD_BASE+0x3e8))
  307. #define rLCD_ITU656_BYP_MOD_PAL_REG1 *((volatile unsigned int *)(LCD_BASE+0x3ec))
  308. #define rLCD_ITU656_BYP_MOD_PAL_REG2 *((volatile unsigned int *)(LCD_BASE+0x3f0))
  309. #define rLCD_ITU656_BYP_MOD_PAL_REG3 *((volatile unsigned int *)(LCD_BASE+0x3f4))
  310. #define rLCD_ITU656_BYP_MOD_PAL_REG4 *((volatile unsigned int *)(LCD_BASE+0x3f8))
  311. #define rLCD_ITU656_BYP_MOD_REG0 *((volatile unsigned int *)(LCD_BASE+0x3fc))
  312. #define rLCD_Palette_BASE (volatile unsigned int *)(ark_lcd_mmio_base+0x400)
  313. #define rLCD_TV_PARAM_REG0 *((volatile unsigned int *)(LCD_BASE+0x800))
  314. #define rLCD_TV_PARAM_REG1 *((volatile unsigned int *)(LCD_BASE+0x804))
  315. #define rLCD_TV_PARAM_REG2 *((volatile unsigned int *)(LCD_BASE+0x808))
  316. #define rLCD_TV_PARAM_REG3 *((volatile unsigned int *)(LCD_BASE+0x80C))
  317. #define rLCD_TV_PARAM_REG4 *((volatile unsigned int *)(LCD_BASE+0x810))
  318. #define rLCD_TV_PARAM_REG5 *((volatile unsigned int *)(LCD_BASE+0x814))
  319. #define rLCD_TV_PARAM_REG6 *((volatile unsigned int *)(LCD_BASE+0x818))
  320. #define rLCD_TV_PARAM_REG7 *((volatile unsigned int *)(LCD_BASE+0x81c))
  321. #define rLCD_TV_PARAM_REG8 *((volatile unsigned int *)(LCD_BASE+0x820))
  322. #define rLCD_TV_PARAM_REG9 *((volatile unsigned int *)(LCD_BASE+0x824))
  323. #define rLCD_TV_PARAM_REG10 *((volatile unsigned int *)(LCD_BASE+0x828))
  324. #define rLCD_TV_PARAM_REG11 *((volatile unsigned int *)(LCD_BASE+0x82C))
  325. #define rLCD_TV_PARAM_REG12 *((volatile unsigned int *)(LCD_BASE+0x830))
  326. #define rLCD_TV_PARAM_REG13 *((volatile unsigned int *)(LCD_BASE+0x834))
  327. #define rLCD_TV_PARAM_REG14 *((volatile unsigned int *)(LCD_BASE+0x838))
  328. #define rLCD_TV_PARAM_REG15 *((volatile unsigned int *)(LCD_BASE+0x83C))
  329. #define rLCD_TV_PARAM_REG16 *((volatile unsigned int *)(LCD_BASE+0x840))
  330. #define rLCD_TV_PARAM_REG17 *((volatile unsigned int *)(LCD_BASE+0x844))
  331. #define rLCD_TV_PARAM_REG18 *((volatile unsigned int *)(LCD_BASE+0x848))
  332. #define rLCD_TV_PARAM_REG19 *((volatile unsigned int *)(LCD_BASE+0x84C))
  333. #define rLCD_TV_PARAM_REG20 *((volatile unsigned int *)(LCD_BASE+0x850))
  334. #define rLCD_TV_PARAM_REG21 *((volatile unsigned int *)(LCD_BASE+0x854))
  335. /* ITU656 */
  336. #define rITU656IN_MODULE_EN *((volatile unsigned int *)(ITU656IN_BASE+0x000))
  337. #define rITU656IN_IMR *((volatile unsigned int *)(ITU656IN_BASE+0x124))
  338. #define rITU656IN_ICR *((volatile unsigned int *)(ITU656IN_BASE+0x128))
  339. #define rITU656IN_ISR *((volatile unsigned int *)(ITU656IN_BASE+0x12C))
  340. #define rITU656IN_LINE_NUM_PER_FIELD *((volatile unsigned int *)(ITU656IN_BASE+0x8f4))
  341. #define rITU656IN_PIX_NUM_PER_LINE *((volatile unsigned int *)(ITU656IN_BASE+0x8f8))
  342. #define PIX_LINE_NUM_DELTA *((volatile unsigned int *)(ITU656IN_BASE+0x8fc))
  343. #define rITU656IN_INPUT_SEL *((volatile unsigned int *)(ITU656IN_BASE+0x900))
  344. #define rITU656IN_SEP_MODE_SEL *((volatile unsigned int *)(ITU656IN_BASE+0x904))
  345. #define rITU656IN_H_STRAT *((volatile unsigned int *)(ITU656IN_BASE+0x908))
  346. #define rITU656IN_H_END *((volatile unsigned int *)(ITU656IN_BASE+0x90C))
  347. #define rITU656IN_H_WIDTH *((volatile unsigned int *)(ITU656IN_BASE+0x910))
  348. #define rITU656IN_V_START_0 *((volatile unsigned int *)(ITU656IN_BASE+0x914))
  349. #define rITU656IN_V_END_0 *((volatile unsigned int *)(ITU656IN_BASE+0x918))
  350. #define rITU656IN_V_START_1 *((volatile unsigned int *)(ITU656IN_BASE+0x91C))
  351. #define rITU656IN_V_END_1 *((volatile unsigned int *)(ITU656IN_BASE+0x920))
  352. #define rITU656IN_V_FIELD_0 *((volatile unsigned int *)(ITU656IN_BASE+0x924))
  353. #define rITU656IN_V_FIELD_1 *((volatile unsigned int *)(ITU656IN_BASE+0x928))
  354. #define rITU656IN_P_N_DETECT *((volatile unsigned int *)(ITU656IN_BASE+0x92C))
  355. #define rITU656IN_ENABLE_REG *((volatile unsigned int *)(ITU656IN_BASE+0x930))
  356. #define rITU656IN_SIZE *((volatile unsigned int *)(ITU656IN_BASE+0x938))
  357. #define rITU656IN_TOTAL_PIX *((volatile unsigned int *)(ITU656IN_BASE+0x94C))
  358. #define rITU656IN_DRAM_DEST1 *((volatile unsigned int *)(ITU656IN_BASE+0x950))
  359. #define rITU656IN_DRAM_DEST2 *((volatile unsigned int *)(ITU656IN_BASE+0x954))
  360. #define rITU656IN_DATA_OUT_NUM *((volatile unsigned int *)(ITU656IN_BASE+0x958))
  361. #define rITU656IN_OUTLINE_NUM_PER_FIELD *((volatile unsigned int *)(ITU656IN_BASE+0x95c))
  362. //JPEG
  363. #define rJPEG_0 *((volatile unsigned int *)(JPEG_BASE+0x00))
  364. #define rJPEG_1 *((volatile unsigned int *)(JPEG_BASE+0x04))
  365. #define rJPEG_2 *((volatile unsigned int *)(JPEG_BASE+0x08))
  366. #define rJPEG_3 *((volatile unsigned int *)(JPEG_BASE+0x0C))
  367. #define rJPEG_4 *((volatile unsigned int *)(JPEG_BASE+0x10))
  368. #define rJPEG_5 *((volatile unsigned int *)(JPEG_BASE+0x14))
  369. #define rJPEG_6 *((volatile unsigned int *)(JPEG_BASE+0x18))
  370. #define rJPEG_7 *((volatile unsigned int *)(JPEG_BASE+0x1C))
  371. #define rJPEG_STATUS *((volatile unsigned int *)(JPEG_BASE+0x20))
  372. #define rJPEG_WRSTA *((volatile unsigned int *)(JPEG_BASE+0x24))
  373. #define rJPEG_WREND *((volatile unsigned int *)(JPEG_BASE+0x28))
  374. #define rJPEG_CTRL *((volatile unsigned int *)(JPEG_BASE+0x2c))
  375. #define rJPEG_START *((volatile unsigned int *)(JPEG_BASE+0x30))
  376. #define rJPEG_INTCTRL *((volatile unsigned int *)(JPEG_BASE+0x34))
  377. #define rJPEG_INTMASK *((volatile unsigned int *)(JPEG_BASE+0x38))
  378. #define rJPEG_INTCLR *((volatile unsigned int *)(JPEG_BASE+0x3c))
  379. #define rJPEG_LINE_NUM *((volatile unsigned int *)(JPEG_BASE+0x40))
  380. #define rJPEG_FIFO *((volatile unsigned int *)(JPEG_BASE+0x44))
  381. #define rJPEG_WRSTA1 *((volatile unsigned int *)(JPEG_BASE+0x48))
  382. #define rJPEG_WREND1 *((volatile unsigned int *)(JPEG_BASE+0x4c))
  383. #define rJPEG_COUNT *((volatile unsigned int *)(JPEG_BASE+0x50))
  384. #define rJPEG_WRSTA2 *((volatile unsigned int *)(JPEG_BASE+0x54))
  385. #define rJPEG_WREND2 *((volatile unsigned int *)(JPEG_BASE+0x58))
  386. #define rJPEG_TEST *((volatile unsigned int *)(JPEG_BASE+0x88))
  387. #define rJPEG_dec_rd_base_addr *((volatile unsigned int *)(JPEG_BASE+0x5c))
  388. #define rJPEG_enc_rd_base_addr *((volatile unsigned int *)(JPEG_BASE+0x60))
  389. #define rJPEG_enc_wr_base_addr *((volatile unsigned int *)(JPEG_BASE+0x64))
  390. #define rJPEG_QT (JPEG_BASE+0x100)
  391. #define rJPEG_SYMB (JPEG_BASE+0x500)
  392. #define rJPEG_BASE (JPEG_BASE+0xe00)
  393. #define rJPEG_MIN (JPEG_BASE+0xf00)
  394. /* VIC */
  395. #define rVICL_IRQ_STATUS *((volatile unsigned int *)(VICL_BASE + 0x000))
  396. #define rVICL_FIQ_STATUS *((volatile unsigned int *)(VICL_BASE + 0x004))
  397. #define rVICL_RAW_INTR *((volatile unsigned int *)(VICL_BASE + 0x008))
  398. #define rVICL_INT_SELECT *((volatile unsigned int *)(VICL_BASE + 0x00C))
  399. #define rVICL_INT_ENABLE *((volatile unsigned int *)(VICL_BASE + 0x010))
  400. #define rVICL_INT_ENCLEAR *((volatile unsigned int *)(VICL_BASE + 0x014))
  401. #define rVICL_SOFT_INT *((volatile unsigned int *)(VICL_BASE + 0x018))
  402. #define rVICL_SOFT_INTCLEAR *((volatile unsigned int *)(VICL_BASE + 0x01C))
  403. #define rVICL_PROTECTION *((volatile unsigned int *)(VICL_BASE + 0x020))
  404. #define rVICL_SWPRIORITY_MASK *((volatile unsigned int *)(VICL_BASE + 0x024))
  405. #define rVICL_PRIORITY_DAISY *((volatile unsigned int *)(VICL_BASE + 0x028))
  406. #define rVICL_VECT_ADDR0 *((volatile unsigned int *)(VICL_BASE + 0x100))
  407. #define rVICL_VECT_PRIORITY0 *((volatile unsigned int *)(VICL_BASE + 0x200))
  408. #define rVICL_ADDRESS *((volatile unsigned int *)(VICL_BASE + 0xF00))
  409. #define rVICH_IRQ_STATUS *((volatile unsigned int *)(VICH_BASE + 0x000))
  410. #define rVICH_FIQ_STATUS *((volatile unsigned int *)(VICH_BASE + 0x004))
  411. #define rVICH_RAW_INTR *((volatile unsigned int *)(VICH_BASE + 0x008))
  412. #define rVICH_INT_SELECT *((volatile unsigned int *)(VICH_BASE + 0x00C))
  413. #define rVICH_INT_ENABLE *((volatile unsigned int *)(VICH_BASE + 0x010))
  414. #define rVICH_INT_ENCLEAR *((volatile unsigned int *)(VICH_BASE + 0x014))
  415. #define rVICH_SOFT_INT *((volatile unsigned int *)(VICH_BASE + 0x018))
  416. #define rVICH_SOFT_INTCLEAR *((volatile unsigned int *)(VICH_BASE + 0x01C))
  417. #define rVICH_PROTECTION *((volatile unsigned int *)(VICH_BASE + 0x020))
  418. #define rVICH_SWPRIORITY_MASK *((volatile unsigned int *)(VICH_BASE + 0x024))
  419. #define rVICH_PRIORITY_DAISY *((volatile unsigned int *)(VICH_BASE + 0x028))
  420. #define rVICH_VECT_ADDR0 *((volatile unsigned int *)(VICH_BASE + 0x100))
  421. #define rVICH_VECT_PRIORITY0 *((volatile unsigned int *)(VICH_BASE + 0x200))
  422. #define rVICH_ADDRESS *((volatile unsigned int *)(VICH_BASE + 0xF00))
  423. /* GPIO */
  424. #define rGPIO_PA_MOD (*(volatile unsigned int *)(GPIO_BASE + 0x00))
  425. #define rGPIO_PA_RDATA (*(volatile unsigned int *)(GPIO_BASE + 0x04))
  426. #define rGPIO_PA_INTEN (*(volatile unsigned int *)(GPIO_BASE + 0x08))
  427. #define rGPIO_PA_LEVEL (*(volatile unsigned int *)(GPIO_BASE + 0x0C))
  428. #define rGPIO_PA_PEND (*(volatile unsigned int *)(GPIO_BASE + 0x10))
  429. #define rGPIO_PB_MOD (*(volatile unsigned int *)(GPIO_BASE + 0x20))
  430. #define rGPIO_PB_RDATA (*(volatile unsigned int *)(GPIO_BASE + 0x24))
  431. #define rGPIO_PB_INTEN (*(volatile unsigned int *)(GPIO_BASE + 0x28))
  432. #define rGPIO_PB_LEVEL (*(volatile unsigned int *)(GPIO_BASE + 0x2C))
  433. #define rGPIO_PB_PEND (*(volatile unsigned int *)(GPIO_BASE + 0x30))
  434. #define rGPIO_PC_MOD (*(volatile unsigned int *)(GPIO_BASE + 0x40))
  435. #define rGPIO_PC_RDATA (*(volatile unsigned int *)(GPIO_BASE + 0x44))
  436. #define rGPIO_PC_INTEN (*(volatile unsigned int *)(GPIO_BASE + 0x48))
  437. #define rGPIO_PC_LEVEL (*(volatile unsigned int *)(GPIO_BASE + 0x4C))
  438. #define rGPIO_PC_PEND (*(volatile unsigned int *)(GPIO_BASE + 0x50))
  439. #define rGPIO_PD_MOD (*(volatile unsigned int *)(GPIO_BASE + 0x60))
  440. #define rGPIO_PD_RDATA (*(volatile unsigned int *)(GPIO_BASE + 0x64))
  441. #define rGPIO_PD_INTEN (*(volatile unsigned int *)(GPIO_BASE + 0x68))
  442. #define rGPIO_PD_LEVEL (*(volatile unsigned int *)(GPIO_BASE + 0x6C))
  443. #define rGPIO_PD_PEND (*(volatile unsigned int *)(GPIO_BASE + 0x70))
  444. #define rGPIO_DEBOUNCE_CNT_0 (*(volatile unsigned int *)(GPIO_BASE + 0x80))
  445. #define rGPIO_DEBOUNCE_CNT_1 (*(volatile unsigned int *)(GPIO_BASE + 0x84))
  446. #define rGPIO_DEBOUNCE_CNT_2 (*(volatile unsigned int *)(GPIO_BASE + 0x88))
  447. #define rGPIO_DEBOUNCE_CNT_3 (*(volatile unsigned int *)(GPIO_BASE + 0x8c))
  448. #define rGPIO_DEBOUNCE_CNT_4 (*(volatile unsigned int *)(GPIO_BASE + 0x90))
  449. #define rGPIO_DEBOUNCE_CNT_5 (*(volatile unsigned int *)(GPIO_BASE + 0x94))
  450. #define rGPIO_DEBOUNCE_CNT_6 (*(volatile unsigned int *)(GPIO_BASE + 0x98))
  451. #define rGPIO_DEBOUNCE_CNT_7 (*(volatile unsigned int *)(GPIO_BASE + 0x9c))
  452. #define rGPIO_DEBOUNCE_ENABLE (*(volatile unsigned int *)(GPIO_BASE + 0xA0))
  453. /* WDT */
  454. #define rWDT_CR (*(volatile unsigned int *)(WDT_BASE + 0x00))
  455. #define rWDT_PSR (*(volatile unsigned int *)(WDT_BASE + 0x04))
  456. #define rWDT_LDR (*(volatile unsigned int *)(WDT_BASE + 0x08))
  457. #define rWDT_VLR (*(volatile unsigned int *)(WDT_BASE + 0x0C))
  458. #define rWDT_ISR (*(volatile unsigned int *)(WDT_BASE + 0x10))
  459. #define rWDT_RCR (*(volatile unsigned int *)(WDT_BASE + 0x14))
  460. #define rWDT_TMR (*(volatile unsigned int *)(WDT_BASE + 0x18))
  461. #define rWDT_TCR (*(volatile unsigned int *)(WDT_BASE + 0x1C))
  462. #endif /* ARK_SYS_H */