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