xref: /openbmc/linux/arch/arm/mach-imx/Kconfig (revision e014f774)
1config ARCH_MXC
2	bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
3	select ARCH_REQUIRE_GPIOLIB
4	select ARM_PATCH_PHYS_VIRT
5	select AUTO_ZRELADDR if !ZBOOT_ROM
6	select CLKDEV_LOOKUP
7	select CLKSRC_MMIO
8	select GENERIC_CLOCKEVENTS
9	select GENERIC_IRQ_CHIP
10	select MULTI_IRQ_HANDLER
11	select SPARSE_IRQ
12	select USE_OF
13	help
14	  Support for Freescale MXC/iMX-based family of processors
15
16menu "Freescale i.MX support"
17	depends on ARCH_MXC
18
19config MXC_IRQ_PRIOR
20	bool "Use IRQ priority"
21	help
22	  Select this if you want to use prioritized IRQ handling.
23	  This feature prevents higher priority ISR to be interrupted
24	  by lower priority IRQ even IRQF_DISABLED flag is not set.
25	  This may be useful in embedded applications, where are strong
26	  requirements for timing.
27	  Say N here, unless you have a specialized requirement.
28
29config MXC_TZIC
30	bool
31
32config MXC_AVIC
33	bool
34
35config MXC_DEBUG_BOARD
36	bool "Enable MXC debug board(for 3-stack)"
37	help
38	  The debug board is an integral part of the MXC 3-stack(PDK)
39	  platforms, it can be attached or removed from the peripheral
40	  board. On debug board, several debug devices(ethernet, UART,
41	  buttons, LEDs and JTAG) are implemented. Between the MCU and
42	  these devices, a CPLD is added as a bridge which performs
43	  data/address de-multiplexing and decode, signal level shift,
44	  interrupt control and various board functions.
45
46config HAVE_EPIT
47	bool
48
49config MXC_USE_EPIT
50	bool "Use EPIT instead of GPT"
51	depends on HAVE_EPIT
52	help
53	  Use EPIT as the system timer on systems that have it. Normally you
54	  don't have a reason to do so as the EPIT has the same features and
55	  uses the same clocks as the GPT. Anyway, on some systems the GPT
56	  may be in use for other purposes.
57
58config MXC_ULPI
59	bool
60
61config ARCH_HAS_RNGA
62	bool
63
64config IRAM_ALLOC
65	bool
66	select GENERIC_ALLOCATOR
67
68config HAVE_IMX_GPC
69	bool
70
71config HAVE_IMX_MMDC
72	bool
73
74config HAVE_IMX_SRC
75	def_bool y if SMP
76
77config IMX_HAVE_IOMUX_V1
78	bool
79
80config ARCH_MXC_IOMUX_V3
81	bool
82
83config ARCH_MX1
84	bool
85
86config MACH_MX21
87	bool
88
89config ARCH_MX25
90	bool
91
92config MACH_MX27
93	bool
94
95config ARCH_MX5
96	bool
97
98config ARCH_MX50
99	bool
100
101config ARCH_MX51
102	bool
103
104config ARCH_MX53
105	bool
106
107config SOC_IMX1
108	bool
109	select ARCH_MX1
110	select COMMON_CLK
111	select CPU_ARM920T
112	select IMX_HAVE_IOMUX_V1
113	select MXC_AVIC
114
115config SOC_IMX21
116	bool
117	select COMMON_CLK
118	select CPU_ARM926T
119	select IMX_HAVE_IOMUX_V1
120	select MACH_MX21
121	select MXC_AVIC
122
123config SOC_IMX25
124	bool
125	select ARCH_MX25
126	select ARCH_MXC_IOMUX_V3
127	select COMMON_CLK
128	select CPU_ARM926T
129	select HAVE_CAN_FLEXCAN if CAN
130	select MXC_AVIC
131
132config SOC_IMX27
133	bool
134	select COMMON_CLK
135	select CPU_ARM926T
136	select IMX_HAVE_IOMUX_V1
137	select MACH_MX27
138	select MXC_AVIC
139
140config SOC_IMX31
141	bool
142	select COMMON_CLK
143	select CPU_V6
144	select IMX_HAVE_PLATFORM_MXC_RNGA
145	select MXC_AVIC
146	select SMP_ON_UP if SMP
147
148config SOC_IMX35
149	bool
150	select ARCH_MXC_IOMUX_V3
151	select COMMON_CLK
152	select CPU_V6K
153	select HAVE_CAN_FLEXCAN if CAN
154	select HAVE_EPIT
155	select MXC_AVIC
156	select SMP_ON_UP if SMP
157
158config SOC_IMX5
159	bool
160	select ARCH_HAS_CPUFREQ
161	select ARCH_MX5
162	select ARCH_MXC_IOMUX_V3
163	select COMMON_CLK
164	select CPU_V7
165	select MXC_TZIC
166
167config SOC_IMX50
168	bool
169	select ARCH_MX50
170	select SOC_IMX5
171
172config	SOC_IMX51
173	bool
174	select ARCH_MX5
175	select ARCH_MX51
176	select PINCTRL
177	select PINCTRL_IMX51
178	select SOC_IMX5
179
180if ARCH_MULTI_V4T
181
182comment "MX1 platforms:"
183config MACH_MXLADS
184	bool
185
186config ARCH_MX1ADS
187	bool "MX1ADS platform"
188	select IMX_HAVE_PLATFORM_IMX_I2C
189	select IMX_HAVE_PLATFORM_IMX_UART
190	select MACH_MXLADS
191	select SOC_IMX1
192	help
193	  Say Y here if you are using Motorola MX1ADS/MXLADS boards
194
195config MACH_SCB9328
196	bool "Synertronixx scb9328"
197	select IMX_HAVE_PLATFORM_IMX_UART
198	help
199	  Say Y here if you are using a Synertronixx scb9328 board
200
201config MACH_APF9328
202	bool "APF9328"
203	select IMX_HAVE_PLATFORM_IMX_I2C
204	select IMX_HAVE_PLATFORM_IMX_UART
205	select SOC_IMX1
206	help
207	  Say Yes here if you are using the Armadeus APF9328 development board
208
209endif
210
211if ARCH_MULTI_V5
212
213comment "MX21 platforms:"
214
215config MACH_MX21ADS
216	bool "MX21ADS platform"
217	select IMX_HAVE_PLATFORM_IMX_FB
218	select IMX_HAVE_PLATFORM_IMX_UART
219	select IMX_HAVE_PLATFORM_MXC_MMC
220	select IMX_HAVE_PLATFORM_MXC_NAND
221	select SOC_IMX21
222	help
223	  Include support for MX21ADS platform. This includes specific
224	  configurations for the board and its peripherals.
225
226comment "MX25 platforms:"
227
228config MACH_MX25_3DS
229	bool "Support MX25PDK (3DS) Platform"
230	select IMX_HAVE_PLATFORM_FLEXCAN
231	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
232	select IMX_HAVE_PLATFORM_IMX2_WDT
233	select IMX_HAVE_PLATFORM_IMXDI_RTC
234	select IMX_HAVE_PLATFORM_IMX_FB
235	select IMX_HAVE_PLATFORM_IMX_I2C
236	select IMX_HAVE_PLATFORM_IMX_KEYPAD
237	select IMX_HAVE_PLATFORM_IMX_UART
238	select IMX_HAVE_PLATFORM_MXC_EHCI
239	select IMX_HAVE_PLATFORM_MXC_NAND
240	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
241	select SOC_IMX25
242
243config MACH_EUKREA_CPUIMX25SD
244	bool "Support Eukrea CPUIMX25 Platform"
245	select IMX_HAVE_PLATFORM_FLEXCAN
246	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
247	select IMX_HAVE_PLATFORM_IMX2_WDT
248	select IMX_HAVE_PLATFORM_IMXDI_RTC
249	select IMX_HAVE_PLATFORM_IMX_FB
250	select IMX_HAVE_PLATFORM_IMX_I2C
251	select IMX_HAVE_PLATFORM_IMX_UART
252	select IMX_HAVE_PLATFORM_MXC_EHCI
253	select IMX_HAVE_PLATFORM_MXC_NAND
254	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
255	select MXC_ULPI if USB_ULPI
256	select SOC_IMX25
257
258choice
259	prompt "Baseboard"
260	depends on MACH_EUKREA_CPUIMX25SD
261	default MACH_EUKREA_MBIMXSD25_BASEBOARD
262
263config MACH_EUKREA_MBIMXSD25_BASEBOARD
264	bool "Eukrea MBIMXSD development board"
265	select IMX_HAVE_PLATFORM_GPIO_KEYS
266	select IMX_HAVE_PLATFORM_IMX_SSI
267	select IMX_HAVE_PLATFORM_SPI_IMX
268	select LEDS_GPIO_REGISTER
269	help
270	  This adds board specific devices that can be found on Eukrea's
271	  MBIMXSD evaluation board.
272
273endchoice
274
275config MACH_IMX25_DT
276	bool "Support i.MX25 platforms from device tree"
277	select SOC_IMX25
278	help
279	  Include support for Freescale i.MX25 based platforms
280	  using the device tree for discovery
281
282comment "MX27 platforms:"
283
284config MACH_MX27ADS
285	bool "MX27ADS platform"
286	select IMX_HAVE_PLATFORM_IMX_FB
287	select IMX_HAVE_PLATFORM_IMX_I2C
288	select IMX_HAVE_PLATFORM_IMX_UART
289	select IMX_HAVE_PLATFORM_MXC_MMC
290	select IMX_HAVE_PLATFORM_MXC_NAND
291	select IMX_HAVE_PLATFORM_MXC_W1
292	select SOC_IMX27
293	help
294	  Include support for MX27ADS platform. This includes specific
295	  configurations for the board and its peripherals.
296
297config MACH_PCM038
298	bool "Phytec phyCORE-i.MX27 CPU module (pcm038)"
299	select IMX_HAVE_PLATFORM_IMX2_WDT
300	select IMX_HAVE_PLATFORM_IMX_I2C
301	select IMX_HAVE_PLATFORM_IMX_UART
302	select IMX_HAVE_PLATFORM_MXC_EHCI
303	select IMX_HAVE_PLATFORM_MXC_NAND
304	select IMX_HAVE_PLATFORM_MXC_W1
305	select IMX_HAVE_PLATFORM_SPI_IMX
306	select MXC_ULPI if USB_ULPI
307	select SOC_IMX27
308	help
309	  Include support for phyCORE-i.MX27 (aka pcm038) platform. This
310	  includes specific configurations for the module and its peripherals.
311
312choice
313	prompt "Baseboard"
314	depends on MACH_PCM038
315	default MACH_PCM970_BASEBOARD
316
317config MACH_PCM970_BASEBOARD
318	bool "PHYTEC PCM970 development board"
319	select IMX_HAVE_PLATFORM_IMX_FB
320	select IMX_HAVE_PLATFORM_MXC_MMC
321	help
322	  This adds board specific devices that can be found on Phytec's
323	  PCM970 evaluation board.
324
325endchoice
326
327config MACH_CPUIMX27
328	bool "Eukrea CPUIMX27 module"
329	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
330	select IMX_HAVE_PLATFORM_IMX2_WDT
331	select IMX_HAVE_PLATFORM_IMX_I2C
332	select IMX_HAVE_PLATFORM_IMX_UART
333	select IMX_HAVE_PLATFORM_MXC_EHCI
334	select IMX_HAVE_PLATFORM_MXC_NAND
335	select IMX_HAVE_PLATFORM_MXC_W1
336	select MXC_ULPI if USB_ULPI
337	select SOC_IMX27
338	help
339	  Include support for Eukrea CPUIMX27 platform. This includes
340	  specific configurations for the module and its peripherals.
341
342config MACH_EUKREA_CPUIMX27_USESDHC2
343	bool "CPUIMX27 integrates SDHC2 module"
344	depends on MACH_CPUIMX27
345	select IMX_HAVE_PLATFORM_MXC_MMC
346	help
347	  This adds support for the internal SDHC2 used on CPUIMX27
348	  for wifi or eMMC.
349
350config MACH_EUKREA_CPUIMX27_USEUART4
351	bool "CPUIMX27 integrates UART4 module"
352	depends on MACH_CPUIMX27
353	help
354	  This adds support for the internal UART4 used on CPUIMX27
355	  for bluetooth.
356
357choice
358	prompt "Baseboard"
359	depends on MACH_CPUIMX27
360	default MACH_EUKREA_MBIMX27_BASEBOARD
361
362config MACH_EUKREA_MBIMX27_BASEBOARD
363	bool "Eukrea MBIMX27 development board"
364	select IMX_HAVE_PLATFORM_IMX_FB
365	select IMX_HAVE_PLATFORM_IMX_KEYPAD
366	select IMX_HAVE_PLATFORM_IMX_SSI
367	select IMX_HAVE_PLATFORM_IMX_UART
368	select IMX_HAVE_PLATFORM_MXC_MMC
369	select IMX_HAVE_PLATFORM_SPI_IMX
370	select LEDS_GPIO_REGISTER
371	help
372	  This adds board specific devices that can be found on Eukrea's
373	  MBIMX27 evaluation board.
374
375endchoice
376
377config MACH_MX27_3DS
378	bool "MX27PDK platform"
379	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
380	select IMX_HAVE_PLATFORM_IMX2_WDT
381	select IMX_HAVE_PLATFORM_IMX_FB
382	select IMX_HAVE_PLATFORM_IMX_I2C
383	select IMX_HAVE_PLATFORM_IMX_KEYPAD
384	select IMX_HAVE_PLATFORM_IMX_SSI
385	select IMX_HAVE_PLATFORM_IMX_UART
386	select IMX_HAVE_PLATFORM_MX2_CAMERA
387	select IMX_HAVE_PLATFORM_MXC_EHCI
388	select IMX_HAVE_PLATFORM_MXC_MMC
389	select IMX_HAVE_PLATFORM_SPI_IMX
390	select MXC_DEBUG_BOARD
391	select MXC_ULPI if USB_ULPI
392	select SOC_IMX27
393	help
394	  Include support for MX27PDK platform. This includes specific
395	  configurations for the board and its peripherals.
396
397config MACH_IMX27_VISSTRIM_M10
398	bool "Vista Silicon i.MX27 Visstrim_m10"
399	select IMX_HAVE_PLATFORM_GPIO_KEYS
400	select IMX_HAVE_PLATFORM_IMX_I2C
401	select IMX_HAVE_PLATFORM_IMX_SSI
402	select IMX_HAVE_PLATFORM_IMX_UART
403	select IMX_HAVE_PLATFORM_MX2_CAMERA
404	select IMX_HAVE_PLATFORM_MXC_EHCI
405	select IMX_HAVE_PLATFORM_MXC_MMC
406	select LEDS_GPIO_REGISTER
407	select SOC_IMX27
408	help
409	  Include support for Visstrim_m10 platform and its different variants.
410	  This includes specific configurations for the board and its
411	  peripherals.
412
413config MACH_IMX27LITE
414	bool "LogicPD MX27 LITEKIT platform"
415	select IMX_HAVE_PLATFORM_IMX_SSI
416	select IMX_HAVE_PLATFORM_IMX_UART
417	select SOC_IMX27
418	help
419	  Include support for MX27 LITEKIT platform. This includes specific
420	  configurations for the board and its peripherals.
421
422config MACH_PCA100
423	bool "Phytec phyCARD-s (pca100)"
424	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
425	select IMX_HAVE_PLATFORM_IMX2_WDT
426	select IMX_HAVE_PLATFORM_IMX_FB
427	select IMX_HAVE_PLATFORM_IMX_I2C
428	select IMX_HAVE_PLATFORM_IMX_SSI
429	select IMX_HAVE_PLATFORM_IMX_UART
430	select IMX_HAVE_PLATFORM_MXC_EHCI
431	select IMX_HAVE_PLATFORM_MXC_MMC
432	select IMX_HAVE_PLATFORM_MXC_NAND
433	select IMX_HAVE_PLATFORM_MXC_W1
434	select IMX_HAVE_PLATFORM_SPI_IMX
435	select MXC_ULPI if USB_ULPI
436	select SOC_IMX27
437	help
438	  Include support for phyCARD-s (aka pca100) platform. This
439	  includes specific configurations for the module and its peripherals.
440
441config MACH_MXT_TD60
442	bool "Maxtrack i-MXT TD60"
443	select IMX_HAVE_PLATFORM_IMX_FB
444	select IMX_HAVE_PLATFORM_IMX_I2C
445	select IMX_HAVE_PLATFORM_IMX_UART
446	select IMX_HAVE_PLATFORM_MXC_MMC
447	select IMX_HAVE_PLATFORM_MXC_NAND
448	select SOC_IMX27
449	help
450	  Include support for i-MXT (aka td60) platform. This
451	  includes specific configurations for the module and its peripherals.
452
453config MACH_IMX27IPCAM
454	bool "IMX27 IPCAM platform"
455	select IMX_HAVE_PLATFORM_IMX2_WDT
456	select IMX_HAVE_PLATFORM_IMX_UART
457	select SOC_IMX27
458	help
459	  Include support for IMX27 IPCAM platform. This includes specific
460	  configurations for the board and its peripherals.
461
462config MACH_IMX27_DT
463	bool "Support i.MX27 platforms from device tree"
464	select SOC_IMX27
465	help
466	  Include support for Freescale i.MX27 based platforms
467	  using the device tree for discovery
468
469endif
470
471if ARCH_MULTI_V6
472
473comment "MX31 platforms:"
474
475config MACH_MX31ADS
476	bool "Support MX31ADS platforms"
477	default y
478	select IMX_HAVE_PLATFORM_IMX_I2C
479	select IMX_HAVE_PLATFORM_IMX_SSI
480	select IMX_HAVE_PLATFORM_IMX_UART
481	select SOC_IMX31
482	help
483	  Include support for MX31ADS platform. This includes specific
484	  configurations for the board and its peripherals.
485
486config MACH_MX31ADS_WM1133_EV1
487	bool "Support Wolfson Microelectronics 1133-EV1 module"
488	depends on MACH_MX31ADS
489	depends on MFD_WM8350_I2C
490	depends on REGULATOR_WM8350
491	select MFD_WM8350_CONFIG_MODE_0
492	select MFD_WM8352_CONFIG_MODE_0
493	help
494	  Include support for the Wolfson Microelectronics 1133-EV1 PMU
495	  and audio module for the MX31ADS platform.
496
497config MACH_MX31LILLY
498	bool "Support MX31 LILLY-1131 platforms (INCO startec)"
499	select IMX_HAVE_PLATFORM_IMX_UART
500	select IMX_HAVE_PLATFORM_IPU_CORE
501	select IMX_HAVE_PLATFORM_MXC_EHCI
502	select IMX_HAVE_PLATFORM_MXC_MMC
503	select IMX_HAVE_PLATFORM_SPI_IMX
504	select MXC_ULPI if USB_ULPI
505	select SOC_IMX31
506	help
507	  Include support for mx31 based LILLY1131 modules. This includes
508	  specific configurations for the board and its peripherals.
509
510config MACH_MX31LITE
511	bool "Support MX31 LITEKIT (LogicPD)"
512	select IMX_HAVE_PLATFORM_IMX2_WDT
513	select IMX_HAVE_PLATFORM_IMX_UART
514	select IMX_HAVE_PLATFORM_MXC_EHCI
515	select IMX_HAVE_PLATFORM_MXC_MMC
516	select IMX_HAVE_PLATFORM_MXC_NAND
517	select IMX_HAVE_PLATFORM_MXC_RTC
518	select IMX_HAVE_PLATFORM_SPI_IMX
519	select LEDS_GPIO_REGISTER
520	select MXC_ULPI if USB_ULPI
521	select SOC_IMX31
522	help
523	  Include support for MX31 LITEKIT platform. This includes specific
524	  configurations for the board and its peripherals.
525
526config MACH_PCM037
527	bool "Support Phytec pcm037 (i.MX31) platforms"
528	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
529	select IMX_HAVE_PLATFORM_IMX2_WDT
530	select IMX_HAVE_PLATFORM_IMX_I2C
531	select IMX_HAVE_PLATFORM_IMX_UART
532	select IMX_HAVE_PLATFORM_IPU_CORE
533	select IMX_HAVE_PLATFORM_MXC_EHCI
534	select IMX_HAVE_PLATFORM_MXC_MMC
535	select IMX_HAVE_PLATFORM_MXC_NAND
536	select IMX_HAVE_PLATFORM_MXC_W1
537	select MXC_ULPI if USB_ULPI
538	select SOC_IMX31
539	help
540	  Include support for Phytec pcm037 platform. This includes
541	  specific configurations for the board and its peripherals.
542
543config MACH_PCM037_EET
544	bool "Support pcm037 EET board extensions"
545	depends on MACH_PCM037
546	select IMX_HAVE_PLATFORM_GPIO_KEYS
547	select IMX_HAVE_PLATFORM_SPI_IMX
548	help
549	  Add support for PCM037 EET baseboard extensions. If you are using the
550	  OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
551	  command-line parameter.
552
553config MACH_MX31_3DS
554	bool "Support MX31PDK (3DS)"
555	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
556	select IMX_HAVE_PLATFORM_IMX2_WDT
557	select IMX_HAVE_PLATFORM_IMX_I2C
558	select IMX_HAVE_PLATFORM_IMX_KEYPAD
559	select IMX_HAVE_PLATFORM_IMX_SSI
560	select IMX_HAVE_PLATFORM_IMX_UART
561	select IMX_HAVE_PLATFORM_IPU_CORE
562	select IMX_HAVE_PLATFORM_MXC_EHCI
563	select IMX_HAVE_PLATFORM_MXC_MMC
564	select IMX_HAVE_PLATFORM_MXC_NAND
565	select IMX_HAVE_PLATFORM_SPI_IMX
566	select MXC_DEBUG_BOARD
567	select MXC_ULPI if USB_ULPI
568	select SOC_IMX31
569	help
570	  Include support for MX31PDK (3DS) platform. This includes specific
571	  configurations for the board and its peripherals.
572
573config MACH_MX31_3DS_MXC_NAND_USE_BBT
574	bool "Make the MXC NAND driver use the in flash Bad Block Table"
575	depends on MACH_MX31_3DS
576	depends on MTD_NAND_MXC
577	help
578	  Enable this if you want that the MXC NAND driver uses the in flash
579	  Bad Block Table to know what blocks are bad instead of scanning the
580	  entire flash looking for bad block markers.
581
582config MACH_MX31MOBOARD
583	bool "Support mx31moboard platforms (EPFL Mobots group)"
584	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
585	select IMX_HAVE_PLATFORM_IMX2_WDT
586	select IMX_HAVE_PLATFORM_IMX_I2C
587	select IMX_HAVE_PLATFORM_IMX_SSI
588	select IMX_HAVE_PLATFORM_IMX_UART
589	select IMX_HAVE_PLATFORM_IPU_CORE
590	select IMX_HAVE_PLATFORM_MXC_EHCI
591	select IMX_HAVE_PLATFORM_MXC_MMC
592	select IMX_HAVE_PLATFORM_SPI_IMX
593	select LEDS_GPIO_REGISTER
594	select MXC_ULPI if USB_ULPI
595	select SOC_IMX31
596	help
597	  Include support for mx31moboard platform. This includes specific
598	  configurations for the board and its peripherals.
599
600config MACH_QONG
601	bool "Support Dave/DENX QongEVB-LITE platform"
602	select IMX_HAVE_PLATFORM_IMX2_WDT
603	select IMX_HAVE_PLATFORM_IMX_UART
604	select SOC_IMX31
605	help
606	  Include support for Dave/DENX QongEVB-LITE platform. This includes
607	  specific configurations for the board and its peripherals.
608
609config MACH_ARMADILLO5X0
610	bool "Support Atmark Armadillo-500 Development Base Board"
611	select IMX_HAVE_PLATFORM_GPIO_KEYS
612	select IMX_HAVE_PLATFORM_IMX_I2C
613	select IMX_HAVE_PLATFORM_IMX_UART
614	select IMX_HAVE_PLATFORM_IPU_CORE
615	select IMX_HAVE_PLATFORM_MXC_EHCI
616	select IMX_HAVE_PLATFORM_MXC_MMC
617	select IMX_HAVE_PLATFORM_MXC_NAND
618	select MXC_ULPI if USB_ULPI
619	select SOC_IMX31
620	help
621	  Include support for Atmark Armadillo-500 platform. This includes
622	  specific configurations for the board and its peripherals.
623
624config MACH_KZM_ARM11_01
625	bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
626	select IMX_HAVE_PLATFORM_IMX_UART
627	select SOC_IMX31
628	help
629	  Include support for KZM-ARM11-01. This includes specific
630	  configurations for the board and its peripherals.
631
632config MACH_BUG
633	bool "Support Buglabs BUGBase platform"
634	default y
635	select IMX_HAVE_PLATFORM_IMX_UART
636	select SOC_IMX31
637	help
638	  Include support for BUGBase 1.3 platform. This includes specific
639	  configurations for the board and its peripherals.
640
641config MACH_IMX31_DT
642	bool "Support i.MX31 platforms from device tree"
643	select SOC_IMX31
644	help
645	  Include support for Freescale i.MX31 based platforms
646	  using the device tree for discovery.
647
648comment "MX35 platforms:"
649
650config MACH_PCM043
651	bool "Support Phytec pcm043 (i.MX35) platforms"
652	select IMX_HAVE_PLATFORM_FLEXCAN
653	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
654	select IMX_HAVE_PLATFORM_IMX2_WDT
655	select IMX_HAVE_PLATFORM_IMX_I2C
656	select IMX_HAVE_PLATFORM_IMX_SSI
657	select IMX_HAVE_PLATFORM_IMX_UART
658	select IMX_HAVE_PLATFORM_IPU_CORE
659	select IMX_HAVE_PLATFORM_MXC_EHCI
660	select IMX_HAVE_PLATFORM_MXC_NAND
661	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
662	select MXC_ULPI if USB_ULPI
663	select SOC_IMX35
664	help
665	  Include support for Phytec pcm043 platform. This includes
666	  specific configurations for the board and its peripherals.
667
668config MACH_MX35_3DS
669	bool "Support MX35PDK platform"
670	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
671	select IMX_HAVE_PLATFORM_IMX2_WDT
672	select IMX_HAVE_PLATFORM_IMX_FB
673	select IMX_HAVE_PLATFORM_IMX_I2C
674	select IMX_HAVE_PLATFORM_IMX_UART
675	select IMX_HAVE_PLATFORM_IPU_CORE
676	select IMX_HAVE_PLATFORM_MXC_EHCI
677	select IMX_HAVE_PLATFORM_MXC_NAND
678	select IMX_HAVE_PLATFORM_MXC_RTC
679	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
680	select MXC_DEBUG_BOARD
681	select SOC_IMX35
682	help
683	  Include support for MX35PDK platform. This includes specific
684	  configurations for the board and its peripherals.
685
686config MACH_EUKREA_CPUIMX35SD
687	bool "Support Eukrea CPUIMX35 Platform"
688	select IMX_HAVE_PLATFORM_FLEXCAN
689	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
690	select IMX_HAVE_PLATFORM_IMX2_WDT
691	select IMX_HAVE_PLATFORM_IMX_I2C
692	select IMX_HAVE_PLATFORM_IMX_UART
693	select IMX_HAVE_PLATFORM_MXC_EHCI
694	select IMX_HAVE_PLATFORM_MXC_NAND
695	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
696	select MXC_ULPI if USB_ULPI
697	select SOC_IMX35
698	help
699	  Include support for Eukrea CPUIMX35 platform. This includes
700	  specific configurations for the board and its peripherals.
701
702choice
703	prompt "Baseboard"
704	depends on MACH_EUKREA_CPUIMX35SD
705	default MACH_EUKREA_MBIMXSD35_BASEBOARD
706
707config MACH_EUKREA_MBIMXSD35_BASEBOARD
708	bool "Eukrea MBIMXSD development board"
709	select IMX_HAVE_PLATFORM_GPIO_KEYS
710	select IMX_HAVE_PLATFORM_IMX_SSI
711	select IMX_HAVE_PLATFORM_IPU_CORE
712	select IMX_HAVE_PLATFORM_SPI_IMX
713	select LEDS_GPIO_REGISTER
714	help
715	  This adds board specific devices that can be found on Eukrea's
716	  MBIMXSD evaluation board.
717
718endchoice
719
720config MACH_VPR200
721	bool "Support VPR200 platform"
722	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
723	select IMX_HAVE_PLATFORM_GPIO_KEYS
724	select IMX_HAVE_PLATFORM_IMX2_WDT
725	select IMX_HAVE_PLATFORM_IMX_I2C
726	select IMX_HAVE_PLATFORM_IMX_UART
727	select IMX_HAVE_PLATFORM_IPU_CORE
728	select IMX_HAVE_PLATFORM_MXC_EHCI
729	select IMX_HAVE_PLATFORM_MXC_NAND
730	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
731	select SOC_IMX35
732	help
733	  Include support for VPR200 platform. This includes specific
734	  configurations for the board and its peripherals.
735
736endif
737
738if ARCH_MULTI_V7
739
740comment "i.MX5 platforms:"
741
742config MACH_MX50_RDP
743	bool "Support MX50 reference design platform"
744	depends on BROKEN
745	select IMX_HAVE_PLATFORM_IMX_I2C
746	select IMX_HAVE_PLATFORM_IMX_UART
747	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
748	select IMX_HAVE_PLATFORM_SPI_IMX
749	select SOC_IMX50
750	help
751	  Include support for MX50 reference design platform (RDP) board. This
752	  includes specific configurations for the board and its peripherals.
753
754comment "i.MX51 machines:"
755
756config MACH_IMX51_DT
757	bool "Support i.MX51 platforms from device tree"
758	select MACH_MX51_BABBAGE
759	select SOC_IMX51
760	help
761	  Include support for Freescale i.MX51 based platforms
762	  using the device tree for discovery
763
764config MACH_MX51_BABBAGE
765	bool "Support MX51 BABBAGE platforms"
766	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
767	select IMX_HAVE_PLATFORM_IMX2_WDT
768	select IMX_HAVE_PLATFORM_IMX_I2C
769	select IMX_HAVE_PLATFORM_IMX_UART
770	select IMX_HAVE_PLATFORM_MXC_EHCI
771	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
772	select IMX_HAVE_PLATFORM_SPI_IMX
773	select SOC_IMX51
774	help
775	  Include support for MX51 Babbage platform, also known as MX51EVK in
776	  u-boot. This includes specific configurations for the board and its
777	  peripherals.
778
779config MACH_MX51_3DS
780	bool "Support MX51PDK (3DS)"
781	select IMX_HAVE_PLATFORM_IMX2_WDT
782	select IMX_HAVE_PLATFORM_IMX_KEYPAD
783	select IMX_HAVE_PLATFORM_IMX_UART
784	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
785	select IMX_HAVE_PLATFORM_SPI_IMX
786	select MXC_DEBUG_BOARD
787	select SOC_IMX51
788	help
789	  Include support for MX51PDK (3DS) platform. This includes specific
790	  configurations for the board and its peripherals.
791
792config MACH_EUKREA_CPUIMX51SD
793	bool "Support Eukrea CPUIMX51SD module"
794	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
795	select IMX_HAVE_PLATFORM_IMX2_WDT
796	select IMX_HAVE_PLATFORM_IMX_I2C
797	select IMX_HAVE_PLATFORM_IMX_UART
798	select IMX_HAVE_PLATFORM_MXC_EHCI
799	select IMX_HAVE_PLATFORM_MXC_NAND
800	select IMX_HAVE_PLATFORM_SPI_IMX
801	select SOC_IMX51
802	help
803	  Include support for Eukrea CPUIMX51SD platform. This includes
804	  specific configurations for the module and its peripherals.
805
806choice
807	prompt "Baseboard"
808	depends on MACH_EUKREA_CPUIMX51SD
809	default MACH_EUKREA_MBIMXSD51_BASEBOARD
810
811config MACH_EUKREA_MBIMXSD51_BASEBOARD
812	prompt "Eukrea MBIMXSD development board"
813	bool
814	select IMX_HAVE_PLATFORM_IMX_SSI
815	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
816	select LEDS_GPIO_REGISTER
817	help
818	  This adds board specific devices that can be found on Eukrea's
819	  MBIMXSD evaluation board.
820
821endchoice
822
823comment "Device tree only"
824
825config	SOC_IMX53
826	bool "i.MX53 support"
827	select ARCH_MX5
828	select ARCH_MX53
829	select HAVE_CAN_FLEXCAN if CAN
830	select PINCTRL
831	select PINCTRL_IMX53
832	select SOC_IMX5
833
834	help
835	  This enables support for Freescale i.MX53 processor.
836
837config SOC_IMX6Q
838	bool "i.MX6 Quad support"
839	select ARCH_HAS_CPUFREQ
840	select ARCH_HAS_OPP
841	select ARM_CPU_SUSPEND if PM
842	select ARM_ERRATA_743622
843	select ARM_ERRATA_751472
844	select ARM_ERRATA_754322
845	select ARM_ERRATA_764369 if SMP
846	select ARM_ERRATA_775420
847	select ARM_GIC
848	select COMMON_CLK
849	select CPU_V7
850	select HAVE_ARM_SCU
851	select HAVE_CAN_FLEXCAN if CAN
852	select HAVE_IMX_GPC
853	select HAVE_IMX_MMDC
854	select HAVE_SMP
855	select MFD_SYSCON
856	select PINCTRL
857	select PINCTRL_IMX6Q
858	select PL310_ERRATA_588369 if CACHE_PL310
859	select PL310_ERRATA_727915 if CACHE_PL310
860	select PL310_ERRATA_769419 if CACHE_PL310
861	select PM_OPP if PM
862
863	help
864	  This enables support for Freescale i.MX6 Quad processor.
865
866endif
867
868source "arch/arm/mach-imx/devices/Kconfig"
869
870endmenu
871