GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)

This commit is contained in:
lai
2026-09-06 03:52:57 +08:00
commit b1928b41c0
21813 changed files with 4413081 additions and 0 deletions
@@ -0,0 +1,151 @@
/*
* Copyright 2020 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef GPC_REG_H
#define GPC_REG_H
#define LPCR_A53_BSC 0x0
#define LPCR_A53_BSC2 0x180
#define LPCR_A53_AD 0x4
#define LPCR_M4 0x8
#define SLPCR 0x14
#define MST_CPU_MAPPING 0x18
#define MLPCR 0x20
#define PGC_ACK_SEL_A53 0x24
#define IMR1_CORE0_A53 0x30
#define IMR1_CORE1_A53 0x44
#define IMR1_CORE2_A53 0x194
#define IMR1_CORE3_A53 0x1A8
#define IMR1_CORE0_M4 0x58
#define SLT0_CFG 0x200
#define GPC_PU_PWRHSK 0x190
#define PGC_CPU_0_1_MAPPING 0x1CC
#define CPU_PGC_UP_TRG 0xD0
#define PU_PGC_UP_TRG 0xD8
#define CPU_PGC_DN_TRG 0xDC
#define PU_PGC_DN_TRG 0xE4
#define LPS_CPU1 0xEC
#define A53_CORE0_PGC 0x800
#define A53_PLAT_PGC 0x900
#define PLAT_PGC_PCR 0x900
#define NOC_PGC_PCR 0xa40
#define PGC_SCU_TIMING 0x910
#define MASK_DSM_TRIGGER_A53 BIT(31)
#define IRQ_SRC_A53_WUP BIT(30)
#define IRQ_SRC_A53_WUP_SHIFT 30
#define IRQ_SRC_C1 BIT(29)
#define IRQ_SRC_C0 BIT(28)
#define IRQ_SRC_C3 BIT(23)
#define IRQ_SRC_C2 BIT(22)
#define CPU_CLOCK_ON_LPM BIT(14)
#define A53_CLK_ON_LPM BIT(14)
#define MASTER0_LPM_HSK BIT(6)
#define MASTER1_LPM_HSK BIT(7)
#define MASTER2_LPM_HSK BIT(8)
#define L2PGE BIT(31)
#define EN_L2_WFI_PDN BIT(5)
#define EN_PLAT_PDN BIT(4)
#define SLPCR_EN_DSM BIT(31)
#define SLPCR_RBC_EN BIT(30)
#define SLPCR_A53_FASTWUP_STOP_MODE BIT(17)
#define SLPCR_A53_FASTWUP_WAIT_MODE BIT(16)
#define SLPCR_VSTBY BIT(2)
#define SLPCR_SBYOS BIT(1)
#define SLPCR_BYPASS_PMIC_READY BIT(0)
#define SLPCR_RBC_COUNT_SHIFT 24
#define SLPCR_STBY_COUNT_SHFT 3
#define A53_DUMMY_PDN_ACK BIT(30)
#define A53_DUMMY_PUP_ACK BIT(31)
#define A53_PLAT_PDN_ACK BIT(8)
#define A53_PLAT_PUP_ACK BIT(9)
#define NOC_PDN_SLT_CTRL BIT(12)
#define NOC_PUP_SLT_CTRL BIT(13)
#define NOC_PGC_PDN_ACK BIT(12)
#define NOC_PGC_PUP_ACK BIT(13)
#define PLAT_PUP_SLT_CTRL BIT(9)
#define PLAT_PDN_SLT_CTRL BIT(8)
#define SLT_PLAT_PDN BIT(8)
#define SLT_PLAT_PUP BIT(9)
#define MASTER1_MAPPING BIT(1)
#define MASTER2_MAPPING BIT(2)
#define TMR_TCD2_SHIFT 0
#define TMC_TMR_SHIFT 10
#define TRC1_TMC_SHIFT 20
#define MIPI_PHY1_PWR_REQ BIT(0)
#define PCIE_PHY_PWR_REQ BIT(1)
#define USB1_PHY_PWR_REQ BIT(2)
#define USB2_PHY_PWR_REQ BIT(3)
#define MLMIX_PWR_REQ BIT(4)
#define AUDIOMIX_PWR_REQ BIT(5)
#define GPU2D_PWR_REQ BIT(6)
#define GPUMIX_PWR_REQ BIT(7)
#define VPUMIX_PWR_REQ BIT(8)
#define GPU3D_PWR_REQ BIT(9)
#define MEDIAMIX_PWR_REQ BIT(10)
#define VPU_G1_PWR_REQ BIT(11)
#define VPU_G2_PWR_REQ BIT(12)
#define VPU_H1_PWR_REQ BIT(13)
#define HDMIMIX_PWR_REQ BIT(14)
#define HDMI_PHY_PWR_REQ BIT(15)
#define MIPI_PHY2_PWR_REQ BIT(16)
#define HSIOMIX_PWR_REQ BIT(17)
#define MEDIAMIX_ISPDWP_PWR_REQ BIT(18)
#define DDRMIX_PWR_REQ BIT(19)
#define AUDIOMIX_ADB400_SYNC (BIT(4) | BIT(15))
#define MLMIX_ADB400_SYNC (BIT(7) | BIT(8))
#define GPUMIX_ADB400_SYNC BIT(9)
#define VPUMIX_ADB400_SYNC BIT(10)
#define DDRMIX_ADB400_SYNC BIT(11)
#define HSIOMIX_ADB400_SYNC BIT(12)
#define HDMIMIX_ADB400_SYNC BIT(13)
#define MEDIAMIX_ADB400_SYNC BIT(14)
#define AUDIOMIX_ADB400_ACK (BIT(20) | BIT(31))
#define MLMIX_ADB400_ACK (BIT(23) | BIT(24))
#define GPUMIX_ADB400_ACK BIT(25)
#define VPUMIX_ADB400_ACK BIT(26)
#define DDRMIX_ADB400_ACK BIT(27)
#define HSIOMIX_ADB400_ACK BIT(28)
#define HDMIMIX_ADB400_ACK BIT(29)
#define MEDIAMIX_ADB400_ACK BIT(30)
#define MIPI_PHY1_PGC 0xb00
#define PCIE_PHY_PGC 0xb40
#define USB1_PHY_PGC 0xb80
#define USB2_PHY_PGC 0xbc0
#define MLMIX_PGC 0xc00
#define AUDIOMIX_PGC 0xc40
#define GPU2D_PGC 0xc80
#define GPUMIX_PGC 0xcc0
#define VPUMIX_PGC 0xd00
#define GPU3D_PGC 0xd40
#define MEDIAMIX_PGC 0xd80
#define VPU_G1_PGC 0xdc0
#define VPU_G2_PGC 0xe00
#define VPU_H1_PGC 0xe40
#define HDMIMIX_PGC 0xe80
#define HDMI_PHY_PGC 0xec0
#define MIPI_PHY2_PGC 0xf00
#define HSIOMIX_PGC 0xf40
#define MEDIAMIX_ISPDWP_PGC 0xf80
#define DDRMIX_PGC 0xfc0
#define IRQ_IMR_NUM U(5)
#endif /* GPC_REG_H */
@@ -0,0 +1,15 @@
/*
* Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef IMX8MP_PRIVATE_H
#define IMX8MP_PRIVATE_H
/*******************************************************************************
* Function and variable prototypes
******************************************************************************/
void plat_imx_io_setup(void);
#endif /* IMX8MP_PRIVATE_H */
@@ -0,0 +1,274 @@
/*
* Copyright 2020-2022 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef IMX_SEC_DEF_H
#define IMX_SEC_DEF_H
/* RDC MDA index */
enum rdc_mda_idx {
RDC_MDA_A53 = 0,
RDC_MDA_M7 = 1,
RDC_MDA_PCIE_CTRL1 = 2,
RDC_MDA_SDMA3p = 3,
RDC_MDA_SDMA3b = 4,
RDC_MDA_LCDIF = 5,
RDC_MDA_ISI = 6,
RDC_MDA_NPU = 7,
RDC_MDA_Coresight = 8,
RDC_MDA_DAP = 9,
RDC_MDA_CAAM = 10,
RDC_MDA_SDMA1p = 11,
RDC_MDA_SDMA1b = 12,
RDC_MDA_APBHDMA = 13,
RDC_MDA_RAWNAND = 14,
RDC_MDA_uSDHC1 = 15,
RDC_MDA_uSDHC2 = 16,
RDC_MDA_uSDHC3 = 17,
RDC_MDA_AUDIO_PROCESSOR = 18,
RDC_MDA_USB1 = 19,
RDC_MDA_USB2 = 20,
RDC_MDA_TESTPORT = 21,
RDC_MDA_ENET1_TX = 22,
RDC_MDA_ENET1_RX = 23,
RDC_MDA_SDMA2 = 24,
RDC_MDA_SDMA3_to_SPBA2 = 25,
RDC_MDA_SDMA1_to_SPBA1 = 26,
RDC_MDA_LCDIF2 = 27,
RDC_MDA_HDMI_TX = 28,
RDC_MDA_ENET2 = 29,
RDC_MDA_GPU3D = 30,
RDC_MDA_GPU2D = 31,
RDC_MDA_VPU_G1 = 32,
RDC_MDA_VPU_G2 = 33,
RDC_MDA_VPU_VC8000E = 34,
RDC_MDA_AUDIO_EDMA = 35,
RDC_MDA_ISP1 = 36,
RDC_MDA_ISP2 = 37,
RDC_MDA_DEWARP = 38,
RDC_MDA_GIC500 = 39,
};
/* RDC Peripherals index */
enum rdc_pdap_idx {
RDC_PDAP_GPIO1 = 0,
RDC_PDAP_GPIO2 = 1,
RDC_PDAP_GPIO3 = 2,
RDC_PDAP_GPIO4 = 3,
RDC_PDAP_GPIO5 = 4,
RDC_PDAP_MU_2_A = 5,
RDC_PDAP_ANA_TSENSOR = 6,
RDC_PDAP_ANA_OSC = 7,
RDC_PDAP_WDOG1 = 8,
RDC_PDAP_WDOG2 = 9,
RDC_PDAP_WDOG3 = 10,
RDC_PDAP_GPT1 = 13,
RDC_PDAP_GPT2 = 14,
RDC_PDAP_GPT3 = 15,
RDC_PDAP_MU_2_B = 16,
RDC_PDAP_ROMCP = 17,
RDC_PDAP_MU_3_A = 18,
RDC_PDAP_IOMUXC = 19,
RDC_PDAP_IOMUXC_GPR = 20,
RDC_PDAP_OCOTP_CTRL = 21,
RDC_PDAP_ANA_PLL = 22,
RDC_PDAP_SNVS_HP = 23,
RDC_PDAP_CCM = 24,
RDC_PDAP_SRC = 25,
RDC_PDAP_GPC = 26,
RDC_PDAP_SEMAPHORE1 = 27,
RDC_PDAP_SEMAPHORE2 = 28,
RDC_PDAP_RDC = 29,
RDC_PDAP_CSU = 30,
RDC_PDAP_MU_3_B = 31,
RDC_PDAP_ISI = 32,
RDC_PDAP_ISP0 = 33,
RDC_PDAP_ISP1 = 34,
RDC_PDAP_IPS_Dewarp = 35,
RDC_PDAP_MIPI_CSI0 = 36,
RDC_PDAP_HSIOMIX_BLK_CTL = 37,
RDC_PDAP_PWM1 = 38,
RDC_PDAP_PWM2 = 39,
RDC_PDAP_PWM3 = 40,
RDC_PDAP_PWM4 = 41,
RDC_PDAP_System_Counter_RD = 42,
RDC_PDAP_System_Counter_CMP = 43,
RDC_PDAP_System_Counter_CTRL = 44,
RDC_PDAP_I2C5 = 45,
RDC_PDAP_GPT6 = 46,
RDC_PDAP_GPT5 = 47,
RDC_PDAP_GPT4 = 48,
RDC_PDAP_MIPI_CSI1 = 49,
RDC_PDAP_MIPI_DSI0 = 50,
RDC_PDAP_MEDIAMIX_BLK_CTL = 51,
RDC_PDAP_LCDIF1 = 52,
RDC_PDAP_eDMA_Management_Page = 53,
RDC_PDAP_eDMA_Channels_15_0 = 54,
RDC_PDAP_eDMA_Channels_31_16 = 55,
RDC_PDAP_TZASC = 56,
RDC_PDAP_I2C6 = 57,
RDC_PDAP_CAAM = 58,
RDC_PDAP_LCDIF2 = 59,
RDC_PDAP_PERFMON1 = 60,
RDC_PDAP_PERFMON2 = 61,
RDC_PDAP_NOC_BLK_CTL = 62,
RDC_PDAP_QoSC = 63,
RDC_PDAP_LVDS0 = 64,
RDC_PDAP_LVDS1 = 65,
RDC_PDAP_I2C1 = 66,
RDC_PDAP_I2C2 = 67,
RDC_PDAP_I2C3 = 68,
RDC_PDAP_I2C4 = 69,
RDC_PDAP_UART4 = 70,
RDC_PDAP_HDMI_TX = 71,
RDC_PDAP_IRQ_STEER_Audio_Processor = 72,
RDC_PDAP_SDMA2 = 73,
RDC_PDAP_MU_1_A = 74,
RDC_PDAP_MU_1_B = 75,
RDC_PDAP_SEMAPHORE_HS = 76,
RDC_PDAP_SAI1 = 78,
RDC_PDAP_SAI2 = 79,
RDC_PDAP_SAI3 = 80,
RDC_PDAP_CAN_FD1 = 81,
RDC_PDAP_SAI5 = 82,
RDC_PDAP_SAI6 = 83,
RDC_PDAP_uSDHC1 = 84,
RDC_PDAP_uSDHC2 = 85,
RDC_PDAP_uSDHC3 = 86,
RDC_PDAP_PCIE_PHY1 = 87,
RDC_PDAP_HDMI_TX_AUDLNK_MSTR = 88,
RDC_PDAP_CAN_FD2 = 89,
RDC_PDAP_SPBA2 = 90,
RDC_PDAP_QSPI = 91,
RDC_PDAP_AUDIO_BLK_CTRL = 92,
RDC_PDAP_SDMA1 = 93,
RDC_PDAP_ENET1 = 94,
RDC_PDAP_ENET2_TSN = 95,
RDC_PDAP_ASRC = 97,
RDC_PDAP_eCSPI1 = 98,
RDC_PDAP_eCSPI2 = 99,
RDC_PDAP_eCSPI3 = 100,
RDC_PDAP_SAI7 = 101,
RDC_PDAP_UART1 = 102,
RDC_PDAP_UART3 = 104,
RDC_PDAP_UART2 = 105,
RDC_PDAP_PDM_MICFIL = 106,
RDC_PDAP_AUDIO_XCVR_RX_eARC = 107,
RDC_PDAP_SDMA3 = 109,
RDC_PDAP_SPBA1 = 111,
};
enum csu_csl_idx {
CSU_CSL_GPIO1 = 0,
CSU_CSL_GPIO2 = 1,
CSU_CSL_GPIO3 = 2,
CSU_CSL_GPIO4 = 3,
CSU_CSL_GPIO5 = 4,
CSU_CSL_MU_2_A = 5,
CSU_CSL_ANA_TSENSOR = 6,
CSU_CSL_ANA_OSC = 7,
CSU_CSL_WDOG1 = 8,
CSU_CSL_WDOG2 = 9,
CSU_CSL_WDOG3 = 10,
CSU_CSL_GPT1 = 13,
CSU_CSL_GPT2 = 14,
CSU_CSL_GPT3 = 15,
CSU_CSL_MU_2_B = 16,
CSU_CSL_ROMCP = 17,
CSU_CSL_MU_3_A = 18,
CSU_CSL_IOMUXC = 19,
CSU_CSL_IOMUXC_GPR = 20,
CSU_CSL_OCOTP_CTRL = 21,
CSU_CSL_ANA_PLL = 22,
CSU_CSL_SNVS_HP = 23,
CSU_CSL_CCM = 24,
CSU_CSL_SRC = 25,
CSU_CSL_GPC = 26,
CSU_CSL_SEMAPHORE1 = 27,
CSU_CSL_SEMAPHORE2 = 28,
CSU_CSL_RDC = 29,
CSU_CSL_CSU = 30,
CSU_CSL_MU_3_B = 31,
CSU_CSL_ISI = 32,
CSU_CSL_ISP0 = 33,
CSU_CSL_ISP1 = 34,
CSU_CSL_IPS_Dewarp = 35,
CSU_CSL_MIPI_CSI0 = 36,
CSU_CSL_HSIOMIX_BLK_CTL = 37,
CSU_CSL_PWM1 = 38,
CSU_CSL_PWM2 = 39,
CSU_CSL_PWM3 = 40,
CSU_CSL_PWM4 = 41,
CSU_CSL_System_Counter_RD = 42,
CSU_CSL_System_Counter_CMP = 43,
CSU_CSL_System_Counter_CTRL = 44,
CSU_CSL_I2C5 = 45,
CSU_CSL_GPT6 = 46,
CSU_CSL_GPT5 = 47,
CSU_CSL_GPT4 = 48,
CSU_CSL_MIPI_CSI1 = 49,
CSU_CSL_MIPI_DSI0 = 50,
CSU_CSL_MEDIAMIX_BLK_CTL = 51,
CSU_CSL_LCDIF1 = 52,
CSU_CSL_eDMA_Management_Page = 53,
CSU_CSL_eDMA_Channels_15_0 = 54,
CSU_CSL_eDMA_Channels_31_16 = 55,
CSU_CSL_TZASC = 56,
CSU_CSL_I2C6 = 57,
CSU_CSL_CAAM = 58,
CSU_CSL_LCDIF2 = 59,
CSU_CSL_PERFMON1 = 60,
CSU_CSL_PERFMON2 = 61,
CSU_CSL_NOC_BLK_CTL = 62,
CSU_CSL_QoSC = 63,
CSU_CSL_LVDS0 = 64,
CSU_CSL_LVDS1 = 65,
CSU_CSL_I2C1 = 66,
CSU_CSL_I2C2 = 67,
CSU_CSL_I2C3 = 68,
CSU_CSL_I2C4 = 69,
CSU_CSL_UART4 = 70,
CSU_CSL_HDMI_TX = 71,
CSU_CSL_IRQ_STEER_Audio_Processor = 72,
CSU_CSL_SDMA2 = 73,
CSU_CSL_MU_1_A = 74,
CSU_CSL_MU_1_B = 75,
CSU_CSL_SEMAPHORE_HS = 76,
CSU_CSL_SAI1 = 78,
CSU_CSL_SAI2 = 79,
CSU_CSL_SAI3 = 80,
CSU_CSL_CAN_FD1 = 81,
CSU_CSL_SAI5 = 82,
CSU_CSL_SAI6 = 83,
CSU_CSL_uSDHC1 = 84,
CSU_CSL_uSDHC2 = 85,
CSU_CSL_uSDHC3 = 86,
CSU_CSL_PCIE_PHY1 = 87,
CSU_CSL_HDMI_TX_AUDLNK_MSTR = 88,
CSU_CSL_CAN_FD2 = 89,
CSU_CSL_SPBA2 = 90,
CSU_CSL_QSPI = 91,
CSU_CSL_AUDIO_BLK_CTRL = 92,
CSU_CSL_SDMA1 = 93,
CSU_CSL_ENET1 = 94,
CSU_CSL_ENET2_TSN = 95,
CSU_CSL_ASRC = 97,
CSU_CSL_eCSPI1 = 98,
CSU_CSL_eCSPI2 = 99,
CSU_CSL_eCSPI3 = 100,
CSU_CSL_SAI7 = 101,
CSU_CSL_UART1 = 102,
CSU_CSL_UART3 = 104,
CSU_CSL_UART2 = 105,
CSU_CSL_PDM_MICFIL = 106,
CSU_CSL_AUDIO_XCVR_RX_eARC = 107,
CSU_CSL_SDMA3 = 109,
CSU_CSL_SPBA1 = 111,
CSU_CSL_OCRAM_A = 113,
CSU_CSL_OCRAM = 118,
CSU_CSL_OCRAM_S = 119,
};
#endif /* IMX_SEC_DEF_H */
@@ -0,0 +1,203 @@
/*
* Copyright 2020-2022 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef PLATFORM_DEF_H
#define PLATFORM_DEF_H
#include <common/tbbr/tbbr_img_def.h>
#include <lib/utils_def.h>
#include <lib/xlat_tables/xlat_tables_v2.h>
#include <plat/common/common_def.h>
#define PLATFORM_LINKER_FORMAT "elf64-littleaarch64"
#define PLATFORM_LINKER_ARCH aarch64
#define PLATFORM_STACK_SIZE 0xB00
#define CACHE_WRITEBACK_GRANULE 64
#define PLAT_PRIMARY_CPU U(0x0)
#define PLATFORM_MAX_CPU_PER_CLUSTER U(4)
#define PLATFORM_CLUSTER_COUNT U(1)
#define PLATFORM_CLUSTER0_CORE_COUNT U(4)
#define PLATFORM_CLUSTER1_CORE_COUNT U(0)
#define PLATFORM_CORE_COUNT (PLATFORM_CLUSTER0_CORE_COUNT)
#define IMX_PWR_LVL0 MPIDR_AFFLVL0
#define IMX_PWR_LVL1 MPIDR_AFFLVL1
#define IMX_PWR_LVL2 MPIDR_AFFLVL2
#define PWR_DOMAIN_AT_MAX_LVL U(1)
#define PLAT_MAX_PWR_LVL U(2)
#define PLAT_MAX_OFF_STATE U(4)
#define PLAT_MAX_RET_STATE U(2)
#define PLAT_WAIT_RET_STATE U(1)
#define PLAT_STOP_OFF_STATE U(3)
#if defined(NEED_BL2)
#define BL2_BASE U(0x970000)
#define BL2_SIZE SZ_128K
#define BL2_LIMIT (BL2_BASE + BL2_SIZE)
#define BL31_BASE U(0x950000)
#define IMX_FIP_BASE U(0x40310000)
#define IMX_FIP_SIZE U(0x000300000)
#define IMX_FIP_LIMIT U(FIP_BASE + FIP_SIZE)
/* Define FIP image location on eMMC */
#define IMX_FIP_MMC_BASE U(0x100000)
#define PLAT_IMX8MP_BOOT_MMC_BASE U(0x30B50000) /* SD */
#else
#define BL31_BASE U(0x970000)
#endif
#define BL31_SIZE SZ_128K
#define BL31_LIMIT (BL31_BASE + BL31_SIZE)
#define PLAT_PRI_BITS U(3)
#define PLAT_SDEI_CRITICAL_PRI 0x10
#define PLAT_SDEI_NORMAL_PRI 0x20
#define PLAT_SDEI_SGI_PRIVATE U(9)
/* non-secure uboot base */
#define PLAT_NS_IMAGE_OFFSET U(0x40200000)
#define PLAT_NS_IMAGE_SIZE U(0x00200000)
#define BL32_FDT_OVERLAY_ADDR (PLAT_NS_IMAGE_OFFSET + 0x3000000)
/* GICv3 base address */
#define PLAT_GICD_BASE U(0x38800000)
#define PLAT_GICR_BASE U(0x38880000)
#define PLAT_VIRT_ADDR_SPACE_SIZE (ULL(1) << 32)
#define PLAT_PHY_ADDR_SPACE_SIZE (ULL(1) << 32)
#define MAX_XLAT_TABLES 8
#define MAX_MMAP_REGIONS 16
#define HAB_RVT_BASE U(0x00000900) /* HAB_RVT for i.MX8MM */
#define IMX_BOOT_UART_CLK_IN_HZ 24000000 /* Select 24MHz oscillator */
#define PLAT_CRASH_UART_BASE IMX_BOOT_UART_BASE
#define PLAT_CRASH_UART_CLK_IN_HZ 24000000
#define IMX_CONSOLE_BAUDRATE 115200
#define IMX_AIPSTZ1 U(0x301f0000)
#define IMX_AIPSTZ2 U(0x305f0000)
#define IMX_AIPSTZ3 U(0x309f0000)
#define IMX_AIPSTZ4 U(0x32df0000)
#define IMX_AIPSTZ5 U(0x30df0000)
#define IMX_AIPS_BASE U(0x30000000)
#define IMX_AIPS_SIZE U(0x3000000)
#define IMX_GPV_BASE U(0x32000000)
#define IMX_GPV_SIZE U(0x800000)
#define IMX_AIPS1_BASE U(0x30200000)
#define IMX_AIPS4_BASE U(0x32c00000)
#define IMX_ANAMIX_BASE U(0x30360000)
#define IMX_CCM_BASE U(0x30380000)
#define IMX_SRC_BASE U(0x30390000)
#define IMX_GPC_BASE U(0x303a0000)
#define IMX_RDC_BASE U(0x303d0000)
#define IMX_CSU_BASE U(0x303e0000)
#define IMX_WDOG_BASE U(0x30280000)
#define IMX_SNVS_BASE U(0x30370000)
#define IMX_NOC_BASE U(0x32700000)
#define IMX_NOC_SIZE U(0x100000)
#define IMX_TZASC_BASE U(0x32F80000)
#define IMX_IOMUX_GPR_BASE U(0x30340000)
#define IMX_CAAM_BASE U(0x30900000)
#define IMX_DDRC_BASE U(0x3d400000)
#define IMX_DDRPHY_BASE U(0x3c000000)
#define IMX_DDR_IPS_BASE U(0x3d000000)
#define IMX_DDR_IPS_SIZE U(0x1800000)
#define IMX_ROM_BASE U(0x0)
#define IMX_ROM_SIZE U(0x40000)
#define IMX_NS_OCRAM_BASE U(0x900000)
#define IMX_NS_OCRAM_SIZE U(0x60000)
#define IMX_CAAM_RAM_BASE U(0x100000)
#define IMX_CAAM_RAM_SIZE U(0x10000)
#define IMX_DRAM_BASE U(0x40000000)
#define IMX_DRAM_SIZE U(0xc0000000)
#define IMX_GIC_BASE PLAT_GICD_BASE
#define IMX_GIC_SIZE U(0x200000)
#define IMX_HSIOMIX_CTL_BASE U(0x32f10000)
#define IMX_HDMI_CTL_BASE U(0x32fc0000)
#define RTX_RESET_CTL0 U(0x20)
#define RTX_CLK_CTL0 U(0x40)
#define RTX_CLK_CTL1 U(0x50)
#define TX_CONTROL0 U(0x200)
#define TX_CONTROL1 U(0x220)
#define IMX_MEDIAMIX_CTL_BASE U(0x32ec0000)
#define RSTn_CSR U(0x0)
#define CLK_EN_CSR U(0x4)
#define RST_DIV U(0x8)
#define LCDIF_ARCACHE_CTRL U(0x4c)
#define ISI_CACHE_CTRL U(0x50)
#define WDOG_WSR U(0x2)
#define WDOG_WCR_WDZST BIT(0)
#define WDOG_WCR_WDBG BIT(1)
#define WDOG_WCR_WDE BIT(2)
#define WDOG_WCR_WDT BIT(3)
#define WDOG_WCR_SRS BIT(4)
#define WDOG_WCR_WDA BIT(5)
#define WDOG_WCR_SRE BIT(6)
#define WDOG_WCR_WDW BIT(7)
#define SRC_A53RCR0 U(0x4)
#define SRC_A53RCR1 U(0x8)
#define SRC_OTG1PHY_SCR U(0x20)
#define SRC_OTG2PHY_SCR U(0x24)
#define SRC_GPR1_OFFSET U(0x74)
#define SNVS_LPCR U(0x38)
#define SNVS_LPCR_SRTC_ENV BIT(0)
#define SNVS_LPCR_DP_EN BIT(5)
#define SNVS_LPCR_TOP BIT(6)
#define IOMUXC_GPR10 U(0x28)
#define GPR_TZASC_EN BIT(0)
#define GPR_TZASC_EN_LOCK BIT(16)
#define ANAMIX_MISC_CTL U(0x124)
#define DRAM_PLL_CTRL (IMX_ANAMIX_BASE + 0x50)
#define MAX_CSU_NUM U(64)
#define OCRAM_S_BASE U(0x00180000)
#define OCRAM_S_SIZE U(0x8000)
#define OCRAM_S_LIMIT (OCRAM_S_BASE + OCRAM_S_SIZE)
#define SAVED_DRAM_TIMING_BASE OCRAM_S_BASE
#define COUNTER_FREQUENCY 8000000 /* 8MHz */
#define IMX_WDOG_B_RESET
#define MAX_IO_HANDLES 3U
#define MAX_IO_DEVICES 2U
#define MAX_IO_BLOCK_DEVICES 1U
#define GIC_MAP MAP_REGION_FLAT(IMX_GIC_BASE, IMX_GIC_SIZE, MT_DEVICE | MT_RW)
#define AIPS_MAP MAP_REGION_FLAT(IMX_AIPS_BASE, IMX_AIPS_SIZE, MT_DEVICE | MT_RW) /* AIPS map */
#define OCRAM_S_MAP MAP_REGION_FLAT(OCRAM_S_BASE, OCRAM_S_SIZE, MT_MEMORY | MT_RW) /* OCRAM_S */
#define DDRC_MAP MAP_REGION_FLAT(IMX_DDRPHY_BASE, IMX_DDR_IPS_SIZE, MT_DEVICE | MT_RW) /* DDRMIX */
#define NOC_MAP MAP_REGION_FLAT(IMX_NOC_BASE, IMX_NOC_SIZE, MT_DEVICE | MT_RW) /* NOC QoS */
#define CAAM_RAM_MAP MAP_REGION_FLAT(IMX_CAAM_RAM_BASE, IMX_CAAM_RAM_SIZE, MT_MEMORY | MT_RW) /* CAMM RAM */
#define NS_OCRAM_MAP MAP_REGION_FLAT(IMX_NS_OCRAM_BASE, IMX_NS_OCRAM_SIZE, MT_MEMORY | MT_RW) /* NS OCRAM */
#define ROM_MAP MAP_REGION_FLAT(IMX_ROM_BASE, IMX_ROM_SIZE, MT_MEMORY | MT_RO) /* ROM code */
/*
* Note: DRAM region is mapped with entire size available and uses MT_RW
* attributes.
* See details in docs/plat/imx8m.rst "High Assurance Boot (HABv4)" section
* for explanation of this mapping scheme.
*/
#define DRAM_MAP MAP_REGION_FLAT(IMX_DRAM_BASE, IMX_DRAM_SIZE, MT_MEMORY | MT_RW | MT_NS) /* DRAM */
#endif /* platform_def.h */