xref: /arm-trusted-firmware/plat/xilinx/zynqmp/include/zynqmp_def.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2014-2020, Arm Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #ifndef ZYNQMP_DEF_H
8*91f16700Schasinglulu #define ZYNQMP_DEF_H
9*91f16700Schasinglulu 
10*91f16700Schasinglulu #include <plat/arm/common/smccc_def.h>
11*91f16700Schasinglulu #include <plat/common/common_def.h>
12*91f16700Schasinglulu 
13*91f16700Schasinglulu #define ZYNQMP_CONSOLE_ID_cadence	1
14*91f16700Schasinglulu #define ZYNQMP_CONSOLE_ID_cadence0	1
15*91f16700Schasinglulu #define ZYNQMP_CONSOLE_ID_cadence1	2
16*91f16700Schasinglulu #define ZYNQMP_CONSOLE_ID_dcc		3
17*91f16700Schasinglulu 
18*91f16700Schasinglulu #define CONSOLE_IS(con)	(ZYNQMP_CONSOLE_ID_ ## con == ZYNQMP_CONSOLE)
19*91f16700Schasinglulu 
20*91f16700Schasinglulu /* Default counter frequency */
21*91f16700Schasinglulu #define ZYNQMP_DEFAULT_COUNTER_FREQ	0U
22*91f16700Schasinglulu 
23*91f16700Schasinglulu /* Firmware Image Package */
24*91f16700Schasinglulu #define ZYNQMP_PRIMARY_CPU		0
25*91f16700Schasinglulu 
26*91f16700Schasinglulu /* Memory location options for Shared data and TSP in ZYNQMP */
27*91f16700Schasinglulu #define ZYNQMP_IN_TRUSTED_SRAM		0
28*91f16700Schasinglulu #define ZYNQMP_IN_TRUSTED_DRAM		1
29*91f16700Schasinglulu 
30*91f16700Schasinglulu /*******************************************************************************
31*91f16700Schasinglulu  * ZYNQMP memory map related constants
32*91f16700Schasinglulu  ******************************************************************************/
33*91f16700Schasinglulu /* Aggregate of all devices in the first GB */
34*91f16700Schasinglulu #define DEVICE0_BASE		U(0xFF000000)
35*91f16700Schasinglulu #define DEVICE0_SIZE		U(0x00E00000)
36*91f16700Schasinglulu #define DEVICE1_BASE		U(0xF9000000)
37*91f16700Schasinglulu #define DEVICE1_SIZE		U(0x00800000)
38*91f16700Schasinglulu 
39*91f16700Schasinglulu /* For cpu reset APU space here too 0xFE5F1000 CRF_APB*/
40*91f16700Schasinglulu #define CRF_APB_BASE		U(0xFD1A0000)
41*91f16700Schasinglulu #define CRF_APB_SIZE		U(0x00600000)
42*91f16700Schasinglulu #define CRF_APB_CLK_BASE	U(0xFD1A0020)
43*91f16700Schasinglulu 
44*91f16700Schasinglulu /* CRF registers and bitfields */
45*91f16700Schasinglulu #define CRF_APB_RST_FPD_APU	(CRF_APB_BASE + 0X00000104)
46*91f16700Schasinglulu 
47*91f16700Schasinglulu #define CRF_APB_RST_FPD_APU_ACPU_RESET		(U(1) << 0)
48*91f16700Schasinglulu #define CRF_APB_RST_FPD_APU_ACPU_PWRON_RESET	(U(1) << 10)
49*91f16700Schasinglulu 
50*91f16700Schasinglulu /* CRL registers and bitfields */
51*91f16700Schasinglulu #define CRL_APB_BASE			U(0xFF5E0000)
52*91f16700Schasinglulu #define CRL_APB_BOOT_MODE_USER		(CRL_APB_BASE + 0x200)
53*91f16700Schasinglulu #define CRL_APB_RESET_CTRL		(CRL_APB_BASE + 0x218)
54*91f16700Schasinglulu #define CRL_APB_RST_LPD_TOP		(CRL_APB_BASE + 0x23C)
55*91f16700Schasinglulu #define CRL_APB_BOOT_PIN_CTRL		(CRL_APB_BASE + U(0x250))
56*91f16700Schasinglulu #define CRL_APB_CLK_BASE		U(0xFF5E0020)
57*91f16700Schasinglulu 
58*91f16700Schasinglulu #define CRL_APB_RPU_AMBA_RESET		(U(1) << 2)
59*91f16700Schasinglulu #define CRL_APB_RPLL_CTRL_BYPASS	(U(1) << 3)
60*91f16700Schasinglulu 
61*91f16700Schasinglulu #define CRL_APB_RESET_CTRL_SOFT_RESET	(U(1) << 4)
62*91f16700Schasinglulu 
63*91f16700Schasinglulu #define CRL_APB_BOOT_MODE_MASK		(U(0xf) << 0)
64*91f16700Schasinglulu #define CRL_APB_BOOT_PIN_MASK		(U(0xf0f) << 0)
65*91f16700Schasinglulu #define CRL_APB_BOOT_DRIVE_PIN_1_SHIFT	U(9)
66*91f16700Schasinglulu #define CRL_APB_BOOT_ENABLE_PIN_1_SHIFT	U(1)
67*91f16700Schasinglulu #define CRL_APB_BOOT_ENABLE_PIN_1	(U(0x1) << \
68*91f16700Schasinglulu 					CRL_APB_BOOT_ENABLE_PIN_1_SHIFT)
69*91f16700Schasinglulu #define CRL_APB_BOOT_DRIVE_PIN_1	(U(0x1) << \
70*91f16700Schasinglulu 					CRL_APB_BOOT_DRIVE_PIN_1_SHIFT)
71*91f16700Schasinglulu #define ZYNQMP_BOOTMODE_JTAG		U(0)
72*91f16700Schasinglulu #define ZYNQMP_ULPI_RESET_VAL_HIGH	(CRL_APB_BOOT_ENABLE_PIN_1 | \
73*91f16700Schasinglulu 					 CRL_APB_BOOT_DRIVE_PIN_1)
74*91f16700Schasinglulu #define ZYNQMP_ULPI_RESET_VAL_LOW	CRL_APB_BOOT_ENABLE_PIN_1
75*91f16700Schasinglulu 
76*91f16700Schasinglulu /* system counter registers and bitfields */
77*91f16700Schasinglulu #define IOU_SCNTRS_BASE			U(0xFF260000)
78*91f16700Schasinglulu #define IOU_SCNTRS_BASEFREQ		(IOU_SCNTRS_BASE + 0x20)
79*91f16700Schasinglulu 
80*91f16700Schasinglulu /* APU registers and bitfields */
81*91f16700Schasinglulu #define APU_BASE		U(0xFD5C0000)
82*91f16700Schasinglulu #define APU_CONFIG_0		(APU_BASE + 0x20)
83*91f16700Schasinglulu #define APU_RVBAR_L_0		(APU_BASE + 0x40)
84*91f16700Schasinglulu #define APU_RVBAR_H_0		(APU_BASE + 0x44)
85*91f16700Schasinglulu #define APU_PWRCTL		(APU_BASE + 0x90)
86*91f16700Schasinglulu 
87*91f16700Schasinglulu #define APU_CONFIG_0_VINITHI_SHIFT	8
88*91f16700Schasinglulu #define APU_0_PWRCTL_CPUPWRDWNREQ_MASK		1
89*91f16700Schasinglulu #define APU_1_PWRCTL_CPUPWRDWNREQ_MASK		2
90*91f16700Schasinglulu #define APU_2_PWRCTL_CPUPWRDWNREQ_MASK		4
91*91f16700Schasinglulu #define APU_3_PWRCTL_CPUPWRDWNREQ_MASK		8
92*91f16700Schasinglulu 
93*91f16700Schasinglulu /* PMU registers and bitfields */
94*91f16700Schasinglulu #define PMU_GLOBAL_BASE			U(0xFFD80000)
95*91f16700Schasinglulu #define PMU_GLOBAL_CNTRL		(PMU_GLOBAL_BASE + 0)
96*91f16700Schasinglulu #define PMU_GLOBAL_GEN_STORAGE6		(PMU_GLOBAL_BASE + 0x48)
97*91f16700Schasinglulu #define PMU_GLOBAL_REQ_PWRUP_STATUS	(PMU_GLOBAL_BASE + 0x110)
98*91f16700Schasinglulu #define PMU_GLOBAL_REQ_PWRUP_EN		(PMU_GLOBAL_BASE + 0x118)
99*91f16700Schasinglulu #define PMU_GLOBAL_REQ_PWRUP_DIS	(PMU_GLOBAL_BASE + 0x11c)
100*91f16700Schasinglulu #define PMU_GLOBAL_REQ_PWRUP_TRIG	(PMU_GLOBAL_BASE + 0x120)
101*91f16700Schasinglulu 
102*91f16700Schasinglulu #define PMU_GLOBAL_CNTRL_FW_IS_PRESENT	(1 << 4)
103*91f16700Schasinglulu 
104*91f16700Schasinglulu /*******************************************************************************
105*91f16700Schasinglulu  * CCI-400 related constants
106*91f16700Schasinglulu  ******************************************************************************/
107*91f16700Schasinglulu #define PLAT_ARM_CCI_BASE		U(0xFD6E0000)
108*91f16700Schasinglulu #define PLAT_ARM_CCI_CLUSTER0_SL_IFACE_IX	3
109*91f16700Schasinglulu #define PLAT_ARM_CCI_CLUSTER1_SL_IFACE_IX	4
110*91f16700Schasinglulu 
111*91f16700Schasinglulu /*******************************************************************************
112*91f16700Schasinglulu  * GIC-400 & interrupt handling related constants
113*91f16700Schasinglulu  ******************************************************************************/
114*91f16700Schasinglulu #define BASE_GICD_BASE		U(0xF9010000)
115*91f16700Schasinglulu #define BASE_GICC_BASE		U(0xF9020000)
116*91f16700Schasinglulu #define BASE_GICH_BASE		U(0xF9040000)
117*91f16700Schasinglulu #define BASE_GICV_BASE		U(0xF9060000)
118*91f16700Schasinglulu 
119*91f16700Schasinglulu #if ZYNQMP_WDT_RESTART
120*91f16700Schasinglulu #define IRQ_SEC_IPI_APU		67
121*91f16700Schasinglulu #define IRQ_TTC3_1		77
122*91f16700Schasinglulu #define TTC3_BASE_ADDR		U(0xFF140000)
123*91f16700Schasinglulu #define TTC3_INTR_REGISTER_1	(TTC3_BASE_ADDR + 0x54)
124*91f16700Schasinglulu #define TTC3_INTR_ENABLE_1	(TTC3_BASE_ADDR + 0x60)
125*91f16700Schasinglulu #endif
126*91f16700Schasinglulu 
127*91f16700Schasinglulu #define ARM_IRQ_SEC_PHY_TIMER		29
128*91f16700Schasinglulu 
129*91f16700Schasinglulu #define ARM_IRQ_SEC_SGI_0		8
130*91f16700Schasinglulu #define ARM_IRQ_SEC_SGI_1		9
131*91f16700Schasinglulu #define ARM_IRQ_SEC_SGI_2		10
132*91f16700Schasinglulu #define ARM_IRQ_SEC_SGI_3		11
133*91f16700Schasinglulu #define ARM_IRQ_SEC_SGI_4		12
134*91f16700Schasinglulu #define ARM_IRQ_SEC_SGI_5		13
135*91f16700Schasinglulu #define ARM_IRQ_SEC_SGI_6		14
136*91f16700Schasinglulu #define ARM_IRQ_SEC_SGI_7		15
137*91f16700Schasinglulu 
138*91f16700Schasinglulu /* number of interrupt handlers. increase as required */
139*91f16700Schasinglulu #define MAX_INTR_EL3			2
140*91f16700Schasinglulu 
141*91f16700Schasinglulu /*******************************************************************************
142*91f16700Schasinglulu  * UART related constants
143*91f16700Schasinglulu  ******************************************************************************/
144*91f16700Schasinglulu #define ZYNQMP_UART0_BASE		U(0xFF000000)
145*91f16700Schasinglulu #define ZYNQMP_UART1_BASE		U(0xFF010000)
146*91f16700Schasinglulu 
147*91f16700Schasinglulu #if CONSOLE_IS(cadence) || CONSOLE_IS(dcc)
148*91f16700Schasinglulu # define UART_BASE	ZYNQMP_UART0_BASE
149*91f16700Schasinglulu #elif CONSOLE_IS(cadence1)
150*91f16700Schasinglulu # define UART_BASE	ZYNQMP_UART1_BASE
151*91f16700Schasinglulu #else
152*91f16700Schasinglulu # error "invalid ZYNQMP_CONSOLE"
153*91f16700Schasinglulu #endif
154*91f16700Schasinglulu 
155*91f16700Schasinglulu /* Must be non zero */
156*91f16700Schasinglulu #define UART_BAUDRATE		115200
157*91f16700Schasinglulu 
158*91f16700Schasinglulu /* Silicon version detection */
159*91f16700Schasinglulu #define ZYNQMP_SILICON_VER_MASK		0xF000
160*91f16700Schasinglulu #define ZYNQMP_SILICON_VER_SHIFT	12
161*91f16700Schasinglulu #define ZYNQMP_CSU_VERSION_SILICON	0
162*91f16700Schasinglulu #define ZYNQMP_CSU_VERSION_QEMU		3
163*91f16700Schasinglulu 
164*91f16700Schasinglulu #define ZYNQMP_RTL_VER_MASK		0xFF0U
165*91f16700Schasinglulu #define ZYNQMP_RTL_VER_SHIFT		4
166*91f16700Schasinglulu 
167*91f16700Schasinglulu #define ZYNQMP_PS_VER_MASK		0xFU
168*91f16700Schasinglulu #define ZYNQMP_PS_VER_SHIFT		0
169*91f16700Schasinglulu 
170*91f16700Schasinglulu #define ZYNQMP_CSU_BASEADDR		U(0xFFCA0000)
171*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_OFFSET	0x40U
172*91f16700Schasinglulu 
173*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_XILINX_ID_SHIFT	0U
174*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_XILINX_ID_MASK	(0xFFFU << \
175*91f16700Schasinglulu 					ZYNQMP_CSU_IDCODE_XILINX_ID_SHIFT)
176*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_XILINX_ID		0x093
177*91f16700Schasinglulu 
178*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_SVD_SHIFT		12U
179*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_SVD_MASK		(0x7U << \
180*91f16700Schasinglulu 						 ZYNQMP_CSU_IDCODE_SVD_SHIFT)
181*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_DEVICE_CODE_SHIFT	15U
182*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_DEVICE_CODE_MASK	(0xFU << \
183*91f16700Schasinglulu 					ZYNQMP_CSU_IDCODE_DEVICE_CODE_SHIFT)
184*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_SUB_FAMILY_SHIFT	19U
185*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_SUB_FAMILY_MASK	(0x3U << \
186*91f16700Schasinglulu 					ZYNQMP_CSU_IDCODE_SUB_FAMILY_SHIFT)
187*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_FAMILY_SHIFT		21U
188*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_FAMILY_MASK		(0x7FU << \
189*91f16700Schasinglulu 					ZYNQMP_CSU_IDCODE_FAMILY_SHIFT)
190*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_FAMILY		0x23
191*91f16700Schasinglulu 
192*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_REVISION_SHIFT	28U
193*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_REVISION_MASK		(0xFU << \
194*91f16700Schasinglulu 					ZYNQMP_CSU_IDCODE_REVISION_SHIFT)
195*91f16700Schasinglulu #define ZYNQMP_CSU_IDCODE_REVISION		0U
196*91f16700Schasinglulu 
197*91f16700Schasinglulu #define ZYNQMP_CSU_VERSION_OFFSET	0x44U
198*91f16700Schasinglulu 
199*91f16700Schasinglulu /* Efuse */
200*91f16700Schasinglulu #define EFUSE_BASEADDR		U(0xFFCC0000)
201*91f16700Schasinglulu #define EFUSE_IPDISABLE_OFFSET	0x1018
202*91f16700Schasinglulu #define EFUSE_IPDISABLE_VERSION	0x1FFU
203*91f16700Schasinglulu #define ZYNQMP_EFUSE_IPDISABLE_SHIFT	20
204*91f16700Schasinglulu 
205*91f16700Schasinglulu /* Access control register defines */
206*91f16700Schasinglulu #define ACTLR_EL3_L2ACTLR_BIT	(1 << 6)
207*91f16700Schasinglulu #define ACTLR_EL3_CPUACTLR_BIT	(1 << 0)
208*91f16700Schasinglulu 
209*91f16700Schasinglulu #define FPD_SLCR_BASEADDR		U(0xFD610000)
210*91f16700Schasinglulu #define IOU_SLCR_BASEADDR		U(0xFF180000)
211*91f16700Schasinglulu 
212*91f16700Schasinglulu #define ZYNQMP_RPU_GLBL_CNTL			U(0xFF9A0000)
213*91f16700Schasinglulu #define ZYNQMP_RPU0_CFG				U(0xFF9A0100)
214*91f16700Schasinglulu #define ZYNQMP_RPU1_CFG				U(0xFF9A0200)
215*91f16700Schasinglulu #define ZYNQMP_SLSPLIT_MASK			U(0x08)
216*91f16700Schasinglulu #define ZYNQMP_TCM_COMB_MASK			U(0x40)
217*91f16700Schasinglulu #define ZYNQMP_SLCLAMP_MASK			U(0x10)
218*91f16700Schasinglulu #define ZYNQMP_VINITHI_MASK			U(0x04)
219*91f16700Schasinglulu 
220*91f16700Schasinglulu /* Tap delay bypass */
221*91f16700Schasinglulu #define IOU_TAPDLY_BYPASS			U(0XFF180390)
222*91f16700Schasinglulu #define TAP_DELAY_MASK				U(0x7)
223*91f16700Schasinglulu 
224*91f16700Schasinglulu /* SD DLL reset */
225*91f16700Schasinglulu #define ZYNQMP_SD_DLL_CTRL			U(0xFF180358)
226*91f16700Schasinglulu #define ZYNQMP_SD0_DLL_RST_MASK			U(0x00000004)
227*91f16700Schasinglulu #define ZYNQMP_SD0_DLL_RST			U(0x00000004)
228*91f16700Schasinglulu #define ZYNQMP_SD1_DLL_RST_MASK			U(0x00040000)
229*91f16700Schasinglulu #define ZYNQMP_SD1_DLL_RST			U(0x00040000)
230*91f16700Schasinglulu 
231*91f16700Schasinglulu /* SD tap delay */
232*91f16700Schasinglulu #define ZYNQMP_SD_DLL_CTRL			U(0xFF180358)
233*91f16700Schasinglulu #define ZYNQMP_SD_ITAP_DLY			U(0xFF180314)
234*91f16700Schasinglulu #define ZYNQMP_SD_OTAP_DLY			U(0xFF180318)
235*91f16700Schasinglulu #define ZYNQMP_SD_TAP_OFFSET			U(16)
236*91f16700Schasinglulu #define ZYNQMP_SD_ITAPCHGWIN_MASK		U(0x200)
237*91f16700Schasinglulu #define ZYNQMP_SD_ITAPCHGWIN			U(0x200)
238*91f16700Schasinglulu #define ZYNQMP_SD_ITAPDLYENA_MASK		U(0x100)
239*91f16700Schasinglulu #define ZYNQMP_SD_ITAPDLYENA			U(0x100)
240*91f16700Schasinglulu #define ZYNQMP_SD_ITAPDLYSEL_MASK		U(0xFF)
241*91f16700Schasinglulu #define ZYNQMP_SD_OTAPDLYSEL_MASK		U(0x3F)
242*91f16700Schasinglulu #define ZYNQMP_SD_OTAPDLYENA_MASK		U(0x40)
243*91f16700Schasinglulu #define ZYNQMP_SD_OTAPDLYENA			U(0x40)
244*91f16700Schasinglulu 
245*91f16700Schasinglulu /* Clock control registers */
246*91f16700Schasinglulu /* Full power domain clocks */
247*91f16700Schasinglulu #define CRF_APB_APLL_CTRL		(CRF_APB_CLK_BASE + 0x00)
248*91f16700Schasinglulu #define CRF_APB_DPLL_CTRL		(CRF_APB_CLK_BASE + 0x0c)
249*91f16700Schasinglulu #define CRF_APB_VPLL_CTRL		(CRF_APB_CLK_BASE + 0x18)
250*91f16700Schasinglulu #define CRF_APB_PLL_STATUS		(CRF_APB_CLK_BASE + 0x24)
251*91f16700Schasinglulu #define CRF_APB_APLL_TO_LPD_CTRL	(CRF_APB_CLK_BASE + 0x28)
252*91f16700Schasinglulu #define CRF_APB_DPLL_TO_LPD_CTRL	(CRF_APB_CLK_BASE + 0x2c)
253*91f16700Schasinglulu #define CRF_APB_VPLL_TO_LPD_CTRL	(CRF_APB_CLK_BASE + 0x30)
254*91f16700Schasinglulu /* Peripheral clocks */
255*91f16700Schasinglulu #define CRF_APB_ACPU_CTRL		(CRF_APB_CLK_BASE + 0x40)
256*91f16700Schasinglulu #define CRF_APB_DBG_TRACE_CTRL		(CRF_APB_CLK_BASE + 0x44)
257*91f16700Schasinglulu #define CRF_APB_DBG_FPD_CTRL		(CRF_APB_CLK_BASE + 0x48)
258*91f16700Schasinglulu #define CRF_APB_DP_VIDEO_REF_CTRL	(CRF_APB_CLK_BASE + 0x50)
259*91f16700Schasinglulu #define CRF_APB_DP_AUDIO_REF_CTRL	(CRF_APB_CLK_BASE + 0x54)
260*91f16700Schasinglulu #define CRF_APB_DP_STC_REF_CTRL		(CRF_APB_CLK_BASE + 0x5c)
261*91f16700Schasinglulu #define CRF_APB_DDR_CTRL		(CRF_APB_CLK_BASE + 0x60)
262*91f16700Schasinglulu #define CRF_APB_GPU_REF_CTRL		(CRF_APB_CLK_BASE + 0x64)
263*91f16700Schasinglulu #define CRF_APB_SATA_REF_CTRL		(CRF_APB_CLK_BASE + 0x80)
264*91f16700Schasinglulu #define CRF_APB_PCIE_REF_CTRL		(CRF_APB_CLK_BASE + 0x94)
265*91f16700Schasinglulu #define CRF_APB_GDMA_REF_CTRL		(CRF_APB_CLK_BASE + 0x98)
266*91f16700Schasinglulu #define CRF_APB_DPDMA_REF_CTRL		(CRF_APB_CLK_BASE + 0x9c)
267*91f16700Schasinglulu #define CRF_APB_TOPSW_MAIN_CTRL		(CRF_APB_CLK_BASE + 0xa0)
268*91f16700Schasinglulu #define CRF_APB_TOPSW_LSBUS_CTRL	(CRF_APB_CLK_BASE + 0xa4)
269*91f16700Schasinglulu #define CRF_APB_GTGREF0_REF_CTRL	(CRF_APB_CLK_BASE + 0xa8)
270*91f16700Schasinglulu #define CRF_APB_DBG_TSTMP_CTRL		(CRF_APB_CLK_BASE + 0xd8)
271*91f16700Schasinglulu 
272*91f16700Schasinglulu /* Low power domain clocks */
273*91f16700Schasinglulu #define CRL_APB_IOPLL_CTRL		(CRL_APB_CLK_BASE + 0x00)
274*91f16700Schasinglulu #define CRL_APB_RPLL_CTRL		(CRL_APB_CLK_BASE + 0x10)
275*91f16700Schasinglulu #define CRL_APB_PLL_STATUS		(CRL_APB_CLK_BASE + 0x20)
276*91f16700Schasinglulu #define CRL_APB_IOPLL_TO_FPD_CTRL	(CRL_APB_CLK_BASE + 0x24)
277*91f16700Schasinglulu #define CRL_APB_RPLL_TO_FPD_CTRL	(CRL_APB_CLK_BASE + 0x28)
278*91f16700Schasinglulu /* Peripheral clocks */
279*91f16700Schasinglulu #define CRL_APB_USB3_DUAL_REF_CTRL	(CRL_APB_CLK_BASE + 0x2c)
280*91f16700Schasinglulu #define CRL_APB_GEM0_REF_CTRL		(CRL_APB_CLK_BASE + 0x30)
281*91f16700Schasinglulu #define CRL_APB_GEM1_REF_CTRL		(CRL_APB_CLK_BASE + 0x34)
282*91f16700Schasinglulu #define CRL_APB_GEM2_REF_CTRL		(CRL_APB_CLK_BASE + 0x38)
283*91f16700Schasinglulu #define CRL_APB_GEM3_REF_CTRL		(CRL_APB_CLK_BASE + 0x3c)
284*91f16700Schasinglulu #define CRL_APB_USB0_BUS_REF_CTRL	(CRL_APB_CLK_BASE + 0x40)
285*91f16700Schasinglulu #define CRL_APB_USB1_BUS_REF_CTRL	(CRL_APB_CLK_BASE + 0x44)
286*91f16700Schasinglulu #define CRL_APB_QSPI_REF_CTRL		(CRL_APB_CLK_BASE + 0x48)
287*91f16700Schasinglulu #define CRL_APB_SDIO0_REF_CTRL		(CRL_APB_CLK_BASE + 0x4c)
288*91f16700Schasinglulu #define CRL_APB_SDIO1_REF_CTRL		(CRL_APB_CLK_BASE + 0x50)
289*91f16700Schasinglulu #define CRL_APB_UART0_REF_CTRL		(CRL_APB_CLK_BASE + 0x54)
290*91f16700Schasinglulu #define CRL_APB_UART1_REF_CTRL		(CRL_APB_CLK_BASE + 0x58)
291*91f16700Schasinglulu #define CRL_APB_SPI0_REF_CTRL		(CRL_APB_CLK_BASE + 0x5c)
292*91f16700Schasinglulu #define CRL_APB_SPI1_REF_CTRL		(CRL_APB_CLK_BASE + 0x60)
293*91f16700Schasinglulu #define CRL_APB_CAN0_REF_CTRL		(CRL_APB_CLK_BASE + 0x64)
294*91f16700Schasinglulu #define CRL_APB_CAN1_REF_CTRL		(CRL_APB_CLK_BASE + 0x68)
295*91f16700Schasinglulu #define CRL_APB_CPU_R5_CTRL		(CRL_APB_CLK_BASE + 0x70)
296*91f16700Schasinglulu #define CRL_APB_IOU_SWITCH_CTRL		(CRL_APB_CLK_BASE + 0x7c)
297*91f16700Schasinglulu #define CRL_APB_CSU_PLL_CTRL		(CRL_APB_CLK_BASE + 0x80)
298*91f16700Schasinglulu #define CRL_APB_PCAP_CTRL		(CRL_APB_CLK_BASE + 0x84)
299*91f16700Schasinglulu #define CRL_APB_LPD_SWITCH_CTRL		(CRL_APB_CLK_BASE + 0x88)
300*91f16700Schasinglulu #define CRL_APB_LPD_LSBUS_CTRL		(CRL_APB_CLK_BASE + 0x8c)
301*91f16700Schasinglulu #define CRL_APB_DBG_LPD_CTRL		(CRL_APB_CLK_BASE + 0x90)
302*91f16700Schasinglulu #define CRL_APB_NAND_REF_CTRL		(CRL_APB_CLK_BASE + 0x94)
303*91f16700Schasinglulu #define CRL_APB_ADMA_REF_CTRL		(CRL_APB_CLK_BASE + 0x98)
304*91f16700Schasinglulu #define CRL_APB_PL0_REF_CTRL		(CRL_APB_CLK_BASE + 0xa0)
305*91f16700Schasinglulu #define CRL_APB_PL1_REF_CTRL		(CRL_APB_CLK_BASE + 0xa4)
306*91f16700Schasinglulu #define CRL_APB_PL2_REF_CTRL		(CRL_APB_CLK_BASE + 0xa8)
307*91f16700Schasinglulu #define CRL_APB_PL3_REF_CTRL		(CRL_APB_CLK_BASE + 0xac)
308*91f16700Schasinglulu #define CRL_APB_PL0_THR_CNT		(CRL_APB_CLK_BASE + 0xb4)
309*91f16700Schasinglulu #define CRL_APB_PL1_THR_CNT		(CRL_APB_CLK_BASE + 0xbc)
310*91f16700Schasinglulu #define CRL_APB_PL2_THR_CNT		(CRL_APB_CLK_BASE + 0xc4)
311*91f16700Schasinglulu #define CRL_APB_PL3_THR_CNT		(CRL_APB_CLK_BASE + 0xdc)
312*91f16700Schasinglulu #define CRL_APB_GEM_TSU_REF_CTRL	(CRL_APB_CLK_BASE + 0xe0)
313*91f16700Schasinglulu #define CRL_APB_DLL_REF_CTRL		(CRL_APB_CLK_BASE + 0xe4)
314*91f16700Schasinglulu #define CRL_APB_AMS_REF_CTRL		(CRL_APB_CLK_BASE + 0xe8)
315*91f16700Schasinglulu #define CRL_APB_I2C0_REF_CTRL		(CRL_APB_CLK_BASE + 0x100)
316*91f16700Schasinglulu #define CRL_APB_I2C1_REF_CTRL		(CRL_APB_CLK_BASE + 0x104)
317*91f16700Schasinglulu #define CRL_APB_TIMESTAMP_REF_CTRL	(CRL_APB_CLK_BASE + 0x108)
318*91f16700Schasinglulu #define IOU_SLCR_GEM_CLK_CTRL		(IOU_SLCR_BASEADDR + 0x308)
319*91f16700Schasinglulu #define IOU_SLCR_CAN_MIO_CTRL		(IOU_SLCR_BASEADDR + 0x304)
320*91f16700Schasinglulu #define FPD_SLCR_WDT_CLK_SEL		(FPD_SLCR_BASEADDR + 0x100)
321*91f16700Schasinglulu #define IOU_SLCR_WDT_CLK_SEL		(IOU_SLCR_BASEADDR + 0x300)
322*91f16700Schasinglulu 
323*91f16700Schasinglulu /* Global general storage register base address */
324*91f16700Schasinglulu #define GGS_BASEADDR		(0xFFD80030U)
325*91f16700Schasinglulu #define GGS_NUM_REGS		U(4)
326*91f16700Schasinglulu 
327*91f16700Schasinglulu /* Persistent global general storage register base address */
328*91f16700Schasinglulu #define PGGS_BASEADDR		(0xFFD80050U)
329*91f16700Schasinglulu #define PGGS_NUM_REGS		U(4)
330*91f16700Schasinglulu 
331*91f16700Schasinglulu /* PMU GGS4 register 4 is used for warm restart boot health status */
332*91f16700Schasinglulu #define PMU_GLOBAL_GEN_STORAGE4			(GGS_BASEADDR + 0x10)
333*91f16700Schasinglulu /* Warm restart boot health status mask */
334*91f16700Schasinglulu #define PM_BOOT_HEALTH_STATUS_MASK		U(0x01)
335*91f16700Schasinglulu /* WDT restart scope shift and mask */
336*91f16700Schasinglulu #define RESTART_SCOPE_SHIFT			(3)
337*91f16700Schasinglulu #define RESTART_SCOPE_MASK			(0x3U << RESTART_SCOPE_SHIFT)
338*91f16700Schasinglulu 
339*91f16700Schasinglulu /* AFI registers */
340*91f16700Schasinglulu #define  AFIFM6_WRCTRL		U(13)
341*91f16700Schasinglulu #define  FABRIC_WIDTH		U(3)
342*91f16700Schasinglulu 
343*91f16700Schasinglulu /* CSUDMA Module Base Address*/
344*91f16700Schasinglulu #define CSUDMA_BASE		U(0xFFC80000)
345*91f16700Schasinglulu 
346*91f16700Schasinglulu /* RSA-CORE Module Base Address*/
347*91f16700Schasinglulu #define RSA_CORE_BASE		U(0xFFCE0000)
348*91f16700Schasinglulu 
349*91f16700Schasinglulu #endif /* ZYNQMP_DEF_H */
350