xref: /optee_os/core/arch/arm/plat-versal/conf.mk (revision 2234f3c9185ae9c65d8bec07d442781c66d33041)
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