immap_5272.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * MCF5272 Internal Memory Map
  4. *
  5. * Copyright (c) 2003 Josef Baumgartner <josef.baumgartner@telex.de>
  6. */
  7. #ifndef __IMMAP_5272__
  8. #define __IMMAP_5272__
  9. #define MMAP_CFG (CONFIG_SYS_MBAR + 0x00000000)
  10. #define MMAP_INTC (CONFIG_SYS_MBAR + 0x00000020)
  11. #define MMAP_FBCS (CONFIG_SYS_MBAR + 0x00000040)
  12. #define MMAP_GPIO (CONFIG_SYS_MBAR + 0x00000080)
  13. #define MMAP_QSPI (CONFIG_SYS_MBAR + 0x000000A0)
  14. #define MMAP_PWM (CONFIG_SYS_MBAR + 0x000000C0)
  15. #define MMAP_DMA0 (CONFIG_SYS_MBAR + 0x000000E0)
  16. #define MMAP_UART0 (CONFIG_SYS_MBAR + 0x00000100)
  17. #define MMAP_UART1 (CONFIG_SYS_MBAR + 0x00000140)
  18. #define MMAP_SDRAM (CONFIG_SYS_MBAR + 0x00000180)
  19. #define MMAP_TMR0 (CONFIG_SYS_MBAR + 0x00000200)
  20. #define MMAP_TMR1 (CONFIG_SYS_MBAR + 0x00000220)
  21. #define MMAP_TMR2 (CONFIG_SYS_MBAR + 0x00000240)
  22. #define MMAP_TMR3 (CONFIG_SYS_MBAR + 0x00000260)
  23. #define MMAP_WDOG (CONFIG_SYS_MBAR + 0x00000280)
  24. #define MMAP_PLIC (CONFIG_SYS_MBAR + 0x00000300)
  25. #define MMAP_FEC (CONFIG_SYS_MBAR + 0x00000840)
  26. #define MMAP_USB (CONFIG_SYS_MBAR + 0x00001000)
  27. #include <asm/coldfire/pwm.h>
  28. /* System configuration registers */
  29. typedef struct sys_ctrl {
  30. uint sc_mbar;
  31. ushort sc_scr;
  32. ushort sc_spr;
  33. uint sc_pmr;
  34. char res1[2];
  35. ushort sc_alpr;
  36. uint sc_dir;
  37. char res2[12];
  38. } sysctrl_t;
  39. /* Interrupt module registers */
  40. typedef struct int_ctrl {
  41. uint int_icr1;
  42. uint int_icr2;
  43. uint int_icr3;
  44. uint int_icr4;
  45. uint int_isr;
  46. uint int_pitr;
  47. uint int_piwr;
  48. uchar res1[3];
  49. uchar int_pivr;
  50. } intctrl_t;
  51. /* Chip select module registers */
  52. typedef struct cs_ctlr {
  53. uint cs_br0;
  54. uint cs_or0;
  55. uint cs_br1;
  56. uint cs_or1;
  57. uint cs_br2;
  58. uint cs_or2;
  59. uint cs_br3;
  60. uint cs_or3;
  61. uint cs_br4;
  62. uint cs_or4;
  63. uint cs_br5;
  64. uint cs_or5;
  65. uint cs_br6;
  66. uint cs_or6;
  67. uint cs_br7;
  68. uint cs_or7;
  69. } csctrl_t;
  70. /* GPIO port registers */
  71. typedef struct gpio_ctrl {
  72. uint gpio_pacnt;
  73. ushort gpio_paddr;
  74. ushort gpio_padat;
  75. uint gpio_pbcnt;
  76. ushort gpio_pbddr;
  77. ushort gpio_pbdat;
  78. uchar res1[4];
  79. ushort gpio_pcddr;
  80. ushort gpio_pcdat;
  81. uint gpio_pdcnt;
  82. uchar res2[4];
  83. } gpio_t;
  84. /* DMA module registers */
  85. typedef struct dma_ctrl {
  86. ulong dma_dmr;
  87. uchar res1[2];
  88. ushort dma_dir;
  89. ulong dma_dbcr;
  90. ulong dma_dsar;
  91. ulong dma_ddar;
  92. uchar res2[12];
  93. } dma_t;
  94. /* SDRAM controller registers, offset: 0x180 */
  95. typedef struct sdram_ctrl {
  96. uchar res1[2];
  97. ushort sdram_sdcr;
  98. uchar res2[2];
  99. ushort sdram_sdtr;
  100. uchar res3[120];
  101. } sdramctrl_t;
  102. /* Watchdog registers */
  103. typedef struct wdog_ctrl {
  104. ushort wdog_wrrr;
  105. ushort res1;
  106. ushort wdog_wirr;
  107. ushort res2;
  108. ushort wdog_wcr;
  109. ushort res3;
  110. ushort wdog_wer;
  111. uchar res4[114];
  112. } wdog_t;
  113. /* PLIC module registers */
  114. typedef struct plic_ctrl {
  115. ulong plic_p0b1rr;
  116. ulong plic_p1b1rr;
  117. ulong plic_p2b1rr;
  118. ulong plic_p3b1rr;
  119. ulong plic_p0b2rr;
  120. ulong plic_p1b2rr;
  121. ulong plic_p2b2rr;
  122. ulong plic_p3b2rr;
  123. uchar plic_p0drr;
  124. uchar plic_p1drr;
  125. uchar plic_p2drr;
  126. uchar plic_p3drr;
  127. uchar res1[4];
  128. ulong plic_p0b1tr;
  129. ulong plic_p1b1tr;
  130. ulong plic_p2b1tr;
  131. ulong plic_p3b1tr;
  132. ulong plic_p0b2tr;
  133. ulong plic_p1b2tr;
  134. ulong plic_p2b2tr;
  135. ulong plic_p3b2tr;
  136. uchar plic_p0dtr;
  137. uchar plic_p1dtr;
  138. uchar plic_p2dtr;
  139. uchar plic_p3dtr;
  140. uchar res2[4];
  141. ushort plic_p0cr;
  142. ushort plic_p1cr;
  143. ushort plic_p2cr;
  144. ushort plic_p3cr;
  145. ushort plic_p0icr;
  146. ushort plic_p1icr;
  147. ushort plic_p2icr;
  148. ushort plic_p3icr;
  149. ushort plic_p0gmr;
  150. ushort plic_p1gmr;
  151. ushort plic_p2gmr;
  152. ushort plic_p3gmr;
  153. ushort plic_p0gmt;
  154. ushort plic_p1gmt;
  155. ushort plic_p2gmt;
  156. ushort plic_p3gmt;
  157. uchar res3;
  158. uchar plic_pgmts;
  159. uchar plic_pgmta;
  160. uchar res4;
  161. uchar plic_p0gcir;
  162. uchar plic_p1gcir;
  163. uchar plic_p2gcir;
  164. uchar plic_p3gcir;
  165. uchar plic_p0gcit;
  166. uchar plic_p1gcit;
  167. uchar plic_p2gcit;
  168. uchar plic_p3gcit;
  169. uchar res5[3];
  170. uchar plic_pgcitsr;
  171. uchar res6[3];
  172. uchar plic_pdcsr;
  173. ushort plic_p0psr;
  174. ushort plic_p1psr;
  175. ushort plic_p2psr;
  176. ushort plic_p3psr;
  177. ushort plic_pasr;
  178. uchar res7;
  179. uchar plic_plcr;
  180. ushort res8;
  181. ushort plic_pdrqr;
  182. ushort plic_p0sdr;
  183. ushort plic_p1sdr;
  184. ushort plic_p2sdr;
  185. ushort plic_p3sdr;
  186. ushort res9;
  187. ushort plic_pcsr;
  188. uchar res10[1184];
  189. } plic_t;
  190. /* USB module registers */
  191. typedef struct usb {
  192. ushort res1;
  193. ushort usb_fnr;
  194. ushort res2;
  195. ushort usb_fnmr;
  196. ushort res3;
  197. ushort usb_rfmr;
  198. ushort res4;
  199. ushort usb_rfmmr;
  200. uchar res5[3];
  201. uchar usb_far;
  202. ulong usb_asr;
  203. ulong usb_drr1;
  204. ulong usb_drr2;
  205. ushort res6;
  206. ushort usb_specr;
  207. ushort res7;
  208. ushort usb_ep0sr;
  209. ulong usb_iep0cfg;
  210. ulong usb_oep0cfg;
  211. ulong usb_ep1cfg;
  212. ulong usb_ep2cfg;
  213. ulong usb_ep3cfg;
  214. ulong usb_ep4cfg;
  215. ulong usb_ep5cfg;
  216. ulong usb_ep6cfg;
  217. ulong usb_ep7cfg;
  218. ulong usb_ep0ctl;
  219. ushort res8;
  220. ushort usb_ep1ctl;
  221. ushort res9;
  222. ushort usb_ep2ctl;
  223. ushort res10;
  224. ushort usb_ep3ctl;
  225. ushort res11;
  226. ushort usb_ep4ctl;
  227. ushort res12;
  228. ushort usb_ep5ctl;
  229. ushort res13;
  230. ushort usb_ep6ctl;
  231. ushort res14;
  232. ushort usb_ep7ctl;
  233. ulong usb_ep0isr;
  234. ushort res15;
  235. ushort usb_ep1isr;
  236. ushort res16;
  237. ushort usb_ep2isr;
  238. ushort res17;
  239. ushort usb_ep3isr;
  240. ushort res18;
  241. ushort usb_ep4isr;
  242. ushort res19;
  243. ushort usb_ep5isr;
  244. ushort res20;
  245. ushort usb_ep6isr;
  246. ushort res21;
  247. ushort usb_ep7isr;
  248. ulong usb_ep0imr;
  249. ushort res22;
  250. ushort usb_ep1imr;
  251. ushort res23;
  252. ushort usb_ep2imr;
  253. ushort res24;
  254. ushort usb_ep3imr;
  255. ushort res25;
  256. ushort usb_ep4imr;
  257. ushort res26;
  258. ushort usb_ep5imr;
  259. ushort res27;
  260. ushort usb_ep6imr;
  261. ushort res28;
  262. ushort usb_ep7imr;
  263. ulong usb_ep0dr;
  264. ulong usb_ep1dr;
  265. ulong usb_ep2dr;
  266. ulong usb_ep3dr;
  267. ulong usb_ep4dr;
  268. ulong usb_ep5dr;
  269. ulong usb_ep6dr;
  270. ulong usb_ep7dr;
  271. ushort res29;
  272. ushort usb_ep0dpr;
  273. ushort res30;
  274. ushort usb_ep1dpr;
  275. ushort res31;
  276. ushort usb_ep2dpr;
  277. ushort res32;
  278. ushort usb_ep3dpr;
  279. ushort res33;
  280. ushort usb_ep4dpr;
  281. ushort res34;
  282. ushort usb_ep5dpr;
  283. ushort res35;
  284. ushort usb_ep6dpr;
  285. ushort res36;
  286. ushort usb_ep7dpr;
  287. uchar res37[788];
  288. uchar usb_cfgram[1024];
  289. } usb_t;
  290. #endif /* __IMMAP_5272__ */