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
172config TARGET_DART_6UL
173	bool "Variscite imx6ULL dart(DART-SOM-6ULL)"
174	depends on MX6ULL
175	select DM
176	select DM_ETH
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_ETH
200	select DM_I2C
201	select DM_MMC
202	select DM_SPI
203	select DM_GPIO
204	select DM_SERIAL
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	imply CMD_SATA
231	imply CMD_SPL
232
233config TARGET_KONTRON_MX6UL
234	bool "Kontron Electronics SL/BL i.MX6UL/ULL (N63xx/N64xx)"
235	depends on MX6UL
236	select BINMAN
237	select DM
238	select DM_THERMAL
239	select SUPPORT_SPL
240	imply CMD_DM
241
242config TARGET_KOSAGI_NOVENA
243	bool "Kosagi Novena"
244	select BOARD_LATE_INIT
245	select DM_ETH
246	select DM_GPIO
247	select DM_MMC
248	select PCI
249	select DM_SCSI
250	select DM_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_ETH
262	select DM_SERIAL
263	select DM_I2C
264	select DM_SPI
265	imply CMD_DM
266
267config TARGET_MX6CUBOXI
268	bool "Solid-run mx6 boards"
269	depends on MX6QDL
270	select BOARD_LATE_INIT
271	select SUPPORT_SPL
272
273config TARGET_MX6LOGICPD
274	bool "Logic PD i.MX6 SOM"
275	depends on MX6Q
276	select SUPPORT_SPL
277	select BOARD_EARLY_INIT_F
278	select BOARD_LATE_INIT
279	select DM
280	select DM_ETH
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_ETH
302	select DM_GPIO
303	select DM_I2C
304	select DM_MMC
305	select DM_PMIC
306	select DM_PMIC_PFUZE100
307	select DM_THERMAL
308	select OF_CONTROL
309	select PINCTRL
310	select SPL
311	select SPL_DM if SPL
312	select SPL_GPIO if SPL
313	select SPL_LIBCOMMON_SUPPORT if SPL
314	select SPL_LIBDISK_SUPPORT if SPL
315	select SPL_LIBGENERIC_SUPPORT if SPL
316	select SPL_MMC if SPL
317	select SPL_OF_CONTROL if SPL
318	select SPL_OF_LIBFDT if SPL
319	select SPL_PINCTRL if SPL
320	select SPL_SEPARATE_BSS if SPL
321	select SPL_SERIAL if SPL
322	select SPL_USB_GADGET if SPL
323	select SPL_USB_HOST if SPL
324	select SPL_USB_SDP_SUPPORT if SPL
325	select SPL_WATCHDOG if SPL
326	select SUPPORT_SPL
327	imply CMD_DM
328
329config TARGET_MX6Q_ENGICAM
330	bool "Support Engicam i.Core(RQS)"
331	depends on MX6QDL
332	select BOARD_LATE_INIT
333	select DM
334	select DM_ETH
335	select DM_GPIO
336	select DM_I2C
337	select DM_MMC
338	select DM_THERMAL
339	select OF_CONTROL
340	select SPL_DM if SPL
341	select SPL_OF_CONTROL if SPL
342	select SPL_OF_LIBFDT
343	select SPL_PINCTRL if SPL
344	select SPL_SEPARATE_BSS if SPL
345	select SUPPORT_SPL
346	imply CMD_DM
347
348config TARGET_MX6SABREAUTO
349	bool "mx6sabreauto"
350	depends on MX6QDL
351	select BOARD_EARLY_INIT_F
352	select BOARD_LATE_INIT
353	select DM
354	select DM_THERMAL
355	select SUPPORT_SPL
356	imply CMD_DM
357
358config TARGET_MX6SABRESD
359	bool "mx6sabresd"
360	depends on MX6QDL
361	select BOARD_EARLY_INIT_F
362	select BOARD_LATE_INIT
363	select DM
364	select DM_THERMAL
365	select SUPPORT_SPL
366	imply CMD_DM
367
368config TARGET_MX6SLEVK
369	bool "mx6slevk"
370	depends on MX6SL
371	select SUPPORT_SPL
372
373config TARGET_MX6SLLEVK
374	bool "mx6sll evk"
375	depends on MX6SLL
376	select BOARD_LATE_INIT
377	select DM
378	select DM_THERMAL
379	imply CMD_DM
380
381config TARGET_MX6SXSABRESD
382	bool "mx6sxsabresd"
383	depends on MX6SX
384	select BOARD_EARLY_INIT_F
385	select BOARD_LATE_INIT
386	select DM
387	select DM_THERMAL
388	select SUPPORT_SPL
389
390config TARGET_MX6SXSABREAUTO
391	bool "mx6sxsabreauto"
392	depends on MX6SX
393	select BOARD_EARLY_INIT_F
394	select BOARD_LATE_INIT
395	select DM
396	select DM_THERMAL
397	imply CMD_DM
398
399config TARGET_MX6UL_9X9_EVK
400	bool "mx6ul_9x9_evk"
401	depends on MX6UL
402	select BOARD_LATE_INIT
403	select DM
404	select DM_THERMAL
405	select SUPPORT_SPL
406	imply CMD_DM
407
408config TARGET_MX6UL_14X14_EVK
409	bool "mx6ul_14x14_evk"
410	depends on MX6UL
411	select BOARD_LATE_INIT
412	select DM
413	select DM_THERMAL
414	select SUPPORT_SPL
415	imply CMD_DM
416
417config TARGET_MX6UL_ENGICAM
418	bool "Support Engicam GEAM6UL/Is.IoT"
419	depends on MX6UL
420	select BOARD_LATE_INIT
421	select DM
422	select DM_ETH
423	select DM_GPIO
424	select DM_I2C
425	select DM_MMC
426	select DM_THERMAL
427	select OF_CONTROL
428	select SPL_DM if SPL
429	select SPL_OF_CONTROL if SPL
430	select SPL_PINCTRL if SPL
431	select SPL_SEPARATE_BSS if SPL
432	select SUPPORT_SPL
433	imply CMD_DM
434
435config TARGET_MX6ULL_14X14_EVK
436	bool "Support mx6ull_14x14_evk"
437	depends on MX6ULL
438	select BOARD_LATE_INIT
439	select DM
440	select DM_THERMAL
441	imply CMD_DM
442
443config TARGET_MYS_6ULX
444	bool "MYiR MYS-6ULX"
445	depends on MX6ULL
446	select DM
447	select DM_ETH
448	select DM_GPIO
449	select DM_I2C
450	select DM_MMC
451	select DM_SERIAL
452	select DM_THERMAL
453	select SUPPORT_SPL
454
455config TARGET_NITROGEN6X
456	bool "nitrogen6x"
457	depends on MX6DL || MX6Q || MX6QDL || MX6S
458	imply USB_ETHER_ASIX
459	imply USB_ETHER_MCS7830
460	imply USB_ETHER_SMSC95XX
461	imply USB_HOST_ETHER
462
463config TARGET_NPI_IMX6ULL
464	bool "Seeed NPI-IMX6ULL"
465	depends on MX6ULL
466	select DM
467	select DM_ETH
468	select DM_MMC
469	select DM_GPIO
470	select DM_SERIAL
471	select DM_THERMAL
472	select SUPPORT_SPL
473
474config TARGET_OPOS6ULDEV
475	bool "Armadeus OPOS6ULDev board"
476	depends on MX6UL
477	select MX6UL_OPOS6UL
478
479config TARGET_PICO_IMX6
480	bool "PICO-IMX6"
481	depends on MX6QDL
482	select BOARD_EARLY_INIT_F
483	select BOARD_LATE_INIT
484	select DM
485	select DM_THERMAL
486	select SUPPORT_SPL
487	imply CMD_DM
488
489config TARGET_PICO_IMX6UL
490	bool "PICO-IMX6UL-EMMC"
491	depends on MX6UL
492	select DM
493	select SUPPORT_SPL
494	imply CMD_DM
495
496config TARGET_LITEBOARD
497	bool "Grinn liteBoard (i.MX6UL)"
498	depends on MX6UL
499	select BOARD_LATE_INIT
500	select MX6UL_LITESOM
501
502config TARGET_PCM058
503	bool "Phytec PCM058 i.MX6 Quad"
504	depends on MX6Q
505	select BOARD_LATE_INIT
506	select SUPPORT_SPL
507	select DM
508	select OF_CONTROL
509	imply CMD_DM
510
511config TARGET_PCL063
512	bool "PHYTEC PCL063 (phyCORE-i.MX6UL)"
513	depends on MX6UL
514	select DM
515	select DM_ETH
516	select DM_GPIO
517	select DM_I2C
518	select DM_MMC
519	select DM_SERIAL
520	select DM_THERMAL
521	select SUPPORT_SPL
522
523config TARGET_PCL063_ULL
524	bool "PHYTEC PCL063 (phyCORE-i.MX6ULL)"
525	depends on MX6ULL
526	select DM
527	select DM_ETH
528	select DM_GPIO
529	select DM_I2C
530	select DM_MMC
531	select DM_SERIAL
532	select DM_THERMAL
533	select SUPPORT_SPL
534
535config TARGET_SOMLABS_VISIONSOM_6ULL
536	bool "visionsom-6ull"
537	depends on MX6ULL
538	select BOARD_LATE_INIT
539	select DM
540	select DM_ETH
541	select DM_GPIO
542	select DM_MMC
543	select DM_SERIAL
544	select DM_THERMAL
545	imply CMD_DM
546
547config TARGET_TBS2910
548	bool "TBS2910 Matrix ARM mini PC"
549	depends on MX6Q
550
551config TARGET_KP_IMX6Q_TPC
552	bool "K+P KP_IMX6Q_TPC i.MX6 Quad"
553	depends on MX6QDL
554	select BOARD_EARLY_INIT_F
555	select BOARD_LATE_INIT
556	select DM
557	select SPL_DM if SPL
558	select DM_THERMAL
559	select DM_MMC
560	select DM_ETH
561	select DM_REGULATOR
562	select SPL_DM_REGULATOR if SPL
563	select DM_SERIAL
564	select DM_I2C
565	select DM_GPIO
566	select SUPPORT_SPL
567	select SPL_SEPARATE_BSS if SPL
568	imply CMD_DM
569	imply CMD_SPL
570
571config TARGET_TQMA6
572	bool "TQ Systems TQMa6 board"
573	select BOARD_EARLY_INIT_F
574	select BOARD_LATE_INIT
575	select MXC_SPI
576	select SPI
577	imply DM
578	imply DM_GPIO
579	imply DM_MMC
580	imply DM_SPI
581	imply DM_SPI_FLASH
582	imply DM_I2C
583	imply CMD_SF
584	imply CMD_DM
585
586config TARGET_UDOO
587	bool "udoo"
588	depends on MX6QDL
589	select BOARD_LATE_INIT
590	select SUPPORT_SPL
591
592config TARGET_UDOO_NEO
593	bool "UDOO Neo"
594	depends on MX6SX
595	select BOARD_LATE_INIT
596	select DM
597	select DM_THERMAL
598	select SUPPORT_SPL
599	imply CMD_DM
600
601config TARGET_SOFTING_VINING_2000
602	bool "Softing VIN|ING 2000"
603	depends on MX6SX
604	select BOARD_LATE_INIT
605	select DM
606	select DM_THERMAL
607	select SUPPORT_SPL
608	imply CMD_DM
609
610config TARGET_WANDBOARD
611	bool "wandboard"
612	depends on MX6QDL
613	select BOARD_LATE_INIT
614	select SUPPORT_SPL
615
616config TARGET_WARP
617	bool "WaRP"
618	depends on MX6SL
619	select BOARD_LATE_INIT
620
621config TARGET_BRPPT2
622	bool "brppt2"
623	depends on MX6QDL
624	select BOARD_LATE_INIT
625	select OF_CONTROL
626	select SPL_OF_LIBFDT
627	select DM
628	select DM_ETH
629	select DM_GPIO
630	select DM_I2C
631	select DM_MMC
632	select SUPPORT_SPL
633	select SPL_DM if SPL
634	select SPL_OF_CONTROL if SPL
635        help
636          Support
637          B&R BRPPT2 platform
638          based on Freescale's iMX6 SoC
639
640config TARGET_O4_IMX6ULL_NANO
641	bool "O4-iMX6ULL-NANO"
642	depends on MX6ULL
643	select BOARD_LATE_INIT
644	select DM
645	select DM_THERMAL
646	imply CMD_DM
647	help
648	  Support for www.out4.ru O4-iMX6UL-NANO platform
649	  based on Freescale's i.MX6UL/i.MX6ULL SoC.
650
651endchoice
652
653config SYS_SOC
654	default "mx6"
655
656source "board/ge/bx50v3/Kconfig"
657source "board/ge/b1x5v2/Kconfig"
658source "board/aristainetos/Kconfig"
659source "board/armadeus/opos6uldev/Kconfig"
660source "board/boundary/nitrogen6x/Kconfig"
661source "board/bticino/mamoj/Kconfig"
662source "board/compulab/cm_fx6/Kconfig"
663source "board/dhelectronics/dh_imx6/Kconfig"
664source "board/embest/mx6boards/Kconfig"
665source "board/engicam/imx6q/Kconfig"
666source "board/engicam/imx6ul/Kconfig"
667source "board/freescale/mx6memcal/Kconfig"
668source "board/freescale/mx6sabreauto/Kconfig"
669source "board/freescale/mx6sabresd/Kconfig"
670source "board/freescale/mx6slevk/Kconfig"
671source "board/freescale/mx6sllevk/Kconfig"
672source "board/freescale/mx6sxsabresd/Kconfig"
673source "board/freescale/mx6sxsabreauto/Kconfig"
674source "board/freescale/mx6ul_14x14_evk/Kconfig"
675source "board/freescale/mx6ullevk/Kconfig"
676source "board/grinn/liteboard/Kconfig"
677source "board/phytec/pcm058/Kconfig"
678source "board/phytec/pcl063/Kconfig"
679source "board/gateworks/gw_ventana/Kconfig"
680source "board/kontron/sl-mx6ul/Kconfig"
681source "board/kosagi/novena/Kconfig"
682source "board/softing/vining_2000/Kconfig"
683source "board/liebherr/display5/Kconfig"
684source "board/liebherr/mccmon6/Kconfig"
685source "board/logicpd/imx6/Kconfig"
686source "board/solidrun/mx6cuboxi/Kconfig"
687source "board/somlabs/visionsom-6ull/Kconfig"
688source "board/technexion/pico-imx6/Kconfig"
689source "board/technexion/pico-imx6ul/Kconfig"
690source "board/tbs/tbs2910/Kconfig"
691source "board/tqc/tqma6/Kconfig"
692source "board/toradex/apalis_imx6/Kconfig"
693source "board/toradex/colibri_imx6/Kconfig"
694source "board/toradex/colibri-imx6ull/Kconfig"
695source "board/k+p/kp_imx6q_tpc/Kconfig"
696source "board/udoo/Kconfig"
697source "board/udoo/neo/Kconfig"
698source "board/wandboard/Kconfig"
699source "board/warp/Kconfig"
700source "board/BuR/brppt2/Kconfig"
701source "board/out4/o4-imx6ull-nano/Kconfig"
702
703endif
704