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