xref: /optee_os/core/arch/arm/plat-imx/conf.mk (revision 4e10cbd50306ac774c5d062bff40b247d5fc3d9f)
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
18mx6d-flavorlist = \
19	mx6dhmbedge \
20
21mx6dl-flavorlist = \
22	mx6dlsabresd \
23	mx6dlhmbedge \
24
25mx6s-flavorlist = \
26	mx6shmbedge \
27
28mx7-flavorlist = \
29	mx7dsabresd \
30	mx7swarp7 \
31	mx7dclsom \
32
33ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ul-flavorlist)))
34$(call force,CFG_MX6,y)
35$(call force,CFG_MX6UL,y)
36$(call force,CFG_TEE_CORE_NB_CORE,1)
37include core/arch/arm/cpu/cortex-a7.mk
38else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ull-flavorlist)))
39$(call force,CFG_MX6,y)
40$(call force,CFG_MX6ULL,y)
41$(call force,CFG_TEE_CORE_NB_CORE,1)
42include core/arch/arm/cpu/cortex-a7.mk
43else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6q-flavorlist)))
44$(call force,CFG_MX6,y)
45$(call force,CFG_MX6Q,y)
46$(call force,CFG_TEE_CORE_NB_CORE,4)
47else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6d-flavorlist)))
48$(call force,CFG_MX6,y)
49$(call force,CFG_MX6D,y)
50$(call force,CFG_TEE_CORE_NB_CORE,2)
51else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6dl-flavorlist)))
52$(call force,CFG_MX6,y)
53$(call force,CFG_MX6DL,y)
54$(call force,CFG_TEE_CORE_NB_CORE,2)
55else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6s-flavorlist)))
56$(call force,CFG_MX6,y)
57$(call force,CFG_MX6S,y)
58$(call force,CFG_TEE_CORE_NB_CORE,1)
59else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6sx-flavorlist)))
60$(call force,CFG_MX6,y)
61$(call force,CFG_MX6SX,y)
62$(call force,CFG_TEE_CORE_NB_CORE,1)
63else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx7-flavorlist)))
64$(call force,CFG_MX7,y)
65CFG_TEE_CORE_NB_CORE ?= 2
66include core/arch/arm/cpu/cortex-a7.mk
67else
68$(error Unsupported PLATFORM_FLAVOR "$(PLATFORM_FLAVOR)")
69endif
70
71ifneq (,$(filter $(PLATFORM_FLAVOR),mx7dsabresd))
72CFG_DDR_SIZE ?= 0x40000000
73CFG_NS_ENTRY_ADDR ?= 0x80800000
74$(call force,CFG_TEE_CORE_NB_CORE,2)
75endif
76
77ifneq (,$(filter $(PLATFORM_FLAVOR),mx7dclsom))
78CFG_DDR_SIZE ?= 0x40000000
79CFG_UART_BASE ?= UART1_BASE
80endif
81
82ifneq (,$(filter $(PLATFORM_FLAVOR),mx7swarp7))
83CFG_DDR_SIZE ?= 0x20000000
84CFG_NS_ENTRY_ADDR ?= 0x80800000
85CFG_BOOT_SECONDARY_REQUEST ?= n
86$(call force,CFG_TEE_CORE_NB_CORE,1)
87endif
88
89ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qsabresd mx6dlsabresd \
90	mx6dlsabrelite mx6dhmbedge mx6dlhmbedge))
91CFG_DDR_SIZE ?= 0x40000000
92CFG_NS_ENTRY_ADDR ?= 0x12000000
93endif
94
95ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qhmbedge))
96CFG_DDR_SIZE ?= 0x80000000
97CFG_UART_BASE ?= UART1_BASE
98endif
99
100ifneq (,$(filter $(PLATFORM_FLAVOR),mx6shmbedge))
101CFG_DDR_SIZE ?= 0x40000000
102CFG_NS_ENTRY_ADDR ?= 0x12000000
103endif
104
105ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qsabrelite mx6dlsabrelite))
106CFG_DDR_SIZE ?= 0x40000000
107CFG_NS_ENTRY_ADDR ?= 0x12000000
108CFG_UART_BASE ?= UART2_BASE
109endif
110
111ifneq (,$(filter $(PLATFORM_FLAVOR),mx6sxsabreauto))
112CFG_DDR_SIZE ?= 0x80000000
113CFG_NS_ENTRY_ADDR ?= 0x80800000
114endif
115
116ifneq (,$(filter $(PLATFORM_FLAVOR),mx6ulevk mx6ullevk))
117CFG_DDR_SIZE ?= 0x20000000
118CFG_NS_ENTRY_ADDR ?= 0x80800000
119endif
120
121# i.MX6 Solo/SoloX/DualLite/Dual/Quad specific config
122ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S) \
123      $(CFG_MX6SX)), y)
124include core/arch/arm/cpu/cortex-a9.mk
125
126$(call force,CFG_PL310,y)
127
128CFG_PL310_LOCKED ?= y
129CFG_ENABLE_SCTLR_RR ?= y
130endif
131
132ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S)), y)
133CFG_DRAM_BASE ?= 0x10000000
134endif
135
136ifneq (,$(filter y, $(CFG_MX6UL) $(CFG_MX6ULL) $(CFG_MX6SX)))
137CFG_DRAM_BASE ?= 0x80000000
138endif
139
140ifeq ($(filter y, $(CFG_MX7)), y)
141CFG_INIT_CNTVOFF ?= y
142CFG_DRAM_BASE ?= 0x80000000
143endif
144
145ifneq (,$(filter y, $(CFG_MX6) $(CFG_MX7)))
146$(call force,CFG_GENERIC_BOOT,y)
147$(call force,CFG_GIC,y)
148$(call force,CFG_IMX_UART,y)
149$(call force,CFG_PM_STUBS,y)
150$(call force,CFG_WITH_SOFTWARE_PRNG,y)
151
152CFG_BOOT_SYNC_CPU ?= n
153CFG_BOOT_SECONDARY_REQUEST ?= y
154CFG_CRYPTO_SIZE_OPTIMIZATION ?= n
155CFG_DT ?= y
156CFG_PAGEABLE_ADDR ?= 0
157CFG_PSCI_ARM32 ?= y
158CFG_SECURE_TIME_SOURCE_REE ?= y
159CFG_UART_BASE ?= UART1_BASE
160CFG_WITH_STACK_CANARIES ?= y
161
162CFG_TZDRAM_START ?= ($(CFG_DRAM_BASE) - 0x02000000 + $(CFG_DDR_SIZE))
163CFG_TZDRAM_SIZE ?= 0x01e00000
164CFG_SHMEM_START ?= ($(CFG_TZDRAM_START) + $(CFG_TZDRAM_SIZE))
165CFG_SHMEM_SIZE ?= 0x00200000
166
167ta-targets = ta_arm32
168endif
169
170ifeq ($(filter y, $(CFG_PSCI_ARM32)), y)
171CFG_HWSUPP_MEM_PERM_WXN = n
172CFG_IMX_WDOG ?= y
173endif
174
175CFG_MMAP_REGIONS ?= 24
176