commandProcessing.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  1. /*
  2. * Copyright 2005-2010 Analog Devices Inc.
  3. *
  4. * Licensed under the Clear BSD license or the GPL-2 (or later)
  5. */
  6. #ifndef _DEF_BF561_H
  7. #define _DEF_BF561_H
  8. /*********************************************************************************** */
  9. /* System MMR Register Map */
  10. /*********************************************************************************** */
  11. /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */
  12. #define PLL_CTL 0xFFC00000 /* PLL Control register (16-bit) */
  13. #define PLL_DIV 0xFFC00004 /* PLL Divide Register (16-bit) */
  14. #define VR_CTL 0xFFC00008 /* Voltage Regulator Control Register (16-bit) */
  15. #define PLL_STAT 0xFFC0000C /* PLL Status register (16-bit) */
  16. #define PLL_LOCKCNT 0xFFC00010 /* PLL Lock Count register (16-bit) */
  17. #define CHIPID 0xFFC00014 /* Chip ID Register */
  18. /* For MMR's that are reserved on Core B, set up defines to better integrate with other ports */
  19. #define DOUBLE_FAULT (DOUBLE_FAULT_B|DOUBLE_FAULT_A)
  20. #define RESET_DOUBLE (SWRST_DBL_FAULT_B|SWRST_DBL_FAULT_A)
  21. #define RESET_WDOG (SWRST_WDT_B|SWRST_WDT_A)
  22. #define RESET_SOFTWARE (SWRST_OCCURRED)
  23. /* System Reset and Interrupt Controller registers for core A (0xFFC0 0100-0xFFC0 01FF) */
  24. #define SWRST 0xFFC00100 /* Software Reset register */
  25. #define SYSCR 0xFFC00104 /* System Reset Configuration register */
  26. #define SIC_RVECT 0xFFC00108 /* SIC Reset Vector Address Register */
  27. #define SIC_IMASK0 0xFFC0010C /* SIC Interrupt Mask register 0 */
  28. #define SIC_IMASK1 0xFFC00110 /* SIC Interrupt Mask register 1 */
  29. #define SIC_IAR0 0xFFC00124 /* SIC Interrupt Assignment Register 0 */
  30. #define SIC_IAR1 0xFFC00128 /* SIC Interrupt Assignment Register 1 */
  31. #define SIC_IAR2 0xFFC0012C /* SIC Interrupt Assignment Register 2 */
  32. #define SIC_IAR3 0xFFC00130 /* SIC Interrupt Assignment Register 3 */
  33. #define SIC_IAR4 0xFFC00134 /* SIC Interrupt Assignment Register 4 */
  34. #define SIC_IAR5 0xFFC00138 /* SIC Interrupt Assignment Register 5 */
  35. #define SIC_IAR6 0xFFC0013C /* SIC Interrupt Assignment Register 6 */
  36. #define SIC_IAR7 0xFFC00140 /* SIC Interrupt Assignment Register 7 */
  37. #define SIC_ISR0 0xFFC00114 /* SIC Interrupt Status register 0 */
  38. #define SIC_ISR1 0xFFC00118 /* SIC Interrupt Status register 1 */
  39. #define SIC_IWR0 0xFFC0011C /* SIC Interrupt Wakeup-Enable register 0 */
  40. #define SIC_IWR1 0xFFC00120 /* SIC Interrupt Wakeup-Enable register 1 */
  41. /* System Reset and Interrupt Controller registers for Core B (0xFFC0 1100-0xFFC0 11FF) */
  42. #define SICB_SWRST 0xFFC01100 /* reserved */
  43. #define SICB_SYSCR 0xFFC01104 /* reserved */
  44. #define SICB_RVECT 0xFFC01108 /* SIC Reset Vector Address Register */
  45. #define SICB_IMASK0 0xFFC0110C /* SIC Interrupt Mask register 0 */
  46. #define SICB_IMASK1 0xFFC01110 /* SIC Interrupt Mask register 1 */
  47. #define SICB_IAR0 0xFFC01124 /* SIC Interrupt Assignment Register 0 */
  48. #define SICB_IAR1 0xFFC01128 /* SIC Interrupt Assignment Register 1 */
  49. #define SICB_IAR2 0xFFC0112C /* SIC Interrupt Assignment Register 2 */
  50. #define SICB_IAR3 0xFFC01130 /* SIC Interrupt Assignment Register 3 */
  51. #define SICB_IAR4 0xFFC01134 /* SIC Interrupt Assignment Register 4 */
  52. #define SICB_IAR5 0xFFC01138 /* SIC Interrupt Assignment Register 5 */
  53. #define SICB_IAR6 0xFFC0113C /* SIC Interrupt Assignment Register 6 */
  54. #define SICB_IAR7 0xFFC01140 /* SIC Interrupt Assignment Register 7 */
  55. #define SICB_ISR0 0xFFC01114 /* SIC Interrupt Status register 0 */
  56. #define SICB_ISR1 0xFFC01118 /* SIC Interrupt Status register 1 */
  57. #define SICB_IWR0 0xFFC0111C /* SIC Interrupt Wakeup-Enable register 0 */
  58. #define SICB_IWR1 0xFFC01120 /* SIC Interrupt Wakeup-Enable register 1 */
  59. /* Watchdog Timer registers for Core A (0xFFC0 0200-0xFFC0 02FF) */
  60. #define WDOGA_CTL 0xFFC00200 /* Watchdog Control register */
  61. #define WDOGA_CNT 0xFFC00204 /* Watchdog Count register */
  62. #define WDOGA_STAT 0xFFC00208 /* Watchdog Status register */
  63. /* Watchdog Timer registers for Core B (0xFFC0 1200-0xFFC0 12FF) */
  64. #define WDOGB_CTL 0xFFC01200 /* Watchdog Control register */
  65. #define WDOGB_CNT 0xFFC01204 /* Watchdog Count register */
  66. #define WDOGB_STAT 0xFFC01208 /* Watchdog Status register */
  67. /* UART Controller (0xFFC00400 - 0xFFC004FF) */
  68. /*
  69. * Because include/linux/serial_reg.h have defined UART_*,
  70. * So we define blackfin uart regs to BFIN_UART0_*.
  71. */
  72. #define BFIN_UART_THR 0xFFC00400 /* Transmit Holding register */
  73. #define BFIN_UART_RBR 0xFFC00400 /* Receive Buffer register */
  74. #define BFIN_UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */
  75. #define BFIN_UART_IER 0xFFC00404 /* Interrupt Enable Register */
  76. #define BFIN_UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */
  77. #define BFIN_UART_IIR 0xFFC00408 /* Interrupt Identification Register */
  78. #define BFIN_UART_LCR 0xFFC0040C /* Line Control Register */
  79. #define BFIN_UART_MCR 0xFFC00410 /* Modem Control Register */
  80. #define BFIN_UART_LSR 0xFFC00414 /* Line Status Register */
  81. #define BFIN_UART_MSR 0xFFC00418 /* Modem Status Register */
  82. #define BFIN_UART_SCR 0xFFC0041C /* SCR Scratch Register */
  83. #define BFIN_UART_GCTL 0xFFC00424 /* Global Control Register */
  84. /* SPI Controller (0xFFC00500 - 0xFFC005FF) */
  85. #define SPI0_REGBASE 0xFFC00500
  86. #define SPI_CTL 0xFFC00500 /* SPI Control Register */
  87. #define SPI_FLG 0xFFC00504 /* SPI Flag register */
  88. #define SPI_STAT 0xFFC00508 /* SPI Status register */
  89. #define SPI_TDBR 0xFFC0050C /* SPI Transmit Data Buffer Register */
  90. #define SPI_RDBR 0xFFC00510 /* SPI Receive Data Buffer Register */
  91. #define SPI_BAUD 0xFFC00514 /* SPI Baud rate Register */
  92. #define SPI_SHADOW 0xFFC00518 /* SPI_RDBR Shadow Register */
  93. /* Timer 0-7 registers (0xFFC0 0600-0xFFC0 06FF) */
  94. #define TIMER0_CONFIG 0xFFC00600 /* Timer0 Configuration register */
  95. #define TIMER0_COUNTER 0xFFC00604 /* Timer0 Counter register */
  96. #define TIMER0_PERIOD 0xFFC00608 /* Timer0 Period register */
  97. #define TIMER0_WIDTH 0xFFC0060C /* Timer0 Width register */
  98. #define TIMER1_CONFIG 0xFFC00610 /* Timer1 Configuration register */
  99. #define TIMER1_COUNTER 0xFFC00614 /* Timer1 Counter register */
  100. #define TIMER1_PERIOD 0xFFC00618 /* Timer1 Period register */
  101. #define TIMER1_WIDTH 0xFFC0061C /* Timer1 Width register */
  102. #define TIMER2_CONFIG 0xFFC00620 /* Timer2 Configuration register */
  103. #define TIMER2_COUNTER 0xFFC00624 /* Timer2 Counter register */
  104. #define TIMER2_PERIOD 0xFFC00628 /* Timer2 Period register */
  105. #define TIMER2_WIDTH 0xFFC0062C /* Timer2 Width register */
  106. #define TIMER3_CONFIG 0xFFC00630 /* Timer3 Configuration register */
  107. #define TIMER3_COUNTER 0xFFC00634 /* Timer3 Counter register */
  108. #define TIMER3_PERIOD 0xFFC00638 /* Timer3 Period register */
  109. #define TIMER3_WIDTH 0xFFC0063C /* Timer3 Width register */
  110. #define TIMER4_CONFIG 0xFFC00640 /* Timer4 Configuration register */
  111. #define TIMER4_COUNTER 0xFFC00644 /* Timer4 Counter register */
  112. #define TIMER4_PERIOD 0xFFC00648 /* Timer4 Period register */
  113. #define TIMER4_WIDTH 0xFFC0064C /* Timer4 Width register */
  114. #define TIMER5_CONFIG 0xFFC00650 /* Timer5 Configuration register */
  115. #define TIMER5_COUNTER 0xFFC00654 /* Timer5 Counter register */
  116. #define TIMER5_PERIOD 0xFFC00658 /* Timer5 Period register */
  117. #define TIMER5_WIDTH 0xFFC0065C /* Timer5 Width register */
  118. #define TIMER6_CONFIG 0xFFC00660 /* Timer6 Configuration register */
  119. #define TIMER6_COUNTER 0xFFC00664 /* Timer6 Counter register */
  120. #define TIMER6_PERIOD 0xFFC00668 /* Timer6 Period register */
  121. #define TIMER6_WIDTH 0xFFC0066C /* Timer6 Width register */
  122. #define TIMER7_CONFIG 0xFFC00670 /* Timer7 Configuration register */
  123. #define TIMER7_COUNTER 0xFFC00674 /* Timer7 Counter register */
  124. #define TIMER7_PERIOD 0xFFC00678 /* Timer7 Period register */
  125. #define TIMER7_WIDTH 0xFFC0067C /* Timer7 Width register */
  126. #define TMRS8_ENABLE 0xFFC00680 /* Timer Enable Register */
  127. #define TMRS8_DISABLE 0xFFC00684 /* Timer Disable register */
  128. #define TMRS8_STATUS 0xFFC00688 /* Timer Status register */
  129. /* Timer registers 8-11 (0xFFC0 1600-0xFFC0 16FF) */
  130. #define TIMER8_CONFIG 0xFFC01600 /* Timer8 Configuration register */
  131. #define TIMER8_COUNTER 0xFFC01604 /* Timer8 Counter register */
  132. #define TIMER8_PERIOD 0xFFC01608 /* Timer8 Period register */
  133. #define TIMER8_WIDTH 0xFFC0160C /* Timer8 Width register */
  134. #define TIMER9_CONFIG 0xFFC01610 /* Timer9 Configuration register */
  135. #define TIMER9_COUNTER 0xFFC01614 /* Timer9 Counter register */
  136. #define TIMER9_PERIOD 0xFFC01618 /* Timer9 Period register */
  137. #define TIMER9_WIDTH 0xFFC0161C /* Timer9 Width register */
  138. #define TIMER10_CONFIG 0xFFC01620 /* Timer10 Configuration register */
  139. #define TIMER10_COUNTER 0xFFC01624 /* Timer10 Counter register */
  140. #define TIMER10_PERIOD 0xFFC01628 /* Timer10 Period register */
  141. #define TIMER10_WIDTH 0xFFC0162C /* Timer10 Width register */
  142. #define TIMER11_CONFIG 0xFFC01630 /* Timer11 Configuration register */
  143. #define TIMER11_COUNTER 0xFFC01634 /* Timer11 Counter register */
  144. #define TIMER11_PERIOD 0xFFC01638 /* Timer11 Period register */
  145. #define TIMER11_WIDTH 0xFFC0163C /* Timer11 Width register */
  146. #define TMRS4_ENABLE 0xFFC01640 /* Timer Enable Register */
  147. #define TMRS4_DISABLE 0xFFC01644 /* Timer Disable register */
  148. #define TMRS4_STATUS 0xFFC01648 /* Timer Status register */
  149. /* Programmable Flag 0 registers (0xFFC0 0700-0xFFC0 07FF) */
  150. #define FIO0_FLAG_D 0xFFC00700 /* Flag Data register */
  151. #define FIO0_FLAG_C 0xFFC00704 /* Flag Clear register */
  152. #define FIO0_FLAG_S 0xFFC00708 /* Flag Set register */
  153. #define FIO0_FLAG_T 0xFFC0070C /* Flag Toggle register */
  154. #define FIO0_MASKA_D 0xFFC00710 /* Flag Mask Interrupt A Data register */
  155. #define FIO0_MASKA_C 0xFFC00714 /* Flag Mask Interrupt A Clear register */
  156. #define FIO0_MASKA_S 0xFFC00718 /* Flag Mask Interrupt A Set register */
  157. #define FIO0_MASKA_T 0xFFC0071C /* Flag Mask Interrupt A Toggle register */
  158. #define FIO0_MASKB_D 0xFFC00720 /* Flag Mask Interrupt B Data register */
  159. #define FIO0_MASKB_C 0xFFC00724 /* Flag Mask Interrupt B Clear register */
  160. #define FIO0_MASKB_S 0xFFC00728 /* Flag Mask Interrupt B Set register */
  161. #define FIO0_MASKB_T 0xFFC0072C /* Flag Mask Interrupt B Toggle register */
  162. #define FIO0_DIR 0xFFC00730 /* Flag Direction register */
  163. #define FIO0_POLAR 0xFFC00734 /* Flag Polarity register */
  164. #define FIO0_EDGE 0xFFC00738 /* Flag Interrupt Sensitivity register */
  165. #define FIO0_BOTH 0xFFC0073C /* Flag Set on Both Edges register */
  166. #define FIO0_INEN 0xFFC00740 /* Flag Input Enable register */
  167. /* Programmable Flag 1 registers (0xFFC0 1500-0xFFC0 15FF) */
  168. #define FIO1_FLAG_D 0xFFC01500 /* Flag Data register (mask used to directly */
  169. #define FIO1_FLAG_C 0xFFC01504 /* Flag Clear register */
  170. #define FIO1_FLAG_S 0xFFC01508 /* Flag Set register */
  171. #define FIO1_FLAG_T 0xFFC0150C /* Flag Toggle register (mask used to */
  172. #define FIO1_MASKA_D 0xFFC01510 /* Flag Mask Interrupt A Data register */
  173. #define FIO1_MASKA_C 0xFFC01514 /* Flag Mask Interrupt A Clear register */
  174. #define FIO1_MASKA_S 0xFFC01518 /* Flag Mask Interrupt A Set register */
  175. #define FIO1_MASKA_T 0xFFC0151C /* Flag Mask Interrupt A Toggle register */
  176. #define FIO1_MASKB_D 0xFFC01520 /* Flag Mask Interrupt B Data register */
  177. #define FIO1_MASKB_C 0xFFC01524 /* Flag Mask Interrupt B Clear register */
  178. #define FIO1_MASKB_S 0xFFC01528 /* Flag Mask Interrupt B Set register */
  179. #define FIO1_MASKB_T 0xFFC0152C /* Flag Mask Interrupt B Toggle register */
  180. #define FIO1_DIR 0xFFC01530 /* Flag Direction register */
  181. #define FIO1_POLAR 0xFFC01534 /* Flag Polarity register */
  182. #define FIO1_EDGE 0xFFC01538 /* Flag Interrupt Sensitivity register */
  183. #define FIO1_BOTH 0xFFC0153C /* Flag Set on Both Edges register */
  184. #define FIO1_INEN 0xFFC01540 /* Flag Input Enable register */
  185. /* Programmable Flag registers (0xFFC0 1700-0xFFC0 17FF) */
  186. #define FIO2_FLAG_D 0xFFC01700 /* Flag Data register (mask used to directly */
  187. #define FIO2_FLAG_C 0xFFC01704 /* Flag Clear register */
  188. #define FIO2_FLAG_S 0xFFC01708 /* Flag Set register */
  189. #define FIO2_FLAG_T 0xFFC0170C /* Flag Toggle register (mask used to */
  190. #define FIO2_MASKA_D 0xFFC01710 /* Flag Mask Interrupt A Data register */
  191. #define FIO2_MASKA_C 0xFFC01714 /* Flag Mask Interrupt A Clear register */
  192. #define FIO2_MASKA_S 0xFFC01718 /* Flag Mask Interrupt A Set register */
  193. #define FIO2_MASKA_T 0xFFC0171C /* Flag Mask Interrupt A Toggle register */
  194. #define FIO2_MASKB_D 0xFFC01720 /* Flag Mask Interrupt B Data register */
  195. #define FIO2_MASKB_C 0xFFC01724 /* Flag Mask Interrupt B Clear register */
  196. #define FIO2_MASKB_S 0xFFC01728 /* Flag Mask Interrupt B Set register */
  197. #define FIO2_MASKB_T 0xFFC0172C /* Flag Mask Interrupt B Toggle register */
  198. #define FIO2_DIR 0xFFC01730 /* Flag Direction register */
  199. #define FIO2_POLAR 0xFFC01734 /* Flag Polarity register */
  200. #define FIO2_EDGE 0xFFC01738 /* Flag Interrupt Sensitivity register */
  201. #define FIO2_BOTH 0xFFC0173C /* Flag Set on Both Edges register */
  202. #define FIO2_INEN 0xFFC01740 /* Flag Input Enable register */
  203. /* SPORT0 Controller (0xFFC00800 - 0xFFC008FF) */
  204. #define SPORT0_TCR1 0xFFC00800 /* SPORT0 Transmit Configuration 1 Register */
  205. #define SPORT0_TCR2 0xFFC00804 /* SPORT0 Transmit Configuration 2 Register */
  206. #define SPORT0_TCLKDIV 0xFFC00808 /* SPORT0 Transmit Clock Divider */
  207. #define SPORT0_TFSDIV 0xFFC0080C /* SPORT0 Transmit Frame Sync Divider */
  208. #define SPORT0_TX 0xFFC00810 /* SPORT0 TX Data Register */
  209. #define SPORT0_RX 0xFFC00818 /* SPORT0 RX Data Register */
  210. #define SPORT0_RCR1 0xFFC00820 /* SPORT0 Transmit Configuration 1 Register */
  211. #define SPORT0_RCR2 0xFFC00824 /* SPORT0 Transmit Configuration 2 Register */
  212. #define SPORT0_RCLKDIV 0xFFC00828 /* SPORT0 Receive Clock Divider */
  213. #define SPORT0_RFSDIV 0xFFC0082C /* SPORT0 Receive Frame Sync Divider */
  214. #define SPORT0_STAT 0xFFC00830 /* SPORT0 Status Register */
  215. #define SPORT0_CHNL 0xFFC00834 /* SPORT0 Current Channel Register */
  216. #define SPORT0_MCMC1 0xFFC00838 /* SPORT0 Multi-Channel Configuration Register 1 */
  217. #define SPORT0_MCMC2 0xFFC0083C /* SPORT0 Multi-Channel Configuration Register 2 */
  218. #define SPORT0_MTCS0 0xFFC00840 /* SPORT0 Multi-Channel Transmit Select Register 0 */
  219. #define SPORT0_MTCS1 0xFFC00844 /* SPORT0 Multi-Channel Transmit Select Register 1 */
  220. #define SPORT0_MTCS2 0xFFC00848 /* SPORT0 Multi-Channel Transmit Select Register 2 */
  221. #define SPORT0_MTCS3 0xFFC0084C /* SPORT0 Multi-Channel Transmit Select Register 3 */
  222. #define SPORT0_MRCS0 0xFFC00850 /* SPORT0 Multi-Channel Receive Select Register 0 */
  223. #define SPORT0_MRCS1 0xFFC00854 /* SPORT0 Multi-Channel Receive Select Register 1 */
  224. #define SPORT0_MRCS2 0xFFC00858 /* SPORT0 Multi-Channel Receive Select Register 2 */
  225. #define SPORT0_MRCS3 0xFFC0085C /* SPORT0 Multi-Channel Receive Select Register 3 */
  226. /* SPORT1 Controller (0xFFC00900 - 0xFFC009FF) */
  227. #define SPORT1_TCR1 0xFFC00900 /* SPORT1 Transmit Configuration 1 Register */
  228. #define SPORT1_TCR2 0xFFC00904 /* SPORT1 Transmit Configuration 2 Register */
  229. #define SPORT1_TCLKDIV 0xFFC00908 /* SPORT1 Transmit Clock Divider */
  230. #define SPORT1_TFSDIV 0xFFC0090C /* SPORT1 Transmit Frame Sync Divider */
  231. #define SPORT1_TX 0xFFC00910 /* SPORT1 TX Data Register */
  232. #define SPORT1_RX 0xFFC00918 /* SPORT1 RX Data Register */
  233. #define SPORT1_RCR1 0xFFC00920 /* SPORT1 Transmit Configuration 1 Register */
  234. #define SPORT1_RCR2 0xFFC00924 /* SPORT1 Transmit Configuration 2 Register */
  235. #define SPORT1_RCLKDIV 0xFFC00928 /* SPORT1 Receive Clock Divider */
  236. #define SPORT1_RFSDIV 0xFFC0092C /* SPORT1 Receive Frame Sync Divider */
  237. #define SPORT1_STAT 0xFFC00930 /* SPORT1 Status Register */
  238. #define SPORT1_CHNL 0xFFC00934 /* SPORT1 Current Channel Register */
  239. #define SPORT1_MCMC1 0xFFC00938 /* SPORT1 Multi-Channel Configuration Register 1 */
  240. #define SPORT1_MCMC2 0xFFC0093C /* SPORT1 Multi-Channel Configuration Register 2 */
  241. #define SPORT1_MTCS0 0xFFC00940 /* SPORT1 Multi-Channel Transmit Select Register 0 */
  242. #define SPORT1_MTCS1 0xFFC00944 /* SPORT1 Multi-Channel Transmit Select Register 1 */
  243. #define SPORT1_MTCS2 0xFFC00948 /* SPORT1 Multi-Channel Transmit Select Register 2 */
  244. #define SPORT1_MTCS3 0xFFC0094C /* SPORT1 Multi-Channel Transmit Select Register 3 */
  245. #define SPORT1_MRCS0 0xFFC00950 /* SPORT1 Multi-Channel Receive Select Register 0 */
  246. #define SPORT1_MRCS1 0xFFC00954 /* SPORT1 Multi-Channel Receive Select Register 1 */
  247. #define SPORT1_MRCS2 0xFFC00958 /* SPORT1 Multi-Channel Receive Select Register 2 */
  248. #define SPORT1_MRCS3 0xFFC0095C /* SPORT1 Multi-Channel Receive Select Register 3 */
  249. /* Asynchronous Memory Controller - External Bus Interface Unit */
  250. #define EBIU_AMGCTL 0xFFC00A00 /* Asynchronous Memory Global Control Register */
  251. #define EBIU_AMBCTL0 0xFFC00A04 /* Asynchronous Memory Bank Control Register 0 */
  252. #define EBIU_AMBCTL1 0xFFC00A08 /* Asynchronous Memory Bank Control Register 1 */
  253. /* SDRAM Controller External Bus Interface Unit (0xFFC00A00 - 0xFFC00AFF) */
  254. #define EBIU_SDGCTL 0xFFC00A10 /* SDRAM Global Control Register */
  255. #define EBIU_SDBCTL 0xFFC00A14 /* SDRAM Bank Control Register */
  256. #define EBIU_SDRRC 0xFFC00A18 /* SDRAM Refresh Rate Control Register */
  257. #define EBIU_SDSTAT 0xFFC00A1C /* SDRAM Status Register */
  258. /* Parallel Peripheral Interface (PPI) 0 registers (0xFFC0 1000-0xFFC0 10FF) */
  259. #define PPI0_CONTROL 0xFFC01000 /* PPI0 Control register */
  260. #define PPI0_STATUS 0xFFC01004 /* PPI0 Status register */
  261. #define PPI0_COUNT 0xFFC01008 /* PPI0 Transfer Count register */
  262. #define PPI0_DELAY 0xFFC0100C /* PPI0 Delay Count register */
  263. #define PPI0_FRAME 0xFFC01010 /* PPI0 Frame Length register */
  264. /*Parallel Peripheral Interface (PPI) 1 registers (0xFFC0 1300-0xFFC0 13FF) */
  265. #define PPI1_CONTROL 0xFFC01300 /* PPI1 Control register */
  266. #define PPI1_STATUS 0xFFC01304 /* PPI1 Status register */
  267. #define PPI1_COUNT 0xFFC01308 /* PPI1 Transfer Count register */
  268. #define PPI1_DELAY 0xFFC0130C /* PPI1 Delay Count register */
  269. #define PPI1_FRAME 0xFFC01310 /* PPI1 Frame Length register */
  270. /*DMA traffic control registers */
  271. #define DMAC0_TC_PER 0xFFC00B0C /* Traffic control periods */
  272. #define DMAC0_TC_CNT 0xFFC00B10 /* Traffic control current counts */
  273. #define DMAC1_TC_PER 0xFFC01B0C /* Traffic control periods */
  274. #define DMAC1_TC_CNT 0xFFC01B10 /* Traffic control current counts */
  275. /* DMA1 Controller registers (0xFFC0 1C00-0xFFC0 1FFF) */
  276. #define DMA1_0_CONFIG 0xFFC01C08 /* DMA1 Channel 0 Configuration register */
  277. #define DMA1_0_NEXT_DESC_PTR 0xFFC01C00 /* DMA1 Channel 0 Next Descripter Ptr Reg */
  278. #define DMA1_0_START_ADDR 0xFFC01C04 /* DMA1 Channel 0 Start Address */
  279. #define DMA1_0_X_COUNT 0xFFC01C10 /* DMA1 Channel 0 Inner Loop Count */
  280. #define DMA1_0_Y_COUNT 0xFFC01C18 /* DMA1 Channel 0 Outer Loop Count */
  281. #define DMA1_0_X_MODIFY 0xFFC01C14 /* DMA1 Channel 0 Inner Loop Addr Increment */
  282. #define DMA1_0_Y_MODIFY 0xFFC01C1C /* DMA1 Channel 0 Outer Loop Addr Increment */
  283. #define DMA1_0_CURR_DESC_PTR 0xFFC01C20 /* DMA1 Channel 0 Current Descriptor Pointer */
  284. #define DMA1_0_CURR_ADDR 0xFFC01C24 /* DMA1 Channel 0 Current Address Pointer */
  285. #define DMA1_0_CURR_X_COUNT 0xFFC01C30 /* DMA1 Channel 0 Current Inner Loop Count */
  286. #define DMA1_0_CURR_Y_COUNT 0xFFC01C38 /* DMA1 Channel 0 Current Outer Loop Count */
  287. #define DMA1_0_IRQ_STATUS 0xFFC01C28 /* DMA1 Channel 0 Interrupt/Status Register */
  288. #define DMA1_0_PERIPHERAL_MAP 0xFFC01C2C /* DMA1 Channel 0 Peripheral Map Register */
  289. #define DMA1_1_CONFIG 0xFFC01C48 /* DMA1 Channel 1 Configuration register */
  290. #define DMA1_1_NEXT_DESC_PTR 0xFFC01C40 /* DMA1 Channel 1 Next Descripter Ptr Reg */
  291. #define DMA1_1_START_ADDR 0xFFC01C44 /* DMA1 Channel 1 Start Address */
  292. #define DMA1_1_X_COUNT 0xFFC01C50 /* DMA1 Channel 1 Inner Loop Count */
  293. #define DMA1_1_Y_COUNT 0xFFC01C58 /* DMA1 Channel 1 Outer Loop Count */
  294. #define DMA1_1_X_MODIFY 0xFFC01C54 /* DMA1 Channel 1 Inner Loop Addr Increment */
  295. #define DMA1_1_Y_MODIFY 0xFFC01C5C /* DMA1 Channel 1 Outer Loop Addr Increment */
  296. #define DMA1_1_CURR_DESC_PTR 0xFFC01C60 /* DMA1 Channel 1 Current Descriptor Pointer */
  297. #define DMA1_1_CURR_ADDR 0xFFC01C64 /* DMA1 Channel 1 Current Address Pointer */
  298. #define DMA1_1_CURR_X_COUNT 0xFFC01C70 /* DMA1 Channel 1 Current Inner Loop Count */
  299. #define DMA1_1_CURR_Y_COUNT 0xFFC01C78 /* DMA1 Channel 1 Current Outer Loop Count */
  300. #define DMA1_1_IRQ_STATUS 0xFFC01C68 /* DMA1 Channel 1 Interrupt/Status Register */
  301. #define DMA1_1_PERIPHERAL_MAP 0xFFC01C6C /* DMA1 Channel 1 Peripheral Map Register */
  302. #define DMA1_2_CONFIG 0xFFC01C88 /* DMA1 Channel 2 Configuration register */
  303. #define DMA1_2_NEXT_DESC_PTR 0xFFC01C80 /* DMA1 Channel 2 Next Descripter Ptr Reg */
  304. #define DMA1_2_START_ADDR 0xFFC01C84 /* DMA1 Channel 2 Start Address */
  305. #define DMA1_2_X_COUNT 0xFFC01C90 /* DMA1 Channel 2 Inner Loop Count */
  306. #define DMA1_2_Y_COUNT 0xFFC01C98 /* DMA1 Channel 2 Outer Loop Count */
  307. #define DMA1_2_X_MODIFY 0xFFC01C94 /* DMA1 Channel 2 Inner Loop Addr Increment */
  308. #define DMA1_2_Y_MODIFY 0xFFC01C9C /* DMA1 Channel 2 Outer Loop Addr Increment */
  309. #define DMA1_2_CURR_DESC_PTR 0xFFC01CA0 /* DMA1 Channel 2 Current Descriptor Pointer */
  310. #define DMA1_2_CURR_ADDR 0xFFC01CA4 /* DMA1 Channel 2 Current Address Pointer */
  311. #define DMA1_2_CURR_X_COUNT 0xFFC01CB0 /* DMA1 Channel 2 Current Inner Loop Count */
  312. #define DMA1_2_CURR_Y_COUNT 0xFFC01CB8 /* DMA1 Channel 2 Current Outer Loop Count */
  313. #define DMA1_2_IRQ_STATUS 0xFFC01CA8 /* DMA1 Channel 2 Interrupt/Status Register */
  314. #define DMA1_2_PERIPHERAL_MAP 0xFFC01CAC /* DMA1 Channel 2 Peripheral Map Register */
  315. #define DMA1_3_CONFIG 0xFFC01CC8 /* DMA1 Channel 3 Configuration register */
  316. #define DMA1_3_NEXT_DESC_PTR 0xFFC01CC0 /* DMA1 Channel 3 Next Descripter Ptr Reg */
  317. #define DMA1_3_START_ADDR 0xFFC01CC4 /* DMA1 Channel 3 Start Address */
  318. #define DMA1_3_X_COUNT 0xFFC01CD0 /* DMA1 Channel 3 Inner Loop Count */
  319. #define DMA1_3_Y_COUNT 0xFFC01CD8 /* DMA1 Channel 3 Outer Loop Count */
  320. #define DMA1_3_X_MODIFY 0xFFC01CD4 /* DMA1 Channel 3 Inner Loop Addr Increment */
  321. #define DMA1_3_Y_MODIFY 0xFFC01CDC /* DMA1 Channel 3 Outer Loop Addr Increment */
  322. #define DMA1_3_CURR_DESC_PTR 0xFFC01CE0 /* DMA1 Channel 3 Current Descriptor Pointer */
  323. #define DMA1_3_CURR_ADDR 0xFFC01CE4 /* DMA1 Channel 3 Current Address Pointer */
  324. #define DMA1_3_CURR_X_COUNT 0xFFC01CF0 /* DMA1 Channel 3 Current Inner Loop Count */
  325. #define DMA1_3_CURR_Y_COUNT 0xFFC01CF8 /* DMA1 Channel 3 Current Outer Loop Count */
  326. #define DMA1_3_IRQ_STATUS 0xFFC01CE8 /* DMA1 Channel 3 Interrupt/Status Register */
  327. #define DMA1_3_PERIPHERAL_MAP 0xFFC01CEC /* DMA1 Channel 3 Peripheral Map Register */
  328. #define DMA1_4_CONFIG 0xFFC01D08 /* DMA1 Channel 4 Configuration register */
  329. #define DMA1_4_NEXT_DESC_PTR 0xFFC01D00 /* DMA1 Channel 4 Next Descripter Ptr Reg */
  330. #define DMA1_4_START_ADDR 0xFFC01D04 /* DMA1 Channel 4 Start Address */
  331. #define DMA1_4_X_COUNT 0xFFC01D10 /* DMA1 Channel 4 Inner Loop Count */
  332. #define DMA1_4_Y_COUNT 0xFFC01D18 /* DMA1 Channel 4 Outer Loop Count */
  333. #define DMA1_4_X_MODIFY 0xFFC01D14 /* DMA1 Channel 4 Inner Loop Addr Increment */
  334. #define DMA1_4_Y_MODIFY 0xFFC01D1C /* DMA1 Channel 4 Outer Loop Addr Increment */
  335. #define DMA1_4_CURR_DESC_PTR 0xFFC01D20 /* DMA1 Channel 4 Current Descriptor Pointer */
  336. #define DMA1_4_CURR_ADDR 0xFFC01D24 /* DMA1 Channel 4 Current Address Pointer */
  337. #define DMA1_4_CURR_X_COUNT 0xFFC01D30 /* DMA1 Channel 4 Current Inner Loop Count */
  338. #define DMA1_4_CURR_Y_COUNT 0xFFC01D38 /* DMA1 Channel 4 Current Outer Loop Count */
  339. #define DMA1_4_IRQ_STATUS 0xFFC01D28 /* DMA1 Channel 4 Interrupt/Status Register */
  340. #define DMA1_4_PERIPHERAL_MAP 0xFFC01D2C /* DMA1 Channel 4 Peripheral Map Register */
  341. #define DMA1_5_CONFIG 0xFFC01D48 /* DMA1 Channel 5 Configuration register */
  342. #define DMA1_5_NEXT_DESC_PTR 0xFFC01D40 /* DMA1 Channel 5 Next Descripter Ptr Reg */
  343. #define DMA1_5_START_ADDR 0xFFC01D44 /* DMA1 Channel 5 Start Address */
  344. #define DMA1_5_X_COUNT 0xFFC01D50 /* DMA1 Channel 5 Inner Loop Count */
  345. #define DMA1_5_Y_COUNT 0xFFC01D58 /* DMA1 Channel 5 Outer Loop Count */
  346. #define DMA1_5_X_MODIFY 0xFFC01D54 /* DMA1 Channel 5 Inner Loop Addr Increment */
  347. #define DMA1_5_Y_MODIFY 0xFFC01D5C /* DMA1 Channel 5 Outer Loop Addr Increment */
  348. #define DMA1_5_CURR_DESC_PTR 0xFFC01D60 /* DMA1 Channel 5 Current Descriptor Pointer */
  349. #define DMA1_5_CURR_ADDR 0xFFC01D64 /* DMA1 Channel 5 Current Address Pointer */
  350. #define DMA1_5_CURR_X_COUNT 0xFFC01D70 /* DMA1 Channel 5 Current Inner Loop Count */
  351. #define DMA1_5_CURR_Y_COUNT 0xFFC01D78 /* DMA1 Channel 5 Current Outer Loop Count */
  352. #define DMA1_5_IRQ_STATUS 0xFFC01D68 /* DMA1 Channel 5 Interrupt/Status Register */
  353. #define DMA1_5_PERIPHERAL_MAP 0xFFC01D6C /* DMA1 Channel 5 Peripheral Map Register */
  354. #define DMA1_6_CONFIG 0xFFC01D88 /* DMA1 Channel 6 Configuration register */
  355. #define DMA1_6_NEXT_DESC_PTR 0xFFC01D80 /* DMA1 Channel 6 Next Descripter Ptr Reg */
  356. #define DMA1_6_START_ADDR 0xFFC01D84 /* DMA1 Channel 6 Start Address */
  357. #define DMA1_6_X_COUNT 0xFFC01D90 /* DMA1 Channel 6 Inner Loop Count */
  358. #define DMA1_6_Y_COUNT 0xFFC01D98 /* DMA1 Channel 6 Outer Loop Count */
  359. #define DMA1_6_X_MODIFY 0xFFC01D94 /* DMA1 Channel 6 Inner Loop Addr Increment */
  360. #define DMA1_6_Y_MODIFY 0xFFC01D9C /* DMA1 Channel 6 Outer Loop Addr Increment */
  361. #define DMA1_6_CURR_DESC_PTR 0xFFC01DA0 /* DMA1 Channel 6 Current Descriptor Pointer */
  362. #define DMA1_6_CURR_ADDR 0xFFC01DA4 /* DMA1 Channel 6 Current Address Pointer */
  363. #define DMA1_6_CURR_X_COUNT 0xFFC01DB0 /* DMA1 Channel 6 Current Inner Loop Count */
  364. #define DMA1_6_CURR_Y_COUNT 0xFFC01DB8 /* DMA1 Channel 6 Current Outer Loop Count */
  365. #define DMA1_6_IRQ_STATUS 0xFFC01DA8 /* DMA1 Channel 6 Interrupt/Status Register */
  366. #define DMA1_6_PERIPHERAL_MAP 0xFFC01DAC /* DMA1 Channel 6 Peripheral Map Register */
  367. #define DMA1_7_CONFIG 0xFFC01DC8 /* DMA1 Channel 7 Configuration register */
  368. #define DMA1_7_NEXT_DESC_PTR 0xFFC01DC0 /* DMA1 Channel 7 Next Descripter Ptr Reg */
  369. #define DMA1_7_START_ADDR 0xFFC01DC4 /* DMA1 Channel 7 Start Address */
  370. #define DMA1_7_X_COUNT 0xFFC01DD0 /* DMA1 Channel 7 Inner Loop Count */
  371. #define DMA1_7_Y_COUNT 0xFFC01DD8 /* DMA1 Channel 7 Outer Loop Count */