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