xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h (revision 380e86f361e4e2aef83295972863654fde157560)
19f3183d2SMingkai Hu /*
29f3183d2SMingkai Hu  * LayerScape Internal Memory Map
39f3183d2SMingkai Hu  *
4*5193405aSPriyanka Jain  * Copyright (C) 2017 NXP Semiconductors
59f3183d2SMingkai Hu  * Copyright 2014 Freescale Semiconductor, Inc.
69f3183d2SMingkai Hu  *
79f3183d2SMingkai Hu  * SPDX-License-Identifier:	GPL-2.0+
89f3183d2SMingkai Hu  */
99f3183d2SMingkai Hu 
109f3183d2SMingkai Hu #ifndef __ARCH_FSL_LSCH3_IMMAP_H_
119f3183d2SMingkai Hu #define __ARCH_FSL_LSCH3_IMMAP_H_
129f3183d2SMingkai Hu 
139f3183d2SMingkai Hu #define CONFIG_SYS_IMMR				0x01000000
149f3183d2SMingkai Hu #define CONFIG_SYS_FSL_DDR_ADDR			(CONFIG_SYS_IMMR + 0x00080000)
159f3183d2SMingkai Hu #define CONFIG_SYS_FSL_DDR2_ADDR		(CONFIG_SYS_IMMR + 0x00090000)
169f3183d2SMingkai Hu #define CONFIG_SYS_FSL_DDR3_ADDR		0x08210000
179f3183d2SMingkai Hu #define CONFIG_SYS_FSL_GUTS_ADDR		(CONFIG_SYS_IMMR + 0x00E00000)
189f3183d2SMingkai Hu #define CONFIG_SYS_FSL_PMU_ADDR			(CONFIG_SYS_IMMR + 0x00E30000)
199f3183d2SMingkai Hu #define CONFIG_SYS_FSL_RST_ADDR			(CONFIG_SYS_IMMR + 0x00E60000)
209f3183d2SMingkai Hu #define CONFIG_SYS_FSL_CH3_CLK_GRPA_ADDR	(CONFIG_SYS_IMMR + 0x00300000)
219f3183d2SMingkai Hu #define CONFIG_SYS_FSL_CH3_CLK_GRPB_ADDR	(CONFIG_SYS_IMMR + 0x00310000)
229f3183d2SMingkai Hu #define CONFIG_SYS_FSL_CH3_CLK_CTRL_ADDR	(CONFIG_SYS_IMMR + 0x00370000)
23dd2ad2f1SYuan Yao #define SYS_FSL_QSPI_ADDR			(CONFIG_SYS_IMMR + 0x010c0000)
249f3183d2SMingkai Hu #define CONFIG_SYS_FSL_ESDHC_ADDR		(CONFIG_SYS_IMMR + 0x01140000)
259f3183d2SMingkai Hu #define CONFIG_SYS_IFC_ADDR			(CONFIG_SYS_IMMR + 0x01240000)
269f3183d2SMingkai Hu #define CONFIG_SYS_NS16550_COM1			(CONFIG_SYS_IMMR + 0x011C0500)
279f3183d2SMingkai Hu #define CONFIG_SYS_NS16550_COM2			(CONFIG_SYS_IMMR + 0x011C0600)
28f6b96ff6SPriyanka Jain #define SYS_FSL_LS2080A_LS2085A_TIMER_ADDR	0x023d0000
29f6b96ff6SPriyanka Jain #define CONFIG_SYS_FSL_TIMER_ADDR		0x023e0000
309f3183d2SMingkai Hu #define CONFIG_SYS_FSL_PMU_CLTBENR		(CONFIG_SYS_FSL_PMU_ADDR + \
319f3183d2SMingkai Hu 						 0x18A0)
32a758177fSYunhui Cui #define FSL_PMU_PCTBENR_OFFSET (CONFIG_SYS_FSL_PMU_ADDR + 0x8A0)
33f6a70b3aSPriyanka Jain #define FSL_LSCH3_SVR		(CONFIG_SYS_FSL_GUTS_ADDR + 0xA4)
349f3183d2SMingkai Hu 
359f3183d2SMingkai Hu #define CONFIG_SYS_FSL_WRIOP1_ADDR		(CONFIG_SYS_IMMR + 0x7B80000)
369f3183d2SMingkai Hu #define CONFIG_SYS_FSL_WRIOP1_MDIO1	(CONFIG_SYS_FSL_WRIOP1_ADDR + 0x16000)
379f3183d2SMingkai Hu #define CONFIG_SYS_FSL_WRIOP1_MDIO2	(CONFIG_SYS_FSL_WRIOP1_ADDR + 0x17000)
389f3183d2SMingkai Hu #define CONFIG_SYS_FSL_LSCH3_SERDES_ADDR	(CONFIG_SYS_IMMR + 0xEA0000)
399f3183d2SMingkai Hu 
409f3183d2SMingkai Hu #define CONFIG_SYS_FSL_DCSR_DDR_ADDR		0x70012c000ULL
419f3183d2SMingkai Hu #define CONFIG_SYS_FSL_DCSR_DDR2_ADDR		0x70012d000ULL
429f3183d2SMingkai Hu #define CONFIG_SYS_FSL_DCSR_DDR3_ADDR		0x700132000ULL
439f3183d2SMingkai Hu #define CONFIG_SYS_FSL_DCSR_DDR4_ADDR		0x700133000ULL
449f3183d2SMingkai Hu 
459f3183d2SMingkai Hu #define I2C1_BASE_ADDR				(CONFIG_SYS_IMMR + 0x01000000)
469f3183d2SMingkai Hu #define I2C2_BASE_ADDR				(CONFIG_SYS_IMMR + 0x01010000)
479f3183d2SMingkai Hu #define I2C3_BASE_ADDR				(CONFIG_SYS_IMMR + 0x01020000)
489f3183d2SMingkai Hu #define I2C4_BASE_ADDR				(CONFIG_SYS_IMMR + 0x01030000)
49*5193405aSPriyanka Jain #define GPIO4_BASE_ADDR				(CONFIG_SYS_IMMR + 0x01330000)
50*5193405aSPriyanka Jain #define GPIO4_GPDIR_ADDR			(GPIO4_BASE_ADDR + 0x0)
51*5193405aSPriyanka Jain #define GPIO4_GPDAT_ADDR			(GPIO4_BASE_ADDR + 0x8)
529f3183d2SMingkai Hu 
539729dc95SRajesh Bhagat #define CONFIG_SYS_XHCI_USB1_ADDR		(CONFIG_SYS_IMMR + 0x02100000)
549729dc95SRajesh Bhagat #define CONFIG_SYS_XHCI_USB2_ADDR		(CONFIG_SYS_IMMR + 0x02110000)
559f3183d2SMingkai Hu 
569f3183d2SMingkai Hu /* TZ Address Space Controller Definitions */
579f3183d2SMingkai Hu #define TZASC1_BASE			0x01100000	/* as per CCSR map. */
589f3183d2SMingkai Hu #define TZASC2_BASE			0x01110000	/* as per CCSR map. */
599f3183d2SMingkai Hu #define TZASC3_BASE			0x01120000	/* as per CCSR map. */
609f3183d2SMingkai Hu #define TZASC4_BASE			0x01130000	/* as per CCSR map. */
619f3183d2SMingkai Hu #define TZASC_BUILD_CONFIG_REG(x)	((TZASC1_BASE + (x * 0x10000)))
629f3183d2SMingkai Hu #define TZASC_ACTION_REG(x)		((TZASC1_BASE + (x * 0x10000)) + 0x004)
639f3183d2SMingkai Hu #define TZASC_GATE_KEEPER(x)		((TZASC1_BASE + (x * 0x10000)) + 0x008)
649f3183d2SMingkai Hu #define TZASC_REGION_BASE_LOW_0(x)	((TZASC1_BASE + (x * 0x10000)) + 0x100)
659f3183d2SMingkai Hu #define TZASC_REGION_BASE_HIGH_0(x)	((TZASC1_BASE + (x * 0x10000)) + 0x104)
669f3183d2SMingkai Hu #define TZASC_REGION_TOP_LOW_0(x)	((TZASC1_BASE + (x * 0x10000)) + 0x108)
679f3183d2SMingkai Hu #define TZASC_REGION_TOP_HIGH_0(x)	((TZASC1_BASE + (x * 0x10000)) + 0x10C)
689f3183d2SMingkai Hu #define TZASC_REGION_ATTRIBUTES_0(x)	((TZASC1_BASE + (x * 0x10000)) + 0x110)
699f3183d2SMingkai Hu #define TZASC_REGION_ID_ACCESS_0(x)	((TZASC1_BASE + (x * 0x10000)) + 0x114)
709f3183d2SMingkai Hu 
71989c5f0aSTang Yuantian /* SATA */
72989c5f0aSTang Yuantian #define AHCI_BASE_ADDR1				(CONFIG_SYS_IMMR + 0x02200000)
73989c5f0aSTang Yuantian #define AHCI_BASE_ADDR2				(CONFIG_SYS_IMMR + 0x02210000)
74989c5f0aSTang Yuantian 
753808190aSSaksham Jain /* SFP */
763808190aSSaksham Jain #define CONFIG_SYS_SFP_ADDR		(CONFIG_SYS_IMMR + 0x00e80200)
773808190aSSaksham Jain 
782827d647SSaksham Jain /* SEC */
79e99d7193SAlex Porosanu #define CONFIG_SYS_FSL_SEC_OFFSET		0x07000000ull
80e99d7193SAlex Porosanu #define CONFIG_SYS_FSL_JR0_OFFSET		0x07010000ull
81e99d7193SAlex Porosanu #define CONFIG_SYS_FSL_SEC_ADDR \
82e99d7193SAlex Porosanu 	(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_SEC_OFFSET)
83e99d7193SAlex Porosanu #define CONFIG_SYS_FSL_JR0_ADDR \
84e99d7193SAlex Porosanu 	(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_JR0_OFFSET)
852827d647SSaksham Jain 
862827d647SSaksham Jain /* Security Monitor */
872827d647SSaksham Jain #define CONFIG_SYS_SEC_MON_ADDR		(CONFIG_SYS_IMMR + 0x00e90000)
882827d647SSaksham Jain 
894a97a0c9SSaksham Jain /* MMU 500 */
904a97a0c9SSaksham Jain #define SMMU_SCR0			(SMMU_BASE + 0x0)
914a97a0c9SSaksham Jain #define SMMU_SCR1			(SMMU_BASE + 0x4)
924a97a0c9SSaksham Jain #define SMMU_SCR2			(SMMU_BASE + 0x8)
934a97a0c9SSaksham Jain #define SMMU_SACR			(SMMU_BASE + 0x10)
944a97a0c9SSaksham Jain #define SMMU_IDR0			(SMMU_BASE + 0x20)
954a97a0c9SSaksham Jain #define SMMU_IDR1			(SMMU_BASE + 0x24)
964a97a0c9SSaksham Jain 
974a97a0c9SSaksham Jain #define SMMU_NSCR0			(SMMU_BASE + 0x400)
984a97a0c9SSaksham Jain #define SMMU_NSCR2			(SMMU_BASE + 0x408)
994a97a0c9SSaksham Jain #define SMMU_NSACR			(SMMU_BASE + 0x410)
1004a97a0c9SSaksham Jain 
1014a97a0c9SSaksham Jain #define SCR0_CLIENTPD_MASK		0x00000001
1024a97a0c9SSaksham Jain #define SCR0_USFCFG_MASK		0x00000400
1034a97a0c9SSaksham Jain 
1042827d647SSaksham Jain 
1059f3183d2SMingkai Hu /* PCIe */
1069f3183d2SMingkai Hu #define CONFIG_SYS_PCIE1_ADDR			(CONFIG_SYS_IMMR + 0x2400000)
1079f3183d2SMingkai Hu #define CONFIG_SYS_PCIE2_ADDR			(CONFIG_SYS_IMMR + 0x2500000)
1089f3183d2SMingkai Hu #define CONFIG_SYS_PCIE3_ADDR			(CONFIG_SYS_IMMR + 0x2600000)
1099f3183d2SMingkai Hu #define CONFIG_SYS_PCIE4_ADDR			(CONFIG_SYS_IMMR + 0x2700000)
1109f3183d2SMingkai Hu #define CONFIG_SYS_PCIE1_PHYS_ADDR		0x1000000000ULL
1119f3183d2SMingkai Hu #define CONFIG_SYS_PCIE2_PHYS_ADDR		0x1200000000ULL
1129f3183d2SMingkai Hu #define CONFIG_SYS_PCIE3_PHYS_ADDR		0x1400000000ULL
1139f3183d2SMingkai Hu #define CONFIG_SYS_PCIE4_PHYS_ADDR		0x1600000000ULL
1149f3183d2SMingkai Hu 
1159f3183d2SMingkai Hu /* Device Configuration */
1169f3183d2SMingkai Hu #define DCFG_BASE		0x01e00000
1179f3183d2SMingkai Hu #define DCFG_PORSR1			0x000
1189f3183d2SMingkai Hu #define DCFG_PORSR1_RCW_SRC		0xff800000
1199f3183d2SMingkai Hu #define DCFG_PORSR1_RCW_SRC_NOR		0x12f00000
1209f3183d2SMingkai Hu #define DCFG_RCWSR13			0x130
1219f3183d2SMingkai Hu #define DCFG_RCWSR13_DSPI		(0 << 8)
122453418f2SYuan Yao #define DCFG_RCWSR15			0x138
123453418f2SYuan Yao #define DCFG_RCWSR15_IFCGRPABASE_QSPI	0x3
1249f3183d2SMingkai Hu 
1259f3183d2SMingkai Hu #define DCFG_DCSR_BASE		0X700100000ULL
1269f3183d2SMingkai Hu #define DCFG_DCSR_PORCR1		0x000
1279f3183d2SMingkai Hu 
128abc7d0f7SShaohui Xie /* Interrupt Sampling Control */
129abc7d0f7SShaohui Xie #define ISC_BASE		0x01F70000
130abc7d0f7SShaohui Xie #define IRQCR_OFFSET		0x14
131abc7d0f7SShaohui Xie 
1329f3183d2SMingkai Hu /* Supplemental Configuration */
1339f3183d2SMingkai Hu #define SCFG_BASE		0x01fc0000
1349f3183d2SMingkai Hu #define SCFG_USB3PRM1CR			0x000
135ef53b8c4SSriram Dash #define SCFG_USB3PRM1CR_INIT		0x27672b2a
136916d9f09SYuan Yao #define SCFG_QSPICLKCTLR	0x10
1379f3183d2SMingkai Hu 
1389f3183d2SMingkai Hu #define TP_ITYP_AV		0x00000001	/* Initiator available */
1399f3183d2SMingkai Hu #define TP_ITYP_TYPE(x)	(((x) & 0x6) >> 1)	/* Initiator Type */
1409f3183d2SMingkai Hu #define TP_ITYP_TYPE_ARM	0x0
1419f3183d2SMingkai Hu #define TP_ITYP_TYPE_PPC	0x1		/* PowerPC */
1429f3183d2SMingkai Hu #define TP_ITYP_TYPE_OTHER	0x2		/* StarCore DSP */
1439f3183d2SMingkai Hu #define TP_ITYP_TYPE_HA		0x3		/* HW Accelerator */
1449f3183d2SMingkai Hu #define TP_ITYP_THDS(x)	(((x) & 0x18) >> 3)	/* # threads */
1459f3183d2SMingkai Hu #define TP_ITYP_VER(x)	(((x) & 0xe0) >> 5)	/* Initiator Version */
1469f3183d2SMingkai Hu #define TY_ITYP_VER_A7		0x1
1479f3183d2SMingkai Hu #define TY_ITYP_VER_A53		0x2
1489f3183d2SMingkai Hu #define TY_ITYP_VER_A57		0x3
14979119a4dSAlison Wang #define TY_ITYP_VER_A72		0x4
1509f3183d2SMingkai Hu 
1519f3183d2SMingkai Hu #define TP_CLUSTER_EOC		0x80000000	/* end of clusters */
1529f3183d2SMingkai Hu #define TP_CLUSTER_INIT_MASK	0x0000003f	/* initiator mask */
1539f3183d2SMingkai Hu #define TP_INIT_PER_CLUSTER     4
1549f3183d2SMingkai Hu /* This is chassis generation 3 */
155f6a70b3aSPriyanka Jain #ifndef __ASSEMBLY__
1569f3183d2SMingkai Hu struct sys_info {
1579f3183d2SMingkai Hu 	unsigned long freq_processor[CONFIG_MAX_CPUS];
1583564208eSHou Zhiqiang 	/* frequency of platform PLL */
1599f3183d2SMingkai Hu 	unsigned long freq_systembus;
1609f3183d2SMingkai Hu 	unsigned long freq_ddrbus;
16144937214SPrabhakar Kushwaha #ifdef CONFIG_SYS_FSL_HAS_DP_DDR
1629f3183d2SMingkai Hu 	unsigned long freq_ddrbus2;
16344937214SPrabhakar Kushwaha #endif
1649f3183d2SMingkai Hu 	unsigned long freq_localbus;
1659f3183d2SMingkai Hu 	unsigned long freq_qe;
1669f3183d2SMingkai Hu #ifdef CONFIG_SYS_DPAA_FMAN
1679f3183d2SMingkai Hu 	unsigned long freq_fman[CONFIG_SYS_NUM_FMAN];
1689f3183d2SMingkai Hu #endif
1699f3183d2SMingkai Hu #ifdef CONFIG_SYS_DPAA_QBMAN
1709f3183d2SMingkai Hu 	unsigned long freq_qman;
1719f3183d2SMingkai Hu #endif
1729f3183d2SMingkai Hu #ifdef CONFIG_SYS_DPAA_PME
1739f3183d2SMingkai Hu 	unsigned long freq_pme;
1749f3183d2SMingkai Hu #endif
1759f3183d2SMingkai Hu };
1769f3183d2SMingkai Hu 
1779f3183d2SMingkai Hu /* Global Utilities Block */
1789f3183d2SMingkai Hu struct ccsr_gur {
1799f3183d2SMingkai Hu 	u32	porsr1;		/* POR status 1 */
1809f3183d2SMingkai Hu 	u32	porsr2;		/* POR status 2 */
1819f3183d2SMingkai Hu 	u8	res_008[0x20-0x8];
1829f3183d2SMingkai Hu 	u32	gpporcr1;	/* General-purpose POR configuration */
1839f3183d2SMingkai Hu 	u32	gpporcr2;	/* General-purpose POR configuration 2 */
18427f133bbSPriyanka Jain 	u32	gpporcr3;
18527f133bbSPriyanka Jain 	u32	gpporcr4;
18627f133bbSPriyanka Jain 	u8	res_030[0x60-0x30];
18729ca713cSPriyanka Jain #define FSL_CHASSIS3_DCFG_FUSESR_VID_SHIFT	2
188ed2530d0SRai Harninder #define FSL_CHASSIS3_DCFG_FUSESR_VID_MASK	0x1F
18929ca713cSPriyanka Jain #define FSL_CHASSIS3_DCFG_FUSESR_ALTVID_SHIFT	7
190ed2530d0SRai Harninder #define FSL_CHASSIS3_DCFG_FUSESR_ALTVID_MASK	0x1F
1919f3183d2SMingkai Hu 	u32	dcfg_fusesr;	/* Fuse status register */
19227f133bbSPriyanka Jain 	u8	res_064[0x70-0x64];
19327f133bbSPriyanka Jain 	u32	devdisr;	/* Device disable control 1 */
1949f3183d2SMingkai Hu 	u32	devdisr2;	/* Device disable control 2 */
1959f3183d2SMingkai Hu 	u32	devdisr3;	/* Device disable control 3 */
1969f3183d2SMingkai Hu 	u32	devdisr4;	/* Device disable control 4 */
1979f3183d2SMingkai Hu 	u32	devdisr5;	/* Device disable control 5 */
1989f3183d2SMingkai Hu 	u32	devdisr6;	/* Device disable control 6 */
19927f133bbSPriyanka Jain 	u8	res_088[0x94-0x88];
20027f133bbSPriyanka Jain 	u32	coredisr;	/* Device disable control 7 */
2019f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC1	0x00000001
2029f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC2	0x00000002
2039f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC3	0x00000004
2049f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC4	0x00000008
2059f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC5	0x00000010
2069f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC6	0x00000020
2079f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC7	0x00000040
2089f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC8	0x00000080
2099f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC9	0x00000100
2109f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC10	0x00000200
2119f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC11	0x00000400
2129f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC12	0x00000800
2139f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC13	0x00001000
2149f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC14	0x00002000
2159f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC15	0x00004000
2169f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC16	0x00008000
2179f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC17	0x00010000
2189f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC18	0x00020000
2199f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC19	0x00040000
2209f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC20	0x00080000
2219f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC21	0x00100000
2229f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC22	0x00200000
2239f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC23	0x00400000
2249f3183d2SMingkai Hu #define FSL_CHASSIS3_DEVDISR2_DPMAC24	0x00800000
2259f3183d2SMingkai Hu 	u8	res_098[0xa0-0x98];
2269f3183d2SMingkai Hu 	u32	pvr;		/* Processor version */
2279f3183d2SMingkai Hu 	u32	svr;		/* System version */
22827f133bbSPriyanka Jain 	u8	res_0a8[0x100-0xa8];
22927f133bbSPriyanka Jain 	u32	rcwsr[30];	/* Reset control word status */
2309f3183d2SMingkai Hu 
2319f3183d2SMingkai Hu #define FSL_CHASSIS3_RCWSR0_SYS_PLL_RAT_SHIFT	2
2329f3183d2SMingkai Hu #define FSL_CHASSIS3_RCWSR0_SYS_PLL_RAT_MASK	0x1f
2339f3183d2SMingkai Hu #define FSL_CHASSIS3_RCWSR0_MEM_PLL_RAT_SHIFT	10
2349f3183d2SMingkai Hu #define FSL_CHASSIS3_RCWSR0_MEM_PLL_RAT_MASK	0x3f
2359f3183d2SMingkai Hu #define FSL_CHASSIS3_RCWSR0_MEM2_PLL_RAT_SHIFT	18
2369f3183d2SMingkai Hu #define FSL_CHASSIS3_RCWSR0_MEM2_PLL_RAT_MASK	0x3f
2377b45b383SPrabhakar Kushwaha 
2387b45b383SPrabhakar Kushwaha #if defined(CONFIG_ARCH_LS2080A)
2399f3183d2SMingkai Hu #define	FSL_CHASSIS3_RCWSR28_SRDS1_PRTCL_MASK	0x00FF0000
2409f3183d2SMingkai Hu #define	FSL_CHASSIS3_RCWSR28_SRDS1_PRTCL_SHIFT	16
2419f3183d2SMingkai Hu #define	FSL_CHASSIS3_RCWSR28_SRDS2_PRTCL_MASK	0xFF000000
2429f3183d2SMingkai Hu #define	FSL_CHASSIS3_RCWSR28_SRDS2_PRTCL_SHIFT	24
2437b45b383SPrabhakar Kushwaha #define FSL_CHASSIS3_SRDS1_PRTCL_MASK	FSL_CHASSIS3_RCWSR28_SRDS1_PRTCL_MASK
2447b45b383SPrabhakar Kushwaha #define FSL_CHASSIS3_SRDS1_PRTCL_SHIFT	FSL_CHASSIS3_RCWSR28_SRDS1_PRTCL_SHIFT
2457b45b383SPrabhakar Kushwaha #define FSL_CHASSIS3_SRDS2_PRTCL_MASK	FSL_CHASSIS3_RCWSR28_SRDS2_PRTCL_MASK
2467b45b383SPrabhakar Kushwaha #define FSL_CHASSIS3_SRDS2_PRTCL_SHIFT	FSL_CHASSIS3_RCWSR28_SRDS2_PRTCL_SHIFT
2477b45b383SPrabhakar Kushwaha #define FSL_CHASSIS3_SRDS1_REGSR	29
2487b45b383SPrabhakar Kushwaha #define FSL_CHASSIS3_SRDS2_REGSR	29
2497b45b383SPrabhakar Kushwaha #endif
2502827d647SSaksham Jain #define RCW_SB_EN_REG_INDEX	9
2512827d647SSaksham Jain #define RCW_SB_EN_MASK		0x00000400
2529f3183d2SMingkai Hu 
25327f133bbSPriyanka Jain 	u8	res_178[0x200-0x178];
25427f133bbSPriyanka Jain 	u32	scratchrw[16];	/* Scratch Read/Write */
25527f133bbSPriyanka Jain 	u8	res_240[0x300-0x240];
2569f3183d2SMingkai Hu 	u32	scratchw1r[4];	/* Scratch Read (Write once) */
2579f3183d2SMingkai Hu 	u8	res_310[0x400-0x310];
2589f3183d2SMingkai Hu 	u32	bootlocptrl;	/* Boot location pointer low-order addr */
2599f3183d2SMingkai Hu 	u32	bootlocptrh;	/* Boot location pointer high-order addr */
26027f133bbSPriyanka Jain 	u8	res_408[0x520-0x408];
26127f133bbSPriyanka Jain 	u32	usb1_amqr;
26227f133bbSPriyanka Jain 	u32	usb2_amqr;
26327f133bbSPriyanka Jain 	u8	res_528[0x530-0x528];	/* add more registers when needed */
26427f133bbSPriyanka Jain 	u32	sdmm1_amqr;
26527f133bbSPriyanka Jain 	u8	res_534[0x550-0x534];	/* add more registers when needed */
26627f133bbSPriyanka Jain 	u32	sata1_amqr;
26727f133bbSPriyanka Jain 	u32	sata2_amqr;
26827f133bbSPriyanka Jain 	u8	res_558[0x570-0x558];	/* add more registers when needed */
26927f133bbSPriyanka Jain 	u32	misc1_amqr;
27027f133bbSPriyanka Jain 	u8	res_574[0x590-0x574];	/* add more registers when needed */
27127f133bbSPriyanka Jain 	u32	spare1_amqr;
27227f133bbSPriyanka Jain 	u32	spare2_amqr;
27327f133bbSPriyanka Jain 	u8	res_598[0x620-0x598];	/* add more registers when needed */
27427f133bbSPriyanka Jain 	u32	gencr[7];	/* General Control Registers */
27527f133bbSPriyanka Jain 	u8	res_63c[0x640-0x63c];	/* add more registers when needed */
27627f133bbSPriyanka Jain 	u32	cgensr1;	/* Core General Status Register */
27727f133bbSPriyanka Jain 	u8	res_644[0x660-0x644];	/* add more registers when needed */
27827f133bbSPriyanka Jain 	u32	cgencr1;	/* Core General Control Register */
27927f133bbSPriyanka Jain 	u8	res_664[0x740-0x664];	/* add more registers when needed */
2809f3183d2SMingkai Hu 	u32	tp_ityp[64];	/* Topology Initiator Type Register */
2819f3183d2SMingkai Hu 	struct {
2829f3183d2SMingkai Hu 		u32	upper;
2839f3183d2SMingkai Hu 		u32	lower;
28427f133bbSPriyanka Jain 	} tp_cluster[4];	/* Core cluster n Topology Register */
28527f133bbSPriyanka Jain 	u8	res_864[0x920-0x864];	/* add more registers when needed */
28627f133bbSPriyanka Jain 	u32 ioqoscr[8];	/*I/O Quality of Services Register */
28727f133bbSPriyanka Jain 	u32 uccr;
28827f133bbSPriyanka Jain 	u8	res_944[0x960-0x944];	/* add more registers when needed */
28927f133bbSPriyanka Jain 	u32 ftmcr;
29027f133bbSPriyanka Jain 	u8	res_964[0x990-0x964];	/* add more registers when needed */
29127f133bbSPriyanka Jain 	u32 coredisablesr;
29227f133bbSPriyanka Jain 	u8	res_994[0xa00-0x994];	/* add more registers when needed */
29327f133bbSPriyanka Jain 	u32 sdbgcr; /*Secure Debug Confifuration Register */
29427f133bbSPriyanka Jain 	u8	res_a04[0xbf8-0xa04];	/* add more registers when needed */
29527f133bbSPriyanka Jain 	u32 ipbrr1;
29627f133bbSPriyanka Jain 	u32 ipbrr2;
29727f133bbSPriyanka Jain 	u8	res_858[0x1000-0xc00];
2989f3183d2SMingkai Hu };
2999f3183d2SMingkai Hu 
3009f3183d2SMingkai Hu struct ccsr_clk_cluster_group {
3019f3183d2SMingkai Hu 	struct {
3029f3183d2SMingkai Hu 		u8	res_00[0x10];
3039f3183d2SMingkai Hu 		u32	csr;
3049f3183d2SMingkai Hu 		u8	res_14[0x20-0x14];
3059f3183d2SMingkai Hu 	} hwncsr[3];
3069f3183d2SMingkai Hu 	u8	res_60[0x80-0x60];
3079f3183d2SMingkai Hu 	struct {
3089f3183d2SMingkai Hu 		u32	gsr;
3099f3183d2SMingkai Hu 		u8	res_84[0xa0-0x84];
3109f3183d2SMingkai Hu 	} pllngsr[3];
3119f3183d2SMingkai Hu 	u8	res_e0[0x100-0xe0];
3129f3183d2SMingkai Hu };
3139f3183d2SMingkai Hu 
3149f3183d2SMingkai Hu struct ccsr_clk_ctrl {
3159f3183d2SMingkai Hu 	struct {
3169f3183d2SMingkai Hu 		u32 csr;	/* core cluster n clock control status */
3179f3183d2SMingkai Hu 		u8  res_04[0x20-0x04];
3189f3183d2SMingkai Hu 	} clkcncsr[8];
3199f3183d2SMingkai Hu };
3209f3183d2SMingkai Hu 
3219f3183d2SMingkai Hu struct ccsr_reset {
3229f3183d2SMingkai Hu 	u32 rstcr;			/* 0x000 */
3239f3183d2SMingkai Hu 	u32 rstcrsp;			/* 0x004 */
3249f3183d2SMingkai Hu 	u8 res_008[0x10-0x08];		/* 0x008 */
3259f3183d2SMingkai Hu 	u32 rstrqmr1;			/* 0x010 */
3269f3183d2SMingkai Hu 	u32 rstrqmr2;			/* 0x014 */
3279f3183d2SMingkai Hu 	u32 rstrqsr1;			/* 0x018 */
3289f3183d2SMingkai Hu 	u32 rstrqsr2;			/* 0x01c */
3299f3183d2SMingkai Hu 	u32 rstrqwdtmrl;		/* 0x020 */
3309f3183d2SMingkai Hu 	u32 rstrqwdtmru;		/* 0x024 */
3319f3183d2SMingkai Hu 	u8 res_028[0x30-0x28];		/* 0x028 */
3329f3183d2SMingkai Hu 	u32 rstrqwdtsrl;		/* 0x030 */
3339f3183d2SMingkai Hu 	u32 rstrqwdtsru;		/* 0x034 */
3349f3183d2SMingkai Hu 	u8 res_038[0x60-0x38];		/* 0x038 */
3359f3183d2SMingkai Hu 	u32 brrl;			/* 0x060 */
3369f3183d2SMingkai Hu 	u32 brru;			/* 0x064 */
3379f3183d2SMingkai Hu 	u8 res_068[0x80-0x68];		/* 0x068 */
3389f3183d2SMingkai Hu 	u32 pirset;			/* 0x080 */
3399f3183d2SMingkai Hu 	u32 pirclr;			/* 0x084 */
3409f3183d2SMingkai Hu 	u8 res_088[0x90-0x88];		/* 0x088 */
3419f3183d2SMingkai Hu 	u32 brcorenbr;			/* 0x090 */
3429f3183d2SMingkai Hu 	u8 res_094[0x100-0x94];		/* 0x094 */
3439f3183d2SMingkai Hu 	u32 rcw_reqr;			/* 0x100 */
3449f3183d2SMingkai Hu 	u32 rcw_completion;		/* 0x104 */
3459f3183d2SMingkai Hu 	u8 res_108[0x110-0x108];	/* 0x108 */
3469f3183d2SMingkai Hu 	u32 pbi_reqr;			/* 0x110 */
3479f3183d2SMingkai Hu 	u32 pbi_completion;		/* 0x114 */
3489f3183d2SMingkai Hu 	u8 res_118[0xa00-0x118];	/* 0x118 */
3499f3183d2SMingkai Hu 	u32 qmbm_warmrst;		/* 0xa00 */
3509f3183d2SMingkai Hu 	u32 soc_warmrst;		/* 0xa04 */
3519f3183d2SMingkai Hu 	u8 res_a08[0xbf8-0xa08];	/* 0xa08 */
3529f3183d2SMingkai Hu 	u32 ip_rev1;			/* 0xbf8 */
3539f3183d2SMingkai Hu 	u32 ip_rev2;			/* 0xbfc */
3549f3183d2SMingkai Hu };
3556fb522dcSSriram Dash 
356f6a70b3aSPriyanka Jain #endif /*__ASSEMBLY__*/
3579f3183d2SMingkai Hu #endif /* __ARCH_FSL_LSCH3_IMMAP_H_ */
358