Merge remote-tracking branches 'asoc/topic/atmel', 'asoc/topic/bcm2835' and 'asoc...
[sfrench/cifs-2.6.git] / arch / arm / mach-imx / Kconfig
1 menuconfig ARCH_MXC
2         bool "Freescale i.MX family"
3         depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
4         select ARCH_REQUIRE_GPIOLIB
5         select ARM_CPU_SUSPEND if PM
6         select CLKSRC_IMX_GPT
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         depends on MACH_MX27_3DS || MACH_MX31_3DS || MACH_MX35_3DS
26         help
27           The debug board is an integral part of the MXC 3-stack(PDK)
28           platforms, it can be attached or removed from the peripheral
29           board. On debug board, several debug devices(ethernet, UART,
30           buttons, LEDs and JTAG) are implemented. Between the MCU and
31           these devices, a CPLD is added as a bridge which performs
32           data/address de-multiplexing and decode, signal level shift,
33           interrupt control and various board functions.
34
35 config HAVE_EPIT
36         bool
37
38 config MXC_USE_EPIT
39         bool "Use EPIT instead of GPT"
40         depends on HAVE_EPIT
41         help
42           Use EPIT as the system timer on systems that have it. Normally you
43           don't have a reason to do so as the EPIT has the same features and
44           uses the same clocks as the GPT. Anyway, on some systems the GPT
45           may be in use for other purposes.
46
47 config ARCH_HAS_RNGA
48         bool
49
50 config HAVE_IMX_ANATOP
51         bool
52
53 config HAVE_IMX_GPC
54         bool
55         select PM_GENERIC_DOMAINS if PM
56
57 config HAVE_IMX_MMDC
58         bool
59
60 config HAVE_IMX_SRC
61         def_bool y if SMP
62         select ARCH_HAS_RESET_CONTROLLER
63
64 config IMX_HAVE_IOMUX_V1
65         bool
66
67 config ARCH_MXC_IOMUX_V3
68         bool
69
70 config SOC_IMX1
71         bool
72         select CPU_ARM920T
73         select IMX_HAVE_IOMUX_V1
74         select MXC_AVIC
75         select PINCTRL_IMX1
76
77 config SOC_IMX21
78         bool
79         select CPU_ARM926T
80         select IMX_HAVE_IOMUX_V1
81         select MXC_AVIC
82
83 config SOC_IMX27
84         bool
85         select CPU_ARM926T
86         select IMX_HAVE_IOMUX_V1
87         select MXC_AVIC
88         select PINCTRL_IMX27
89
90 config SOC_IMX31
91         bool
92         select CPU_V6
93         select IMX_HAVE_PLATFORM_MXC_RNGA
94         select MXC_AVIC
95         select SMP_ON_UP if SMP
96
97 config SOC_IMX35
98         bool
99         select ARCH_MXC_IOMUX_V3
100         select HAVE_EPIT
101         select MXC_AVIC
102         select PINCTRL_IMX35
103         select SMP_ON_UP if SMP
104
105 if ARCH_MULTI_V4T
106
107 comment "MX1 platforms:"
108
109 config MACH_SCB9328
110         bool "Synertronixx scb9328"
111         select IMX_HAVE_PLATFORM_IMX_UART
112         select SOC_IMX1
113         help
114           Say Y here if you are using a Synertronixx scb9328 board
115
116 config MACH_APF9328
117         bool "APF9328"
118         select IMX_HAVE_PLATFORM_IMX_I2C
119         select IMX_HAVE_PLATFORM_IMX_UART
120         select SOC_IMX1
121         help
122           Say Yes here if you are using the Armadeus APF9328 development board
123
124 config MACH_IMX1_DT
125         bool "Support i.MX1 platforms from device tree"
126         select SOC_IMX1
127         help
128           Include support for Freescale i.MX1 based platforms
129           using the device tree for discovery.
130
131 endif
132
133 if ARCH_MULTI_V5
134
135 comment "MX21 platforms:"
136
137 config MACH_MX21ADS
138         bool "MX21ADS platform"
139         select IMX_HAVE_PLATFORM_IMX_FB
140         select IMX_HAVE_PLATFORM_IMX_UART
141         select IMX_HAVE_PLATFORM_MXC_MMC
142         select IMX_HAVE_PLATFORM_MXC_NAND
143         select SOC_IMX21
144         help
145           Include support for MX21ADS platform. This includes specific
146           configurations for the board and its peripherals.
147
148 comment "MX27 platforms:"
149
150 config MACH_MX27ADS
151         bool "MX27ADS platform"
152         select IMX_HAVE_PLATFORM_IMX_FB
153         select IMX_HAVE_PLATFORM_IMX_I2C
154         select IMX_HAVE_PLATFORM_IMX_UART
155         select IMX_HAVE_PLATFORM_MXC_MMC
156         select IMX_HAVE_PLATFORM_MXC_NAND
157         select IMX_HAVE_PLATFORM_MXC_W1
158         select SOC_IMX27
159         help
160           Include support for MX27ADS platform. This includes specific
161           configurations for the board and its peripherals.
162
163 config MACH_MX27_3DS
164         bool "MX27PDK platform"
165         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
166         select IMX_HAVE_PLATFORM_IMX2_WDT
167         select IMX_HAVE_PLATFORM_IMX_FB
168         select IMX_HAVE_PLATFORM_IMX_I2C
169         select IMX_HAVE_PLATFORM_IMX_KEYPAD
170         select IMX_HAVE_PLATFORM_IMX_SSI
171         select IMX_HAVE_PLATFORM_IMX_UART
172         select IMX_HAVE_PLATFORM_MX2_CAMERA
173         select IMX_HAVE_PLATFORM_MXC_EHCI
174         select IMX_HAVE_PLATFORM_MXC_MMC
175         select IMX_HAVE_PLATFORM_SPI_IMX
176         select MXC_DEBUG_BOARD
177         select USB_ULPI_VIEWPORT if USB_ULPI
178         select SOC_IMX27
179         help
180           Include support for MX27PDK platform. This includes specific
181           configurations for the board and its peripherals.
182
183 config MACH_IMX27_VISSTRIM_M10
184         bool "Vista Silicon i.MX27 Visstrim_m10"
185         select IMX_HAVE_PLATFORM_GPIO_KEYS
186         select IMX_HAVE_PLATFORM_IMX_I2C
187         select IMX_HAVE_PLATFORM_IMX_SSI
188         select IMX_HAVE_PLATFORM_IMX_UART
189         select IMX_HAVE_PLATFORM_MX2_CAMERA
190         select IMX_HAVE_PLATFORM_MX2_EMMA
191         select IMX_HAVE_PLATFORM_MXC_EHCI
192         select IMX_HAVE_PLATFORM_MXC_MMC
193         select LEDS_GPIO_REGISTER
194         select SOC_IMX27
195         help
196           Include support for Visstrim_m10 platform and its different variants.
197           This includes specific configurations for the board and its
198           peripherals.
199
200 config MACH_PCA100
201         bool "Phytec phyCARD-s (pca100)"
202         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
203         select IMX_HAVE_PLATFORM_IMX2_WDT
204         select IMX_HAVE_PLATFORM_IMX_FB
205         select IMX_HAVE_PLATFORM_IMX_I2C
206         select IMX_HAVE_PLATFORM_IMX_SSI
207         select IMX_HAVE_PLATFORM_IMX_UART
208         select IMX_HAVE_PLATFORM_MXC_EHCI
209         select IMX_HAVE_PLATFORM_MXC_MMC
210         select IMX_HAVE_PLATFORM_MXC_NAND
211         select IMX_HAVE_PLATFORM_MXC_W1
212         select IMX_HAVE_PLATFORM_SPI_IMX
213         select USB_ULPI_VIEWPORT if USB_ULPI
214         select SOC_IMX27
215         help
216           Include support for phyCARD-s (aka pca100) platform. This
217           includes specific configurations for the module and its peripherals.
218
219 config MACH_IMX27_DT
220         bool "Support i.MX27 platforms from device tree"
221         select SOC_IMX27
222         help
223           Include support for Freescale i.MX27 based platforms
224           using the device tree for discovery
225
226 endif
227
228 if ARCH_MULTI_V6
229
230 comment "MX31 platforms:"
231
232 config MACH_MX31ADS
233         bool "Support MX31ADS platforms"
234         default y
235         select IMX_HAVE_PLATFORM_IMX_I2C
236         select IMX_HAVE_PLATFORM_IMX_SSI
237         select IMX_HAVE_PLATFORM_IMX_UART
238         select SOC_IMX31
239         help
240           Include support for MX31ADS platform. This includes specific
241           configurations for the board and its peripherals.
242
243 config MACH_MX31ADS_WM1133_EV1
244         bool "Support Wolfson Microelectronics 1133-EV1 module"
245         depends on MACH_MX31ADS
246         depends on MFD_WM8350_I2C
247         depends on REGULATOR_WM8350 = y
248         help
249           Include support for the Wolfson Microelectronics 1133-EV1 PMU
250           and audio module for the MX31ADS platform.
251
252 config MACH_MX31LILLY
253         bool "Support MX31 LILLY-1131 platforms (INCO startec)"
254         select IMX_HAVE_PLATFORM_IMX_UART
255         select IMX_HAVE_PLATFORM_IPU_CORE
256         select IMX_HAVE_PLATFORM_MXC_EHCI
257         select IMX_HAVE_PLATFORM_MXC_MMC
258         select IMX_HAVE_PLATFORM_SPI_IMX
259         select USB_ULPI_VIEWPORT if USB_ULPI
260         select SOC_IMX31
261         help
262           Include support for mx31 based LILLY1131 modules. This includes
263           specific configurations for the board and its peripherals.
264
265 config MACH_MX31LITE
266         bool "Support MX31 LITEKIT (LogicPD)"
267         select IMX_HAVE_PLATFORM_IMX2_WDT
268         select IMX_HAVE_PLATFORM_IMX_UART
269         select IMX_HAVE_PLATFORM_MXC_EHCI
270         select IMX_HAVE_PLATFORM_MXC_MMC
271         select IMX_HAVE_PLATFORM_MXC_NAND
272         select IMX_HAVE_PLATFORM_MXC_RTC
273         select IMX_HAVE_PLATFORM_SPI_IMX
274         select LEDS_GPIO_REGISTER
275         select USB_ULPI_VIEWPORT if USB_ULPI
276         select SOC_IMX31
277         help
278           Include support for MX31 LITEKIT platform. This includes specific
279           configurations for the board and its peripherals.
280
281 config MACH_PCM037
282         bool "Support Phytec pcm037 (i.MX31) platforms"
283         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
284         select IMX_HAVE_PLATFORM_IMX2_WDT
285         select IMX_HAVE_PLATFORM_IMX_I2C
286         select IMX_HAVE_PLATFORM_IMX_UART
287         select IMX_HAVE_PLATFORM_IPU_CORE
288         select IMX_HAVE_PLATFORM_MXC_EHCI
289         select IMX_HAVE_PLATFORM_MXC_MMC
290         select IMX_HAVE_PLATFORM_MXC_NAND
291         select IMX_HAVE_PLATFORM_MXC_W1
292         select USB_ULPI_VIEWPORT if USB_ULPI
293         select SOC_IMX31
294         help
295           Include support for Phytec pcm037 platform. This includes
296           specific configurations for the board and its peripherals.
297
298 config MACH_PCM037_EET
299         bool "Support pcm037 EET board extensions"
300         depends on MACH_PCM037
301         select IMX_HAVE_PLATFORM_GPIO_KEYS
302         select IMX_HAVE_PLATFORM_SPI_IMX
303         help
304           Add support for PCM037 EET baseboard extensions. If you are using the
305           OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
306           command-line parameter.
307
308 config MACH_MX31_3DS
309         bool "Support MX31PDK (3DS)"
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_KEYPAD
314         select IMX_HAVE_PLATFORM_IMX_SSI
315         select IMX_HAVE_PLATFORM_IMX_UART
316         select IMX_HAVE_PLATFORM_IPU_CORE
317         select IMX_HAVE_PLATFORM_MXC_EHCI
318         select IMX_HAVE_PLATFORM_MXC_MMC
319         select IMX_HAVE_PLATFORM_MXC_NAND
320         select IMX_HAVE_PLATFORM_SPI_IMX
321         select MXC_DEBUG_BOARD
322         select USB_ULPI_VIEWPORT if USB_ULPI
323         select SOC_IMX31
324         help
325           Include support for MX31PDK (3DS) platform. This includes specific
326           configurations for the board and its peripherals.
327
328 config MACH_MX31_3DS_MXC_NAND_USE_BBT
329         bool "Make the MXC NAND driver use the in flash Bad Block Table"
330         depends on MACH_MX31_3DS
331         depends on MTD_NAND_MXC
332         help
333           Enable this if you want that the MXC NAND driver uses the in flash
334           Bad Block Table to know what blocks are bad instead of scanning the
335           entire flash looking for bad block markers.
336
337 config MACH_MX31MOBOARD
338         bool "Support mx31moboard platforms (EPFL Mobots group)"
339         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
340         select IMX_HAVE_PLATFORM_IMX2_WDT
341         select IMX_HAVE_PLATFORM_IMX_I2C
342         select IMX_HAVE_PLATFORM_IMX_SSI
343         select IMX_HAVE_PLATFORM_IMX_UART
344         select IMX_HAVE_PLATFORM_IPU_CORE
345         select IMX_HAVE_PLATFORM_MXC_EHCI
346         select IMX_HAVE_PLATFORM_MXC_MMC
347         select IMX_HAVE_PLATFORM_SPI_IMX
348         select LEDS_GPIO_REGISTER
349         select USB_ULPI_VIEWPORT if USB_ULPI
350         select SOC_IMX31
351         help
352           Include support for mx31moboard platform. This includes specific
353           configurations for the board and its peripherals.
354
355 config MACH_QONG
356         bool "Support Dave/DENX QongEVB-LITE platform"
357         select IMX_HAVE_PLATFORM_IMX2_WDT
358         select IMX_HAVE_PLATFORM_IMX_UART
359         select SOC_IMX31
360         help
361           Include support for Dave/DENX QongEVB-LITE platform. This includes
362           specific configurations for the board and its peripherals.
363
364 config MACH_ARMADILLO5X0
365         bool "Support Atmark Armadillo-500 Development Base Board"
366         select IMX_HAVE_PLATFORM_GPIO_KEYS
367         select IMX_HAVE_PLATFORM_IMX_I2C
368         select IMX_HAVE_PLATFORM_IMX_UART
369         select IMX_HAVE_PLATFORM_IPU_CORE
370         select IMX_HAVE_PLATFORM_MXC_EHCI
371         select IMX_HAVE_PLATFORM_MXC_MMC
372         select IMX_HAVE_PLATFORM_MXC_NAND
373         select USB_ULPI_VIEWPORT if USB_ULPI
374         select SOC_IMX31
375         help
376           Include support for Atmark Armadillo-500 platform. This includes
377           specific configurations for the board and its peripherals.
378
379 config MACH_KZM_ARM11_01
380         bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
381         select IMX_HAVE_PLATFORM_IMX_UART
382         select SOC_IMX31
383         help
384           Include support for KZM-ARM11-01. This includes specific
385           configurations for the board and its peripherals.
386
387 config MACH_BUG
388         bool "Support Buglabs BUGBase platform"
389         default y
390         select IMX_HAVE_PLATFORM_IMX_UART
391         select SOC_IMX31
392         help
393           Include support for BUGBase 1.3 platform. This includes specific
394           configurations for the board and its peripherals.
395
396 config MACH_IMX31_DT
397         bool "Support i.MX31 platforms from device tree"
398         select SOC_IMX31
399         help
400           Include support for Freescale i.MX31 based platforms
401           using the device tree for discovery.
402
403 comment "MX35 platforms:"
404
405 config MACH_IMX35_DT
406         bool "Support i.MX35 platforms from device tree"
407         select SOC_IMX35
408         help
409           Include support for Freescale i.MX35 based platforms
410           using the device tree for discovery.
411
412 config MACH_PCM043
413         bool "Support Phytec pcm043 (i.MX35) platforms"
414         select IMX_HAVE_PLATFORM_FLEXCAN
415         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
416         select IMX_HAVE_PLATFORM_IMX2_WDT
417         select IMX_HAVE_PLATFORM_IMX_I2C
418         select IMX_HAVE_PLATFORM_IMX_SSI
419         select IMX_HAVE_PLATFORM_IMX_UART
420         select IMX_HAVE_PLATFORM_IPU_CORE
421         select IMX_HAVE_PLATFORM_MXC_EHCI
422         select IMX_HAVE_PLATFORM_MXC_NAND
423         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
424         select USB_ULPI_VIEWPORT if USB_ULPI
425         select SOC_IMX35
426         help
427           Include support for Phytec pcm043 platform. This includes
428           specific configurations for the board and its peripherals.
429
430 config MACH_MX35_3DS
431         bool "Support MX35PDK platform"
432         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
433         select IMX_HAVE_PLATFORM_IMX2_WDT
434         select IMX_HAVE_PLATFORM_IMX_FB
435         select IMX_HAVE_PLATFORM_IMX_I2C
436         select IMX_HAVE_PLATFORM_IMX_UART
437         select IMX_HAVE_PLATFORM_IPU_CORE
438         select IMX_HAVE_PLATFORM_MXC_EHCI
439         select IMX_HAVE_PLATFORM_MXC_NAND
440         select IMX_HAVE_PLATFORM_MXC_RTC
441         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
442         select MXC_DEBUG_BOARD
443         select SOC_IMX35
444         help
445           Include support for MX35PDK platform. This includes specific
446           configurations for the board and its peripherals.
447
448 config MACH_VPR200
449         bool "Support VPR200 platform"
450         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
451         select IMX_HAVE_PLATFORM_GPIO_KEYS
452         select IMX_HAVE_PLATFORM_IMX2_WDT
453         select IMX_HAVE_PLATFORM_IMX_I2C
454         select IMX_HAVE_PLATFORM_IMX_UART
455         select IMX_HAVE_PLATFORM_IPU_CORE
456         select IMX_HAVE_PLATFORM_MXC_EHCI
457         select IMX_HAVE_PLATFORM_MXC_NAND
458         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
459         select SOC_IMX35
460         help
461           Include support for VPR200 platform. This includes specific
462           configurations for the board and its peripherals.
463
464 endif
465
466 comment "Device tree only"
467
468 if ARCH_MULTI_V5
469
470 config SOC_IMX25
471         bool "i.MX25 support"
472         select ARCH_MXC_IOMUX_V3
473         select CPU_ARM926T
474         select MXC_AVIC
475         select PINCTRL_IMX25
476         help
477           This enables support for Freescale i.MX25 processor
478 endif
479
480 if ARCH_MULTI_V7
481
482 comment "Cortex-A platforms"
483
484 config SOC_IMX5
485         bool
486         select HAVE_IMX_SRC
487         select MXC_TZIC
488
489 config  SOC_IMX50
490         bool "i.MX50 support"
491         select PINCTRL_IMX50
492         select SOC_IMX5
493
494         help
495           This enables support for Freescale i.MX50 processor.
496
497 config SOC_IMX51
498         bool "i.MX51 support"
499         select PINCTRL_IMX51
500         select SOC_IMX5
501         help
502           This enables support for Freescale i.MX51 processor
503
504 config  SOC_IMX53
505         bool "i.MX53 support"
506         select PINCTRL_IMX53
507         select SOC_IMX5
508
509         help
510           This enables support for Freescale i.MX53 processor.
511
512 config SOC_IMX6
513         bool
514         select ARM_ERRATA_754322
515         select ARM_ERRATA_775420
516         select ARM_GIC
517         select HAVE_IMX_ANATOP
518         select HAVE_IMX_GPC
519         select HAVE_IMX_MMDC
520         select HAVE_IMX_SRC
521         select MFD_SYSCON
522         select PL310_ERRATA_769419 if CACHE_L2X0
523
524 config SOC_IMX6Q
525         bool "i.MX6 Quad/DualLite support"
526         select ARM_ERRATA_764369 if SMP
527         select HAVE_ARM_SCU if SMP
528         select HAVE_ARM_TWD if SMP
529         select PCI_DOMAINS if PCI
530         select PINCTRL_IMX6Q
531         select SOC_IMX6
532
533         help
534           This enables support for Freescale i.MX6 Quad processor.
535
536 config SOC_IMX6SL
537         bool "i.MX6 SoloLite support"
538         select PINCTRL_IMX6SL
539         select SOC_IMX6
540
541         help
542           This enables support for Freescale i.MX6 SoloLite processor.
543
544 config SOC_IMX6SX
545         bool "i.MX6 SoloX support"
546         select PINCTRL_IMX6SX
547         select SOC_IMX6
548
549         help
550           This enables support for Freescale i.MX6 SoloX processor.
551
552 config SOC_IMX6UL
553         bool "i.MX6 UltraLite support"
554         select PINCTRL_IMX6UL
555         select SOC_IMX6
556
557         help
558           This enables support for Freescale i.MX6 UltraLite processor.
559
560 config SOC_IMX7D
561         bool "i.MX7 Dual support"
562         select PINCTRL_IMX7D
563         select ARM_GIC
564         select HAVE_IMX_ANATOP
565         select HAVE_IMX_MMDC
566         select HAVE_IMX_SRC
567         help
568                 This enables support for Freescale i.MX7 Dual processor.
569
570 config SOC_LS1021A
571         bool "Freescale LS1021A support"
572         select ARM_GIC
573         select HAVE_ARM_ARCH_TIMER
574         select PCI_DOMAINS if PCI
575         select ZONE_DMA if ARM_LPAE
576         help
577           This enables support for Freescale LS1021A processor.
578
579 endif
580
581 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
582
583 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
584
585 config SOC_VF610
586         bool "Vybrid Family VF610 support"
587         select ARM_GIC if ARCH_MULTI_V7
588         select PINCTRL_VF610
589         select PL310_ERRATA_769419 if CACHE_L2X0
590         select SMP_ON_UP if SMP
591
592         help
593           This enables support for Freescale Vybrid VF610 processor.
594
595 choice
596         prompt "Clocksource for scheduler clock"
597         depends on SOC_VF610
598         default VF_USE_ARM_GLOBAL_TIMER
599
600         config VF_USE_ARM_GLOBAL_TIMER
601                 bool "Use ARM Global Timer"
602                 depends on ARCH_MULTI_V7
603                 select ARM_GLOBAL_TIMER
604                 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
605                 help
606                   Use the ARM Global Timer as clocksource
607
608         config VF_USE_PIT_TIMER
609                 bool "Use PIT timer"
610                 select VF_PIT_TIMER
611                 help
612                   Use SoC Periodic Interrupt Timer (PIT) as clocksource
613
614 endchoice
615
616 endif
617
618 source "arch/arm/mach-imx/devices/Kconfig"
619
620 endif