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