xref: /optee_os/core/arch/arm/plat-zynqmp/conf.mk (revision c89e397c838f443db2b60ab20aac8565d21a8774)
1dc57f5a0SSoren BrinkmannPLATFORM_FLAVOR ?= zcu102
2dc57f5a0SSoren Brinkmann
343896851SEtienne Carriereinclude core/arch/arm/cpu/cortex-armv8-0.mk
443896851SEtienne Carriere
59460285eSJerome Forissier$(call force,CFG_TEE_CORE_NB_CORE,4)
6dc57f5a0SSoren Brinkmann$(call force,CFG_CDNS_UART,y)
7dc57f5a0SSoren Brinkmann$(call force,CFG_GIC,y)
8dc57f5a0SSoren Brinkmann$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y)
9dc57f5a0SSoren Brinkmann$(call force,CFG_WITH_ARM_TRUSTED_FW,y)
10dc57f5a0SSoren Brinkmann
11ae2b65fcSRicardo Salveti# Disable core ASLR for two reasons:
12ae2b65fcSRicardo Salveti# 1. There is no source for ALSR seed, as ATF does not provide a
13ae2b65fcSRicardo Salveti#    DTB to OP-TEE. Hardware RNG is also not currently supported.
14ae2b65fcSRicardo Salveti# 2. OP-TEE does not boot with enabled CFG_CORE_ASLR.
15ae2b65fcSRicardo Salveti$(call force,CFG_CORE_ASLR,n)
16ae2b65fcSRicardo Salveti
17dc57f5a0SSoren Brinkmannifeq ($(CFG_ARM64_core),y)
1810a72028SVesa Jääskeläinen# ZynqMP supports up to 40 bits of physical addresses
1910a72028SVesa JääskeläinenCFG_CORE_ARM64_PA_BITS ?= 40
20dc57f5a0SSoren Brinkmannelse
21dc57f5a0SSoren Brinkmann$(call force,CFG_ARM32_core,y)
22dc57f5a0SSoren Brinkmannendif
23dc57f5a0SSoren Brinkmann
24*c89e397cSNasreddine Ouldei Tebinaifneq (,$(filter $(PLATFORM_FLAVOR),zcu102 zcu104 zcu106 zc1751_dc1 zc1751_dc2))
25b917d42eSIgor Opaniuk
26b917d42eSIgor OpaniukCFG_UART_BASE ?= UART0_BASE
27b917d42eSIgor OpaniukCFG_UART_IT ?= IT_UART0
28b917d42eSIgor OpaniukCFG_UART_CLK_HZ ?= UART0_CLK_IN_HZ
29b917d42eSIgor Opaniuk
301e846e20SVesa Jääskeläinen# ZCU102 features 4 GiB of DDR
311e846e20SVesa Jääskeläinenifeq ($(CFG_ARM64_core),y)
321e846e20SVesa JääskeläinenCFG_DDR_SIZE ?= 0x100000000
331e846e20SVesa Jääskeläinenelse
341e846e20SVesa Jääskeläinen# On 32 bit build limit to 2 GiB of RAM
35df8976a1SVesa JääskeläinenCFG_DDR_SIZE ?= 0x80000000
361e846e20SVesa Jääskeläinenendif
371e846e20SVesa Jääskeläinenendif
381e846e20SVesa Jääskeläinen
391e846e20SVesa Jääskeläinenifneq (,$(filter $(PLATFORM_FLAVOR),ultra96))
40b917d42eSIgor Opaniuk
41b917d42eSIgor OpaniukCFG_UART_BASE ?= UART1_BASE
42b917d42eSIgor OpaniukCFG_UART_IT ?= IT_UART1
43b917d42eSIgor OpaniukCFG_UART_CLK_HZ ?= UART1_CLK_IN_HZ
44b917d42eSIgor Opaniuk
451e846e20SVesa Jääskeläinen# Ultra96 features 2 GiB of DDR
461e846e20SVesa JääskeläinenCFG_DDR_SIZE ?= 0x80000000
471e846e20SVesa Jääskeläinenendif
48df8976a1SVesa Jääskeläinen
4908363023SVesa Jääskeläinen# By default use DT address as specified by Xilinx
5008363023SVesa JääskeläinenCFG_DT_ADDR ?= 0x100000
5108363023SVesa Jääskeläinen
52c43d7569SRicardo SalvetiCFG_TZDRAM_START ?= 0x60000000
53c43d7569SRicardo SalvetiCFG_TZDRAM_SIZE  ?= 0x10000000
54c43d7569SRicardo SalvetiCFG_SHMEM_START  ?= 0x70000000
55c43d7569SRicardo SalvetiCFG_SHMEM_SIZE   ?= 0x10000000
56c43d7569SRicardo Salveti
57dc57f5a0SSoren BrinkmannCFG_WITH_STATS ?= y
58dc57f5a0SSoren BrinkmannCFG_CRYPTO_WITH_CE ?= y
59e4a0a852SJorge Ramirez-Ortiz
60dfeed924SVesa Jääskeläinen# Enable use of User AES eFuse as device key instead of PUF.
61dfeed924SVesa Jääskeläinen# This is needed when images are encrypted with AES eFuse device key (AES_KEY).
62dfeed924SVesa JääskeläinenCFG_ZYNQMP_HUK_AES_EFUSE ?= n
63dfeed924SVesa Jääskeläinen
64dfeed924SVesa Jääskeläinen# Configures bitmask which user eFuses should be included in HUK generation.
65dfeed924SVesa Jääskeläinen# Used when (part of) user eFuses are used for HUK seed (i.e. programmed with
66dfeed924SVesa Jääskeläinen# good random values).
67dfeed924SVesa Jääskeläinen# Bit 0 means eFuse USER_0, bit 1 for eFuse USER 1 and so on.
68dfeed924SVesa JääskeläinenCFG_ZYNQMP_HUK_USER_EFUSE_MASK ?= 0
69dfeed924SVesa Jääskeläinen
709b61a2bcSJorge Ramirez-OrtizCFG_ZYNQMP_PM ?= $(CFG_ARM64_core)
719b61a2bcSJorge Ramirez-Ortiz
72f57e4036SJorge Ramirez-Ortizifeq ($(CFG_RPMB_FS),y)
73f57e4036SJorge Ramirez-Ortiz$(call force,CFG_ZYNQMP_HUK,y,Mandated by CFG_RPMB_FS)
74f57e4036SJorge Ramirez-Ortizendif
75f57e4036SJorge Ramirez-Ortiz
761d23b02eSJorge Ramirez-Ortizifeq ($(CFG_ZYNQMP_HUK),y)
771d23b02eSJorge Ramirez-Ortiz$(call force,CFG_ZYNQMP_CSU_AES,y,Mandated by CFG_ZYNQMP_HUK)
78dfeed924SVesa Jääskeläinenifneq ($(CFG_ZYNQMP_HUK_AES_EFUSE),y)
791d23b02eSJorge Ramirez-Ortiz$(call force,CFG_ZYNQMP_CSU_PUF,y,Mandated by CFG_ZYNQMP_HUK)
801d23b02eSJorge Ramirez-Ortizendif
81dfeed924SVesa Jääskeläinenendif
821d23b02eSJorge Ramirez-Ortiz
83f072eea4SJorge Ramirez-Ortizifeq ($(CFG_ZYNQMP_CSU_AES),y)
84f072eea4SJorge Ramirez-Ortiz$(call force,CFG_ZYNQMP_CSUDMA,y,Mandated by CFG_ZYNQMP_CSU_AES)
85f072eea4SJorge Ramirez-Ortiz$(call force,CFG_DT,y,Mandated by CFG_ZYNQMP_CSU_AES)
86f072eea4SJorge Ramirez-Ortizendif
87f072eea4SJorge Ramirez-Ortiz
88f072eea4SJorge Ramirez-Ortizifneq (,$(filter y, $(CFG_ZYNQMP_CSU_PUF) $(CFG_ZYNQMP_CSUDMA) $(CFG_ZYNQMP_CSU_AES)))
89777da538SJorge Ramirez-Ortiz$(call force,CFG_ZYNQMP_CSU,y,Mandated by CFG_ZYNQMP_CSU* clients)
90e4a0a852SJorge Ramirez-Ortizendif
91