xref: /openbmc/u-boot/arch/m68k/include/asm/immap_5272.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
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__ */
304