1if ARCH_IMX8M
2
3config IMX8M
4	bool
5	select BINMAN
6	select GICV3 if ARMV8_PSCI
7	select HAS_CAAM
8	select LTO
9	select ROM_UNIFIED_SECTIONS
10	select ARMV8_CRYPTO
11	imply CPU
12	imply CPU_IMX
13	imply IMX_TMU
14
15config IMX8MQ
16	bool
17	select IMX8M
18	select CLK_IMX8MQ
19
20config IMX8MM
21	bool
22	select IMX8M
23
24config IMX8MN
25	bool
26	select IMX8M
27
28config IMX8MP
29	bool
30	select IMX8M
31
32config SYS_SOC
33	default "imx8m"
34
35config SYS_HAS_ARMV8_SECURE_BASE
36	bool "Enable secure address for PSCI image"
37	depends on ARMV8_PSCI
38	help
39	  PSCI image can be re-located to secure RAM.
40	  If enabled, please also define the value for ARMV8_SECURE_BASE,
41	  for i.MX8M, it could be some address in OCRAM.
42
43config IMX8M_OPTEE_LOAD_ADDR
44	hex "Load address of OPTEE image"
45	default 0xbe000000 if IMX8MM
46	default 0xbe000000 if IMX8MN
47	default 0x56000000 if IMX8MP
48	default 0xfe000000 if IMX8MQ
49	help
50	  The load and entry address for the OPTEE image. This value defaults to
51	  the one defined in tf-a if not provided in the board defconfig file.
52
53
54choice
55	prompt "NXP i.MX8M board select"
56	optional
57
58config TARGET_IMX8MQ_CM
59	bool "Ronetix iMX8MQ-CM SoM"
60	select IMX8MQ
61	select IMX8M_LPDDR4
62
63config TARGET_IMX8MQ_EVK
64	bool "imx8mq_evk"
65	select IMX8MQ
66	select IMX8M_LPDDR4
67	select FSL_CAAM
68	select ARCH_MISC_INIT
69	select SPL_CRYPTO if SPL
70	imply OF_UPSTREAM
71	imply BOOTSTD_FULL
72	imply BOOTSTD_BOOTCOMMAND
73
74config TARGET_IMX8MQ_PHANBELL
75	bool "imx8mq_phanbell"
76	select IMX8MQ
77	select IMX8M_LPDDR4
78
79config TARGET_IMX8MQ_REFORM2
80	bool "imx8mq_reform2"
81	select IMX8MQ
82	select IMX8M_LPDDR4
83
84config TARGET_IMX8MM_DATA_MODUL_EDM_SBC
85	bool "Data Modul eDM SBC i.MX8M Mini"
86	select IMX8MM
87	select IMX8M_LPDDR4
88	select SUPPORT_SPL
89
90config TARGET_IMX8MM_EVK
91	bool "imx8mm LPDDR4 EVK board"
92	select IMX8MM
93	select SUPPORT_SPL
94	select IMX8M_LPDDR4
95	select FSL_CAAM
96	select ARCH_MISC_INIT
97	select SPL_CRYPTO if SPL
98	imply BOOTSTD_FULL
99	imply BOOTSTD_BOOTCOMMAND
100	imply OF_UPSTREAM
101
102config TARGET_IMX8MM_ICORE_MX8MM
103	bool "Engicam i.Core MX8M Mini SOM"
104	select IMX8MM
105	select SUPPORT_SPL
106	select IMX8M_LPDDR4
107	help
108	  i.Core MX8M Mini is an EDIMM SOM based on NXP i.MX8MM.
109
110	  i.Core MX8M Mini EDIMM2.2:
111	  * EDIMM2.2 is a Form Factor Capacitive Evaluation Board.
112	  * i.Core MX8M Mini needs to mount on top of EDIMM2.2 for
113	    creating complete i.Core MX8M Mini EDIMM2.2 Starter Kit.
114
115	  i.Core MX8M Mini C.TOUCH 2.0
116	  * C.TOUCH 2.0 is a general purpose Carrier board.
117	  * i.Core MX8M Mini needs to mount on top of this Carrier board
118	    for creating complete i.Core MX8M Mini C.TOUCH 2.0 board.
119
120config TARGET_IMX8MM_MX8MENLO
121	bool "Support i.MX8M Mini MX8Menlo board based on Toradex Verdin SoM"
122	select IMX8MM
123	select SUPPORT_SPL
124	select IMX8M_LPDDR4
125
126config TARGET_IMX8MM_PHG
127	bool "i.MX8MM PHG board"
128	select IMX8MM
129	select SUPPORT_SPL
130	select IMX8M_LPDDR4
131
132config TARGET_IMX8MM_VENICE
133	bool "Support Gateworks Venice iMX8M Mini module"
134	select IMX8MM
135	select SUPPORT_SPL
136	select IMX8M_LPDDR4
137	select GATEWORKS_SC
138	select MISC
139	select FSL_CAAM
140	select ARCH_MISC_INIT
141	select SPL_CRYPTO if SPL
142	imply OF_UPSTREAM
143
144config TARGET_KONTRON_MX8MM
145	bool "Kontron Electronics N80xx"
146	select IMX8MM
147	select SUPPORT_SPL
148	select IMX8M_LPDDR4
149	select FSL_CAAM
150	select ARCH_MISC_INIT
151	select SPL_CRYPTO if SPL
152
153config TARGET_IMX8MN_BSH_SMM_S2
154	bool "imx8mn-bsh-smm-s2"
155	select IMX8MN
156	select SUPPORT_SPL
157	select IMX8M_DDR3L
158	imply OF_UPSTREAM
159
160config TARGET_IMX8MN_BSH_SMM_S2PRO
161	bool "imx8mn-bsh-smm-s2pro"
162	select IMX8MN
163	select SUPPORT_SPL
164	select IMX8M_DDR3L
165	imply OF_UPSTREAM
166
167config TARGET_IMX8MN_EVK
168	bool "imx8mn LPDDR4 EVK board"
169	select IMX8MN
170	select SUPPORT_SPL
171	select IMX8M_LPDDR4
172	select FSL_CAAM
173	select SPL_CRYPTO if SPL
174	imply OF_UPSTREAM
175	imply BOOTSTD_FULL
176	imply BOOTSTD_BOOTCOMMAND
177
178config TARGET_IMX8MN_DDR4_EVK
179	bool "imx8mn DDR4 EVK board"
180	select IMX8MN
181	select SUPPORT_SPL
182	select IMX8M_DDR4
183	select FSL_CAAM
184	select SPL_CRYPTO if SPL
185	imply OF_UPSTREAM
186	imply BOOTSTD_FULL
187	imply BOOTSTD_BOOTCOMMAND
188
189config TARGET_IMX8MN_VENICE
190	bool "Support Gateworks Venice iMX8M Nano module"
191	select IMX8MN
192	select SUPPORT_SPL
193	select IMX8M_LPDDR4
194	select GATEWORKS_SC
195	select MISC
196	select FSL_CAAM
197	select ARCH_MISC_INIT
198	select SPL_CRYPTO if SPL
199	imply OF_UPSTREAM
200
201config TARGET_IMX8MP_DATA_MODUL_EDM_SBC
202	bool "Data Modul eDM SBC i.MX8M Plus"
203	select IMX8MP
204	select IMX8M_LPDDR4
205	select SUPPORT_SPL
206
207config TARGET_IMX8MP_BEACON
208	bool "imx8mm Beacon Embedded devkit"
209	select IMX8MP
210	select SUPPORT_SPL
211	select IMX8M_LPDDR4
212	select FSL_CAAM
213	select ARCH_MISC_INIT
214	select SPL_CRYPTO if SPL
215	imply OF_UPSTREAM
216
217config TARGET_IMX8MP_DEBIX_MODEL_A
218	bool "Polyhex i.MX8M Plus Debix Model A SBC"
219	select IMX8MP
220	select IMX8M_LPDDR4
221	select SUPPORT_SPL
222	imply OF_UPSTREAM
223
224config TARGET_IMX8MP_DH_DHCOM_PDK2
225	bool "DH electronics DHCOM Premium Developer Kit (2) i.MX8M Plus"
226	select IMX8MP
227	select IMX8M_LPDDR4
228	select SUPPORT_SPL
229
230config TARGET_IMX8MP_ICORE_MX8MP
231	bool "Engicam i.Core MX8M Plus SOM"
232	select IMX8MP
233	select IMX8M_LPDDR4
234	select SUPPORT_SPL
235	help
236	  i.Core MX8M Plus is an EDIMM SOM based on NXP i.MX8MP.
237
238	  i.Core MX8M Plus EDIMM2.2:
239	  * EDIMM2.2 is a Form Factor Capacitive Evaluation Board.
240	  * i.Core MX8M Plus needs to mount on top of EDIMM2.2 for
241	    creating complete i.Core MX8M Plus EDIMM2.2 Starter Kit.
242
243config TARGET_IMX8MP_EVK
244	bool "imx8mp LPDDR4 EVK board"
245	select IMX8MP
246	select SUPPORT_SPL
247	select IMX8M_LPDDR4
248	select FSL_CAAM
249	select ARCH_MISC_INIT
250	select SPL_CRYPTO if SPL
251	imply OF_UPSTREAM
252	imply BOOTSTD_FULL
253	imply BOOTSTD_BOOTCOMMAND
254
255config TARGET_IMX8MP_NAVQP
256	bool "Emcraft Systems i.MX8M Plus NavQ+ board"
257	select IMX8MP
258	select IMX8M_LPDDR4
259	select SUPPORT_SPL
260	imply OF_UPSTREAM
261
262config TARGET_IMX8MP_VENICE
263	bool "Support Gateworks Venice iMX8M Plus module"
264	select IMX8MP
265	select SUPPORT_SPL
266	select IMX8M_LPDDR4
267	select GATEWORKS_SC
268	select MISC
269	select FSL_CAAM
270	select ARCH_MISC_INIT
271	select SPL_CRYPTO if SPL
272	imply OF_UPSTREAM
273
274config TARGET_PICO_IMX8MQ
275	bool "Support Technexion Pico iMX8MQ"
276	select IMX8MQ
277	select IMX8M_LPDDR4
278
279config TARGET_IMX8MN_VAR_SOM
280	bool "Variscite imx8mn_var_som"
281	select IMX8MN
282	select SUPPORT_SPL
283	select IMX8M_DDR4
284	select MISC
285	select I2C_EEPROM
286	select DM_ETH_PHY
287	select NVMEM
288
289config TARGET_KONTRON_PITX_IMX8M
290	bool "Support Kontron pITX-imx8m"
291	select IMX8MQ
292	select IMX8M_LPDDR4
293
294config TARGET_TORADEX_SMARC_IMX8MP
295	bool "Support Toradex SMARC iMX8M Plus module"
296	select IMX8MP
297	select SUPPORT_SPL
298	select IMX8M_LPDDR4
299
300config TARGET_VERDIN_IMX8MM
301	bool "Support Toradex Verdin iMX8M Mini module"
302	select IMX8MM
303	select SUPPORT_SPL
304	select IMX8M_LPDDR4
305	imply OF_UPSTREAM
306
307config TARGET_VERDIN_IMX8MP
308	bool "Support Toradex Verdin iMX8M Plus module"
309	select IMX8MP
310	select SUPPORT_SPL
311	select IMX8M_LPDDR4
312	imply OF_UPSTREAM
313
314config TARGET_IMX8MM_BEACON
315	bool "imx8mm Beacon Embedded devkit"
316	select IMX8MM
317	select SUPPORT_SPL
318	select IMX8M_LPDDR4
319	select FSL_CAAM
320	select ARCH_MISC_INIT
321	select SPL_CRYPTO if SPL
322	imply OF_UPSTREAM
323
324config TARGET_IMX8MN_BEACON
325	bool "imx8mn Beacon Embedded devkit"
326	select IMX8MN
327	select SUPPORT_SPL
328	select IMX8M_LPDDR4
329	select FSL_CAAM
330	select ARCH_MISC_INIT
331	select SPL_CRYPTO if SPL
332	imply OF_UPSTREAM
333
334config TARGET_PHYCORE_IMX8MM
335	bool "PHYTEC PHYCORE i.MX8MM"
336	select IMX8MM
337	select SUPPORT_SPL
338	select IMX8M_LPDDR4
339	imply OF_UPSTREAM
340
341config TARGET_PHYCORE_IMX8MP
342	bool "PHYTEC PHYCORE i.MX8MP"
343	select IMX8MP
344	select SUPPORT_SPL
345	select IMX8M_LPDDR4
346	imply OF_UPSTREAM
347
348config TARGET_IMX8MM_CL_IOT_GATE
349	bool "CompuLab iot-gate-imx8"
350	select IMX8MM
351	select SUPPORT_SPL
352	select IMX8M_LPDDR4
353	select SUPPORT_EXTENSION_SCAN
354
355config TARGET_IMX8MM_CL_IOT_GATE_OPTEE
356	bool "CompuLab iot-gate-imx8 with optee support"
357	select IMX8MM
358	select SUPPORT_SPL
359	select IMX8M_LPDDR4
360	select SUPPORT_EXTENSION_SCAN
361
362config TARGET_IMX8MP_RSB3720A1_4G
363	bool "Support i.MX8MP RSB3720A1 4G"
364	select IMX8MP
365	select SUPPORT_SPL
366	select IMX8M_LPDDR4
367
368config TARGET_IMX8MP_RSB3720A1_6G
369	bool "Support i.MX8MP RSB3720A1 6G"
370	select IMX8MP
371	select SUPPORT_SPL
372	select IMX8M_LPDDR4
373
374config TARGET_MSC_SM2S_IMX8MP
375	bool "MSC SMARC2 i.MX8MPLUS"
376	select IMX8MP
377	select SUPPORT_SPL
378	select IMX8M_LPDDR4
379
380config TARGET_LIBREM5
381	bool "Purism Librem5 Phone"
382	select IMX8MQ
383	select SUPPORT_SPL
384	select IMX8M_LPDDR4
385
386endchoice
387
388source "board/advantech/imx8mp_rsb3720a1/Kconfig"
389source "board/beacon/imx8mm/Kconfig"
390source "board/beacon/imx8mn/Kconfig"
391source "board/beacon/imx8mp/Kconfig"
392source "board/bsh/imx8mn_smm_s2/Kconfig"
393source "board/cloos/imx8mm_phg/Kconfig"
394source "board/compulab/imx8mm-cl-iot-gate/Kconfig"
395source "board/data_modul/imx8mm_edm_sbc/Kconfig"
396source "board/data_modul/imx8mp_edm_sbc/Kconfig"
397source "board/dhelectronics/dh_imx8mp/Kconfig"
398source "board/emcraft/imx8mp_navqp/Kconfig"
399source "board/engicam/imx8mm/Kconfig"
400source "board/engicam/imx8mp/Kconfig"
401source "board/freescale/imx8mq_evk/Kconfig"
402source "board/freescale/imx8mm_evk/Kconfig"
403source "board/freescale/imx8mn_evk/Kconfig"
404source "board/freescale/imx8mp_evk/Kconfig"
405source "board/gateworks/venice/Kconfig"
406source "board/google/imx8mq_phanbell/Kconfig"
407source "board/kontron/pitx_imx8m/Kconfig"
408source "board/kontron/sl-mx8mm/Kconfig"
409source "board/menlo/mx8menlo/Kconfig"
410source "board/msc/sm2s_imx8mp/Kconfig"
411source "board/mntre/imx8mq_reform2/Kconfig"
412source "board/phytec/phycore_imx8mm/Kconfig"
413source "board/phytec/phycore_imx8mp/Kconfig"
414source "board/polyhex/imx8mp_debix_model_a/Kconfig"
415source "board/purism/librem5/Kconfig"
416source "board/ronetix/imx8mq-cm/Kconfig"
417source "board/technexion/pico-imx8mq/Kconfig"
418source "board/variscite/imx8mn_var_som/Kconfig"
419source "board/toradex/smarc-imx8mp/Kconfig"
420source "board/toradex/verdin-imx8mm/Kconfig"
421source "board/toradex/verdin-imx8mp/Kconfig"
422
423endif
424