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	default n
106	help
107	  Say "Y" if your board uses dynamic (per-boot) DDR calibration.
108	  If unsure, say N.
109
110choice
111	prompt "MX6 board select"
112	optional
113
114config TARGET_ADVANTECH_DMS_BA16
115	bool "Advantech dms-ba16"
116	depends on MX6Q
117	select BOARD_LATE_INIT
118	imply CMD_SATA
119
120config TARGET_APALIS_IMX6
121	bool "Toradex Apalis iMX6 board"
122	depends on MX6Q
123	select BOARD_LATE_INIT
124	select DM
125	select DM_SERIAL
126	select DM_THERMAL
127	select SUPPORT_SPL
128	imply CMD_DM
129	imply CMD_SATA
130
131config TARGET_ARISTAINETOS2C
132	bool "Support aristainetos2-revC"
133	depends on MX6DL
134	select BOARD_LATE_INIT
135	select SYS_I2C_MXC
136	select MXC_UART
137	select FEC_MXC
138	select DM
139	imply CMD_SATA
140	imply CMD_DM
141
142config TARGET_ARISTAINETOS2CCSLB
143	bool "Support aristainetos2-revC CSL"
144	depends on MX6DL
145	select BOARD_LATE_INIT
146	select SYS_I2C_MXC
147	select MXC_UART
148	select FEC_MXC
149	select DM
150	imply CMD_SATA
151	imply CMD_DM
152
153config TARGET_CGTQMX6EVAL
154	bool "cgtqmx6eval"
155	depends on MX6QDL
156	select BOARD_LATE_INIT
157	select DM
158	select DM_THERMAL
159	select SUPPORT_SPL
160	imply CMD_DM
161
162config TARGET_CM_FX6
163	bool "CM-FX6"
164	depends on MX6QDL
165	select BOARD_LATE_INIT
166	select DM
167	select DM_GPIO
168	select DM_SERIAL
169	select SUPPORT_SPL
170	imply CMD_DM
171
172config TARGET_COLIBRI_IMX6
173	bool "Toradex Colibri iMX6 board"
174	select BOARD_LATE_INIT
175	select DM
176	select DM_SERIAL
177	select DM_THERMAL
178	select SUPPORT_SPL
179	imply CMD_DM
180
181config TARGET_COLIBRI_IMX6ULL
182	bool "Toradex Colibri iMX6ULL"
183	depends on MX6ULL
184	select BOARD_LATE_INIT
185	select DM
186	select DM_THERMAL
187
188config TARGET_DART_6UL
189	bool "Variscite imx6ULL dart(DART-SOM-6ULL)"
190	depends on MX6ULL
191	select DM
192	select DM_ETH
193	select DM_GPIO
194	select DM_I2C
195	select DM_MMC
196	select DM_SERIAL
197	select DM_THERMAL
198	select SUPPORT_SPL
199
200config TARGET_DHCOMIMX6
201	bool "dh_imx6"
202	depends on MX6QDL
203	select BOARD_EARLY_INIT_F
204	select BOARD_LATE_INIT
205	select DM
206	select DM_THERMAL
207	select SUPPORT_SPL
208	imply CMD_DM
209	imply CMD_SPL
210
211config TARGET_DISPLAY5
212	bool "LWN DISPLAY5 board"
213	depends on MX6Q
214	select DM
215	select DM_ETH
216	select DM_I2C
217	select DM_MMC
218	select DM_SPI
219	select DM_GPIO
220	select DM_SERIAL
221	select SUPPORT_SPL
222	imply CMD_DM
223
224config TARGET_EMBESTMX6BOARDS
225	bool "embestmx6boards"
226	select BOARD_LATE_INIT
227	select SUPPORT_SPL
228
229config TARGET_GE_BX50V3
230	bool "General Electric Bx50v3"
231	depends on MX6Q
232	select BOARD_LATE_INIT
233
234config TARGET_GE_B1X5V2
235	bool "General Electric B1x5v2"
236	depends on MX6QDL
237	select BOARD_LATE_INIT
238	select DM
239	select DM_THERMAL
240	select SUPPORT_SPL
241
242config TARGET_GW_VENTANA
243	bool "gw_ventana"
244	depends on MX6QDL
245	select SUPPORT_SPL
246	imply CMD_SATA
247	imply CMD_SPL
248
249config TARGET_KOSAGI_NOVENA
250	bool "Kosagi Novena"
251	select BOARD_LATE_INIT
252	select DM_ETH
253	select DM_GPIO
254	select DM_MMC
255	select DM_PCI
256	select DM_SCSI
257	select DM_USB
258	select DM_VIDEO
259	select OF_CONTROL
260	select SUPPORT_SPL
261	imply CMD_DM
262
263config TARGET_MCCMON6
264	bool "mccmon6"
265	depends on MX6QDL
266	select SUPPORT_SPL
267	select DM
268	select DM_GPIO
269	select DM_ETH
270	select DM_SERIAL
271	select DM_I2C
272	select DM_SPI
273	imply CMD_DM
274
275config TARGET_MX6CUBOXI
276	bool "Solid-run mx6 boards"
277	depends on MX6QDL
278	select BOARD_LATE_INIT
279	select SUPPORT_SPL
280
281config TARGET_MX6LOGICPD
282	bool "Logic PD i.MX6 SOM"
283	depends on MX6Q
284	select SUPPORT_SPL
285	select BOARD_EARLY_INIT_F
286	select BOARD_LATE_INIT
287	select DM
288	select DM_ETH
289	select DM_GPIO
290	select DM_I2C
291	select DM_MMC
292	select DM_PMIC
293	select OF_CONTROL
294	imply CMD_DM
295
296config TARGET_MX6MEMCAL
297	bool "mx6memcal"
298	depends on MX6QDL
299	select SUPPORT_SPL
300	help
301	  The mx6memcal board is a virtual board that can be used to validate
302	  and characterize the memory layout of a new design during the initial
303	  development and pre-production stages.
304
305config TARGET_MX6QARM2
306	bool "mx6qarm2"
307
308config TARGET_MX6DL_MAMOJ
309	bool "Support BTicino Mamoj"
310	depends on MX6QDL
311	select DM
312	select DM_ETH
313	select DM_GPIO
314	select DM_I2C
315	select DM_MMC
316	select DM_PMIC
317	select DM_PMIC_PFUZE100
318	select DM_THERMAL
319	select OF_CONTROL
320	select PINCTRL
321	select SPL
322	select SPL_DM if SPL
323	select SPL_GPIO_SUPPORT if SPL
324	select SPL_LIBCOMMON_SUPPORT if SPL
325	select SPL_LIBDISK_SUPPORT if SPL
326	select SPL_LIBGENERIC_SUPPORT if SPL
327	select SPL_MMC_SUPPORT if SPL
328	select SPL_OF_CONTROL if SPL
329	select SPL_OF_LIBFDT if SPL
330	select SPL_PINCTRL if SPL
331	select SPL_SEPARATE_BSS if SPL
332	select SPL_SERIAL_SUPPORT if SPL
333	select SPL_USB_GADGET if SPL
334	select SPL_USB_HOST_SUPPORT if SPL
335	select SPL_USB_SDP_SUPPORT if SPL
336	select SPL_WATCHDOG_SUPPORT if SPL
337	select SUPPORT_SPL
338	imply CMD_DM
339
340config TARGET_MX6Q_ENGICAM
341	bool "Support Engicam i.Core(RQS)"
342	depends on MX6QDL
343	select BOARD_LATE_INIT
344	select DM
345	select DM_ETH
346	select DM_GPIO
347	select DM_I2C
348	select DM_MMC
349	select DM_THERMAL
350	select OF_CONTROL
351	select SPL_DM if SPL
352	select SPL_OF_CONTROL if SPL
353	select SPL_OF_LIBFDT
354	select SPL_PINCTRL if SPL
355	select SPL_SEPARATE_BSS if SPL
356	select SUPPORT_SPL
357	imply CMD_DM
358
359config TARGET_MX6SABREAUTO
360	bool "mx6sabreauto"
361	depends on MX6QDL
362	select BOARD_EARLY_INIT_F
363	select BOARD_LATE_INIT
364	select DM
365	select DM_THERMAL
366	select SUPPORT_SPL
367	imply CMD_DM
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
379config TARGET_MX6SLEVK
380	bool "mx6slevk"
381	depends on MX6SL
382	select SUPPORT_SPL
383
384config TARGET_MX6SLLEVK
385	bool "mx6sll evk"
386	depends on MX6SLL
387	select BOARD_LATE_INIT
388	select DM
389	select DM_THERMAL
390	imply CMD_DM
391
392config TARGET_MX6SXSABRESD
393	bool "mx6sxsabresd"
394	depends on MX6SX
395	select BOARD_EARLY_INIT_F
396	select BOARD_LATE_INIT
397	select DM
398	select DM_THERMAL
399	select SUPPORT_SPL
400
401config TARGET_MX6SXSABREAUTO
402	bool "mx6sxsabreauto"
403	depends on MX6SX
404	select BOARD_EARLY_INIT_F
405	select BOARD_LATE_INIT
406	select DM
407	select DM_THERMAL
408	imply CMD_DM
409
410config TARGET_MX6UL_9X9_EVK
411	bool "mx6ul_9x9_evk"
412	depends on MX6UL
413	select BOARD_LATE_INIT
414	select DM
415	select DM_THERMAL
416	select SUPPORT_SPL
417	imply CMD_DM
418
419config TARGET_MX6UL_14X14_EVK
420	bool "mx6ul_14x14_evk"
421	depends on MX6UL
422	select BOARD_LATE_INIT
423	select DM
424	select DM_THERMAL
425	select SUPPORT_SPL
426	imply CMD_DM
427
428config TARGET_MX6UL_ENGICAM
429	bool "Support Engicam GEAM6UL/Is.IoT"
430	depends on MX6UL
431	select BOARD_LATE_INIT
432	select DM
433	select DM_ETH
434	select DM_GPIO
435	select DM_I2C
436	select DM_MMC
437	select DM_THERMAL
438	select OF_CONTROL
439	select SPL_DM if SPL
440	select SPL_OF_CONTROL if SPL
441	select SPL_PINCTRL if SPL
442	select SPL_SEPARATE_BSS if SPL
443	select SUPPORT_SPL
444	imply CMD_DM
445
446config TARGET_MX6ULL_14X14_EVK
447	bool "Support mx6ull_14x14_evk"
448	depends on MX6ULL
449	select BOARD_LATE_INIT
450	select DM
451	select DM_THERMAL
452	imply CMD_DM
453
454config TARGET_MYS_6ULX
455	bool "MYiR MYS-6ULX"
456	depends on MX6ULL
457	select DM
458	select DM_ETH
459	select DM_GPIO
460	select DM_I2C
461	select DM_MMC
462	select DM_SERIAL
463	select DM_THERMAL
464	select SUPPORT_SPL
465
466config TARGET_NITROGEN6X
467	bool "nitrogen6x"
468	depends on MX6DL || MX6Q || MX6QDL || MX6S
469	imply USB_ETHER_ASIX
470	imply USB_ETHER_MCS7830
471	imply USB_ETHER_SMSC95XX
472	imply USB_HOST_ETHER
473
474config TARGET_OPOS6ULDEV
475	bool "Armadeus OPOS6ULDev board"
476	depends on MX6UL
477	select MX6UL_OPOS6UL
478
479config TARGET_OT1200
480	bool "Bachmann OT1200"
481	select SUPPORT_SPL
482	imply CMD_SATA
483
484config TARGET_PICO_IMX6
485	bool "PICO-IMX6"
486	depends on MX6QDL
487	select BOARD_EARLY_INIT_F
488	select BOARD_LATE_INIT
489	select DM
490	select DM_THERMAL
491	select SUPPORT_SPL
492	imply CMD_DM
493
494config TARGET_PICO_IMX6UL
495	bool "PICO-IMX6UL-EMMC"
496	depends on MX6UL
497	select DM
498	select SUPPORT_SPL
499	imply CMD_DM
500
501config TARGET_LITEBOARD
502	bool "Grinn liteBoard (i.MX6UL)"
503	depends on MX6UL
504	select BOARD_LATE_INIT
505	select MX6UL_LITESOM
506
507config TARGET_PLATINUM_PICON
508	bool "platinum-picon"
509	select SUPPORT_SPL
510
511config TARGET_PLATINUM_TITANIUM
512	bool "platinum-titanium"
513	select SUPPORT_SPL
514
515config TARGET_PCM058
516	bool "Phytec PCM058 i.MX6 Quad"
517	depends on MX6Q
518	select BOARD_LATE_INIT
519	select SUPPORT_SPL
520	select DM
521	select OF_CONTROL
522	imply CMD_DM
523
524config TARGET_PFLA02
525	bool "Phytec PFLA02 (PhyFlex) i.MX6 Quad"
526	depends on MX6QDL
527	select BOARD_LATE_INIT
528	select SUPPORT_SPL
529
530config TARGET_PCL063
531	bool "PHYTEC PCL063 (phyCORE-i.MX6UL)"
532	depends on MX6UL
533	select DM
534	select DM_ETH
535	select DM_GPIO
536	select DM_I2C
537	select DM_MMC
538	select DM_SERIAL
539	select DM_THERMAL
540	select SUPPORT_SPL
541
542config TARGET_PCL063_ULL
543	bool "PHYTEC PCL063 (phyCORE-i.MX6ULL)"
544	depends on MX6ULL
545	select DM
546	select DM_ETH
547	select DM_GPIO
548	select DM_I2C
549	select DM_MMC
550	select DM_SERIAL
551	select DM_THERMAL
552	select SUPPORT_SPL
553
554config TARGET_SECOMX6
555	bool "secomx6 boards"
556
557config TARGET_SOMLABS_VISIONSOM_6ULL
558	bool "visionsom-6ull"
559	depends on MX6ULL
560	select BOARD_LATE_INIT
561	select DM
562	select DM_ETH
563	select DM_GPIO
564	select DM_MMC
565	select DM_SERIAL
566	select DM_THERMAL
567	imply CMD_DM
568
569config TARGET_TBS2910
570	bool "TBS2910 Matrix ARM mini PC"
571	depends on MX6Q
572
573config TARGET_TITANIUM
574	bool "titanium"
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_ETH
587	select DM_REGULATOR
588	select SPL_DM_REGULATOR if SPL
589	select DM_SERIAL
590	select DM_I2C
591	select DM_GPIO
592	select DM_USB
593	select SUPPORT_SPL
594	select SPL_SEPARATE_BSS if SPL
595	imply CMD_DM
596	imply CMD_SPL
597
598config TARGET_TQMA6
599	bool "TQ Systems TQMa6 board"
600	select BOARD_EARLY_INIT_F
601	select BOARD_LATE_INIT
602	select MXC_SPI
603	select SPI
604	imply DM
605	imply DM_GPIO
606	imply DM_MMC
607	imply DM_SPI
608	imply DM_SPI_FLASH
609	imply DM_I2C
610	imply CMD_SF
611	imply CMD_DM
612
613config TARGET_UDOO
614	bool "udoo"
615	depends on MX6QDL
616	select BOARD_LATE_INIT
617	select SUPPORT_SPL
618
619config TARGET_UDOO_NEO
620	bool "UDOO Neo"
621	depends on MX6SX
622	select BOARD_LATE_INIT
623	select DM
624	select DM_THERMAL
625	select SUPPORT_SPL
626	imply CMD_DM
627
628config TARGET_SOFTING_VINING_2000
629	bool "Softing VIN|ING 2000"
630	depends on MX6SX
631	select BOARD_LATE_INIT
632	select DM
633	select DM_THERMAL
634	select SUPPORT_SPL
635	imply CMD_DM
636
637config TARGET_WANDBOARD
638	bool "wandboard"
639	depends on MX6QDL
640	select BOARD_LATE_INIT
641	select SUPPORT_SPL
642
643config TARGET_WARP
644	bool "WaRP"
645	depends on MX6SL
646	select BOARD_LATE_INIT
647
648config TARGET_XPRESS
649	bool "CCV xPress"
650	depends on MX6UL
651	select BOARD_LATE_INIT
652	select DM
653	select DM_THERMAL
654	select SUPPORT_SPL
655	imply CMD_DM
656
657config TARGET_ZC5202
658	bool "zc5202"
659	select BOARD_LATE_INIT
660	select DM
661	select DM_THERMAL
662	select SUPPORT_SPL
663	imply CMD_DM
664
665config TARGET_ZC5601
666	bool "zc5601"
667	select BOARD_LATE_INIT
668	select DM
669	select DM_THERMAL
670	select SUPPORT_SPL
671	imply CMD_DM
672
673config TARGET_BRPPT2
674	bool "brppt2"
675	depends on MX6QDL
676	select BOARD_LATE_INIT
677	select OF_CONTROL
678	select SPL_OF_LIBFDT
679	select DM
680	select DM_ETH
681	select DM_GPIO
682	select DM_I2C
683	select DM_MMC
684	select SUPPORT_SPL
685	select SPL_DM if SPL
686	select SPL_OF_CONTROL if SPL
687        help
688          Support
689          B&R BRPPT2 platform
690          based on Freescale's iMX6 SoC
691endchoice
692
693config SYS_SOC
694	default "mx6"
695
696source "board/ge/bx50v3/Kconfig"
697source "board/ge/b1x5v2/Kconfig"
698source "board/advantech/dms-ba16/Kconfig"
699source "board/aristainetos/Kconfig"
700source "board/armadeus/opos6uldev/Kconfig"
701source "board/bachmann/ot1200/Kconfig"
702source "board/barco/platinum/Kconfig"
703source "board/barco/titanium/Kconfig"
704source "board/boundary/nitrogen6x/Kconfig"
705source "board/bticino/mamoj/Kconfig"
706source "board/ccv/xpress/Kconfig"
707source "board/compulab/cm_fx6/Kconfig"
708source "board/congatec/cgtqmx6eval/Kconfig"
709source "board/dhelectronics/dh_imx6/Kconfig"
710source "board/el/el6x/Kconfig"
711source "board/embest/mx6boards/Kconfig"
712source "board/engicam/imx6q/Kconfig"
713source "board/engicam/imx6ul/Kconfig"
714source "board/freescale/mx6qarm2/Kconfig"
715source "board/freescale/mx6memcal/Kconfig"
716source "board/freescale/mx6sabreauto/Kconfig"
717source "board/freescale/mx6sabresd/Kconfig"
718source "board/freescale/mx6slevk/Kconfig"
719source "board/freescale/mx6sllevk/Kconfig"
720source "board/freescale/mx6sxsabresd/Kconfig"
721source "board/freescale/mx6sxsabreauto/Kconfig"
722source "board/freescale/mx6ul_14x14_evk/Kconfig"
723source "board/freescale/mx6ullevk/Kconfig"
724source "board/grinn/liteboard/Kconfig"
725source "board/phytec/pcm058/Kconfig"
726source "board/phytec/pfla02/Kconfig"
727source "board/phytec/pcl063/Kconfig"
728source "board/gateworks/gw_ventana/Kconfig"
729source "board/kosagi/novena/Kconfig"
730source "board/softing/vining_2000/Kconfig"
731source "board/liebherr/display5/Kconfig"
732source "board/liebherr/mccmon6/Kconfig"
733source "board/logicpd/imx6/Kconfig"
734source "board/seco/Kconfig"
735source "board/solidrun/mx6cuboxi/Kconfig"
736source "board/somlabs/visionsom-6ull/Kconfig"
737source "board/technexion/pico-imx6/Kconfig"
738source "board/technexion/pico-imx6ul/Kconfig"
739source "board/tbs/tbs2910/Kconfig"
740source "board/tqc/tqma6/Kconfig"
741source "board/toradex/apalis_imx6/Kconfig"
742source "board/toradex/colibri_imx6/Kconfig"
743source "board/toradex/colibri-imx6ull/Kconfig"
744source "board/k+p/kp_imx6q_tpc/Kconfig"
745source "board/udoo/Kconfig"
746source "board/udoo/neo/Kconfig"
747source "board/wandboard/Kconfig"
748source "board/warp/Kconfig"
749source "board/BuR/brppt2/Kconfig"
750
751endif
752