cd7b67256cfb5fde36ec086da2e2fe46812fb41b
[platform/kernel/u-boot.git] / arch / m68k / include / asm / immap_5272.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * MCF5272 Internal Memory Map
4  *
5  * Copyright (c) 2003 Josef Baumgartner <josef.baumgartner@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__ */