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 MTD
205	select SUPPORT_SPL
206	imply CMD_DM
207
208config TARGET_EMBESTMX6BOARDS
209	bool "embestmx6boards"
210	select BOARD_LATE_INIT
211	select SUPPORT_SPL
212
213config TARGET_GE_BX50V3
214	bool "General Electric Bx50v3"
215	depends on MX6Q
216	select BOARD_LATE_INIT
217
218config TARGET_GE_B1X5V2
219	bool "General Electric B1x5v2"
220	depends on MX6QDL
221	select BOARD_LATE_INIT
222	select DM
223	select DM_THERMAL
224	select SUPPORT_SPL
225
226config TARGET_GW_VENTANA
227	bool "gw_ventana"
228	depends on MX6QDL
229	select SUPPORT_SPL
230	select GATEWORKS_SC
231	select MISC
232	imply CMD_SATA
233	imply CMD_SPL
234
235config TARGET_KONTRON_MX6UL
236	bool "Kontron Electronics SL/BL i.MX6UL/ULL (N63xx/N64xx)"
237	depends on MX6UL
238	select BINMAN
239	select DM
240	select DM_THERMAL
241	select SUPPORT_SPL
242	imply CMD_DM
243
244config TARGET_KOSAGI_NOVENA
245	bool "Kosagi Novena"
246	select BOARD_LATE_INIT
247	select DM_GPIO
248	select DM_MMC
249	select PCI
250	select SCSI
251	select VIDEO
252	select OF_CONTROL
253	select SUPPORT_SPL
254	imply CMD_DM
255
256config TARGET_MCCMON6
257	bool "mccmon6"
258	depends on MX6QDL
259	select SUPPORT_SPL
260	select DM
261	select DM_GPIO
262	select DM_SERIAL
263	select DM_I2C
264	select DM_SPI
265	select MTD
266	imply CMD_DM
267
268config TARGET_MX6CUBOXI
269	bool "Solid-run mx6 boards"
270	depends on MX6QDL
271	select BOARD_LATE_INIT
272	select SUPPORT_SPL
273
274config TARGET_MX6LOGICPD
275	bool "Logic PD i.MX6 SOM"
276	depends on MX6Q
277	select SUPPORT_SPL
278	select BOARD_EARLY_INIT_F
279	select BOARD_LATE_INIT
280	select DM
281	select DM_GPIO
282	select DM_I2C
283	select DM_MMC
284	select DM_PMIC
285	select OF_CONTROL
286	imply CMD_DM
287
288config TARGET_MX6MEMCAL
289	bool "mx6memcal"
290	depends on MX6QDL
291	select SUPPORT_SPL
292	help
293	  The mx6memcal board is a virtual board that can be used to validate
294	  and characterize the memory layout of a new design during the initial
295	  development and pre-production stages.
296
297config TARGET_MX6DL_MAMOJ
298	bool "Support BTicino Mamoj"
299	depends on MX6QDL
300	select DM
301	select DM_GPIO
302	select DM_I2C
303	select DM_MMC
304	select DM_PMIC
305	select DM_PMIC_PFUZE100
306	select DM_THERMAL
307	select OF_CONTROL
308	select PINCTRL
309	select SPL
310	select SPL_DM if SPL
311	select SPL_GPIO if SPL
312	select SPL_LIBCOMMON_SUPPORT if SPL
313	select SPL_LIBDISK_SUPPORT if SPL
314	select SPL_LIBGENERIC_SUPPORT if SPL
315	select SPL_MMC if SPL
316	select SPL_OF_CONTROL if SPL
317	select SPL_OF_LIBFDT if SPL
318	select SPL_PINCTRL if SPL
319	select SPL_SEPARATE_BSS if SPL
320	select SPL_SERIAL if SPL
321	select SPL_USB_GADGET if SPL
322	select SPL_USB_HOST if SPL
323	select SPL_USB_SDP_SUPPORT if SPL
324	select SPL_WATCHDOG if SPL
325	select SUPPORT_SPL
326	imply CMD_DM
327
328config TARGET_MX6Q_ENGICAM
329	bool "Support Engicam i.Core(RQS)"
330	depends on MX6QDL
331	select BOARD_LATE_INIT
332	select DM
333	select DM_GPIO
334	select DM_I2C
335	select DM_MMC
336	select DM_THERMAL
337	select OF_CONTROL
338	select SPL_DM if SPL
339	select SPL_OF_CONTROL if SPL
340	select SPL_OF_LIBFDT
341	select SPL_PINCTRL if SPL
342	select SPL_SEPARATE_BSS if SPL
343	select SUPPORT_SPL
344	imply CMD_DM
345
346config TARGET_MX6Q_ACC
347	bool "Support for Bosch ACC board"
348	depends on MX6QDL
349	select BOARD_LATE_INIT
350	select OF_CONTROL
351	select SPL_OF_LIBFDT
352	select DM
353	select DM_GPIO
354	select DM_I2C
355	select DM_MMC
356	select DM_THERMAL
357	select SUPPORT_SPL
358
359config TARGET_MX6S_SIELAFF
360	bool "Sielaff i.MX6 Solo Board"
361	depends on MX6S
362	select BINMAN
363	select DM
364	select DM_THERMAL
365	select SUPPORT_SPL
366	imply CMD_DM
367
368config TARGET_MX6SABREAUTO
369	bool "mx6sabreauto"
370	depends on MX6QDL
371	select BOARD_EARLY_INIT_F
372	select BOARD_LATE_INIT
373	select DM
374	select DM_THERMAL
375	select SUPPORT_SPL
376	imply CMD_DM
377	select FSL_CAAM
378	select ARCH_MISC_INIT
379
380config TARGET_MX6SABRESD
381	bool "mx6sabresd"
382	depends on MX6QDL
383	select BOARD_EARLY_INIT_F
384	select BOARD_LATE_INIT
385	select DM
386	select DM_THERMAL
387	select SUPPORT_SPL
388	imply CMD_DM
389	select FSL_CAAM
390	select ARCH_MISC_INIT
391
392config TARGET_MX6SLEVK
393	bool "mx6slevk"
394	depends on MX6SL
395	select SUPPORT_SPL
396
397config TARGET_MX6SLLEVK
398	bool "mx6sll evk"
399	depends on MX6SLL
400	select BOARD_LATE_INIT
401	select DM
402	select DM_THERMAL
403	select IOMUX_LPSR
404	imply CMD_DM
405
406config TARGET_MX6SXSABRESD
407	bool "mx6sxsabresd"
408	depends on MX6SX
409	select BOARD_EARLY_INIT_F
410	select BOARD_LATE_INIT
411	select DM
412	select DM_THERMAL
413	select SUPPORT_SPL
414	select FSL_CAAM
415	select ARCH_MISC_INIT
416
417config TARGET_MX6SXSABREAUTO
418	bool "mx6sxsabreauto"
419	depends on MX6SX
420	select BOARD_EARLY_INIT_F
421	select BOARD_LATE_INIT
422	select DM
423	select DM_THERMAL
424	imply CMD_DM
425
426config TARGET_MX6UL_9X9_EVK
427	bool "mx6ul_9x9_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_14X14_EVK
438	bool "mx6ul_14x14_evk"
439	depends on MX6UL
440	select BOARD_LATE_INIT
441	select DM
442	select DM_THERMAL
443	select SUPPORT_SPL
444	imply CMD_DM
445	select FSL_CAAM
446	select ARCH_MISC_INIT
447
448config TARGET_MX6UL_ENGICAM
449	bool "Support Engicam GEAM6UL/Is.IoT"
450	depends on MX6UL
451	select BOARD_LATE_INIT
452	select DM
453	select DM_GPIO
454	select DM_I2C
455	select DM_MMC
456	select DM_THERMAL
457	select OF_CONTROL
458	select SPL_DM if SPL
459	select SPL_OF_CONTROL if SPL
460	select SPL_PINCTRL if SPL
461	select SPL_SEPARATE_BSS if SPL
462	select SUPPORT_SPL
463	imply CMD_DM
464
465config TARGET_MX6ULL_14X14_EVK
466	bool "Support mx6ull_14x14_evk"
467	depends on MX6ULL
468	select BOARD_LATE_INIT
469	select DM
470	select DM_THERMAL
471	select IOMUX_LPSR
472	imply CMD_DM
473
474config TARGET_MX6ULZ_SMM_M2
475	bool "Support imx6ulz_smm_m2"
476	depends on MX6ULL
477	select DM
478	select DM_GPIO
479	select DM_I2C
480	select DM_SERIAL
481	select DM_MTD
482	select DM_THERMAL
483	select SUPPORT_SPL
484
485config TARGET_MYS_6ULX
486	bool "MYiR MYS-6ULX"
487	depends on MX6ULL
488	select DM
489	select DM_GPIO
490	select DM_I2C
491	select DM_MMC
492	select DM_SERIAL
493	select DM_THERMAL
494	select SUPPORT_SPL
495
496config TARGET_NITROGEN6X
497	bool "nitrogen6x"
498	depends on MX6DL || MX6Q || MX6QDL || MX6S
499	imply USB_ETHER_ASIX
500	imply USB_ETHER_MCS7830
501	imply USB_ETHER_SMSC95XX
502	imply USB_HOST_ETHER
503
504config TARGET_NPI_IMX6ULL
505	bool "Seeed NPI-IMX6ULL"
506	depends on MX6ULL
507	select DM
508	select DM_MMC
509	select DM_GPIO
510	select DM_SERIAL
511	select DM_THERMAL
512	select SUPPORT_SPL
513
514config TARGET_OPOS6ULDEV
515	bool "Armadeus OPOS6ULDev board"
516	depends on MX6UL
517	select MX6UL_OPOS6UL
518
519config TARGET_PICO_IMX6
520	bool "PICO-IMX6"
521	depends on MX6QDL
522	select BOARD_EARLY_INIT_F
523	select BOARD_LATE_INIT
524	select DM
525	select DM_THERMAL
526	select SUPPORT_SPL
527	imply CMD_DM
528
529config TARGET_PICO_IMX6UL
530	bool "PICO-IMX6UL-EMMC"
531	depends on MX6UL
532	select DM
533	select SUPPORT_SPL
534	imply CMD_DM
535
536config TARGET_LITEBOARD
537	bool "Grinn liteBoard (i.MX6UL)"
538	depends on MX6UL
539	select BOARD_LATE_INIT
540	select MX6UL_LITESOM
541
542config TARGET_PCM058
543	bool "Phytec PCM058 i.MX6 Quad"
544	depends on MX6Q
545	select BOARD_LATE_INIT
546	select SUPPORT_SPL
547	select DM
548	select OF_CONTROL
549	imply CMD_DM
550
551config TARGET_PCL063
552	bool "PHYTEC PCL063 (phyCORE-i.MX6UL)"
553	depends on MX6UL
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_PCL063_ULL
563	bool "PHYTEC PCL063 (phyCORE-i.MX6ULL)"
564	depends on MX6ULL
565	select DM
566	select DM_GPIO
567	select DM_I2C
568	select DM_MMC
569	select DM_SERIAL
570	select DM_THERMAL
571	select SUPPORT_SPL
572
573config TARGET_SOMLABS_VISIONSOM_6ULL
574	bool "visionsom-6ull"
575	depends on MX6ULL
576	select BOARD_LATE_INIT
577	select DM
578	select DM_GPIO
579	select DM_MMC
580	select DM_SERIAL
581	select DM_THERMAL
582	imply CMD_DM
583
584config TARGET_TBS2910
585	bool "TBS2910 Matrix ARM mini PC"
586	depends on MX6Q
587
588config TARGET_KP_IMX6Q_TPC
589	bool "K+P KP_IMX6Q_TPC i.MX6 Quad"
590	depends on MX6QDL
591	select BOARD_EARLY_INIT_F
592	select BOARD_LATE_INIT
593	select DM
594	select SPL_DM if SPL
595	select DM_THERMAL
596	select DM_MMC
597	select DM_REGULATOR
598	select SPL_DM_REGULATOR if SPL
599	select DM_SERIAL
600	select DM_I2C
601	select DM_GPIO
602	select SUPPORT_SPL
603	select SPL_SEPARATE_BSS if SPL
604	imply CMD_DM
605	imply CMD_SPL
606
607config TARGET_TQMA6
608	bool "TQ-Systems TQMa6 board"
609	select BOARD_EARLY_INIT_F
610	select BOARD_LATE_INIT
611	select MXC_SPI
612	select SPI
613	imply DM
614	imply DM_GPIO
615	imply DM_MMC
616	imply MTD
617	imply DM_SPI
618	imply DM_SPI_FLASH
619	imply DM_I2C
620	imply CMD_SF
621	imply CMD_DM
622
623config TARGET_UDOO
624	bool "udoo"
625	depends on MX6QDL
626	select BOARD_LATE_INIT
627	select SUPPORT_SPL
628	imply CMD_DM
629
630config TARGET_UDOO_NEO
631	bool "UDOO Neo"
632	depends on MX6SX
633	select BOARD_LATE_INIT
634	select DM
635	select DM_THERMAL
636	select SUPPORT_SPL
637	imply CMD_DM
638
639config TARGET_SOFTING_VINING_2000
640	bool "Softing VIN|ING 2000"
641	depends on MX6SX
642	select BOARD_LATE_INIT
643	select DM
644	select DM_THERMAL
645	select SUPPORT_SPL
646	imply CMD_DM
647
648config TARGET_WANDBOARD
649	bool "wandboard"
650	depends on MX6QDL
651	select BOARD_LATE_INIT
652	select SUPPORT_SPL
653
654config TARGET_BRPPT2
655	bool "brppt2"
656	depends on MX6QDL
657	select BOARD_LATE_INIT
658	select OF_CONTROL
659	select SPL_OF_LIBFDT
660	select DM
661	select DM_GPIO
662	select DM_I2C
663	select DM_MMC
664	select SUPPORT_SPL
665	select SPL_DM if SPL
666	select SPL_OF_CONTROL if SPL
667        help
668          Support
669          B&R BRPPT2 platform
670          based on Freescale's iMX6 SoC
671
672config TARGET_O4_IMX6ULL_NANO
673	bool "O4-iMX6ULL-NANO"
674	depends on MX6ULL
675	select BOARD_LATE_INIT
676	select DM
677	select DM_THERMAL
678	imply CMD_DM
679	help
680	  Support for www.out4.ru O4-iMX6UL-NANO platform
681	  based on Freescale's i.MX6UL/i.MX6ULL SoC.
682
683endchoice
684
685config SYS_SOC
686	default "mx6"
687
688source "board/ge/bx50v3/Kconfig"
689source "board/ge/b1x5v2/Kconfig"
690source "board/aristainetos/Kconfig"
691source "board/armadeus/opos6uldev/Kconfig"
692source "board/boundary/nitrogen6x/Kconfig"
693source "board/bsh/imx6ulz_smm_m2/Kconfig"
694source "board/bticino/mamoj/Kconfig"
695source "board/compulab/cm_fx6/Kconfig"
696source "board/dhelectronics/dh_imx6/Kconfig"
697source "board/embest/mx6boards/Kconfig"
698source "board/engicam/imx6q/Kconfig"
699source "board/engicam/imx6ul/Kconfig"
700source "board/freescale/mx6memcal/Kconfig"
701source "board/freescale/mx6sabreauto/Kconfig"
702source "board/freescale/mx6sabresd/Kconfig"
703source "board/freescale/mx6slevk/Kconfig"
704source "board/freescale/mx6sllevk/Kconfig"
705source "board/freescale/mx6sxsabresd/Kconfig"
706source "board/freescale/mx6sxsabreauto/Kconfig"
707source "board/freescale/mx6ul_14x14_evk/Kconfig"
708source "board/freescale/mx6ullevk/Kconfig"
709source "board/bosch/acc/Kconfig"
710source "board/grinn/liteboard/Kconfig"
711source "board/phytec/pcm058/Kconfig"
712source "board/phytec/pcl063/Kconfig"
713source "board/gateworks/gw_ventana/Kconfig"
714source "board/kontron/sl-mx6ul/Kconfig"
715source "board/kosagi/novena/Kconfig"
716source "board/softing/vining_2000/Kconfig"
717source "board/liebherr/display5/Kconfig"
718source "board/liebherr/mccmon6/Kconfig"
719source "board/logicpd/imx6/Kconfig"
720source "board/sielaff/imx6dl-sielaff/Kconfig"
721source "board/solidrun/mx6cuboxi/Kconfig"
722source "board/somlabs/visionsom-6ull/Kconfig"
723source "board/technexion/pico-imx6/Kconfig"
724source "board/technexion/pico-imx6ul/Kconfig"
725source "board/tbs/tbs2910/Kconfig"
726source "board/tq/tqma6/Kconfig"
727source "board/toradex/apalis_imx6/Kconfig"
728source "board/toradex/colibri_imx6/Kconfig"
729source "board/toradex/colibri-imx6ull/Kconfig"
730source "board/k+p/kp_imx6q_tpc/Kconfig"
731source "board/udoo/Kconfig"
732source "board/udoo/neo/Kconfig"
733source "board/wandboard/Kconfig"
734source "board/BuR/brppt2/Kconfig"
735source "board/out4/o4-imx6ull-nano/Kconfig"
736
737endif
738