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