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