12ac8d9a8SJorge Ramirez-OrtizPLATFORM_FLAVOR ?= generic 22ac8d9a8SJorge Ramirez-Ortiz 32ac8d9a8SJorge Ramirez-Ortizinclude core/arch/arm/cpu/cortex-armv8-0.mk 42ac8d9a8SJorge Ramirez-Ortiz 5ce27e87fSJorge Ramirez-OrtizCFG_MMAP_REGIONS ?= 24 6ce27e87fSJorge Ramirez-Ortiz 72ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y) 82ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_WITH_ARM_TRUSTED_FW,y) 92ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_TEE_CORE_NB_CORE,2) 102ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_ARM_GICV3,y) 112ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_PL011,y) 122ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_GIC,y) 132ac8d9a8SJorge Ramirez-Ortiz 142ac8d9a8SJorge Ramirez-Ortiz# Disable core ASLR for two reasons: 152ac8d9a8SJorge Ramirez-Ortiz# 1. There is no source for ALSR seed, as TF-a does not provide a 162ac8d9a8SJorge Ramirez-Ortiz# DTB to OP-TEE. Hardware RNG is also not currently supported. 172ac8d9a8SJorge Ramirez-Ortiz# 2. Xilinx's bootgen can't find the OP-TEE entry point from the TEE.elf file 182ac8d9a8SJorge Ramirez-Ortiz# used to generate boot.bin. Enabling ASLR requires an update to TF-A. 192ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_CORE_ASLR,n) 202ac8d9a8SJorge Ramirez-Ortiz 212ac8d9a8SJorge Ramirez-OrtizCFG_CRYPTO_WITH_CE ?= y 222ac8d9a8SJorge Ramirez-OrtizCFG_CORE_DYN_SHM ?= y 232ac8d9a8SJorge Ramirez-OrtizCFG_WITH_STATS ?= y 242ac8d9a8SJorge Ramirez-OrtizCFG_ARM64_core ?= y 252ac8d9a8SJorge Ramirez-Ortiz 262ac8d9a8SJorge Ramirez-OrtizCFG_TZDRAM_START ?= 0x60000000 272ac8d9a8SJorge Ramirez-OrtizCFG_TZDRAM_SIZE ?= 0x10000000 282ac8d9a8SJorge Ramirez-OrtizCFG_SHMEM_START ?= 0x70000000 292ac8d9a8SJorge Ramirez-OrtizCFG_SHMEM_SIZE ?= 0x10000000 302ac8d9a8SJorge Ramirez-Ortiz 312ac8d9a8SJorge Ramirez-Ortizifeq ($(CFG_ARM64_core),y) 322ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_CORE_ARM64_PA_BITS,43) 332ac8d9a8SJorge Ramirez-Ortizelse 342ac8d9a8SJorge Ramirez-Ortiz$(call force,CFG_ARM32_core,y) 352ac8d9a8SJorge Ramirez-Ortizendif 36cd495a5aSJorge Ramirez-Ortiz 37cd495a5aSJorge Ramirez-Ortiz# GPIO 38cd495a5aSJorge Ramirez-OrtizCFG_VERSAL_GPIO ?= y 394b46e0e8SJorge Ramirez-Ortiz 404b46e0e8SJorge Ramirez-Ortiz# Debug information 414b46e0e8SJorge Ramirez-OrtizCFG_VERSAL_TRACE_MBOX ?= n 424b46e0e8SJorge Ramirez-OrtizCFG_VERSAL_TRACE_PLM ?= n 434b46e0e8SJorge Ramirez-Ortiz 444b46e0e8SJorge Ramirez-Ortiz$(call force, CFG_VERSAL_MBOX,y) 454b46e0e8SJorge Ramirez-Ortiz 464b46e0e8SJorge Ramirez-Ortiz# MBOX configuration 474b46e0e8SJorge Ramirez-OrtizCFG_VERSAL_MBOX_IPI_ID ?= 3 48cc672e1fSJorge Ramirez-Ortiz 49cc672e1fSJorge Ramirez-Ortiz$(call force, CFG_VERSAL_RNG_DRV,y) 50cc672e1fSJorge Ramirez-Ortiz$(call force, CFG_WITH_SOFTWARE_PRNG,n) 51cc672e1fSJorge Ramirez-Ortiz 52cc672e1fSJorge Ramirez-Ortiz# TRNG configuration 53cc672e1fSJorge Ramirez-OrtizCFG_VERSAL_TRNG_SEED_LIFE ?= 3 54cc672e1fSJorge Ramirez-OrtizCFG_VERSAL_TRNG_DF_MUL ?= 2 5555667e70SJorge Ramirez-Ortiz 5655667e70SJorge Ramirez-Ortiz# eFuse and BBRAM driver 5755667e70SJorge Ramirez-Ortiz$(call force, CFG_VERSAL_NVM,y) 58dc23c448SJorge Ramirez-Ortiz 59dc23c448SJorge Ramirez-Ortiz# Crypto driver 60dc23c448SJorge Ramirez-OrtizCFG_VERSAL_CRYPTO_DRIVER ?= y 61*2234f3c9SJorge Ramirez-Ortizifeq ($(CFG_VERSAL_CRYPTO_DRIVER),y) 62*2234f3c9SJorge Ramirez-Ortiz# Disable Fault Mitigation: triggers false positives due to 63*2234f3c9SJorge Ramirez-Ortiz# the driver's software fallback operations - need further work 64*2234f3c9SJorge Ramirez-OrtizCFG_FAULT_MITIGATION ?= n 65*2234f3c9SJorge Ramirez-Ortizendif 664502832dSJorge Ramirez-Ortiz 674502832dSJorge Ramirez-Ortiz# SHA3-384 crypto engine 684502832dSJorge Ramirez-OrtizCFG_VERSAL_SHA3_384 ?= y 692742e2bdSJorge Ramirez-Ortiz 702742e2bdSJorge Ramirez-Ortiz# PM driver 712742e2bdSJorge Ramirez-OrtizCFG_VERSAL_PM ?= y 72667e576eSJorge Ramirez-Ortiz 73667e576eSJorge Ramirez-Ortiz# Physical Unclonable Function 74667e576eSJorge Ramirez-OrtizCFG_VERSAL_PUF ?= y 75cd0d1dd6SJorge Ramirez-Ortiz 76cd0d1dd6SJorge Ramirez-Ortiz# Enable Hardware Unique Key driver 77cd0d1dd6SJorge Ramirez-OrtizCFG_VERSAL_HUK ?= y 78cd0d1dd6SJorge Ramirez-Ortiz# AES-GCM supported key sources for HUK: 79cd0d1dd6SJorge Ramirez-Ortiz# 6 : eFUSE USR 0 80cd0d1dd6SJorge Ramirez-Ortiz# 7 : eFuse USR 1 81cd0d1dd6SJorge Ramirez-Ortiz# 11 : PUF KEK 82cd0d1dd6SJorge Ramirez-Ortiz# 12 : AES User Key 0 (devel) 83cd0d1dd6SJorge Ramirez-OrtizCFG_VERSAL_HUK_KEY ?= 12 84cd0d1dd6SJorge Ramirez-Ortizifneq ($(CFG_VERSAL_HUK_KEY),$(filter 6 7 11 12,$(firstword $(CFG_VERSAL_HUK_KEY)))) 85cd0d1dd6SJorge Ramirez-Ortiz$(error Invalid value: CFG_VERSAL_HUK_KEY=$(CFG_VERSAL_HUK_KEY)) 86cd0d1dd6SJorge Ramirez-Ortizendif 8726653d8fSJorge Ramirez-Ortiz 8826653d8fSJorge Ramirez-OrtizCFG_CORE_HEAP_SIZE ?= 262144 89