xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-s32v234/imx-regs.h (revision 9702ec00e95dbc1fd66ef8e9624c649e1ee818e5)
1*9702ec00SEddy Petrișor /*
2*9702ec00SEddy Petrișor  * (C) Copyright 2013-2016, Freescale Semiconductor, Inc.
3*9702ec00SEddy Petrișor  *
4*9702ec00SEddy Petrișor  * SPDX-License-Identifier:	GPL-2.0+
5*9702ec00SEddy Petrișor  */
6*9702ec00SEddy Petrișor 
7*9702ec00SEddy Petrișor #ifndef __ASM_ARCH_IMX_REGS_H__
8*9702ec00SEddy Petrișor #define __ASM_ARCH_IMX_REGS_H__
9*9702ec00SEddy Petrișor 
10*9702ec00SEddy Petrișor #define ARCH_MXC
11*9702ec00SEddy Petrișor 
12*9702ec00SEddy Petrișor #define IRAM_BASE_ADDR      0x3E800000	/* internal ram */
13*9702ec00SEddy Petrișor #define IRAM_SIZE           0x00400000	/* 4MB */
14*9702ec00SEddy Petrișor 
15*9702ec00SEddy Petrișor #define AIPS0_BASE_ADDR     (0x40000000UL)
16*9702ec00SEddy Petrișor #define AIPS1_BASE_ADDR     (0x40080000UL)
17*9702ec00SEddy Petrișor 
18*9702ec00SEddy Petrișor /* AIPS 0 */
19*9702ec00SEddy Petrișor #define AXBS_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00000000)
20*9702ec00SEddy Petrișor #define CSE3_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00001000)
21*9702ec00SEddy Petrișor #define EDMA_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00002000)
22*9702ec00SEddy Petrișor #define XRDC_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00004000)
23*9702ec00SEddy Petrișor #define SWT0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0000A000)
24*9702ec00SEddy Petrișor #define SWT1_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0000B000)
25*9702ec00SEddy Petrișor #define STM0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0000D000)
26*9702ec00SEddy Petrișor #define NIC301_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00010000)
27*9702ec00SEddy Petrișor #define GC3000_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00020000)
28*9702ec00SEddy Petrișor #define DEC200_DECODER_BASE_ADDR		(AIPS0_BASE_ADDR + 0x00026000)
29*9702ec00SEddy Petrișor #define DEC200_ENCODER_BASE_ADDR		(AIPS0_BASE_ADDR + 0x00027000)
30*9702ec00SEddy Petrișor #define TWOD_ACE_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00028000)
31*9702ec00SEddy Petrișor #define MIPI_CSI0_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00030000)
32*9702ec00SEddy Petrișor #define DMAMUX0_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00031000)
33*9702ec00SEddy Petrișor #define ENET_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00032000)
34*9702ec00SEddy Petrișor #define FLEXRAY_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00034000)
35*9702ec00SEddy Petrișor #define MMDC0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00036000)
36*9702ec00SEddy Petrișor #define MEW0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00037000)
37*9702ec00SEddy Petrișor #define MONITOR_DDR0_BASE_ADDR			(AIPS0_BASE_ADDR + 0x00038000)
38*9702ec00SEddy Petrișor #define MONITOR_CCI0_BASE_ADDR			(AIPS0_BASE_ADDR + 0x00039000)
39*9702ec00SEddy Petrișor #define PIT0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0003A000)
40*9702ec00SEddy Petrișor #define MC_CGM0_BASE_ADDR				(AIPS0_BASE_ADDR + 0x0003C000)
41*9702ec00SEddy Petrișor #define MC_CGM1_BASE_ADDR				(AIPS0_BASE_ADDR + 0x0003F000)
42*9702ec00SEddy Petrișor #define MC_CGM2_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00042000)
43*9702ec00SEddy Petrișor #define MC_CGM3_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00045000)
44*9702ec00SEddy Petrișor #define MC_RGM_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00048000)
45*9702ec00SEddy Petrișor #define MC_ME_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0004A000)
46*9702ec00SEddy Petrișor #define MC_PCU_BASE_ADDR				(AIPS0_BASE_ADDR + 0x0004B000)
47*9702ec00SEddy Petrișor #define ADC0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0004D000)
48*9702ec00SEddy Petrișor #define FLEXTIMER_BASE_ADDR				(AIPS0_BASE_ADDR + 0x0004F000)
49*9702ec00SEddy Petrișor #define I2C0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00051000)
50*9702ec00SEddy Petrișor #define LINFLEXD0_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00053000)
51*9702ec00SEddy Petrișor #define FLEXCAN0_BASE_ADDR				(AIPS0_BASE_ADDR + 0x00055000)
52*9702ec00SEddy Petrișor #define SPI0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00057000)
53*9702ec00SEddy Petrișor #define SPI2_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00059000)
54*9702ec00SEddy Petrișor #define CRC0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0005B000)
55*9702ec00SEddy Petrișor #define USDHC_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0005D000)
56*9702ec00SEddy Petrișor #define OCOTP_CONTROLLER_BASE_ADDR		(AIPS0_BASE_ADDR + 0x0005F000)
57*9702ec00SEddy Petrișor #define WKPU_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00063000)
58*9702ec00SEddy Petrișor #define VIU0_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00064000)
59*9702ec00SEddy Petrișor #define HPSMI_SRAM_CONTROLLER_BASE_ADDR	(AIPS0_BASE_ADDR + 0x00068000)
60*9702ec00SEddy Petrișor #define SIUL2_BASE_ADDR					(AIPS0_BASE_ADDR + 0x0006C000)
61*9702ec00SEddy Petrișor #define SIPI_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00074000)
62*9702ec00SEddy Petrișor #define LFAST_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00078000)
63*9702ec00SEddy Petrișor #define SSE_BASE_ADDR					(AIPS0_BASE_ADDR + 0x00079000)
64*9702ec00SEddy Petrișor #define SRC_SOC_BASE_ADDR				(AIPS0_BASE_ADDR + 0x0007C000)
65*9702ec00SEddy Petrișor 
66*9702ec00SEddy Petrișor /* AIPS 1 */
67*9702ec00SEddy Petrișor #define ERM_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000000000)
68*9702ec00SEddy Petrișor #define MSCM_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000001000)
69*9702ec00SEddy Petrișor #define SEMA42_BASE_ADDR				(AIPS1_BASE_ADDR + 0X000002000)
70*9702ec00SEddy Petrișor #define INTC_MON_BASE_ADDR				(AIPS1_BASE_ADDR + 0X000003000)
71*9702ec00SEddy Petrișor #define SWT2_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000004000)
72*9702ec00SEddy Petrișor #define SWT3_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000005000)
73*9702ec00SEddy Petrișor #define SWT4_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000006000)
74*9702ec00SEddy Petrișor #define STM1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000007000)
75*9702ec00SEddy Petrișor #define EIM_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000008000)
76*9702ec00SEddy Petrișor #define APB_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000009000)
77*9702ec00SEddy Petrișor #define XBIC_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000012000)
78*9702ec00SEddy Petrișor #define MIPI_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000020000)
79*9702ec00SEddy Petrișor #define DMAMUX1_BASE_ADDR				(AIPS1_BASE_ADDR + 0X000021000)
80*9702ec00SEddy Petrișor #define MMDC1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000022000)
81*9702ec00SEddy Petrișor #define MEW1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000023000)
82*9702ec00SEddy Petrișor #define DDR1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000024000)
83*9702ec00SEddy Petrișor #define CCI1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000025000)
84*9702ec00SEddy Petrișor #define QUADSPI0_BASE_ADDR				(AIPS1_BASE_ADDR + 0X000026000)
85*9702ec00SEddy Petrișor #define PIT1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X00002A000)
86*9702ec00SEddy Petrișor #define FCCU_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000030000)
87*9702ec00SEddy Petrișor #define FLEXTIMER_FTM1_BASE_ADDR		(AIPS1_BASE_ADDR + 0X000036000)
88*9702ec00SEddy Petrișor #define I2C1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000038000)
89*9702ec00SEddy Petrișor #define I2C2_BASE_ADDR					(AIPS1_BASE_ADDR + 0X00003A000)
90*9702ec00SEddy Petrișor #define LINFLEXD1_BASE_ADDR				(AIPS1_BASE_ADDR + 0X00003C000)
91*9702ec00SEddy Petrișor #define FLEXCAN1_BASE_ADDR				(AIPS1_BASE_ADDR + 0X00003E000)
92*9702ec00SEddy Petrișor #define SPI1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000040000)
93*9702ec00SEddy Petrișor #define SPI3_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000042000)
94*9702ec00SEddy Petrișor #define IPL_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000043000)
95*9702ec00SEddy Petrișor #define CGM_CMU_BASE_ADDR				(AIPS1_BASE_ADDR + 0X000044000)
96*9702ec00SEddy Petrișor #define PMC_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000048000)
97*9702ec00SEddy Petrișor #define CRC1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X00004C000)
98*9702ec00SEddy Petrișor #define TMU_BASE_ADDR					(AIPS1_BASE_ADDR + 0X00004E000)
99*9702ec00SEddy Petrișor #define VIU1_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000050000)
100*9702ec00SEddy Petrișor #define JPEG_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000054000)
101*9702ec00SEddy Petrișor #define H264_DEC_BASE_ADDR				(AIPS1_BASE_ADDR + 0X000058000)
102*9702ec00SEddy Petrișor #define H264_ENC_BASE_ADDR				(AIPS1_BASE_ADDR + 0X00005C000)
103*9702ec00SEddy Petrișor #define MEMU_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000060000)
104*9702ec00SEddy Petrișor #define STCU_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000064000)
105*9702ec00SEddy Petrișor #define SLFTST_CTRL_BASE_ADDR			(AIPS1_BASE_ADDR + 0X000066000)
106*9702ec00SEddy Petrișor #define MCT_BASE_ADDR					(AIPS1_BASE_ADDR + 0X000068000)
107*9702ec00SEddy Petrișor #define REP_BASE_ADDR					(AIPS1_BASE_ADDR + 0X00006A000)
108*9702ec00SEddy Petrișor #define MBIST_CONTROLLER_BASE_ADDR		(AIPS1_BASE_ADDR + 0X00006C000)
109*9702ec00SEddy Petrișor #define BOOT_LOADER_BASE_ADDR			(AIPS1_BASE_ADDR + 0X00006F000)
110*9702ec00SEddy Petrișor 
111*9702ec00SEddy Petrișor /* TODO Remove this after the IOMUX framework is implemented */
112*9702ec00SEddy Petrișor #define IOMUXC_BASE_ADDR SIUL2_BASE_ADDR
113*9702ec00SEddy Petrișor 
114*9702ec00SEddy Petrișor /* MUX mode and PAD ctrl are in one register */
115*9702ec00SEddy Petrișor #define CONFIG_IOMUX_SHARE_CONF_REG
116*9702ec00SEddy Petrișor 
117*9702ec00SEddy Petrișor #define FEC_QUIRK_ENET_MAC
118*9702ec00SEddy Petrișor #define I2C_QUIRK_REG
119*9702ec00SEddy Petrișor 
120*9702ec00SEddy Petrișor /* MSCM interrupt router */
121*9702ec00SEddy Petrișor #define MSCM_IRSPRC_CPn_EN		3
122*9702ec00SEddy Petrișor #define MSCM_IRSPRC_NUM			176
123*9702ec00SEddy Petrișor #define MSCM_CPXTYPE_RYPZ_MASK		0xFF
124*9702ec00SEddy Petrișor #define MSCM_CPXTYPE_RYPZ_OFFSET	0
125*9702ec00SEddy Petrișor #define MSCM_CPXTYPE_PERS_MASK		0xFFFFFF00
126*9702ec00SEddy Petrișor #define MSCM_CPXTYPE_PERS_OFFSET	8
127*9702ec00SEddy Petrișor #define MSCM_CPXTYPE_PERS_A53		0x413533
128*9702ec00SEddy Petrișor #define MSCM_CPXTYPE_PERS_CM4		0x434d34
129*9702ec00SEddy Petrișor 
130*9702ec00SEddy Petrișor #if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))
131*9702ec00SEddy Petrișor #include <asm/types.h>
132*9702ec00SEddy Petrișor 
133*9702ec00SEddy Petrișor /* System Reset Controller (SRC) */
134*9702ec00SEddy Petrișor struct src {
135*9702ec00SEddy Petrișor 	u32 bmr1;
136*9702ec00SEddy Petrișor 	u32 bmr2;
137*9702ec00SEddy Petrișor 	u32 gpr1_boot;
138*9702ec00SEddy Petrișor 	u32 reserved_0x00C[61];
139*9702ec00SEddy Petrișor 	u32 gpr1;
140*9702ec00SEddy Petrișor 	u32 gpr2;
141*9702ec00SEddy Petrișor 	u32 gpr3;
142*9702ec00SEddy Petrișor 	u32 gpr4;
143*9702ec00SEddy Petrișor 	u32 gpr5;
144*9702ec00SEddy Petrișor 	u32 gpr6;
145*9702ec00SEddy Petrișor 	u32 gpr7;
146*9702ec00SEddy Petrișor 	u32 reserved_0x11C[1];
147*9702ec00SEddy Petrișor 	u32 gpr9;
148*9702ec00SEddy Petrișor 	u32 gpr10;
149*9702ec00SEddy Petrișor 	u32 gpr11;
150*9702ec00SEddy Petrișor 	u32 gpr12;
151*9702ec00SEddy Petrișor 	u32 gpr13;
152*9702ec00SEddy Petrișor 	u32 gpr14;
153*9702ec00SEddy Petrișor 	u32 gpr15;
154*9702ec00SEddy Petrișor 	u32 gpr16;
155*9702ec00SEddy Petrișor 	u32 reserved_0x140[1];
156*9702ec00SEddy Petrișor 	u32 gpr17;
157*9702ec00SEddy Petrișor 	u32 gpr18;
158*9702ec00SEddy Petrișor 	u32 gpr19;
159*9702ec00SEddy Petrișor 	u32 gpr20;
160*9702ec00SEddy Petrișor 	u32 gpr21;
161*9702ec00SEddy Petrișor 	u32 gpr22;
162*9702ec00SEddy Petrișor 	u32 gpr23;
163*9702ec00SEddy Petrișor 	u32 gpr24;
164*9702ec00SEddy Petrișor 	u32 gpr25;
165*9702ec00SEddy Petrișor 	u32 gpr26;
166*9702ec00SEddy Petrișor 	u32 gpr27;
167*9702ec00SEddy Petrișor 	u32 reserved_0x16C[5];
168*9702ec00SEddy Petrișor 	u32 pcie_config1;
169*9702ec00SEddy Petrișor 	u32 ddr_self_ref_ctrl;
170*9702ec00SEddy Petrișor 	u32 pcie_config0;
171*9702ec00SEddy Petrișor 	u32 reserved_0x18C[4];
172*9702ec00SEddy Petrișor 	u32 soc_misc_config2;
173*9702ec00SEddy Petrișor };
174*9702ec00SEddy Petrișor 
175*9702ec00SEddy Petrișor /* SRC registers definitions */
176*9702ec00SEddy Petrișor 
177*9702ec00SEddy Petrișor /* SRC_GPR1 */
178*9702ec00SEddy Petrișor #define SRC_GPR1_PLL_SOURCE(pll,val)( ((val) & SRC_GPR1_PLL_SOURCE_MASK) << \
179*9702ec00SEddy Petrișor 										(SRC_GPR1_PLL_OFFSET + (pll)) )
180*9702ec00SEddy Petrișor #define SRC_GPR1_PLL_SOURCE_MASK	(0x1)
181*9702ec00SEddy Petrișor 
182*9702ec00SEddy Petrișor #define SRC_GPR1_PLL_OFFSET			(27)
183*9702ec00SEddy Petrișor #define SRC_GPR1_FIRC_CLK_SOURCE	(0x0)
184*9702ec00SEddy Petrișor #define SRC_GPR1_XOSC_CLK_SOURCE	(0x1)
185*9702ec00SEddy Petrișor 
186*9702ec00SEddy Petrișor /* Periodic Interrupt Timer (PIT) */
187*9702ec00SEddy Petrișor struct pit_reg {
188*9702ec00SEddy Petrișor 	u32 mcr;
189*9702ec00SEddy Petrișor 	u32 recv0[55];
190*9702ec00SEddy Petrișor 	u32 ltmr64h;
191*9702ec00SEddy Petrișor 	u32 ltmr64l;
192*9702ec00SEddy Petrișor 	u32 recv1[6];
193*9702ec00SEddy Petrișor 	u32 ldval0;
194*9702ec00SEddy Petrișor 	u32 cval0;
195*9702ec00SEddy Petrișor 	u32 tctrl0;
196*9702ec00SEddy Petrișor 	u32 tflg0;
197*9702ec00SEddy Petrișor 	u32 ldval1;
198*9702ec00SEddy Petrișor 	u32 cval1;
199*9702ec00SEddy Petrișor 	u32 tctrl1;
200*9702ec00SEddy Petrișor 	u32 tflg1;
201*9702ec00SEddy Petrișor 	u32 ldval2;
202*9702ec00SEddy Petrișor 	u32 cval2;
203*9702ec00SEddy Petrișor 	u32 tctrl2;
204*9702ec00SEddy Petrișor 	u32 tflg2;
205*9702ec00SEddy Petrișor 	u32 ldval3;
206*9702ec00SEddy Petrișor 	u32 cval3;
207*9702ec00SEddy Petrișor 	u32 tctrl3;
208*9702ec00SEddy Petrișor 	u32 tflg3;
209*9702ec00SEddy Petrișor 	u32 ldval4;
210*9702ec00SEddy Petrișor 	u32 cval4;
211*9702ec00SEddy Petrișor 	u32 tctrl4;
212*9702ec00SEddy Petrișor 	u32 tflg4;
213*9702ec00SEddy Petrișor 	u32 ldval5;
214*9702ec00SEddy Petrișor 	u32 cval5;
215*9702ec00SEddy Petrișor 	u32 tctrl5;
216*9702ec00SEddy Petrișor 	u32 tflg5;
217*9702ec00SEddy Petrișor };
218*9702ec00SEddy Petrișor 
219*9702ec00SEddy Petrișor /* Watchdog Timer (WDOG) */
220*9702ec00SEddy Petrișor struct wdog_regs {
221*9702ec00SEddy Petrișor 	u32 cr;
222*9702ec00SEddy Petrișor 	u32 ir;
223*9702ec00SEddy Petrișor 	u32 to;
224*9702ec00SEddy Petrișor 	u32 wn;
225*9702ec00SEddy Petrișor 	u32 sr;
226*9702ec00SEddy Petrișor 	u32 co;
227*9702ec00SEddy Petrișor 	u32 sk;
228*9702ec00SEddy Petrișor };
229*9702ec00SEddy Petrișor 
230*9702ec00SEddy Petrișor /* UART */
231*9702ec00SEddy Petrișor struct linflex_fsl {
232*9702ec00SEddy Petrișor 	u32 lincr1;
233*9702ec00SEddy Petrișor 	u32 linier;
234*9702ec00SEddy Petrișor 	u32 linsr;
235*9702ec00SEddy Petrișor 	u32 linesr;
236*9702ec00SEddy Petrișor 	u32 uartcr;
237*9702ec00SEddy Petrișor 	u32 uartsr;
238*9702ec00SEddy Petrișor 	u32 lintcsr;
239*9702ec00SEddy Petrișor 	u32 linocr;
240*9702ec00SEddy Petrișor 	u32 lintocr;
241*9702ec00SEddy Petrișor 	u32 linfbrr;
242*9702ec00SEddy Petrișor 	u32 linibrr;
243*9702ec00SEddy Petrișor 	u32 lincfr;
244*9702ec00SEddy Petrișor 	u32 lincr2;
245*9702ec00SEddy Petrișor 	u32 bidr;
246*9702ec00SEddy Petrișor 	u32 bdrl;
247*9702ec00SEddy Petrișor 	u32 bdrm;
248*9702ec00SEddy Petrișor 	u32 ifer;
249*9702ec00SEddy Petrișor 	u32 ifmi;
250*9702ec00SEddy Petrișor 	u32 ifmr;
251*9702ec00SEddy Petrișor 	u32 ifcr0;
252*9702ec00SEddy Petrișor 	u32 ifcr1;
253*9702ec00SEddy Petrișor 	u32 ifcr2;
254*9702ec00SEddy Petrișor 	u32 ifcr3;
255*9702ec00SEddy Petrișor 	u32 ifcr4;
256*9702ec00SEddy Petrișor 	u32 ifcr5;
257*9702ec00SEddy Petrișor 	u32 ifcr6;
258*9702ec00SEddy Petrișor 	u32 ifcr7;
259*9702ec00SEddy Petrișor 	u32 ifcr8;
260*9702ec00SEddy Petrișor 	u32 ifcr9;
261*9702ec00SEddy Petrișor 	u32 ifcr10;
262*9702ec00SEddy Petrișor 	u32 ifcr11;
263*9702ec00SEddy Petrișor 	u32 ifcr12;
264*9702ec00SEddy Petrișor 	u32 ifcr13;
265*9702ec00SEddy Petrișor 	u32 ifcr14;
266*9702ec00SEddy Petrișor 	u32 ifcr15;
267*9702ec00SEddy Petrișor 	u32 gcr;
268*9702ec00SEddy Petrișor 	u32 uartpto;
269*9702ec00SEddy Petrișor 	u32 uartcto;
270*9702ec00SEddy Petrișor 	u32 dmatxe;
271*9702ec00SEddy Petrișor 	u32 dmarxe;
272*9702ec00SEddy Petrișor };
273*9702ec00SEddy Petrișor 
274*9702ec00SEddy Petrișor /* MSCM Interrupt Router */
275*9702ec00SEddy Petrișor struct mscm_ir {
276*9702ec00SEddy Petrișor 	u32 cpxtype;		/* Processor x Type Register                    */
277*9702ec00SEddy Petrișor 	u32 cpxnum;		/* Processor x Number Register                  */
278*9702ec00SEddy Petrișor 	u32 cpxmaster;		/* Processor x Master Number Register   */
279*9702ec00SEddy Petrișor 	u32 cpxcount;		/* Processor x Count Register                   */
280*9702ec00SEddy Petrișor 	u32 cpxcfg0;		/* Processor x Configuration 0 Register */
281*9702ec00SEddy Petrișor 	u32 cpxcfg1;		/* Processor x Configuration 1 Register */
282*9702ec00SEddy Petrișor 	u32 cpxcfg2;		/* Processor x Configuration 2 Register */
283*9702ec00SEddy Petrișor 	u32 cpxcfg3;		/* Processor x Configuration 3 Register */
284*9702ec00SEddy Petrișor 	u32 cp0type;		/* Processor 0 Type Register                    */
285*9702ec00SEddy Petrișor 	u32 cp0num;		/* Processor 0 Number Register                  */
286*9702ec00SEddy Petrișor 	u32 cp0master;		/* Processor 0 Master Number Register   */
287*9702ec00SEddy Petrișor 	u32 cp0count;		/* Processor 0 Count Register                   */
288*9702ec00SEddy Petrișor 	u32 cp0cfg0;		/* Processor 0 Configuration 0 Register */
289*9702ec00SEddy Petrișor 	u32 cp0cfg1;		/* Processor 0 Configuration 1 Register */
290*9702ec00SEddy Petrișor 	u32 cp0cfg2;		/* Processor 0 Configuration 2 Register */
291*9702ec00SEddy Petrișor 	u32 cp0cfg3;		/* Processor 0 Configuration 3 Register */
292*9702ec00SEddy Petrișor 	u32 cp1type;		/* Processor 1 Type Register                    */
293*9702ec00SEddy Petrișor 	u32 cp1num;		/* Processor 1 Number Register                  */
294*9702ec00SEddy Petrișor 	u32 cp1master;		/* Processor 1 Master Number Register   */
295*9702ec00SEddy Petrișor 	u32 cp1count;		/* Processor 1 Count Register                   */
296*9702ec00SEddy Petrișor 	u32 cp1cfg0;		/* Processor 1 Configuration 0 Register */
297*9702ec00SEddy Petrișor 	u32 cp1cfg1;		/* Processor 1 Configuration 1 Register */
298*9702ec00SEddy Petrișor 	u32 cp1cfg2;		/* Processor 1 Configuration 2 Register */
299*9702ec00SEddy Petrișor 	u32 cp1cfg3;		/* Processor 1 Configuration 3 Register */
300*9702ec00SEddy Petrișor 	u32 reserved_0x060[232];
301*9702ec00SEddy Petrișor 	u32 ocmdr0;		/* On-Chip Memory Descriptor Register   */
302*9702ec00SEddy Petrișor 	u32 reserved_0x404[2];
303*9702ec00SEddy Petrișor 	u32 ocmdr3;		/* On-Chip Memory Descriptor Register   */
304*9702ec00SEddy Petrișor 	u32 reserved_0x410[28];
305*9702ec00SEddy Petrișor 	u32 tcmdr[4];		/* Generic Tightly Coupled Memory Descriptor Register   */
306*9702ec00SEddy Petrișor 	u32 reserved_0x490[28];
307*9702ec00SEddy Petrișor 	u32 cpce0;		/* Core Parity Checking Enable Register 0                               */
308*9702ec00SEddy Petrișor 	u32 reserved_0x504[191];
309*9702ec00SEddy Petrișor 	u32 ircp0ir;		/* Interrupt Router CP0 Interrupt Register                              */
310*9702ec00SEddy Petrișor 	u32 ircp1ir;		/* Interrupt Router CP1 Interrupt Register                              */
311*9702ec00SEddy Petrișor 	u32 reserved_0x808[6];
312*9702ec00SEddy Petrișor 	u32 ircpgir;		/* Interrupt Router CPU Generate Interrupt Register             */
313*9702ec00SEddy Petrișor 	u32 reserved_0x824[23];
314*9702ec00SEddy Petrișor 	u16 irsprc[176];	/* Interrupt Router Shared Peripheral Routing Control Register  */
315*9702ec00SEddy Petrișor 	u32 reserved_0x9e0[136];
316*9702ec00SEddy Petrișor 	u32 iahbbe0;		/* Gasket Burst Enable Register                                                 */
317*9702ec00SEddy Petrișor 	u32 reserved_0xc04[63];
318*9702ec00SEddy Petrișor 	u32 ipcge;		/* Interconnect Parity Checking Global Enable Register  */
319*9702ec00SEddy Petrișor 	u32 reserved_0xd04[3];
320*9702ec00SEddy Petrișor 	u32 ipce[4];		/* Interconnect Parity Checking Enable Register                 */
321*9702ec00SEddy Petrișor 	u32 reserved_0xd20[8];
322*9702ec00SEddy Petrișor 	u32 ipcgie;		/* Interconnect Parity Checking Global Injection Enable Register        */
323*9702ec00SEddy Petrișor 	u32 reserved_0xd44[3];
324*9702ec00SEddy Petrișor 	u32 ipcie[4];		/* Interconnect Parity Checking Injection Enable Register       */
325*9702ec00SEddy Petrișor };
326*9702ec00SEddy Petrișor 
327*9702ec00SEddy Petrișor #endif /* __ASSEMBLER__ */
328*9702ec00SEddy Petrișor 
329*9702ec00SEddy Petrișor #endif /* __ASM_ARCH_IMX_REGS_H__ */
330