xref: /rk3399_ARM-atf/plat/xilinx/zynqmp/include/zynqmp_def.h (revision 6d41398382430134308a513c027b77ec70b03ae4)
199564393SJolly Shah /*
2619bc13eSMichal Simek  * Copyright (c) 2014-2020, Arm Limited and Contributors. All rights reserved.
399564393SJolly Shah  *
499564393SJolly Shah  * SPDX-License-Identifier: BSD-3-Clause
599564393SJolly Shah  */
699564393SJolly Shah 
799564393SJolly Shah #ifndef ZYNQMP_DEF_H
899564393SJolly Shah #define ZYNQMP_DEF_H
999564393SJolly Shah 
1053adebadSManish V Badarkhe #include <plat/arm/common/smccc_def.h>
1199564393SJolly Shah #include <plat/common/common_def.h>
1299564393SJolly Shah 
13*6d413983SMichal Simek #define ZYNQMP_CONSOLE_ID_none		0
1499564393SJolly Shah #define ZYNQMP_CONSOLE_ID_cadence	1
1599564393SJolly Shah #define ZYNQMP_CONSOLE_ID_cadence0	1
1699564393SJolly Shah #define ZYNQMP_CONSOLE_ID_cadence1	2
1799564393SJolly Shah #define ZYNQMP_CONSOLE_ID_dcc		3
1809a02ce0SPrasad Kummari #define ZYNQMP_CONSOLE_ID_dtb		4
1999564393SJolly Shah 
2004a48335SMichal Simek #define CONSOLE_IS(con)	(ZYNQMP_CONSOLE_ID_ ## con == ZYNQMP_CONSOLE)
2199564393SJolly Shah 
224557ab69SPrasad Kummari /* Runtime console */
234557ab69SPrasad Kummari #define RT_CONSOLE_ID_cadence	1
244557ab69SPrasad Kummari #define RT_CONSOLE_ID_cadence0	1
254557ab69SPrasad Kummari #define RT_CONSOLE_ID_cadence1	2
264557ab69SPrasad Kummari #define RT_CONSOLE_ID_dcc	3
274557ab69SPrasad Kummari #define RT_CONSOLE_ID_dtb	4
284557ab69SPrasad Kummari 
294557ab69SPrasad Kummari #define RT_CONSOLE_IS(con)	(RT_CONSOLE_ID_ ## con == CONSOLE_RUNTIME)
304557ab69SPrasad Kummari 
319f0ddae3SRajan Vaja /* Default counter frequency */
329f0ddae3SRajan Vaja #define ZYNQMP_DEFAULT_COUNTER_FREQ	0U
339f0ddae3SRajan Vaja 
3499564393SJolly Shah /* Firmware Image Package */
3599564393SJolly Shah #define ZYNQMP_PRIMARY_CPU		0
3699564393SJolly Shah 
3799564393SJolly Shah /* Memory location options for Shared data and TSP in ZYNQMP */
3899564393SJolly Shah #define ZYNQMP_IN_TRUSTED_SRAM		0
3999564393SJolly Shah #define ZYNQMP_IN_TRUSTED_DRAM		1
4099564393SJolly Shah 
4199564393SJolly Shah /*******************************************************************************
4299564393SJolly Shah  * ZYNQMP memory map related constants
4399564393SJolly Shah  ******************************************************************************/
4499564393SJolly Shah /* Aggregate of all devices in the first GB */
4599564393SJolly Shah #define DEVICE0_BASE		U(0xFF000000)
4699564393SJolly Shah #define DEVICE0_SIZE		U(0x00E00000)
4799564393SJolly Shah #define DEVICE1_BASE		U(0xF9000000)
4899564393SJolly Shah #define DEVICE1_SIZE		U(0x00800000)
4999564393SJolly Shah 
5099564393SJolly Shah /* For cpu reset APU space here too 0xFE5F1000 CRF_APB*/
5199564393SJolly Shah #define CRF_APB_BASE		U(0xFD1A0000)
5299564393SJolly Shah #define CRF_APB_SIZE		U(0x00600000)
5399564393SJolly Shah #define CRF_APB_CLK_BASE	U(0xFD1A0020)
5499564393SJolly Shah 
5599564393SJolly Shah /* CRF registers and bitfields */
5699564393SJolly Shah #define CRF_APB_RST_FPD_APU	(CRF_APB_BASE + 0X00000104)
5799564393SJolly Shah 
5899564393SJolly Shah #define CRF_APB_RST_FPD_APU_ACPU_RESET		(U(1) << 0)
5999564393SJolly Shah #define CRF_APB_RST_FPD_APU_ACPU_PWRON_RESET	(U(1) << 10)
6099564393SJolly Shah 
6199564393SJolly Shah /* CRL registers and bitfields */
6299564393SJolly Shah #define CRL_APB_BASE			U(0xFF5E0000)
6399564393SJolly Shah #define CRL_APB_BOOT_MODE_USER		(CRL_APB_BASE + 0x200)
6499564393SJolly Shah #define CRL_APB_RESET_CTRL		(CRL_APB_BASE + 0x218)
6599564393SJolly Shah #define CRL_APB_RST_LPD_TOP		(CRL_APB_BASE + 0x23C)
6699564393SJolly Shah #define CRL_APB_BOOT_PIN_CTRL		(CRL_APB_BASE + U(0x250))
6799564393SJolly Shah #define CRL_APB_CLK_BASE		U(0xFF5E0020)
6899564393SJolly Shah 
6999564393SJolly Shah #define CRL_APB_RPU_AMBA_RESET		(U(1) << 2)
7099564393SJolly Shah #define CRL_APB_RPLL_CTRL_BYPASS	(U(1) << 3)
7199564393SJolly Shah 
7299564393SJolly Shah #define CRL_APB_RESET_CTRL_SOFT_RESET	(U(1) << 4)
7399564393SJolly Shah 
7499564393SJolly Shah #define CRL_APB_BOOT_MODE_MASK		(U(0xf) << 0)
7599564393SJolly Shah #define CRL_APB_BOOT_PIN_MASK		(U(0xf0f) << 0)
7699564393SJolly Shah #define CRL_APB_BOOT_DRIVE_PIN_1_SHIFT	U(9)
7799564393SJolly Shah #define CRL_APB_BOOT_ENABLE_PIN_1_SHIFT	U(1)
7899564393SJolly Shah #define CRL_APB_BOOT_ENABLE_PIN_1	(U(0x1) << \
7999564393SJolly Shah 					CRL_APB_BOOT_ENABLE_PIN_1_SHIFT)
8099564393SJolly Shah #define CRL_APB_BOOT_DRIVE_PIN_1	(U(0x1) << \
8199564393SJolly Shah 					CRL_APB_BOOT_DRIVE_PIN_1_SHIFT)
8299564393SJolly Shah #define ZYNQMP_BOOTMODE_JTAG		U(0)
8399564393SJolly Shah #define ZYNQMP_ULPI_RESET_VAL_HIGH	(CRL_APB_BOOT_ENABLE_PIN_1 | \
8499564393SJolly Shah 					 CRL_APB_BOOT_DRIVE_PIN_1)
8599564393SJolly Shah #define ZYNQMP_ULPI_RESET_VAL_LOW	CRL_APB_BOOT_ENABLE_PIN_1
8699564393SJolly Shah 
8799564393SJolly Shah /* system counter registers and bitfields */
885bcbd2deSVenkatesh Yadav Abbarapu #define IOU_SCNTRS_BASE			U(0xFF260000)
8999564393SJolly Shah #define IOU_SCNTRS_BASEFREQ		(IOU_SCNTRS_BASE + 0x20)
9099564393SJolly Shah 
9199564393SJolly Shah /* APU registers and bitfields */
925bcbd2deSVenkatesh Yadav Abbarapu #define APU_BASE		U(0xFD5C0000)
9399564393SJolly Shah #define APU_CONFIG_0		(APU_BASE + 0x20)
9499564393SJolly Shah #define APU_RVBAR_L_0		(APU_BASE + 0x40)
9599564393SJolly Shah #define APU_RVBAR_H_0		(APU_BASE + 0x44)
9699564393SJolly Shah #define APU_PWRCTL		(APU_BASE + 0x90)
9799564393SJolly Shah 
9899564393SJolly Shah #define APU_CONFIG_0_VINITHI_SHIFT	8
9999564393SJolly Shah #define APU_0_PWRCTL_CPUPWRDWNREQ_MASK		1
10099564393SJolly Shah #define APU_1_PWRCTL_CPUPWRDWNREQ_MASK		2
10199564393SJolly Shah #define APU_2_PWRCTL_CPUPWRDWNREQ_MASK		4
10299564393SJolly Shah #define APU_3_PWRCTL_CPUPWRDWNREQ_MASK		8
10399564393SJolly Shah 
10499564393SJolly Shah /* PMU registers and bitfields */
1055bcbd2deSVenkatesh Yadav Abbarapu #define PMU_GLOBAL_BASE			U(0xFFD80000)
10699564393SJolly Shah #define PMU_GLOBAL_CNTRL		(PMU_GLOBAL_BASE + 0)
10799564393SJolly Shah #define PMU_GLOBAL_GEN_STORAGE6		(PMU_GLOBAL_BASE + 0x48)
10899564393SJolly Shah #define PMU_GLOBAL_REQ_PWRUP_STATUS	(PMU_GLOBAL_BASE + 0x110)
10999564393SJolly Shah #define PMU_GLOBAL_REQ_PWRUP_EN		(PMU_GLOBAL_BASE + 0x118)
11099564393SJolly Shah #define PMU_GLOBAL_REQ_PWRUP_DIS	(PMU_GLOBAL_BASE + 0x11c)
11199564393SJolly Shah #define PMU_GLOBAL_REQ_PWRUP_TRIG	(PMU_GLOBAL_BASE + 0x120)
11299564393SJolly Shah 
11399564393SJolly Shah #define PMU_GLOBAL_CNTRL_FW_IS_PRESENT	(1 << 4)
11499564393SJolly Shah 
11599564393SJolly Shah /*******************************************************************************
11699564393SJolly Shah  * CCI-400 related constants
11799564393SJolly Shah  ******************************************************************************/
1185bcbd2deSVenkatesh Yadav Abbarapu #define PLAT_ARM_CCI_BASE		U(0xFD6E0000)
11999564393SJolly Shah #define PLAT_ARM_CCI_CLUSTER0_SL_IFACE_IX	3
12099564393SJolly Shah #define PLAT_ARM_CCI_CLUSTER1_SL_IFACE_IX	4
12199564393SJolly Shah 
12299564393SJolly Shah /*******************************************************************************
12399564393SJolly Shah  * GIC-400 & interrupt handling related constants
12499564393SJolly Shah  ******************************************************************************/
1255bcbd2deSVenkatesh Yadav Abbarapu #define BASE_GICD_BASE		U(0xF9010000)
1265bcbd2deSVenkatesh Yadav Abbarapu #define BASE_GICC_BASE		U(0xF9020000)
1275bcbd2deSVenkatesh Yadav Abbarapu #define BASE_GICH_BASE		U(0xF9040000)
1285bcbd2deSVenkatesh Yadav Abbarapu #define BASE_GICV_BASE		U(0xF9060000)
12999564393SJolly Shah 
13099564393SJolly Shah #if ZYNQMP_WDT_RESTART
13199564393SJolly Shah #define IRQ_SEC_IPI_APU		67
13299564393SJolly Shah #define IRQ_TTC3_1		77
1335bcbd2deSVenkatesh Yadav Abbarapu #define TTC3_BASE_ADDR		U(0xFF140000)
13499564393SJolly Shah #define TTC3_INTR_REGISTER_1	(TTC3_BASE_ADDR + 0x54)
13599564393SJolly Shah #define TTC3_INTR_ENABLE_1	(TTC3_BASE_ADDR + 0x60)
13699564393SJolly Shah #endif
13799564393SJolly Shah 
13899564393SJolly Shah #define ARM_IRQ_SEC_PHY_TIMER		29
13999564393SJolly Shah 
14099564393SJolly Shah #define ARM_IRQ_SEC_SGI_0		8
14199564393SJolly Shah #define ARM_IRQ_SEC_SGI_1		9
14299564393SJolly Shah #define ARM_IRQ_SEC_SGI_2		10
14399564393SJolly Shah #define ARM_IRQ_SEC_SGI_3		11
14499564393SJolly Shah #define ARM_IRQ_SEC_SGI_4		12
14599564393SJolly Shah #define ARM_IRQ_SEC_SGI_5		13
14699564393SJolly Shah #define ARM_IRQ_SEC_SGI_6		14
14799564393SJolly Shah #define ARM_IRQ_SEC_SGI_7		15
14899564393SJolly Shah 
149e8d61f7dSPrasad Kummari /* number of interrupt handlers. increase as required */
150e8d61f7dSPrasad Kummari #define MAX_INTR_EL3			2
15199564393SJolly Shah 
15299564393SJolly Shah /*******************************************************************************
15399564393SJolly Shah  * UART related constants
15499564393SJolly Shah  ******************************************************************************/
1555bcbd2deSVenkatesh Yadav Abbarapu #define ZYNQMP_UART0_BASE		U(0xFF000000)
1565bcbd2deSVenkatesh Yadav Abbarapu #define ZYNQMP_UART1_BASE		U(0xFF010000)
15799564393SJolly Shah 
15809a02ce0SPrasad Kummari /* Boot console */
159d2e00eeaSMaheedhar Bollapalli #if CONSOLE_IS(cadence) || CONSOLE_IS(dtb)
16004a48335SMichal Simek # define UART_BASE	ZYNQMP_UART0_BASE
161d2e00eeaSMaheedhar Bollapalli # define UART_TYPE	CONSOLE_CDNS
16204a48335SMichal Simek #elif CONSOLE_IS(cadence1)
16304a48335SMichal Simek # define UART_BASE	ZYNQMP_UART1_BASE
164d2e00eeaSMaheedhar Bollapalli # define UART_TYPE	CONSOLE_CDNS
165d2e00eeaSMaheedhar Bollapalli #elif CONSOLE_IS(dcc)
166d2e00eeaSMaheedhar Bollapalli # define UART_BASE	0x0
167d2e00eeaSMaheedhar Bollapalli # define UART_TYPE	CONSOLE_DCC
168*6d413983SMichal Simek #elif CONSOLE_IS(none)
169*6d413983SMichal Simek # define UART_TYPE	CONSOLE_NONE
17099564393SJolly Shah #else
17199564393SJolly Shah # error "invalid ZYNQMP_CONSOLE"
17299564393SJolly Shah #endif
17399564393SJolly Shah 
1744557ab69SPrasad Kummari /* Runtime console */
1754557ab69SPrasad Kummari #if defined(CONSOLE_RUNTIME)
176d2e00eeaSMaheedhar Bollapalli #if RT_CONSOLE_IS(cadence) || RT_CONSOLE_IS(dtb)
1774557ab69SPrasad Kummari # define RT_UART_BASE	ZYNQMP_UART0_BASE
178d2e00eeaSMaheedhar Bollapalli # define RT_UART_TYPE	CONSOLE_CDNS
1794557ab69SPrasad Kummari #elif RT_CONSOLE_IS(cadence1)
1804557ab69SPrasad Kummari # define RT_UART_BASE	ZYNQMP_UART1_BASE
181d2e00eeaSMaheedhar Bollapalli # define RT_UART_TYPE	CONSOLE_CDNS
182d2e00eeaSMaheedhar Bollapalli #elif RT_CONSOLE_IS(dcc)
183d2e00eeaSMaheedhar Bollapalli # define RT_UART_BASE	0x0
184d2e00eeaSMaheedhar Bollapalli # define RT_UART_TYPE	CONSOLE_DCC
1854557ab69SPrasad Kummari #else
1864557ab69SPrasad Kummari # error "invalid CONSOLE_RUNTIME"
1874557ab69SPrasad Kummari #endif
1884557ab69SPrasad Kummari #endif
1894557ab69SPrasad Kummari 
19099564393SJolly Shah /* Must be non zero */
19104a48335SMichal Simek #define UART_BAUDRATE		115200
19299564393SJolly Shah 
19399564393SJolly Shah /* Silicon version detection */
19499564393SJolly Shah #define ZYNQMP_SILICON_VER_MASK		0xF000
19599564393SJolly Shah #define ZYNQMP_SILICON_VER_SHIFT	12
19699564393SJolly Shah #define ZYNQMP_CSU_VERSION_SILICON	0
19799564393SJolly Shah #define ZYNQMP_CSU_VERSION_QEMU		3
19899564393SJolly Shah 
199bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_RTL_VER_MASK		0xFF0U
20099564393SJolly Shah #define ZYNQMP_RTL_VER_SHIFT		4
20199564393SJolly Shah 
202bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_PS_VER_MASK		0xFU
20399564393SJolly Shah #define ZYNQMP_PS_VER_SHIFT		0
20499564393SJolly Shah 
2055bcbd2deSVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_BASEADDR		U(0xFFCA0000)
206bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_OFFSET	0x40U
20799564393SJolly Shah 
208bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_XILINX_ID_SHIFT	0U
209bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_XILINX_ID_MASK	(0xFFFU << \
21099564393SJolly Shah 					ZYNQMP_CSU_IDCODE_XILINX_ID_SHIFT)
21199564393SJolly Shah #define ZYNQMP_CSU_IDCODE_XILINX_ID		0x093
21299564393SJolly Shah 
213bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_SVD_SHIFT		12U
214bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_SVD_MASK		(0x7U << \
21599564393SJolly Shah 						 ZYNQMP_CSU_IDCODE_SVD_SHIFT)
216bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_DEVICE_CODE_SHIFT	15U
217bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_DEVICE_CODE_MASK	(0xFU << \
21899564393SJolly Shah 					ZYNQMP_CSU_IDCODE_DEVICE_CODE_SHIFT)
219bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_SUB_FAMILY_SHIFT	19U
220bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_SUB_FAMILY_MASK	(0x3U << \
22199564393SJolly Shah 					ZYNQMP_CSU_IDCODE_SUB_FAMILY_SHIFT)
222bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_FAMILY_SHIFT		21U
223bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_FAMILY_MASK		(0x7FU << \
22499564393SJolly Shah 					ZYNQMP_CSU_IDCODE_FAMILY_SHIFT)
22599564393SJolly Shah #define ZYNQMP_CSU_IDCODE_FAMILY		0x23
22699564393SJolly Shah 
227bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_REVISION_SHIFT	28U
228bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_REVISION_MASK		(0xFU << \
22999564393SJolly Shah 					ZYNQMP_CSU_IDCODE_REVISION_SHIFT)
230bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_IDCODE_REVISION		0U
23199564393SJolly Shah 
232bfd7c881SVenkatesh Yadav Abbarapu #define ZYNQMP_CSU_VERSION_OFFSET	0x44U
23399564393SJolly Shah 
23499564393SJolly Shah /* Efuse */
2355bcbd2deSVenkatesh Yadav Abbarapu #define EFUSE_BASEADDR		U(0xFFCC0000)
23699564393SJolly Shah #define EFUSE_IPDISABLE_OFFSET	0x1018
23799564393SJolly Shah #define EFUSE_IPDISABLE_VERSION	0x1FFU
23899564393SJolly Shah #define ZYNQMP_EFUSE_IPDISABLE_SHIFT	20
23999564393SJolly Shah 
24099564393SJolly Shah /* Access control register defines */
24199564393SJolly Shah #define ACTLR_EL3_L2ACTLR_BIT	(1 << 6)
24299564393SJolly Shah #define ACTLR_EL3_CPUACTLR_BIT	(1 << 0)
24399564393SJolly Shah 
24499564393SJolly Shah #define FPD_SLCR_BASEADDR		U(0xFD610000)
24599564393SJolly Shah #define IOU_SLCR_BASEADDR		U(0xFF180000)
24699564393SJolly Shah 
24799564393SJolly Shah #define ZYNQMP_RPU_GLBL_CNTL			U(0xFF9A0000)
24899564393SJolly Shah #define ZYNQMP_RPU0_CFG				U(0xFF9A0100)
24999564393SJolly Shah #define ZYNQMP_RPU1_CFG				U(0xFF9A0200)
25099564393SJolly Shah #define ZYNQMP_SLSPLIT_MASK			U(0x08)
25199564393SJolly Shah #define ZYNQMP_TCM_COMB_MASK			U(0x40)
25299564393SJolly Shah #define ZYNQMP_SLCLAMP_MASK			U(0x10)
25399564393SJolly Shah #define ZYNQMP_VINITHI_MASK			U(0x04)
25499564393SJolly Shah 
25599564393SJolly Shah /* Tap delay bypass */
25699564393SJolly Shah #define IOU_TAPDLY_BYPASS			U(0XFF180390)
25799564393SJolly Shah #define TAP_DELAY_MASK				U(0x7)
25899564393SJolly Shah 
25999564393SJolly Shah /* SD DLL reset */
26099564393SJolly Shah #define ZYNQMP_SD_DLL_CTRL			U(0xFF180358)
26199564393SJolly Shah #define ZYNQMP_SD0_DLL_RST_MASK			U(0x00000004)
26299564393SJolly Shah #define ZYNQMP_SD0_DLL_RST			U(0x00000004)
26399564393SJolly Shah #define ZYNQMP_SD1_DLL_RST_MASK			U(0x00040000)
26499564393SJolly Shah #define ZYNQMP_SD1_DLL_RST			U(0x00040000)
26599564393SJolly Shah 
26699564393SJolly Shah /* SD tap delay */
26799564393SJolly Shah #define ZYNQMP_SD_DLL_CTRL			U(0xFF180358)
26899564393SJolly Shah #define ZYNQMP_SD_ITAP_DLY			U(0xFF180314)
26999564393SJolly Shah #define ZYNQMP_SD_OTAP_DLY			U(0xFF180318)
27099564393SJolly Shah #define ZYNQMP_SD_TAP_OFFSET			U(16)
27199564393SJolly Shah #define ZYNQMP_SD_ITAPCHGWIN_MASK		U(0x200)
27299564393SJolly Shah #define ZYNQMP_SD_ITAPCHGWIN			U(0x200)
27399564393SJolly Shah #define ZYNQMP_SD_ITAPDLYENA_MASK		U(0x100)
27499564393SJolly Shah #define ZYNQMP_SD_ITAPDLYENA			U(0x100)
27599564393SJolly Shah #define ZYNQMP_SD_ITAPDLYSEL_MASK		U(0xFF)
27699564393SJolly Shah #define ZYNQMP_SD_OTAPDLYSEL_MASK		U(0x3F)
27799564393SJolly Shah #define ZYNQMP_SD_OTAPDLYENA_MASK		U(0x40)
27899564393SJolly Shah #define ZYNQMP_SD_OTAPDLYENA			U(0x40)
27999564393SJolly Shah 
28099564393SJolly Shah /* Clock control registers */
28199564393SJolly Shah /* Full power domain clocks */
28299564393SJolly Shah #define CRF_APB_APLL_CTRL		(CRF_APB_CLK_BASE + 0x00)
28399564393SJolly Shah #define CRF_APB_DPLL_CTRL		(CRF_APB_CLK_BASE + 0x0c)
28499564393SJolly Shah #define CRF_APB_VPLL_CTRL		(CRF_APB_CLK_BASE + 0x18)
28599564393SJolly Shah #define CRF_APB_PLL_STATUS		(CRF_APB_CLK_BASE + 0x24)
28699564393SJolly Shah #define CRF_APB_APLL_TO_LPD_CTRL	(CRF_APB_CLK_BASE + 0x28)
28799564393SJolly Shah #define CRF_APB_DPLL_TO_LPD_CTRL	(CRF_APB_CLK_BASE + 0x2c)
28899564393SJolly Shah #define CRF_APB_VPLL_TO_LPD_CTRL	(CRF_APB_CLK_BASE + 0x30)
28999564393SJolly Shah /* Peripheral clocks */
29099564393SJolly Shah #define CRF_APB_ACPU_CTRL		(CRF_APB_CLK_BASE + 0x40)
29199564393SJolly Shah #define CRF_APB_DBG_TRACE_CTRL		(CRF_APB_CLK_BASE + 0x44)
29299564393SJolly Shah #define CRF_APB_DBG_FPD_CTRL		(CRF_APB_CLK_BASE + 0x48)
29399564393SJolly Shah #define CRF_APB_DP_VIDEO_REF_CTRL	(CRF_APB_CLK_BASE + 0x50)
29499564393SJolly Shah #define CRF_APB_DP_AUDIO_REF_CTRL	(CRF_APB_CLK_BASE + 0x54)
29599564393SJolly Shah #define CRF_APB_DP_STC_REF_CTRL		(CRF_APB_CLK_BASE + 0x5c)
29699564393SJolly Shah #define CRF_APB_DDR_CTRL		(CRF_APB_CLK_BASE + 0x60)
29799564393SJolly Shah #define CRF_APB_GPU_REF_CTRL		(CRF_APB_CLK_BASE + 0x64)
29899564393SJolly Shah #define CRF_APB_SATA_REF_CTRL		(CRF_APB_CLK_BASE + 0x80)
29999564393SJolly Shah #define CRF_APB_PCIE_REF_CTRL		(CRF_APB_CLK_BASE + 0x94)
30099564393SJolly Shah #define CRF_APB_GDMA_REF_CTRL		(CRF_APB_CLK_BASE + 0x98)
30199564393SJolly Shah #define CRF_APB_DPDMA_REF_CTRL		(CRF_APB_CLK_BASE + 0x9c)
30299564393SJolly Shah #define CRF_APB_TOPSW_MAIN_CTRL		(CRF_APB_CLK_BASE + 0xa0)
30399564393SJolly Shah #define CRF_APB_TOPSW_LSBUS_CTRL	(CRF_APB_CLK_BASE + 0xa4)
30499564393SJolly Shah #define CRF_APB_GTGREF0_REF_CTRL	(CRF_APB_CLK_BASE + 0xa8)
30599564393SJolly Shah #define CRF_APB_DBG_TSTMP_CTRL		(CRF_APB_CLK_BASE + 0xd8)
30699564393SJolly Shah 
30799564393SJolly Shah /* Low power domain clocks */
30899564393SJolly Shah #define CRL_APB_IOPLL_CTRL		(CRL_APB_CLK_BASE + 0x00)
30999564393SJolly Shah #define CRL_APB_RPLL_CTRL		(CRL_APB_CLK_BASE + 0x10)
31099564393SJolly Shah #define CRL_APB_PLL_STATUS		(CRL_APB_CLK_BASE + 0x20)
31199564393SJolly Shah #define CRL_APB_IOPLL_TO_FPD_CTRL	(CRL_APB_CLK_BASE + 0x24)
31299564393SJolly Shah #define CRL_APB_RPLL_TO_FPD_CTRL	(CRL_APB_CLK_BASE + 0x28)
31399564393SJolly Shah /* Peripheral clocks */
31499564393SJolly Shah #define CRL_APB_USB3_DUAL_REF_CTRL	(CRL_APB_CLK_BASE + 0x2c)
31599564393SJolly Shah #define CRL_APB_GEM0_REF_CTRL		(CRL_APB_CLK_BASE + 0x30)
31699564393SJolly Shah #define CRL_APB_GEM1_REF_CTRL		(CRL_APB_CLK_BASE + 0x34)
31799564393SJolly Shah #define CRL_APB_GEM2_REF_CTRL		(CRL_APB_CLK_BASE + 0x38)
31899564393SJolly Shah #define CRL_APB_GEM3_REF_CTRL		(CRL_APB_CLK_BASE + 0x3c)
31999564393SJolly Shah #define CRL_APB_USB0_BUS_REF_CTRL	(CRL_APB_CLK_BASE + 0x40)
32099564393SJolly Shah #define CRL_APB_USB1_BUS_REF_CTRL	(CRL_APB_CLK_BASE + 0x44)
32199564393SJolly Shah #define CRL_APB_QSPI_REF_CTRL		(CRL_APB_CLK_BASE + 0x48)
32299564393SJolly Shah #define CRL_APB_SDIO0_REF_CTRL		(CRL_APB_CLK_BASE + 0x4c)
32399564393SJolly Shah #define CRL_APB_SDIO1_REF_CTRL		(CRL_APB_CLK_BASE + 0x50)
32499564393SJolly Shah #define CRL_APB_UART0_REF_CTRL		(CRL_APB_CLK_BASE + 0x54)
32599564393SJolly Shah #define CRL_APB_UART1_REF_CTRL		(CRL_APB_CLK_BASE + 0x58)
32699564393SJolly Shah #define CRL_APB_SPI0_REF_CTRL		(CRL_APB_CLK_BASE + 0x5c)
32799564393SJolly Shah #define CRL_APB_SPI1_REF_CTRL		(CRL_APB_CLK_BASE + 0x60)
32899564393SJolly Shah #define CRL_APB_CAN0_REF_CTRL		(CRL_APB_CLK_BASE + 0x64)
32999564393SJolly Shah #define CRL_APB_CAN1_REF_CTRL		(CRL_APB_CLK_BASE + 0x68)
33099564393SJolly Shah #define CRL_APB_CPU_R5_CTRL		(CRL_APB_CLK_BASE + 0x70)
33199564393SJolly Shah #define CRL_APB_IOU_SWITCH_CTRL		(CRL_APB_CLK_BASE + 0x7c)
33299564393SJolly Shah #define CRL_APB_CSU_PLL_CTRL		(CRL_APB_CLK_BASE + 0x80)
33399564393SJolly Shah #define CRL_APB_PCAP_CTRL		(CRL_APB_CLK_BASE + 0x84)
33499564393SJolly Shah #define CRL_APB_LPD_SWITCH_CTRL		(CRL_APB_CLK_BASE + 0x88)
33599564393SJolly Shah #define CRL_APB_LPD_LSBUS_CTRL		(CRL_APB_CLK_BASE + 0x8c)
33699564393SJolly Shah #define CRL_APB_DBG_LPD_CTRL		(CRL_APB_CLK_BASE + 0x90)
33799564393SJolly Shah #define CRL_APB_NAND_REF_CTRL		(CRL_APB_CLK_BASE + 0x94)
33899564393SJolly Shah #define CRL_APB_ADMA_REF_CTRL		(CRL_APB_CLK_BASE + 0x98)
33999564393SJolly Shah #define CRL_APB_PL0_REF_CTRL		(CRL_APB_CLK_BASE + 0xa0)
34099564393SJolly Shah #define CRL_APB_PL1_REF_CTRL		(CRL_APB_CLK_BASE + 0xa4)
34199564393SJolly Shah #define CRL_APB_PL2_REF_CTRL		(CRL_APB_CLK_BASE + 0xa8)
34299564393SJolly Shah #define CRL_APB_PL3_REF_CTRL		(CRL_APB_CLK_BASE + 0xac)
34399564393SJolly Shah #define CRL_APB_PL0_THR_CNT		(CRL_APB_CLK_BASE + 0xb4)
34499564393SJolly Shah #define CRL_APB_PL1_THR_CNT		(CRL_APB_CLK_BASE + 0xbc)
34599564393SJolly Shah #define CRL_APB_PL2_THR_CNT		(CRL_APB_CLK_BASE + 0xc4)
34699564393SJolly Shah #define CRL_APB_PL3_THR_CNT		(CRL_APB_CLK_BASE + 0xdc)
34799564393SJolly Shah #define CRL_APB_GEM_TSU_REF_CTRL	(CRL_APB_CLK_BASE + 0xe0)
34899564393SJolly Shah #define CRL_APB_DLL_REF_CTRL		(CRL_APB_CLK_BASE + 0xe4)
34999564393SJolly Shah #define CRL_APB_AMS_REF_CTRL		(CRL_APB_CLK_BASE + 0xe8)
35099564393SJolly Shah #define CRL_APB_I2C0_REF_CTRL		(CRL_APB_CLK_BASE + 0x100)
35199564393SJolly Shah #define CRL_APB_I2C1_REF_CTRL		(CRL_APB_CLK_BASE + 0x104)
35299564393SJolly Shah #define CRL_APB_TIMESTAMP_REF_CTRL	(CRL_APB_CLK_BASE + 0x108)
35399564393SJolly Shah #define IOU_SLCR_GEM_CLK_CTRL		(IOU_SLCR_BASEADDR + 0x308)
35499564393SJolly Shah #define IOU_SLCR_CAN_MIO_CTRL		(IOU_SLCR_BASEADDR + 0x304)
35599564393SJolly Shah #define FPD_SLCR_WDT_CLK_SEL		(FPD_SLCR_BASEADDR + 0x100)
356b3ce966aSMounika Grace Akula #define IOU_SLCR_WDT_CLK_SEL		(IOU_SLCR_BASEADDR + 0x300)
35799564393SJolly Shah 
35899564393SJolly Shah /* Global general storage register base address */
35999564393SJolly Shah #define GGS_BASEADDR		(0xFFD80030U)
36099564393SJolly Shah #define GGS_NUM_REGS		U(4)
36199564393SJolly Shah 
36299564393SJolly Shah /* Persistent global general storage register base address */
36399564393SJolly Shah #define PGGS_BASEADDR		(0xFFD80050U)
36499564393SJolly Shah #define PGGS_NUM_REGS		U(4)
36599564393SJolly Shah 
366a7379a2aSTejas Patel /* PMU GGS4 register 4 is used for warm restart boot health status */
367a7379a2aSTejas Patel #define PMU_GLOBAL_GEN_STORAGE4			(GGS_BASEADDR + 0x10)
368a7379a2aSTejas Patel /* Warm restart boot health status mask */
36999564393SJolly Shah #define PM_BOOT_HEALTH_STATUS_MASK		U(0x01)
3700a67923bSWill Wong /* WDT restart scope shift and mask */
3710a67923bSWill Wong #define RESTART_SCOPE_SHIFT			(3)
3720a67923bSWill Wong #define RESTART_SCOPE_MASK			(0x3U << RESTART_SCOPE_SHIFT)
37399564393SJolly Shah 
37499564393SJolly Shah /* AFI registers */
37599564393SJolly Shah #define  AFIFM6_WRCTRL		U(13)
37699564393SJolly Shah #define  FABRIC_WIDTH		U(3)
37799564393SJolly Shah 
378d716f045SKalyani Akula /* CSUDMA Module Base Address*/
3795bcbd2deSVenkatesh Yadav Abbarapu #define CSUDMA_BASE		U(0xFFC80000)
380d716f045SKalyani Akula 
381d716f045SKalyani Akula /* RSA-CORE Module Base Address*/
3825bcbd2deSVenkatesh Yadav Abbarapu #define RSA_CORE_BASE		U(0xFFCE0000)
383d716f045SKalyani Akula 
38499564393SJolly Shah #endif /* ZYNQMP_DEF_H */
385