Commit dc05e50b authored by Pankaj Gupta's avatar Pankaj Gupta
Browse files

nxp: deflt hdr files for soc & their platforms



- Default header files for:
  -- plat/nxp/soc-lxxxx/include/soc.h uses:
	--- soc_default_base_addr.h
        --- soc_default_base_macros.h

  -- plat/nxp/soc-lxxxx/<$PLAT>/platform_def.h uses:
	--- plat_default_def.h: Every macro define can be overidden.

  -- include/common/tbbr/tbbr_img_def.h uses:
	--- plat_tbbr_img_def.h: platform specific new FIP image macros.
Signed-off-by: default avatarPankaj Gupta <pankaj.gupta@nxp.com>
Change-Id: Ic50003e27e87891be3cd18bdb4e14a1c7272d492
parent b53c2c5f
/*
* Copyright 2021 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef SOC_DEFAULT_BASE_ADDR_H
#define SOC_DEFAULT_BASE_ADDR_H
/* CCSR mmu_def.h */
#define NXP_CCSR_ADDR 0x01000000
#define NXP_CCSR_SIZE 0x0F000000
#define NXP_DCSR_ADDR 0x20000000
#define NXP_DCSR_SIZE 0x4000000
/* Flex-SPI controller address */
#define NXP_FLEXSPI_ADDR 0x020C0000
/* QSPI Flash Start address */
#define NXP_QSPI_FLASH_ADDR 0x40000000
/* NOR Flash Start address */
#define NXP_IFC_REGION_ADDR 0x60000000
#define NXP_NOR_FLASH_ADDR NXP_IFC_REGION_ADDR
/* MMU 500 soc.c*/
#define NXP_SMMU_ADDR 0x09000000
#define NXP_SNVS_ADDR 0x01E90000
#define NXP_DCFG_ADDR 0x01EE0000
#define NXP_SFP_ADDR 0x01E80000
#define NXP_RCPM_ADDR 0x01EE2000
#define NXP_CSU_ADDR 0x01510000
#define NXP_SCFG_ADDR 0x01570000
#define NXP_DCSR_ADDR 0x20000000
#define NXP_DCSR_DCFG_ADDR (NXP_DCSR_ADDR + 0x00140000)
#define NXP_I2C_ADDR 0x02180000
#define NXP_ESDHC_ADDR 0x01560000
#define NXP_UART_ADDR 0x021C0500
#define NXP_UART1_ADDR 0x021C0600
#define NXP_GPIO1_ADDR 0x02300000
#define NXP_GPIO2_ADDR 0x02310000
#define NXP_GPIO3_ADDR 0x02320000
#define NXP_GPIO4_ADDR 0x02330000
#define NXP_WDOG1_NS_ADDR 0x02390000
#define NXP_WDOG2_NS_ADDR 0x023A0000
#define NXP_WDOG1_TZ_ADDR 0x023B0000
#define NXP_WDOG2_TZ_ADDR 0x023C0000
#define NXP_TIMER_STATUS_ADDR 0x023F0000
#define NXP_GICD_4K_ADDR 0x01401000
#define NXP_GICC_4K_ADDR 0x01402000
#define NXP_GICD_64K_ADDR 0x01410000
#define NXP_GICC_64K_ADDR 0x01420000
#define NXP_CAAM_ADDR 0x01700000
#define NXP_TZC_ADDR 0x01500000
#define NXP_DDR_ADDR 0x01080000
#define NXP_TIMER_ADDR 0x02B00000
#define NXP_CCI_ADDR 0x01180000
#define NXP_RESET_ADDR 0x01E60000
#define NXP_SEC_REGFILE_ADDR 0x01E88000
#endif /* SOC_DEFAULT_BASE_ADDR_H */
/*
* Copyright 2021 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef SOC_DEFAULT_HELPER_MACROS_H
#define SOC_DEFAULT_HELPER_MACROS_H
#ifdef NXP_OCRAM_TZPC_ADDR
/* 0x1: means 4 KB
* 0x2: means 8 KB
*/
#define TZPC_BLOCK_SIZE 0x1000
#endif
/* DDR controller offsets and defines */
#ifdef NXP_DDR_ADDR
#define DDR_CFG_2_OFFSET 0x114
#define CFG_2_FORCE_REFRESH 0x80000000
#endif /* NXP_DDR_ADDR */
/* Reset block register offsets */
#ifdef NXP_RESET_ADDR
/* Register Offset */
#define RST_RSTCR_OFFSET 0x0
#define RST_RSTRQMR1_OFFSET 0x10
#define RST_RSTRQSR1_OFFSET 0x18
#define BRR_OFFSET 0x60
/* helper macros */
#define RSTRQSR1_SWRR 0x800
#define RSTRQMR_RPTOE_MASK (1 << 19)
#endif /* NXP_RESET_ADDR */
/* Secure-Register-File register offsets and bit masks */
#ifdef NXP_RST_ADDR
/* Register Offset */
#define CORE_HOLD_OFFSET 0x140
#define RSTCNTL_OFFSET 0x180
/* Helper macros */
#define SW_RST_REQ_INIT 0x1
#endif
#ifdef NXP_RCPM_ADDR
/* RCPM Register Offsets */
#define RCPM_PCPH20SETR_OFFSET 0x0D4
#define RCPM_PCPH20CLRR_OFFSET 0x0D8
#define RCPM_POWMGTCSR_OFFSET 0x130
#define RCPM_IPPDEXPCR0_OFFSET 0x140
#define RCPM_POWMGTCSR_LPM20_REQ 0x00100000
#endif
#endif /* SOC_DEFAULT_HELPER_MACROS_H */
/*
* Copyright 2021 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef SOC_DEFAULT_BASE_ADDR_H
#define SOC_DEFAULT_BASE_ADDR_H
/* CCSR mmu_def.h */
#define NXP_CCSR_ADDR 0x1000000
#define NXP_CCSR_SIZE 0xF000000
#define NXP_DCSR_ADDR 0x700000000
#define NXP_DCSR_SIZE 0x40000000
/* Flex-SPI controller address */
#define NXP_FLEXSPI_ADDR 0x020C0000
/* Flex-SPI Flash Start address */
#define NXP_FLEXSPI_FLASH_ADDR 0x20000000
/* MMU 500 soc.c*/
#define NXP_SMMU_ADDR 0x05000000
#define NXP_SNVS_ADDR 0x01E90000
#define NXP_DCFG_ADDR 0x01E00000
#define NXP_PMU_CCSR_ADDR 0x01E30000
#define NXP_PMU_DCSR_ADDR 0x700123000
#define NXP_PMU_ADDR NXP_PMU_CCSR_ADDR
#define NXP_SFP_ADDR 0x01E80000
#define NXP_SCFG_ADDR 0x01FC0000
#define NXP_I2C_ADDR 0x02000000
#define NXP_ESDHC_ADDR 0x02140000
#define NXP_ESDHC2_ADDR 0x02150000
#define NXP_UART_ADDR 0x021C0000
#define NXP_UART1_ADDR 0x021D0000
#define NXP_GPIO1_ADDR 0x02300000
#define NXP_GPIO2_ADDR 0x02310000
#define NXP_GPIO3_ADDR 0x02320000
#define NXP_GPIO4_ADDR 0x02330000
#define NXP_WDOG1_NS_ADDR 0x02390000
#define NXP_WDOG2_NS_ADDR 0x023A0000
#define NXP_WDOG1_TZ_ADDR 0x023B0000
#define NXP_WDOG2_TZ_ADDR 0x023C0000
#define NXP_TIMER_STATUS_ADDR 0x023F0000
#define NXP_GICD_ADDR 0x06000000
#define NXP_GICR_ADDR 0x06200000
#define NXP_GICR_SGI_ADDR 0x06210000
#define NXP_CAAM_ADDR 0x08000000
#define NXP_TZC_ADDR 0x01100000
#define NXP_TZC2_ADDR 0x01110000
#define NXP_TZC3_ADDR 0x01120000
#define NXP_RESET_ADDR 0x01E60000
#define NXP_SEC_REGFILE_ADDR 0x01E88000
#endif /* SOC_DEFAULT_BASE_ADDR_H */
/*
* Copyright 2021 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef SOC_DEFAULT_BASE_ADDR_H
#define SOC_DEFAULT_BASE_ADDR_H
/* CCSR mmu_def.h */
#define NXP_CCSR_ADDR 0x1000000
#define NXP_CCSR_SIZE 0xF000000
#define NXP_DCSR_ADDR 0x700000000
#define NXP_DCSR_SIZE 0x40000000
/* Flex-SPI controller address */
#define NXP_FLEXSPI_ADDR 0x020C0000
/* Flex-SPI Flash Start address */
#define NXP_FLEXSPI_FLASH_ADDR 0x20000000
/* MMU 500 soc.c*/
#define NXP_SMMU_ADDR 0x05000000
#define NXP_SNVS_ADDR 0x01E90000
#define NXP_DCFG_ADDR 0x01E00000
#define NXP_PMU_CCSR_ADDR 0x01E30000
#define NXP_PMU_DCSR_ADDR 0x700123000
#define NXP_PMU_ADDR NXP_PMU_CCSR_ADDR
#define NXP_SFP_ADDR 0x01E80000
#define NXP_SCFG_ADDR 0x01FC0000
#define NXP_I2C_ADDR 0x02000000
#define NXP_ESDHC_ADDR 0x02140000
#define NXP_ESDHC2_ADDR 0x02150000
#define NXP_UART_ADDR 0x021C0000
#define NXP_UART1_ADDR 0x021D0000
#define NXP_GPIO1_ADDR 0x02300000
#define NXP_GPIO2_ADDR 0x02310000
#define NXP_GPIO3_ADDR 0x02320000
#define NXP_GPIO4_ADDR 0x02330000
#define NXP_WDOG1_NS_ADDR 0x02390000
#define NXP_WDOG2_NS_ADDR 0x023A0000
#define NXP_WDOG1_TZ_ADDR 0x023B0000
#define NXP_WDOG2_TZ_ADDR 0x023C0000
#define NXP_TIMER_STATUS_ADDR 0x023F0000
#define NXP_GICD_ADDR 0x06000000
#define NXP_GICR_ADDR 0x06200000
#define NXP_GICR_SGI_ADDR 0x06210000
#define NXP_CAAM_ADDR 0x08000000
#define NXP_TZC_ADDR 0x01100000
#define NXP_TZC2_ADDR 0x01110000
#define NXP_TZC3_ADDR 0x01120000
#define NXP_TIMER_ADDR 0x023E0000
#define NXP_RESET_ADDR 0x01E60000
#define NXP_SEC_REGFILE_ADDR 0x01E88000
#define NXP_RST_ADDR 0x01E88000
#define TPMWAKEMR0_ADDR 0x700123c50
#define TZPC_BLOCK_SIZE 0x1000
#define NXP_TZC_ADDR 0x01100000
#define NXP_TZC2_ADDR 0x01110000
#define NXP_TZC3_ADDR 0x01120000
#define NXP_TZC4_ADDR 0x01130000
#define NXP_DDR_ADDR 0x01080000
#define NXP_DDR2_ADDR 0x01090000
#define NXP_OCRAM_TZPC_ADDR 0x02200000
#define NXP_CCN_ADDR 0x04000000
#define NXP_CCN_HNI_ADDR 0x04080000
#define NXP_CCN_HN_F_0_ADDR 0x04200000
#endif /* SOC_DEFAULT_BASE_ADDR_H */
/*
* Copyright 2021 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef SOC_DEFAULT_HELPER_MACROS_H
#define SOC_DEFAULT_HELPER_MACROS_H
#ifdef NXP_OCRAM_TZPC_ADDR
/* 0x1: means 4 KB
* 0x2: means 8 KB
*/
#define TZPC_BLOCK_SIZE 0x1000
#endif
/* DDR controller offsets and defines */
#ifdef NXP_DDR_ADDR
#define DDR_CFG_2_OFFSET 0x114
#define CFG_2_FORCE_REFRESH 0x80000000
#endif /* NXP_DDR_ADDR */
/* Reset block register offsets */
#ifdef NXP_RESET_ADDR
/* Register Offset */
#define RST_RSTCR_OFFSET 0x0
#define RST_RSTRQMR1_OFFSET 0x10
#define RST_RSTRQSR1_OFFSET 0x18
#define BRR_OFFSET 0x60
/* helper macros */
#define RSTRQSR1_SWRR 0x800
#define RSTRQMR_RPTOE_MASK (1 << 19)
#endif /* NXP_RESET_ADDR */
/* Secure-Register-File register offsets and bit masks */
#ifdef NXP_RST_ADDR
/* Register Offset */
#define CORE_HOLD_OFFSET 0x140
#define RSTCNTL_OFFSET 0x180
/* Helper macros */
#define SW_RST_REQ_INIT 0x1
#endif
#ifdef NXP_CCN_ADDR
#define NXP_CCN_HN_F_1_ADDR 0x04210000
#define CCN_HN_F_SAM_NODEID_MASK 0x7f
#define CCN_HN_F_SNP_DMN_CTL_OFFSET 0x200
#define CCN_HN_F_SNP_DMN_CTL_SET_OFFSET 0x210
#define CCN_HN_F_SNP_DMN_CTL_CLR_OFFSET 0x220
#define CCN_HN_F_SNP_DMN_CTL_MASK 0x80a00
#define CCN_HNF_NODE_COUNT 8
#define CCN_HNF_OFFSET 0x10000
#define SA_AUX_CTRL_REG_OFFSET 0x500
#define NUM_HNI_NODE 2
#define CCN_HNI_MEMORY_MAP_SIZE 0x10000
#define PCIeRC_RN_I_NODE_ID_OFFSET 0x8
#define PoS_CONTROL_REG_OFFSET 0x0
#define POS_EARLY_WR_COMP_EN 0x20
#define HNI_POS_EN 0x01
#define POS_TERMINATE_BARRIERS 0x10
#define SERIALIZE_DEV_nGnRnE_WRITES 0x200
#define ENABLE_ERR_SIGNAL_TO_MN 0x4
#define ENABLE_RESERVE_BIT53 0x400
#define ENABLE_WUO 0x10
#endif /* NXP_CCN_ADDR */
#endif /* SOC_DEFAULT_HELPER_MACROS_H */
/*
* Copyright 2021 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef PLAT_DEFAULT_DEF_H
#define PLAT_DEFAULT_DEF_H
/*
* Platform binary types for linking
*/
#ifdef __aarch64__
#define PLATFORM_LINKER_FORMAT "elf64-littleaarch64"
#define PLATFORM_LINKER_ARCH aarch64
#else
#define PLATFORM_LINKER_FORMAT "elf32-littlearm"
#define PLATFORM_LINKER_ARCH arm
#endif /* __aarch64__ */
#define LS_BL31_PLAT_PARAM_VAL 0x0f1e2d3c4b5a6978ULL
/* NXP Platforms have DRAM divided into banks.
* DRAM0 Bank: Maximum size of this bank is fixed to 2GB
* DRAM1 Bank: Greater than 2GB belongs to bank1 and size of bank1 varies from
* one platform to other platform.
* DRAMn Bank:
*
* Except a few, all the platforms have 2GB size as DRAM0 BANK.
* Hence common for all the platforms.
* For platforms where DRAM0 Size is < 2GB, it is defined in platform_def.h
*/
#ifndef PLAT_DEF_DRAM0_SIZE
#define PLAT_DEF_DRAM0_SIZE 0x80000000 /* 2G */
#endif
/* This is common for all platforms where: */
#ifndef NXP_NS_DRAM_ADDR
#define NXP_NS_DRAM_ADDR NXP_DRAM0_ADDR
#endif
/* 64M is reserved for Secure memory
*/
#ifndef NXP_SECURE_DRAM_SIZE
#define NXP_SECURE_DRAM_SIZE (64 * 1024 * 1024)
#endif
/* 2M Secure EL1 Payload Shared Memory */
#ifndef NXP_SP_SHRD_DRAM_SIZE
#define NXP_SP_SHRD_DRAM_SIZE (2 * 1024 * 1024)
#endif
#ifndef NXP_NS_DRAM_SIZE
/* Non secure memory */
#define NXP_NS_DRAM_SIZE (PLAT_DEF_DRAM0_SIZE - \
(NXP_SECURE_DRAM_SIZE + NXP_SP_SHRD_DRAM_SIZE))
#endif
#ifndef NXP_SECURE_DRAM_ADDR
#ifdef TEST_BL31
#define NXP_SECURE_DRAM_ADDR 0
#else
#define NXP_SECURE_DRAM_ADDR (NXP_NS_DRAM_ADDR + PLAT_DEF_DRAM0_SIZE - \
(NXP_SECURE_DRAM_SIZE + NXP_SP_SHRD_DRAM_SIZE))
#endif
#endif
#ifndef NXP_SP_SHRD_DRAM_ADDR
#define NXP_SP_SHRD_DRAM_ADDR (NXP_NS_DRAM_ADDR + PLAT_DEF_DRAM0_SIZE \
- NXP_SP_SHRD_DRAM_SIZE)
#endif
#ifndef BL31_BASE
/* 2 MB reserved in secure memory for DDR */
#define BL31_BASE NXP_SECURE_DRAM_ADDR
#endif
#ifndef BL31_SIZE
#define BL31_SIZE (0x200000)
#endif
#ifndef BL31_LIMIT
#define BL31_LIMIT (BL31_BASE + BL31_SIZE)
#endif
/* Put BL32 in secure memory */
#ifndef BL32_BASE
#define BL32_BASE (NXP_SECURE_DRAM_ADDR + BL31_SIZE)
#endif
#ifndef BL32_LIMIT
#define BL32_LIMIT (NXP_SECURE_DRAM_ADDR + \
NXP_SECURE_DRAM_SIZE + NXP_SP_SHRD_DRAM_SIZE)
#endif
/* BL33 memory region */
/* Hardcoded based on current address in u-boot */
#ifndef BL33_BASE
#define BL33_BASE 0x82000000
#endif
#ifndef BL33_LIMIT
#define BL33_LIMIT (NXP_NS_DRAM_ADDR + NXP_NS_DRAM_SIZE)
#endif
/*
* FIP image defines - Offset at which FIP Image would be present
* Image would include Bl31 , Bl33 and Bl32 (optional)
*/
#ifdef POLICY_FUSE_PROVISION
#ifndef FUSE_BUF
#define FUSE_BUF ULL(0x81000000)
#endif
#ifndef FUSE_SZ
#define FUSE_SZ 0x80000
#endif
#endif
#ifndef MAX_FIP_DEVICES
#define MAX_FIP_DEVICES 2
#endif
#ifndef PLAT_FIP_OFFSET
#define PLAT_FIP_OFFSET 0x100000
#endif
#ifndef PLAT_FIP_MAX_SIZE
#define PLAT_FIP_MAX_SIZE 0x400000
#endif
/* Check if this size can be determined from array size */
#if defined(IMAGE_BL2)
#ifndef MAX_MMAP_REGIONS
#define MAX_MMAP_REGIONS 8
#endif
#ifndef MAX_XLAT_TABLES
#define MAX_XLAT_TABLES 6
#endif
#elif defined(IMAGE_BL31)
#ifndef MAX_MMAP_REGIONS
#define MAX_MMAP_REGIONS 9
#endif
#ifndef MAX_XLAT_TABLES
#define MAX_XLAT_TABLES 9
#endif
#elif defined(IMAGE_BL32)
#ifndef MAX_MMAP_REGIONS
#define MAX_MMAP_REGIONS 8
#endif
#ifndef MAX_XLAT_TABLES
#define MAX_XLAT_TABLES 9
#endif
#endif
/*
* ID of the secure physical generic timer interrupt used by the BL32.
*/
#ifndef BL32_IRQ_SEC_PHY_TIMER
#define BL32_IRQ_SEC_PHY_TIMER 29
#endif
#endif /* PLAT_DEFAULT_DEF_H */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment