xref: /rk3399_rockchip-uboot/arch/m68k/include/asm/immap_5272.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
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