1819833afSPeter Tyser /* 2819833afSPeter Tyser * MCF5272 Internal Memory Map 3819833afSPeter Tyser * 4819833afSPeter Tyser * Copyright (c) 2003 Josef Baumgartner <josef.baumgartner@telex.de> 5819833afSPeter Tyser * 6*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 7819833afSPeter Tyser */ 8819833afSPeter Tyser 9819833afSPeter Tyser #ifndef __IMMAP_5272__ 10819833afSPeter Tyser #define __IMMAP_5272__ 11819833afSPeter Tyser 12819833afSPeter Tyser #define MMAP_CFG (CONFIG_SYS_MBAR + 0x00000000) 13819833afSPeter Tyser #define MMAP_INTC (CONFIG_SYS_MBAR + 0x00000020) 14819833afSPeter Tyser #define MMAP_FBCS (CONFIG_SYS_MBAR + 0x00000040) 15819833afSPeter Tyser #define MMAP_GPIO (CONFIG_SYS_MBAR + 0x00000080) 16819833afSPeter Tyser #define MMAP_QSPI (CONFIG_SYS_MBAR + 0x000000A0) 17819833afSPeter Tyser #define MMAP_PWM (CONFIG_SYS_MBAR + 0x000000C0) 18819833afSPeter Tyser #define MMAP_DMA0 (CONFIG_SYS_MBAR + 0x000000E0) 19819833afSPeter Tyser #define MMAP_UART0 (CONFIG_SYS_MBAR + 0x00000100) 20819833afSPeter Tyser #define MMAP_UART1 (CONFIG_SYS_MBAR + 0x00000140) 21819833afSPeter Tyser #define MMAP_SDRAM (CONFIG_SYS_MBAR + 0x00000180) 22819833afSPeter Tyser #define MMAP_TMR0 (CONFIG_SYS_MBAR + 0x00000200) 23819833afSPeter Tyser #define MMAP_TMR1 (CONFIG_SYS_MBAR + 0x00000220) 24819833afSPeter Tyser #define MMAP_TMR2 (CONFIG_SYS_MBAR + 0x00000240) 25819833afSPeter Tyser #define MMAP_TMR3 (CONFIG_SYS_MBAR + 0x00000260) 26819833afSPeter Tyser #define MMAP_WDOG (CONFIG_SYS_MBAR + 0x00000280) 27819833afSPeter Tyser #define MMAP_PLIC (CONFIG_SYS_MBAR + 0x00000300) 28819833afSPeter Tyser #define MMAP_FEC (CONFIG_SYS_MBAR + 0x00000840) 29819833afSPeter Tyser #define MMAP_USB (CONFIG_SYS_MBAR + 0x00001000) 30819833afSPeter Tyser 31819833afSPeter Tyser #include <asm/coldfire/pwm.h> 32819833afSPeter Tyser 33819833afSPeter Tyser /* System configuration registers */ 34819833afSPeter Tyser typedef struct sys_ctrl { 35819833afSPeter Tyser uint sc_mbar; 36819833afSPeter Tyser ushort sc_scr; 37819833afSPeter Tyser ushort sc_spr; 38819833afSPeter Tyser uint sc_pmr; 39819833afSPeter Tyser char res1[2]; 40819833afSPeter Tyser ushort sc_alpr; 41819833afSPeter Tyser uint sc_dir; 42819833afSPeter Tyser char res2[12]; 43819833afSPeter Tyser } sysctrl_t; 44819833afSPeter Tyser 45819833afSPeter Tyser /* Interrupt module registers */ 46819833afSPeter Tyser typedef struct int_ctrl { 47819833afSPeter Tyser uint int_icr1; 48819833afSPeter Tyser uint int_icr2; 49819833afSPeter Tyser uint int_icr3; 50819833afSPeter Tyser uint int_icr4; 51819833afSPeter Tyser uint int_isr; 52819833afSPeter Tyser uint int_pitr; 53819833afSPeter Tyser uint int_piwr; 54819833afSPeter Tyser uchar res1[3]; 55819833afSPeter Tyser uchar int_pivr; 56819833afSPeter Tyser } intctrl_t; 57819833afSPeter Tyser 58819833afSPeter Tyser /* Chip select module registers */ 59819833afSPeter Tyser typedef struct cs_ctlr { 60819833afSPeter Tyser uint cs_br0; 61819833afSPeter Tyser uint cs_or0; 62819833afSPeter Tyser uint cs_br1; 63819833afSPeter Tyser uint cs_or1; 64819833afSPeter Tyser uint cs_br2; 65819833afSPeter Tyser uint cs_or2; 66819833afSPeter Tyser uint cs_br3; 67819833afSPeter Tyser uint cs_or3; 68819833afSPeter Tyser uint cs_br4; 69819833afSPeter Tyser uint cs_or4; 70819833afSPeter Tyser uint cs_br5; 71819833afSPeter Tyser uint cs_or5; 72819833afSPeter Tyser uint cs_br6; 73819833afSPeter Tyser uint cs_or6; 74819833afSPeter Tyser uint cs_br7; 75819833afSPeter Tyser uint cs_or7; 76819833afSPeter Tyser } csctrl_t; 77819833afSPeter Tyser 78819833afSPeter Tyser /* GPIO port registers */ 79819833afSPeter Tyser typedef struct gpio_ctrl { 80819833afSPeter Tyser uint gpio_pacnt; 81819833afSPeter Tyser ushort gpio_paddr; 82819833afSPeter Tyser ushort gpio_padat; 83819833afSPeter Tyser uint gpio_pbcnt; 84819833afSPeter Tyser ushort gpio_pbddr; 85819833afSPeter Tyser ushort gpio_pbdat; 86819833afSPeter Tyser uchar res1[4]; 87819833afSPeter Tyser ushort gpio_pcddr; 88819833afSPeter Tyser ushort gpio_pcdat; 89819833afSPeter Tyser uint gpio_pdcnt; 90819833afSPeter Tyser uchar res2[4]; 91819833afSPeter Tyser } gpio_t; 92819833afSPeter Tyser 93819833afSPeter Tyser /* DMA module registers */ 94819833afSPeter Tyser typedef struct dma_ctrl { 95819833afSPeter Tyser ulong dma_dmr; 96819833afSPeter Tyser uchar res1[2]; 97819833afSPeter Tyser ushort dma_dir; 98819833afSPeter Tyser ulong dma_dbcr; 99819833afSPeter Tyser ulong dma_dsar; 100819833afSPeter Tyser ulong dma_ddar; 101819833afSPeter Tyser uchar res2[12]; 102819833afSPeter Tyser } dma_t; 103819833afSPeter Tyser 104819833afSPeter Tyser /* SDRAM controller registers, offset: 0x180 */ 105819833afSPeter Tyser typedef struct sdram_ctrl { 106819833afSPeter Tyser uchar res1[2]; 107819833afSPeter Tyser ushort sdram_sdcr; 108819833afSPeter Tyser uchar res2[2]; 109819833afSPeter Tyser ushort sdram_sdtr; 110819833afSPeter Tyser uchar res3[120]; 111819833afSPeter Tyser } sdramctrl_t; 112819833afSPeter Tyser 113819833afSPeter Tyser /* Watchdog registers */ 114819833afSPeter Tyser typedef struct wdog_ctrl { 115819833afSPeter Tyser ushort wdog_wrrr; 116819833afSPeter Tyser ushort res1; 117819833afSPeter Tyser ushort wdog_wirr; 118819833afSPeter Tyser ushort res2; 119819833afSPeter Tyser ushort wdog_wcr; 120819833afSPeter Tyser ushort res3; 121819833afSPeter Tyser ushort wdog_wer; 122819833afSPeter Tyser uchar res4[114]; 123819833afSPeter Tyser } wdog_t; 124819833afSPeter Tyser 125819833afSPeter Tyser /* PLIC module registers */ 126819833afSPeter Tyser typedef struct plic_ctrl { 127819833afSPeter Tyser ulong plic_p0b1rr; 128819833afSPeter Tyser ulong plic_p1b1rr; 129819833afSPeter Tyser ulong plic_p2b1rr; 130819833afSPeter Tyser ulong plic_p3b1rr; 131819833afSPeter Tyser ulong plic_p0b2rr; 132819833afSPeter Tyser ulong plic_p1b2rr; 133819833afSPeter Tyser ulong plic_p2b2rr; 134819833afSPeter Tyser ulong plic_p3b2rr; 135819833afSPeter Tyser uchar plic_p0drr; 136819833afSPeter Tyser uchar plic_p1drr; 137819833afSPeter Tyser uchar plic_p2drr; 138819833afSPeter Tyser uchar plic_p3drr; 139819833afSPeter Tyser uchar res1[4]; 140819833afSPeter Tyser ulong plic_p0b1tr; 141819833afSPeter Tyser ulong plic_p1b1tr; 142819833afSPeter Tyser ulong plic_p2b1tr; 143819833afSPeter Tyser ulong plic_p3b1tr; 144819833afSPeter Tyser ulong plic_p0b2tr; 145819833afSPeter Tyser ulong plic_p1b2tr; 146819833afSPeter Tyser ulong plic_p2b2tr; 147819833afSPeter Tyser ulong plic_p3b2tr; 148819833afSPeter Tyser uchar plic_p0dtr; 149819833afSPeter Tyser uchar plic_p1dtr; 150819833afSPeter Tyser uchar plic_p2dtr; 151819833afSPeter Tyser uchar plic_p3dtr; 152819833afSPeter Tyser uchar res2[4]; 153819833afSPeter Tyser ushort plic_p0cr; 154819833afSPeter Tyser ushort plic_p1cr; 155819833afSPeter Tyser ushort plic_p2cr; 156819833afSPeter Tyser ushort plic_p3cr; 157819833afSPeter Tyser ushort plic_p0icr; 158819833afSPeter Tyser ushort plic_p1icr; 159819833afSPeter Tyser ushort plic_p2icr; 160819833afSPeter Tyser ushort plic_p3icr; 161819833afSPeter Tyser ushort plic_p0gmr; 162819833afSPeter Tyser ushort plic_p1gmr; 163819833afSPeter Tyser ushort plic_p2gmr; 164819833afSPeter Tyser ushort plic_p3gmr; 165819833afSPeter Tyser ushort plic_p0gmt; 166819833afSPeter Tyser ushort plic_p1gmt; 167819833afSPeter Tyser ushort plic_p2gmt; 168819833afSPeter Tyser ushort plic_p3gmt; 169819833afSPeter Tyser uchar res3; 170819833afSPeter Tyser uchar plic_pgmts; 171819833afSPeter Tyser uchar plic_pgmta; 172819833afSPeter Tyser uchar res4; 173819833afSPeter Tyser uchar plic_p0gcir; 174819833afSPeter Tyser uchar plic_p1gcir; 175819833afSPeter Tyser uchar plic_p2gcir; 176819833afSPeter Tyser uchar plic_p3gcir; 177819833afSPeter Tyser uchar plic_p0gcit; 178819833afSPeter Tyser uchar plic_p1gcit; 179819833afSPeter Tyser uchar plic_p2gcit; 180819833afSPeter Tyser uchar plic_p3gcit; 181819833afSPeter Tyser uchar res5[3]; 182819833afSPeter Tyser uchar plic_pgcitsr; 183819833afSPeter Tyser uchar res6[3]; 184819833afSPeter Tyser uchar plic_pdcsr; 185819833afSPeter Tyser ushort plic_p0psr; 186819833afSPeter Tyser ushort plic_p1psr; 187819833afSPeter Tyser ushort plic_p2psr; 188819833afSPeter Tyser ushort plic_p3psr; 189819833afSPeter Tyser ushort plic_pasr; 190819833afSPeter Tyser uchar res7; 191819833afSPeter Tyser uchar plic_plcr; 192819833afSPeter Tyser ushort res8; 193819833afSPeter Tyser ushort plic_pdrqr; 194819833afSPeter Tyser ushort plic_p0sdr; 195819833afSPeter Tyser ushort plic_p1sdr; 196819833afSPeter Tyser ushort plic_p2sdr; 197819833afSPeter Tyser ushort plic_p3sdr; 198819833afSPeter Tyser ushort res9; 199819833afSPeter Tyser ushort plic_pcsr; 200819833afSPeter Tyser uchar res10[1184]; 201819833afSPeter Tyser } plic_t; 202819833afSPeter Tyser 203819833afSPeter Tyser /* USB module registers */ 204819833afSPeter Tyser typedef struct usb { 205819833afSPeter Tyser ushort res1; 206819833afSPeter Tyser ushort usb_fnr; 207819833afSPeter Tyser ushort res2; 208819833afSPeter Tyser ushort usb_fnmr; 209819833afSPeter Tyser ushort res3; 210819833afSPeter Tyser ushort usb_rfmr; 211819833afSPeter Tyser ushort res4; 212819833afSPeter Tyser ushort usb_rfmmr; 213819833afSPeter Tyser uchar res5[3]; 214819833afSPeter Tyser uchar usb_far; 215819833afSPeter Tyser ulong usb_asr; 216819833afSPeter Tyser ulong usb_drr1; 217819833afSPeter Tyser ulong usb_drr2; 218819833afSPeter Tyser ushort res6; 219819833afSPeter Tyser ushort usb_specr; 220819833afSPeter Tyser ushort res7; 221819833afSPeter Tyser ushort usb_ep0sr; 222819833afSPeter Tyser ulong usb_iep0cfg; 223819833afSPeter Tyser ulong usb_oep0cfg; 224819833afSPeter Tyser ulong usb_ep1cfg; 225819833afSPeter Tyser ulong usb_ep2cfg; 226819833afSPeter Tyser ulong usb_ep3cfg; 227819833afSPeter Tyser ulong usb_ep4cfg; 228819833afSPeter Tyser ulong usb_ep5cfg; 229819833afSPeter Tyser ulong usb_ep6cfg; 230819833afSPeter Tyser ulong usb_ep7cfg; 231819833afSPeter Tyser ulong usb_ep0ctl; 232819833afSPeter Tyser ushort res8; 233819833afSPeter Tyser ushort usb_ep1ctl; 234819833afSPeter Tyser ushort res9; 235819833afSPeter Tyser ushort usb_ep2ctl; 236819833afSPeter Tyser ushort res10; 237819833afSPeter Tyser ushort usb_ep3ctl; 238819833afSPeter Tyser ushort res11; 239819833afSPeter Tyser ushort usb_ep4ctl; 240819833afSPeter Tyser ushort res12; 241819833afSPeter Tyser ushort usb_ep5ctl; 242819833afSPeter Tyser ushort res13; 243819833afSPeter Tyser ushort usb_ep6ctl; 244819833afSPeter Tyser ushort res14; 245819833afSPeter Tyser ushort usb_ep7ctl; 246819833afSPeter Tyser ulong usb_ep0isr; 247819833afSPeter Tyser ushort res15; 248819833afSPeter Tyser ushort usb_ep1isr; 249819833afSPeter Tyser ushort res16; 250819833afSPeter Tyser ushort usb_ep2isr; 251819833afSPeter Tyser ushort res17; 252819833afSPeter Tyser ushort usb_ep3isr; 253819833afSPeter Tyser ushort res18; 254819833afSPeter Tyser ushort usb_ep4isr; 255819833afSPeter Tyser ushort res19; 256819833afSPeter Tyser ushort usb_ep5isr; 257819833afSPeter Tyser ushort res20; 258819833afSPeter Tyser ushort usb_ep6isr; 259819833afSPeter Tyser ushort res21; 260819833afSPeter Tyser ushort usb_ep7isr; 261819833afSPeter Tyser ulong usb_ep0imr; 262819833afSPeter Tyser ushort res22; 263819833afSPeter Tyser ushort usb_ep1imr; 264819833afSPeter Tyser ushort res23; 265819833afSPeter Tyser ushort usb_ep2imr; 266819833afSPeter Tyser ushort res24; 267819833afSPeter Tyser ushort usb_ep3imr; 268819833afSPeter Tyser ushort res25; 269819833afSPeter Tyser ushort usb_ep4imr; 270819833afSPeter Tyser ushort res26; 271819833afSPeter Tyser ushort usb_ep5imr; 272819833afSPeter Tyser ushort res27; 273819833afSPeter Tyser ushort usb_ep6imr; 274819833afSPeter Tyser ushort res28; 275819833afSPeter Tyser ushort usb_ep7imr; 276819833afSPeter Tyser ulong usb_ep0dr; 277819833afSPeter Tyser ulong usb_ep1dr; 278819833afSPeter Tyser ulong usb_ep2dr; 279819833afSPeter Tyser ulong usb_ep3dr; 280819833afSPeter Tyser ulong usb_ep4dr; 281819833afSPeter Tyser ulong usb_ep5dr; 282819833afSPeter Tyser ulong usb_ep6dr; 283819833afSPeter Tyser ulong usb_ep7dr; 284819833afSPeter Tyser ushort res29; 285819833afSPeter Tyser ushort usb_ep0dpr; 286819833afSPeter Tyser ushort res30; 287819833afSPeter Tyser ushort usb_ep1dpr; 288819833afSPeter Tyser ushort res31; 289819833afSPeter Tyser ushort usb_ep2dpr; 290819833afSPeter Tyser ushort res32; 291819833afSPeter Tyser ushort usb_ep3dpr; 292819833afSPeter Tyser ushort res33; 293819833afSPeter Tyser ushort usb_ep4dpr; 294819833afSPeter Tyser ushort res34; 295819833afSPeter Tyser ushort usb_ep5dpr; 296819833afSPeter Tyser ushort res35; 297819833afSPeter Tyser ushort usb_ep6dpr; 298819833afSPeter Tyser ushort res36; 299819833afSPeter Tyser ushort usb_ep7dpr; 300819833afSPeter Tyser uchar res37[788]; 301819833afSPeter Tyser uchar usb_cfgram[1024]; 302819833afSPeter Tyser } usb_t; 303819833afSPeter Tyser 304819833afSPeter Tyser #endif /* __IMMAP_5272__ */ 305