1if ARCH_MX6
2
3config MX6_SMP
4	bool
5	select ARM_ERRATA_751472
6	select ARM_ERRATA_761320
7	select ARM_ERRATA_794072
8	select ARM_ERRATA_845369
9	select MP
10
11config MX6
12	bool
13	default y
14	select ARM_ERRATA_743622 if !MX6UL && !MX6ULL
15	select GPT_TIMER if !MX6UL && !MX6ULL
16	imply CMD_FUSE
17
18choice
19	prompt "i.MX6 SoC select"
20
21config MX6D
22	bool "i.MX 6Dual SoC support"
23	select HAS_CAAM
24	select MX6_SMP
25
26config MX6DL
27	bool "i.MX 6DualLite SoC support"
28	select HAS_CAAM
29	select MX6_SMP
30
31config MX6Q
32	bool "i.MX 6Quad SoC support"
33	select HAS_CAAM
34	select MX6_SMP
35
36config MX6QDL
37	bool "i.MX 6Dual and 6Quad SoC support"
38	select HAS_CAAM
39	select MX6_SMP
40
41config MX6S
42	bool "i.MX 6Solo SoC support"
43	select HAS_CAAM
44
45config MX6SL
46	bool "i.MX 6SoloLite SoC support"
47
48config MX6SX
49	bool "i.MX 6SoloX SoC support"
50	select HAS_CAAM
51	select ROM_UNIFIED_SECTIONS
52
53config MX6SLL
54	bool "i.MX 6SLL SoC support"
55	select ROM_UNIFIED_SECTIONS
56
57config MX6UL
58	bool "i.MX 6UltraLite SoC support"
59	select HAS_CAAM
60	select ROM_UNIFIED_SECTIONS
61	select SYSCOUNTER_TIMER
62	select SYS_L2CACHE_OFF
63
64config MX6ULL
65	bool "i.MX 6ULL SoC support"
66	select ROM_UNIFIED_SECTIONS
67	select SYSCOUNTER_TIMER
68	select SYS_L2CACHE_OFF
69
70endchoice
71
72config MX6UL_LITESOM
73	bool
74	select DM
75	select DM_THERMAL
76	select SUPPORT_SPL
77	imply CMD_DM
78
79config MX6UL_OPOS6UL
80	bool
81	select BOARD_LATE_INIT
82	select DM
83	select DM_GPIO
84	select DM_MMC
85	select DM_THERMAL
86	select SPL_DM if SPL
87	select SPL_OF_CONTROL if SPL
88	select SPL_PINCTRL if SPL
89	select SPL_SEPARATE_BSS if SPL
90	select SUPPORT_SPL
91	imply CMD_DM
92
93config MX6_OCRAM_256KB
94	bool "Support 256KB OCRAM"
95	depends on MX6D || MX6Q
96	help
97	 Allows using the full 256KB size of the OCRAM on the MX6Q/MX6D series
98	 of chips, such as for SPL. The OCRAM of the Lite series of chips is
99	 only 128KB, so using this option will prevent the resulting code from
100	 working on those chips.
101
102config MX6_DDRCAL
103	bool "Include dynamic DDR calibration routines"
104	depends on SPL
105	help
106	  Say "Y" if your board uses dynamic (per-boot) DDR calibration.
107	  If unsure, say N.
108
109choice
110	prompt "MX6 board select"
111	optional
112
113config TARGET_APALIS_IMX6
114	bool "Toradex Apalis iMX6 board"
115	depends on MX6Q
116	select BOARD_LATE_INIT
117	select DM
118	select DM_SERIAL
119	select DM_THERMAL
120	select SUPPORT_SPL
121	imply CMD_DM
122	imply CMD_SATA
123
124config TARGET_ARISTAINETOS2C
125	bool "Support aristainetos2-revC"
126	depends on MX6DL
127	select BOARD_LATE_INIT
128	select SYS_I2C_MXC
129	select MXC_UART
130	select FEC_MXC
131	select DM
132	imply CMD_SATA
133	imply CMD_DM
134
135config TARGET_ARISTAINETOS2CCSLB
136	bool "Support aristainetos2-revC CSL"
137	depends on MX6DL
138	select BOARD_LATE_INIT
139	select SYS_I2C_MXC
140	select MXC_UART
141	select FEC_MXC
142	select DM
143	imply CMD_SATA
144	imply CMD_DM
145
146config TARGET_CM_FX6
147	bool "CM-FX6"
148	depends on MX6QDL
149	select BOARD_LATE_INIT
150	select DM
151	select DM_GPIO
152	select DM_SERIAL
153	select SUPPORT_SPL
154	imply CMD_DM
155
156config TARGET_COLIBRI_IMX6
157	bool "Toradex Colibri iMX6 board"
158	select BOARD_LATE_INIT
159	select DM
160	select DM_SERIAL
161	select DM_THERMAL
162	select SUPPORT_SPL
163	imply CMD_DM
164
165config TARGET_COLIBRI_IMX6ULL
166	bool "Toradex Colibri iMX6ULL"
167	depends on MX6ULL
168	select BOARD_LATE_INIT
169	select DM
170	select DM_THERMAL
171	select IOMUX_LPSR
172
173config TARGET_DART_6UL
174	bool "Variscite imx6ULL dart(DART-SOM-6ULL)"
175	depends on MX6ULL
176	select DM
177	select DM_GPIO
178	select DM_I2C
179	select DM_MMC
180	select DM_SERIAL
181	select DM_THERMAL
182	select SUPPORT_SPL
183
184config TARGET_DHCOMIMX6
185	bool "dh_imx6"
186	depends on MX6QDL
187	select BOARD_EARLY_INIT_F
188	select BOARD_LATE_INIT
189	select DM
190	select DM_THERMAL
191	select SUPPORT_SPL
192	imply CMD_DM
193	imply CMD_SPL
194
195config TARGET_DISPLAY5
196	bool "LWN DISPLAY5 board"
197	depends on MX6Q
198	select DM
199	select DM_I2C
200	select DM_MMC
201	select DM_SPI
202	select DM_GPIO
203	select DM_SERIAL
204	select SUPPORT_SPL
205	imply CMD_DM
206
207config TARGET_EMBESTMX6BOARDS
208	bool "embestmx6boards"
209	select BOARD_LATE_INIT
210	select SUPPORT_SPL
211
212config TARGET_GE_BX50V3
213	bool "General Electric Bx50v3"
214	depends on MX6Q
215	select BOARD_LATE_INIT
216
217config TARGET_GE_B1X5V2
218	bool "General Electric B1x5v2"
219	depends on MX6QDL
220	select BOARD_LATE_INIT
221	select DM
222	select DM_THERMAL
223	select SUPPORT_SPL
224
225config TARGET_GW_VENTANA
226	bool "gw_ventana"
227	depends on MX6QDL
228	select SUPPORT_SPL
229	select GATEWORKS_SC
230	select MISC
231	imply CMD_SATA
232	imply CMD_SPL
233
234config TARGET_KONTRON_MX6UL
235	bool "Kontron Electronics SL/BL i.MX6UL/ULL (N63xx/N64xx)"
236	depends on MX6UL
237	select BINMAN
238	select DM
239	select DM_THERMAL
240	select SUPPORT_SPL
241	imply CMD_DM
242
243config TARGET_KOSAGI_NOVENA
244	bool "Kosagi Novena"
245	select BOARD_LATE_INIT
246	select DM_GPIO
247	select DM_MMC
248	select PCI
249	select DM_SCSI
250	select VIDEO
251	select OF_CONTROL
252	select SUPPORT_SPL
253	imply CMD_DM
254
255config TARGET_MCCMON6
256	bool "mccmon6"
257	depends on MX6QDL
258	select SUPPORT_SPL
259	select DM
260	select DM_GPIO
261	select DM_SERIAL
262	select DM_I2C
263	select DM_SPI
264	imply CMD_DM
265
266config TARGET_MX6CUBOXI
267	bool "Solid-run mx6 boards"
268	depends on MX6QDL
269	select BOARD_LATE_INIT
270	select SUPPORT_SPL
271
272config TARGET_MX6LOGICPD
273	bool "Logic PD i.MX6 SOM"
274	depends on MX6Q
275	select SUPPORT_SPL
276	select BOARD_EARLY_INIT_F
277	select BOARD_LATE_INIT
278	select DM
279	select DM_GPIO
280	select DM_I2C
281	select DM_MMC
282	select DM_PMIC
283	select OF_CONTROL
284	imply CMD_DM
285
286config TARGET_MX6MEMCAL
287	bool "mx6memcal"
288	depends on MX6QDL
289	select SUPPORT_SPL
290	help
291	  The mx6memcal board is a virtual board that can be used to validate
292	  and characterize the memory layout of a new design during the initial
293	  development and pre-production stages.
294
295config TARGET_MX6DL_MAMOJ
296	bool "Support BTicino Mamoj"
297	depends on MX6QDL
298	select DM
299	select DM_GPIO
300	select DM_I2C
301	select DM_MMC
302	select DM_PMIC
303	select DM_PMIC_PFUZE100
304	select DM_THERMAL
305	select OF_CONTROL
306	select PINCTRL
307	select SPL
308	select SPL_DM if SPL
309	select SPL_GPIO if SPL
310	select SPL_LIBCOMMON_SUPPORT if SPL
311	select SPL_LIBDISK_SUPPORT if SPL
312	select SPL_LIBGENERIC_SUPPORT if SPL
313	select SPL_MMC if SPL
314	select SPL_OF_CONTROL if SPL
315	select SPL_OF_LIBFDT if SPL
316	select SPL_PINCTRL if SPL
317	select SPL_SEPARATE_BSS if SPL
318	select SPL_SERIAL if SPL
319	select SPL_USB_GADGET if SPL
320	select SPL_USB_HOST if SPL
321	select SPL_USB_SDP_SUPPORT if SPL
322	select SPL_WATCHDOG if SPL
323	select SUPPORT_SPL
324	imply CMD_DM
325
326config TARGET_MX6Q_ENGICAM
327	bool "Support Engicam i.Core(RQS)"
328	depends on MX6QDL
329	select BOARD_LATE_INIT
330	select DM
331	select DM_GPIO
332	select DM_I2C
333	select DM_MMC
334	select DM_THERMAL
335	select OF_CONTROL
336	select SPL_DM if SPL
337	select SPL_OF_CONTROL if SPL
338	select SPL_OF_LIBFDT
339	select SPL_PINCTRL if SPL
340	select SPL_SEPARATE_BSS if SPL
341	select SUPPORT_SPL
342	imply CMD_DM
343
344config TARGET_MX6Q_ACC
345	bool "Support for Bosch ACC board"
346	depends on MX6QDL
347	select BOARD_LATE_INIT
348	select OF_CONTROL
349	select SPL_OF_LIBFDT
350	select DM
351	select DM_GPIO
352	select DM_I2C
353	select DM_MMC
354	select DM_THERMAL
355	select SUPPORT_SPL
356
357config TARGET_MX6SABREAUTO
358	bool "mx6sabreauto"
359	depends on MX6QDL
360	select BOARD_EARLY_INIT_F
361	select BOARD_LATE_INIT
362	select DM
363	select DM_THERMAL
364	select SUPPORT_SPL
365	imply CMD_DM
366	select FSL_CAAM
367	select ARCH_MISC_INIT
368
369config TARGET_MX6SABRESD
370	bool "mx6sabresd"
371	depends on MX6QDL
372	select BOARD_EARLY_INIT_F
373	select BOARD_LATE_INIT
374	select DM
375	select DM_THERMAL
376	select SUPPORT_SPL
377	imply CMD_DM
378	select FSL_CAAM
379	select ARCH_MISC_INIT
380
381config TARGET_MX6SLEVK
382	bool "mx6slevk"
383	depends on MX6SL
384	select SUPPORT_SPL
385
386config TARGET_MX6SLLEVK
387	bool "mx6sll evk"
388	depends on MX6SLL
389	select BOARD_LATE_INIT
390	select DM
391	select DM_THERMAL
392	select IOMUX_LPSR
393	imply CMD_DM
394
395config TARGET_MX6SXSABRESD
396	bool "mx6sxsabresd"
397	depends on MX6SX
398	select BOARD_EARLY_INIT_F
399	select BOARD_LATE_INIT
400	select DM
401	select DM_THERMAL
402	select SUPPORT_SPL
403	select FSL_CAAM
404	select ARCH_MISC_INIT
405
406config TARGET_MX6SXSABREAUTO
407	bool "mx6sxsabreauto"
408	depends on MX6SX
409	select BOARD_EARLY_INIT_F
410	select BOARD_LATE_INIT
411	select DM
412	select DM_THERMAL
413	imply CMD_DM
414
415config TARGET_MX6UL_9X9_EVK
416	bool "mx6ul_9x9_evk"
417	depends on MX6UL
418	select BOARD_LATE_INIT
419	select DM
420	select DM_THERMAL
421	select SUPPORT_SPL
422	imply CMD_DM
423	select FSL_CAAM
424	select ARCH_MISC_INIT
425
426config TARGET_MX6UL_14X14_EVK
427	bool "mx6ul_14x14_evk"
428	depends on MX6UL
429	select BOARD_LATE_INIT
430	select DM
431	select DM_THERMAL
432	select SUPPORT_SPL
433	imply CMD_DM
434	select FSL_CAAM
435	select ARCH_MISC_INIT
436
437config TARGET_MX6UL_ENGICAM
438	bool "Support Engicam GEAM6UL/Is.IoT"
439	depends on MX6UL
440	select BOARD_LATE_INIT
441	select DM
442	select DM_GPIO
443	select DM_I2C
444	select DM_MMC
445	select DM_THERMAL
446	select OF_CONTROL
447	select SPL_DM if SPL
448	select SPL_OF_CONTROL if SPL
449	select SPL_PINCTRL if SPL
450	select SPL_SEPARATE_BSS if SPL
451	select SUPPORT_SPL
452	imply CMD_DM
453
454config TARGET_MX6ULL_14X14_EVK
455	bool "Support mx6ull_14x14_evk"
456	depends on MX6ULL
457	select BOARD_LATE_INIT
458	select DM
459	select DM_THERMAL
460	select IOMUX_LPSR
461	imply CMD_DM
462
463config TARGET_MX6ULZ_SMM_M2
464	bool "Support imx6ulz_smm_m2"
465	depends on MX6ULL
466	select DM
467	select DM_GPIO
468	select DM_I2C
469	select DM_SERIAL
470	select DM_MTD
471	select DM_THERMAL
472	select SUPPORT_SPL
473
474config TARGET_MYS_6ULX
475	bool "MYiR MYS-6ULX"
476	depends on MX6ULL
477	select DM
478	select DM_GPIO
479	select DM_I2C
480	select DM_MMC
481	select DM_SERIAL
482	select DM_THERMAL
483	select SUPPORT_SPL
484
485config TARGET_NITROGEN6X
486	bool "nitrogen6x"
487	depends on MX6DL || MX6Q || MX6QDL || MX6S
488	imply USB_ETHER_ASIX
489	imply USB_ETHER_MCS7830
490	imply USB_ETHER_SMSC95XX
491	imply USB_HOST_ETHER
492
493config TARGET_NPI_IMX6ULL
494	bool "Seeed NPI-IMX6ULL"
495	depends on MX6ULL
496	select DM
497	select DM_MMC
498	select DM_GPIO
499	select DM_SERIAL
500	select DM_THERMAL
501	select SUPPORT_SPL
502
503config TARGET_OPOS6ULDEV
504	bool "Armadeus OPOS6ULDev board"
505	depends on MX6UL
506	select MX6UL_OPOS6UL
507
508config TARGET_PICO_IMX6
509	bool "PICO-IMX6"
510	depends on MX6QDL
511	select BOARD_EARLY_INIT_F
512	select BOARD_LATE_INIT
513	select DM
514	select DM_THERMAL
515	select SUPPORT_SPL
516	imply CMD_DM
517
518config TARGET_PICO_IMX6UL
519	bool "PICO-IMX6UL-EMMC"
520	depends on MX6UL
521	select DM
522	select SUPPORT_SPL
523	imply CMD_DM
524
525config TARGET_LITEBOARD
526	bool "Grinn liteBoard (i.MX6UL)"
527	depends on MX6UL
528	select BOARD_LATE_INIT
529	select MX6UL_LITESOM
530
531config TARGET_PCM058
532	bool "Phytec PCM058 i.MX6 Quad"
533	depends on MX6Q
534	select BOARD_LATE_INIT
535	select SUPPORT_SPL
536	select DM
537	select OF_CONTROL
538	imply CMD_DM
539
540config TARGET_PCL063
541	bool "PHYTEC PCL063 (phyCORE-i.MX6UL)"
542	depends on MX6UL
543	select DM
544	select DM_GPIO
545	select DM_I2C
546	select DM_MMC
547	select DM_SERIAL
548	select DM_THERMAL
549	select SUPPORT_SPL
550
551config TARGET_PCL063_ULL
552	bool "PHYTEC PCL063 (phyCORE-i.MX6ULL)"
553	depends on MX6ULL
554	select DM
555	select DM_GPIO
556	select DM_I2C
557	select DM_MMC
558	select DM_SERIAL
559	select DM_THERMAL
560	select SUPPORT_SPL
561
562config TARGET_SOMLABS_VISIONSOM_6ULL
563	bool "visionsom-6ull"
564	depends on MX6ULL
565	select BOARD_LATE_INIT
566	select DM
567	select DM_GPIO
568	select DM_MMC
569	select DM_SERIAL
570	select DM_THERMAL
571	imply CMD_DM
572
573config TARGET_TBS2910
574	bool "TBS2910 Matrix ARM mini PC"
575	depends on MX6Q
576
577config TARGET_KP_IMX6Q_TPC
578	bool "K+P KP_IMX6Q_TPC i.MX6 Quad"
579	depends on MX6QDL
580	select BOARD_EARLY_INIT_F
581	select BOARD_LATE_INIT
582	select DM
583	select SPL_DM if SPL
584	select DM_THERMAL
585	select DM_MMC
586	select DM_REGULATOR
587	select SPL_DM_REGULATOR if SPL
588	select DM_SERIAL
589	select DM_I2C
590	select DM_GPIO
591	select SUPPORT_SPL
592	select SPL_SEPARATE_BSS if SPL
593	imply CMD_DM
594	imply CMD_SPL
595
596config TARGET_TQMA6
597	bool "TQ-Systems TQMa6 board"
598	select BOARD_EARLY_INIT_F
599	select BOARD_LATE_INIT
600	select MXC_SPI
601	select SPI
602	imply DM
603	imply DM_GPIO
604	imply DM_MMC
605	imply DM_SPI
606	imply DM_SPI_FLASH
607	imply DM_I2C
608	imply CMD_SF
609	imply CMD_DM
610
611config TARGET_UDOO
612	bool "udoo"
613	depends on MX6QDL
614	select BOARD_LATE_INIT
615	select SUPPORT_SPL
616	imply CMD_DM
617
618config TARGET_UDOO_NEO
619	bool "UDOO Neo"
620	depends on MX6SX
621	select BOARD_LATE_INIT
622	select DM
623	select DM_THERMAL
624	select SUPPORT_SPL
625	imply CMD_DM
626
627config TARGET_SOFTING_VINING_2000
628	bool "Softing VIN|ING 2000"
629	depends on MX6SX
630	select BOARD_LATE_INIT
631	select DM
632	select DM_THERMAL
633	select SUPPORT_SPL
634	imply CMD_DM
635
636config TARGET_WANDBOARD
637	bool "wandboard"
638	depends on MX6QDL
639	select BOARD_LATE_INIT
640	select SUPPORT_SPL
641
642config TARGET_BRPPT2
643	bool "brppt2"
644	depends on MX6QDL
645	select BOARD_LATE_INIT
646	select OF_CONTROL
647	select SPL_OF_LIBFDT
648	select DM
649	select DM_GPIO
650	select DM_I2C
651	select DM_MMC
652	select SUPPORT_SPL
653	select SPL_DM if SPL
654	select SPL_OF_CONTROL if SPL
655        help
656          Support
657          B&R BRPPT2 platform
658          based on Freescale's iMX6 SoC
659
660config TARGET_O4_IMX6ULL_NANO
661	bool "O4-iMX6ULL-NANO"
662	depends on MX6ULL
663	select BOARD_LATE_INIT
664	select DM
665	select DM_THERMAL
666	imply CMD_DM
667	help
668	  Support for www.out4.ru O4-iMX6UL-NANO platform
669	  based on Freescale's i.MX6UL/i.MX6ULL SoC.
670
671endchoice
672
673config SYS_SOC
674	default "mx6"
675
676source "board/ge/bx50v3/Kconfig"
677source "board/ge/b1x5v2/Kconfig"
678source "board/aristainetos/Kconfig"
679source "board/armadeus/opos6uldev/Kconfig"
680source "board/boundary/nitrogen6x/Kconfig"
681source "board/bsh/imx6ulz_smm_m2/Kconfig"
682source "board/bticino/mamoj/Kconfig"
683source "board/compulab/cm_fx6/Kconfig"
684source "board/dhelectronics/dh_imx6/Kconfig"
685source "board/embest/mx6boards/Kconfig"
686source "board/engicam/imx6q/Kconfig"
687source "board/engicam/imx6ul/Kconfig"
688source "board/freescale/mx6memcal/Kconfig"
689source "board/freescale/mx6sabreauto/Kconfig"
690source "board/freescale/mx6sabresd/Kconfig"
691source "board/freescale/mx6slevk/Kconfig"
692source "board/freescale/mx6sllevk/Kconfig"
693source "board/freescale/mx6sxsabresd/Kconfig"
694source "board/freescale/mx6sxsabreauto/Kconfig"
695source "board/freescale/mx6ul_14x14_evk/Kconfig"
696source "board/freescale/mx6ullevk/Kconfig"
697source "board/bosch/acc/Kconfig"
698source "board/grinn/liteboard/Kconfig"
699source "board/phytec/pcm058/Kconfig"
700source "board/phytec/pcl063/Kconfig"
701source "board/gateworks/gw_ventana/Kconfig"
702source "board/kontron/sl-mx6ul/Kconfig"
703source "board/kosagi/novena/Kconfig"
704source "board/softing/vining_2000/Kconfig"
705source "board/liebherr/display5/Kconfig"
706source "board/liebherr/mccmon6/Kconfig"
707source "board/logicpd/imx6/Kconfig"
708source "board/solidrun/mx6cuboxi/Kconfig"
709source "board/somlabs/visionsom-6ull/Kconfig"
710source "board/technexion/pico-imx6/Kconfig"
711source "board/technexion/pico-imx6ul/Kconfig"
712source "board/tbs/tbs2910/Kconfig"
713source "board/tq/tqma6/Kconfig"
714source "board/toradex/apalis_imx6/Kconfig"
715source "board/toradex/colibri_imx6/Kconfig"
716source "board/toradex/colibri-imx6ull/Kconfig"
717source "board/k+p/kp_imx6q_tpc/Kconfig"
718source "board/udoo/Kconfig"
719source "board/udoo/neo/Kconfig"
720source "board/wandboard/Kconfig"
721source "board/BuR/brppt2/Kconfig"
722source "board/out4/o4-imx6ull-nano/Kconfig"
723
724endif
725