1PLATFORM_FLAVOR ?= ls1021atwr 2 3$(call force,CFG_GENERIC_BOOT,y) 4$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y) 5$(call force,CFG_GIC,y) 6$(call force,CFG_16550_UART,y) 7$(call force,CFG_PM_STUBS,y) 8$(call force,CFG_LS,y) 9 10$(call force,CFG_DRAM0_BASE,0x80000000) 11$(call force,CFG_TEE_OS_DRAM0_SIZE,0x4000000) 12 13ifeq ($(PLATFORM_FLAVOR),ls1021atwr) 14include core/arch/arm/cpu/cortex-a7.mk 15$(call force,CFG_TEE_CORE_NB_CORE,2) 16$(call force,CFG_DRAM0_SIZE,0x40000000) 17$(call force,CFG_CORE_CLUSTER_SHIFT,2) 18CFG_SHMEM_SIZE ?= 0x00100000 19CFG_BOOT_SYNC_CPU ?= y 20CFG_BOOT_SECONDARY_REQUEST ?= y 21endif 22 23ifeq ($(PLATFORM_FLAVOR),ls1021aqds) 24include core/arch/arm/cpu/cortex-a7.mk 25$(call force,CFG_TEE_CORE_NB_CORE,2) 26$(call force,CFG_DRAM0_SIZE,0x80000000) 27$(call force,CFG_CORE_CLUSTER_SHIFT,2) 28CFG_SHMEM_SIZE ?= 0x00100000 29CFG_BOOT_SYNC_CPU ?= y 30CFG_BOOT_SECONDARY_REQUEST ?= y 31endif 32 33ifeq ($(PLATFORM_FLAVOR),ls1012ardb) 34CFG_HW_UNQ_KEY_REQUEST ?= y 35include core/arch/arm/cpu/cortex-armv8-0.mk 36$(call force,CFG_TEE_CORE_NB_CORE,1) 37$(call force,CFG_DRAM0_SIZE,0x40000000) 38$(call force,CFG_CORE_CLUSTER_SHIFT,2) 39CFG_SHMEM_SIZE ?= 0x00200000 40endif 41 42ifeq ($(PLATFORM_FLAVOR),ls1012afrwy) 43CFG_HW_UNQ_KEY_REQUEST ?= y 44include core/arch/arm/cpu/cortex-armv8-0.mk 45$(call force,CFG_TEE_CORE_NB_CORE,1) 46$(call force,CFG_CORE_CLUSTER_SHIFT,2) 47CFG_DRAM0_SIZE ?= 0x20000000 48CFG_SHMEM_SIZE ?= 0x00200000 49endif 50 51ifeq ($(PLATFORM_FLAVOR),ls1043ardb) 52CFG_HW_UNQ_KEY_REQUEST ?= y 53include core/arch/arm/cpu/cortex-armv8-0.mk 54$(call force,CFG_TEE_CORE_NB_CORE,4) 55$(call force,CFG_DRAM0_SIZE,0x80000000) 56$(call force,CFG_CORE_CLUSTER_SHIFT,2) 57CFG_SHMEM_SIZE ?= 0x00200000 58endif 59 60ifeq ($(PLATFORM_FLAVOR),ls1046ardb) 61CFG_HW_UNQ_KEY_REQUEST ?= y 62include core/arch/arm/cpu/cortex-armv8-0.mk 63$(call force,CFG_CAAM_BIG_ENDIAN,y) 64$(call force,CFG_TEE_CORE_NB_CORE,4) 65$(call force,CFG_DRAM0_SIZE,0x80000000) 66$(call force,CFG_CORE_CLUSTER_SHIFT,2) 67CFG_SHMEM_SIZE ?= 0x00200000 68endif 69 70ifeq ($(PLATFORM_FLAVOR),ls1088ardb) 71CFG_HW_UNQ_KEY_REQUEST ?= y 72include core/arch/arm/cpu/cortex-armv8-0.mk 73$(call force,CFG_TEE_CORE_NB_CORE,8) 74$(call force,CFG_DRAM0_SIZE,0x80000000) 75$(call force,CFG_CORE_CLUSTER_SHIFT,2) 76$(call force,CFG_ARM_GICV3,y) 77CFG_SHMEM_SIZE ?= 0x00200000 78endif 79 80ifeq ($(PLATFORM_FLAVOR),ls2088ardb) 81CFG_HW_UNQ_KEY_REQUEST ?= y 82include core/arch/arm/cpu/cortex-armv8-0.mk 83$(call force,CFG_TEE_CORE_NB_CORE,8) 84$(call force,CFG_DRAM0_SIZE,0x80000000) 85$(call force,CFG_CORE_CLUSTER_SHIFT,1) 86$(call force,CFG_ARM_GICV3,y) 87CFG_SHMEM_SIZE ?= 0x00200000 88endif 89 90ifeq ($(PLATFORM_FLAVOR),lx2160ardb) 91CFG_HW_UNQ_KEY_REQUEST ?= y 92include core/arch/arm/cpu/cortex-armv8-0.mk 93$(call force,CFG_TEE_CORE_NB_CORE,16) 94$(call force,CFG_DRAM0_SIZE,0x80000000) 95$(call force,CFG_CORE_CLUSTER_SHIFT,1) 96$(call force,CFG_ARM_GICV3,y) 97$(call force,CFG_PL011,y) 98CFG_SHMEM_SIZE ?= 0x00200000 99endif 100 101ifeq ($(PLATFORM_FLAVOR),ls1028ardb) 102CFG_HW_UNQ_KEY_REQUEST ?= y 103include core/arch/arm/cpu/cortex-armv8-0.mk 104$(call force,CFG_TEE_CORE_NB_CORE,2) 105$(call force,CFG_DRAM0_SIZE,0x80000000) 106$(call force,CFG_CORE_CLUSTER_SHIFT,1) 107$(call force,CFG_ARM_GICV3,y) 108CFG_SHMEM_SIZE ?= 0x00200000 109endif 110 111ifeq ($(platform-flavor-armv8),1) 112$(call force,CFG_WITH_ARM_TRUSTED_FW,y) 113CFG_TZDRAM_START ?= ((CFG_DRAM0_BASE + CFG_DRAM0_SIZE) - CFG_TEE_OS_DRAM0_SIZE) 114CFG_TZDRAM_SIZE ?= ( CFG_TEE_OS_DRAM0_SIZE - CFG_SHMEM_SIZE) 115#CFG_SHMEM_START (Non-Secure shared memory) needs to be 2MB aligned boundary for TZASC 380 configuration. 116CFG_SHMEM_START ?= ((CFG_DRAM0_BASE + CFG_DRAM0_SIZE) - CFG_SHMEM_SIZE) 117$(call force,CFG_ARM64_core,y) 118CFG_USER_TA_TARGETS ?= ta_arm64 119else 120#In ARMv7 platform CFG_SHMEM_SIZE is different to that of ARMv8 platforms. 121CFG_TZDRAM_START ?= ((CFG_DRAM0_BASE + CFG_DRAM0_SIZE) - CFG_TEE_OS_DRAM0_SIZE) 122CFG_TZDRAM_SIZE ?= ( CFG_TEE_OS_DRAM0_SIZE - (2*CFG_SHMEM_SIZE)) 123#CFG_SHMEM_START (Non-Secure shared memory) needs to be 2MB aligned boundary for TZASC 380 configuration. 124CFG_SHMEM_START ?= ((CFG_DRAM0_BASE + CFG_DRAM0_SIZE) - (2*CFG_SHMEM_SIZE)) 125endif 126 127#Keeping Number of TEE thread equal to number of cores on the SoC 128CFG_NUM_THREADS ?= CFG_TEE_CORE_NB_CORE 129 130ifeq ($(CFG_ARM64_core),y) 131$(call force,CFG_WITH_LPAE,y) 132else 133$(call force,CFG_ARM32_core,y) 134$(call force,CFG_SECONDARY_INIT_CNTFRQ,y) 135endif 136 137CFG_CRYPTO_SIZE_OPTIMIZATION ?= n 138CFG_WITH_STACK_CANARIES ?= y 139 140# NXP CAAM support is not enabled by default and can be enabled 141# on the command line 142CFG_NXP_CAAM ?= n 143 144ifeq ($(CFG_NXP_CAAM),y) 145# If NXP CAAM Driver is supported, the Crypto Driver interfacing 146# it with generic crypto API can be enabled. 147CFG_CRYPTO_DRIVER ?= y 148CFG_CAAM_64BIT ?= y 149CFG_CRYPTO_DRIVER_DEBUG ?= n 150else 151$(call force,CFG_CRYPTO_DRIVER,n) 152$(call force,CFG_WITH_SOFTWARE_PRNG,y) 153endif 154 155# Cryptographic configuration 156include core/arch/arm/plat-ls/crypto_conf.mk 157