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