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