xref: /optee_os/core/arch/arm/plat-ls/conf.mk (revision 0d9e74defbc26a6c107598adfeabd59e7068f41b)
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