immap_5272.h 6.5 KB

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