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