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