xref: /optee_os/core/arch/arm/plat-imx/conf.mk (revision 062e3d01c039dac541b9fc9eaa1d6c4497435474)
1PLATFORM_FLAVOR ?= mx6ulevk
2
3# Get SoC associated with the PLATFORM_FLAVOR
4mx6ul-flavorlist = \
5	mx6ulevk \
6
7mx6ull-flavorlist = \
8	mx6ullevk \
9
10mx6q-flavorlist = \
11	mx6qsabrelite \
12	mx6qsabresd \
13	mx6qhmbedge \
14
15mx6sx-flavorlist = \
16	mx6sxsabreauto \
17	mx6sxudooneofull \
18
19mx6d-flavorlist = \
20	mx6dhmbedge \
21
22mx6dl-flavorlist = \
23	mx6dlsabresd \
24	mx6dlhmbedge \
25
26mx6s-flavorlist = \
27	mx6shmbedge \
28
29mx7-flavorlist = \
30	mx7dsabresd \
31	mx7swarp7 \
32	mx7dclsom \
33
34imx8mq-flavorlist = \
35	imx8mqevk
36
37imx8mm-flavorlist = \
38	imx8mmevk
39
40ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ul-flavorlist)))
41$(call force,CFG_MX6,y)
42$(call force,CFG_MX6UL,y)
43$(call force,CFG_TEE_CORE_NB_CORE,1)
44include core/arch/arm/cpu/cortex-a7.mk
45else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ull-flavorlist)))
46$(call force,CFG_MX6,y)
47$(call force,CFG_MX6ULL,y)
48$(call force,CFG_TEE_CORE_NB_CORE,1)
49include core/arch/arm/cpu/cortex-a7.mk
50else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6q-flavorlist)))
51$(call force,CFG_MX6,y)
52$(call force,CFG_MX6Q,y)
53$(call force,CFG_TEE_CORE_NB_CORE,4)
54else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6d-flavorlist)))
55$(call force,CFG_MX6,y)
56$(call force,CFG_MX6D,y)
57$(call force,CFG_TEE_CORE_NB_CORE,2)
58else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6dl-flavorlist)))
59$(call force,CFG_MX6,y)
60$(call force,CFG_MX6DL,y)
61$(call force,CFG_TEE_CORE_NB_CORE,2)
62else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6s-flavorlist)))
63$(call force,CFG_MX6,y)
64$(call force,CFG_MX6S,y)
65$(call force,CFG_TEE_CORE_NB_CORE,1)
66else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6sx-flavorlist)))
67$(call force,CFG_MX6,y)
68$(call force,CFG_MX6SX,y)
69$(call force,CFG_TEE_CORE_NB_CORE,1)
70else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx7-flavorlist)))
71$(call force,CFG_MX7,y)
72CFG_TEE_CORE_NB_CORE ?= 2
73include core/arch/arm/cpu/cortex-a7.mk
74else ifneq (,$(filter $(PLATFORM_FLAVOR),$(imx8mq-flavorlist)))
75$(call force,CFG_IMX8MQ,y)
76$(call force,CFG_ARM64_core,y)
77CFG_IMX_UART ?= y
78CFG_DRAM_BASE ?= 0x40000000
79CFG_TEE_CORE_NB_CORE ?= 4
80else ifneq (,$(filter $(PLATFORM_FLAVOR),$(imx8mm-flavorlist)))
81$(call force,CFG_IMX8MM,y)
82$(call force,CFG_ARM64_core,y)
83CFG_IMX_UART ?= y
84CFG_DRAM_BASE ?= 0x40000000
85CFG_TEE_CORE_NB_CORE ?= 4
86else
87$(error Unsupported PLATFORM_FLAVOR "$(PLATFORM_FLAVOR)")
88endif
89
90ifneq (,$(filter $(PLATFORM_FLAVOR),mx7dsabresd))
91CFG_DDR_SIZE ?= 0x40000000
92CFG_NS_ENTRY_ADDR ?= 0x80800000
93$(call force,CFG_TEE_CORE_NB_CORE,2)
94endif
95
96ifneq (,$(filter $(PLATFORM_FLAVOR),mx7dclsom))
97CFG_DDR_SIZE ?= 0x40000000
98CFG_UART_BASE ?= UART1_BASE
99endif
100
101ifneq (,$(filter $(PLATFORM_FLAVOR),mx7swarp7))
102CFG_DDR_SIZE ?= 0x20000000
103CFG_NS_ENTRY_ADDR ?= 0x80800000
104CFG_BOOT_SECONDARY_REQUEST ?= n
105$(call force,CFG_TEE_CORE_NB_CORE,1)
106endif
107
108ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qsabresd mx6dlsabresd \
109	mx6dlsabrelite mx6dhmbedge mx6dlhmbedge))
110CFG_DDR_SIZE ?= 0x40000000
111CFG_NS_ENTRY_ADDR ?= 0x12000000
112endif
113
114ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qhmbedge))
115CFG_DDR_SIZE ?= 0x80000000
116CFG_UART_BASE ?= UART1_BASE
117endif
118
119ifneq (,$(filter $(PLATFORM_FLAVOR),mx6shmbedge))
120CFG_DDR_SIZE ?= 0x40000000
121CFG_NS_ENTRY_ADDR ?= 0x12000000
122endif
123
124ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qsabrelite mx6dlsabrelite))
125CFG_DDR_SIZE ?= 0x40000000
126CFG_NS_ENTRY_ADDR ?= 0x12000000
127CFG_UART_BASE ?= UART2_BASE
128endif
129
130ifneq (,$(filter $(PLATFORM_FLAVOR),mx6sxsabreauto))
131CFG_DDR_SIZE ?= 0x80000000
132CFG_NS_ENTRY_ADDR ?= 0x80800000
133endif
134
135ifeq ($(PLATFORM_FLAVOR), mx6sxudooneofull)
136CFG_DDR_SIZE ?= 0x40000000
137CFG_UART_BASE ?= UART1_BASE
138endif
139
140ifneq (,$(filter $(PLATFORM_FLAVOR),mx6ulevk mx6ullevk))
141CFG_DDR_SIZE ?= 0x20000000
142CFG_NS_ENTRY_ADDR ?= 0x80800000
143endif
144
145ifneq (,$(filter $(PLATFORM_FLAVOR),imx8mqevk))
146CFG_DDR_SIZE ?= 0xc0000000
147CFG_UART_BASE ?= UART1_BASE
148endif
149
150ifneq (,$(filter $(PLATFORM_FLAVOR),imx8mmevk))
151CFG_DDR_SIZE ?= 0x80000000
152CFG_UART_BASE ?= UART2_BASE
153endif
154
155# i.MX6 Solo/SoloX/DualLite/Dual/Quad specific config
156ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S) \
157      $(CFG_MX6SX)), y)
158include core/arch/arm/cpu/cortex-a9.mk
159
160$(call force,CFG_PL310,y)
161
162CFG_PL310_LOCKED ?= y
163CFG_ENABLE_SCTLR_RR ?= y
164endif
165
166ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S)), y)
167CFG_DRAM_BASE ?= 0x10000000
168endif
169
170ifneq (,$(filter y, $(CFG_MX6UL) $(CFG_MX6ULL) $(CFG_MX6SX)))
171CFG_DRAM_BASE ?= 0x80000000
172endif
173
174ifeq ($(filter y, $(CFG_MX7)), y)
175CFG_INIT_CNTVOFF ?= y
176CFG_DRAM_BASE ?= 0x80000000
177endif
178
179ifneq (,$(filter y, $(CFG_MX6) $(CFG_MX7)))
180$(call force,CFG_GENERIC_BOOT,y)
181$(call force,CFG_GIC,y)
182$(call force,CFG_IMX_UART,y)
183$(call force,CFG_PM_STUBS,y)
184$(call force,CFG_WITH_SOFTWARE_PRNG,y)
185
186CFG_BOOT_SYNC_CPU ?= n
187CFG_BOOT_SECONDARY_REQUEST ?= y
188CFG_DT ?= y
189CFG_PAGEABLE_ADDR ?= 0
190CFG_PSCI_ARM32 ?= y
191CFG_SECURE_TIME_SOURCE_REE ?= y
192CFG_UART_BASE ?= UART1_BASE
193
194ta-targets = ta_arm32
195endif
196
197ifeq ($(filter y, $(CFG_PSCI_ARM32)), y)
198CFG_HWSUPP_MEM_PERM_WXN = n
199CFG_IMX_WDOG ?= y
200endif
201
202ifeq ($(CFG_ARM64_core),y)
203# arm-v8 platforms
204include core/arch/arm/cpu/cortex-armv8-0.mk
205$(call force,CFG_ARM_GICV3,y)
206$(call force,CFG_GENERIC_BOOT,y)
207$(call force,CFG_GIC,y)
208$(call force,CFG_WITH_LPAE,y)
209$(call force,CFG_WITH_ARM_TRUSTED_FW,y)
210$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y)
211
212CFG_CRYPTO_WITH_CE ?= y
213CFG_PM_STUBS ?= y
214
215ta-targets = ta_arm64
216endif
217
218CFG_TZDRAM_START ?= ($(CFG_DRAM_BASE) - 0x02000000 + $(CFG_DDR_SIZE))
219CFG_TZDRAM_SIZE ?= 0x01e00000
220CFG_SHMEM_START ?= ($(CFG_TZDRAM_START) + $(CFG_TZDRAM_SIZE))
221CFG_SHMEM_SIZE ?= 0x00200000
222
223CFG_CRYPTO_SIZE_OPTIMIZATION ?= n
224CFG_WITH_STACK_CANARIES ?= y
225CFG_MMAP_REGIONS ?= 24
226