blk: rq_data_dir() should not return a boolean
[cris-mirror.git] / arch / arm / mach-imx / Kconfig
blob8ceda2844c4ffee32405d85a48c8bdcd86272591
1 menuconfig ARCH_MXC
2         bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
3         select ARCH_REQUIRE_GPIOLIB
4         select ARM_CPU_SUSPEND if PM
5         select CLKSRC_IMX_GPT
6         select GENERIC_IRQ_CHIP
7         select PINCTRL
8         select PM_OPP if PM
9         select SOC_BUS
10         select SRAM
11         help
12           Support for Freescale MXC/iMX-based family of processors
14 if ARCH_MXC
16 config MXC_TZIC
17         bool
19 config MXC_AVIC
20         bool
22 config MXC_DEBUG_BOARD
23         bool "Enable MXC debug board(for 3-stack)"
24         depends on MACH_MX27_3DS || MACH_MX31_3DS || MACH_MX35_3DS
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.
34 config HAVE_EPIT
35         bool
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.
46 config ARCH_HAS_RNGA
47         bool
49 config HAVE_IMX_ANATOP
50         bool
52 config HAVE_IMX_GPC
53         bool
54         select PM_GENERIC_DOMAINS if PM
56 config HAVE_IMX_MMDC
57         bool
59 config HAVE_IMX_SRC
60         def_bool y if SMP
61         select ARCH_HAS_RESET_CONTROLLER
63 config IMX_HAVE_IOMUX_V1
64         bool
66 config ARCH_MXC_IOMUX_V3
67         bool
69 config SOC_IMX1
70         bool
71         select CPU_ARM920T
72         select IMX_HAVE_IOMUX_V1
73         select MXC_AVIC
74         select PINCTRL_IMX1
76 config SOC_IMX21
77         bool
78         select CPU_ARM926T
79         select IMX_HAVE_IOMUX_V1
80         select MXC_AVIC
82 config SOC_IMX27
83         bool
84         select CPU_ARM926T
85         select IMX_HAVE_IOMUX_V1
86         select MXC_AVIC
87         select PINCTRL_IMX27
89 config SOC_IMX31
90         bool
91         select CPU_V6
92         select IMX_HAVE_PLATFORM_MXC_RNGA
93         select MXC_AVIC
94         select SMP_ON_UP if SMP
96 config SOC_IMX35
97         bool
98         select ARCH_MXC_IOMUX_V3
99         select HAVE_EPIT
100         select MXC_AVIC
101         select PINCTRL_IMX35
102         select SMP_ON_UP if SMP
104 if ARCH_MULTI_V4T
106 comment "MX1 platforms:"
108 config MACH_SCB9328
109         bool "Synertronixx scb9328"
110         select IMX_HAVE_PLATFORM_IMX_UART
111         select SOC_IMX1
112         help
113           Say Y here if you are using a Synertronixx scb9328 board
115 config MACH_APF9328
116         bool "APF9328"
117         select IMX_HAVE_PLATFORM_IMX_I2C
118         select IMX_HAVE_PLATFORM_IMX_UART
119         select SOC_IMX1
120         help
121           Say Yes here if you are using the Armadeus APF9328 development board
123 config MACH_IMX1_DT
124         bool "Support i.MX1 platforms from device tree"
125         select SOC_IMX1
126         help
127           Include support for Freescale i.MX1 based platforms
128           using the device tree for discovery.
130 endif
132 if ARCH_MULTI_V5
134 comment "MX21 platforms:"
136 config MACH_MX21ADS
137         bool "MX21ADS platform"
138         select IMX_HAVE_PLATFORM_IMX_FB
139         select IMX_HAVE_PLATFORM_IMX_UART
140         select IMX_HAVE_PLATFORM_MXC_MMC
141         select IMX_HAVE_PLATFORM_MXC_NAND
142         select SOC_IMX21
143         help
144           Include support for MX21ADS platform. This includes specific
145           configurations for the board and its peripherals.
147 comment "MX27 platforms:"
149 config MACH_MX27ADS
150         bool "MX27ADS platform"
151         select IMX_HAVE_PLATFORM_IMX_FB
152         select IMX_HAVE_PLATFORM_IMX_I2C
153         select IMX_HAVE_PLATFORM_IMX_UART
154         select IMX_HAVE_PLATFORM_MXC_MMC
155         select IMX_HAVE_PLATFORM_MXC_NAND
156         select IMX_HAVE_PLATFORM_MXC_W1
157         select SOC_IMX27
158         help
159           Include support for MX27ADS platform. This includes specific
160           configurations for the board and its peripherals.
162 config MACH_MX27_3DS
163         bool "MX27PDK platform"
164         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
165         select IMX_HAVE_PLATFORM_IMX2_WDT
166         select IMX_HAVE_PLATFORM_IMX_FB
167         select IMX_HAVE_PLATFORM_IMX_I2C
168         select IMX_HAVE_PLATFORM_IMX_KEYPAD
169         select IMX_HAVE_PLATFORM_IMX_SSI
170         select IMX_HAVE_PLATFORM_IMX_UART
171         select IMX_HAVE_PLATFORM_MX2_CAMERA
172         select IMX_HAVE_PLATFORM_MXC_EHCI
173         select IMX_HAVE_PLATFORM_MXC_MMC
174         select IMX_HAVE_PLATFORM_SPI_IMX
175         select MXC_DEBUG_BOARD
176         select USB_ULPI_VIEWPORT if USB_ULPI
177         select SOC_IMX27
178         help
179           Include support for MX27PDK platform. This includes specific
180           configurations for the board and its peripherals.
182 config MACH_IMX27_VISSTRIM_M10
183         bool "Vista Silicon i.MX27 Visstrim_m10"
184         select IMX_HAVE_PLATFORM_GPIO_KEYS
185         select IMX_HAVE_PLATFORM_IMX_I2C
186         select IMX_HAVE_PLATFORM_IMX_SSI
187         select IMX_HAVE_PLATFORM_IMX_UART
188         select IMX_HAVE_PLATFORM_MX2_CAMERA
189         select IMX_HAVE_PLATFORM_MX2_EMMA
190         select IMX_HAVE_PLATFORM_MXC_EHCI
191         select IMX_HAVE_PLATFORM_MXC_MMC
192         select LEDS_GPIO_REGISTER
193         select SOC_IMX27
194         help
195           Include support for Visstrim_m10 platform and its different variants.
196           This includes specific configurations for the board and its
197           peripherals.
199 config MACH_PCA100
200         bool "Phytec phyCARD-s (pca100)"
201         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
202         select IMX_HAVE_PLATFORM_IMX2_WDT
203         select IMX_HAVE_PLATFORM_IMX_FB
204         select IMX_HAVE_PLATFORM_IMX_I2C
205         select IMX_HAVE_PLATFORM_IMX_SSI
206         select IMX_HAVE_PLATFORM_IMX_UART
207         select IMX_HAVE_PLATFORM_MXC_EHCI
208         select IMX_HAVE_PLATFORM_MXC_MMC
209         select IMX_HAVE_PLATFORM_MXC_NAND
210         select IMX_HAVE_PLATFORM_MXC_W1
211         select IMX_HAVE_PLATFORM_SPI_IMX
212         select USB_ULPI_VIEWPORT if USB_ULPI
213         select SOC_IMX27
214         help
215           Include support for phyCARD-s (aka pca100) platform. This
216           includes specific configurations for the module and its peripherals.
218 config MACH_IMX27_DT
219         bool "Support i.MX27 platforms from device tree"
220         select SOC_IMX27
221         help
222           Include support for Freescale i.MX27 based platforms
223           using the device tree for discovery
225 endif
227 if ARCH_MULTI_V6
229 comment "MX31 platforms:"
231 config MACH_MX31ADS
232         bool "Support MX31ADS platforms"
233         default y
234         select IMX_HAVE_PLATFORM_IMX_I2C
235         select IMX_HAVE_PLATFORM_IMX_SSI
236         select IMX_HAVE_PLATFORM_IMX_UART
237         select SOC_IMX31
238         help
239           Include support for MX31ADS platform. This includes specific
240           configurations for the board and its peripherals.
242 config MACH_MX31ADS_WM1133_EV1
243         bool "Support Wolfson Microelectronics 1133-EV1 module"
244         depends on MACH_MX31ADS
245         depends on MFD_WM8350_I2C
246         depends on REGULATOR_WM8350 = y
247         help
248           Include support for the Wolfson Microelectronics 1133-EV1 PMU
249           and audio module for the MX31ADS platform.
251 config MACH_MX31LILLY
252         bool "Support MX31 LILLY-1131 platforms (INCO startec)"
253         select IMX_HAVE_PLATFORM_IMX_UART
254         select IMX_HAVE_PLATFORM_IPU_CORE
255         select IMX_HAVE_PLATFORM_MXC_EHCI
256         select IMX_HAVE_PLATFORM_MXC_MMC
257         select IMX_HAVE_PLATFORM_SPI_IMX
258         select USB_ULPI_VIEWPORT if USB_ULPI
259         select SOC_IMX31
260         help
261           Include support for mx31 based LILLY1131 modules. This includes
262           specific configurations for the board and its peripherals.
264 config MACH_MX31LITE
265         bool "Support MX31 LITEKIT (LogicPD)"
266         select IMX_HAVE_PLATFORM_IMX2_WDT
267         select IMX_HAVE_PLATFORM_IMX_UART
268         select IMX_HAVE_PLATFORM_MXC_EHCI
269         select IMX_HAVE_PLATFORM_MXC_MMC
270         select IMX_HAVE_PLATFORM_MXC_NAND
271         select IMX_HAVE_PLATFORM_MXC_RTC
272         select IMX_HAVE_PLATFORM_SPI_IMX
273         select LEDS_GPIO_REGISTER
274         select USB_ULPI_VIEWPORT if USB_ULPI
275         select SOC_IMX31
276         help
277           Include support for MX31 LITEKIT platform. This includes specific
278           configurations for the board and its peripherals.
280 config MACH_PCM037
281         bool "Support Phytec pcm037 (i.MX31) platforms"
282         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
283         select IMX_HAVE_PLATFORM_IMX2_WDT
284         select IMX_HAVE_PLATFORM_IMX_I2C
285         select IMX_HAVE_PLATFORM_IMX_UART
286         select IMX_HAVE_PLATFORM_IPU_CORE
287         select IMX_HAVE_PLATFORM_MXC_EHCI
288         select IMX_HAVE_PLATFORM_MXC_MMC
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_IMX31
293         help
294           Include support for Phytec pcm037 platform. This includes
295           specific configurations for the board and its peripherals.
297 config MACH_PCM037_EET
298         bool "Support pcm037 EET board extensions"
299         depends on MACH_PCM037
300         select IMX_HAVE_PLATFORM_GPIO_KEYS
301         select IMX_HAVE_PLATFORM_SPI_IMX
302         help
303           Add support for PCM037 EET baseboard extensions. If you are using the
304           OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
305           command-line parameter.
307 config MACH_MX31_3DS
308         bool "Support MX31PDK (3DS)"
309         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
310         select IMX_HAVE_PLATFORM_IMX2_WDT
311         select IMX_HAVE_PLATFORM_IMX_I2C
312         select IMX_HAVE_PLATFORM_IMX_KEYPAD
313         select IMX_HAVE_PLATFORM_IMX_SSI
314         select IMX_HAVE_PLATFORM_IMX_UART
315         select IMX_HAVE_PLATFORM_IPU_CORE
316         select IMX_HAVE_PLATFORM_MXC_EHCI
317         select IMX_HAVE_PLATFORM_MXC_MMC
318         select IMX_HAVE_PLATFORM_MXC_NAND
319         select IMX_HAVE_PLATFORM_SPI_IMX
320         select MXC_DEBUG_BOARD
321         select USB_ULPI_VIEWPORT if USB_ULPI
322         select SOC_IMX31
323         help
324           Include support for MX31PDK (3DS) platform. This includes specific
325           configurations for the board and its peripherals.
327 config MACH_MX31_3DS_MXC_NAND_USE_BBT
328         bool "Make the MXC NAND driver use the in flash Bad Block Table"
329         depends on MACH_MX31_3DS
330         depends on MTD_NAND_MXC
331         help
332           Enable this if you want that the MXC NAND driver uses the in flash
333           Bad Block Table to know what blocks are bad instead of scanning the
334           entire flash looking for bad block markers.
336 config MACH_MX31MOBOARD
337         bool "Support mx31moboard platforms (EPFL Mobots group)"
338         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
339         select IMX_HAVE_PLATFORM_IMX2_WDT
340         select IMX_HAVE_PLATFORM_IMX_I2C
341         select IMX_HAVE_PLATFORM_IMX_SSI
342         select IMX_HAVE_PLATFORM_IMX_UART
343         select IMX_HAVE_PLATFORM_IPU_CORE
344         select IMX_HAVE_PLATFORM_MXC_EHCI
345         select IMX_HAVE_PLATFORM_MXC_MMC
346         select IMX_HAVE_PLATFORM_SPI_IMX
347         select LEDS_GPIO_REGISTER
348         select USB_ULPI_VIEWPORT if USB_ULPI
349         select SOC_IMX31
350         help
351           Include support for mx31moboard platform. This includes specific
352           configurations for the board and its peripherals.
354 config MACH_QONG
355         bool "Support Dave/DENX QongEVB-LITE platform"
356         select IMX_HAVE_PLATFORM_IMX2_WDT
357         select IMX_HAVE_PLATFORM_IMX_UART
358         select SOC_IMX31
359         help
360           Include support for Dave/DENX QongEVB-LITE platform. This includes
361           specific configurations for the board and its peripherals.
363 config MACH_ARMADILLO5X0
364         bool "Support Atmark Armadillo-500 Development Base Board"
365         select IMX_HAVE_PLATFORM_GPIO_KEYS
366         select IMX_HAVE_PLATFORM_IMX_I2C
367         select IMX_HAVE_PLATFORM_IMX_UART
368         select IMX_HAVE_PLATFORM_IPU_CORE
369         select IMX_HAVE_PLATFORM_MXC_EHCI
370         select IMX_HAVE_PLATFORM_MXC_MMC
371         select IMX_HAVE_PLATFORM_MXC_NAND
372         select USB_ULPI_VIEWPORT if USB_ULPI
373         select SOC_IMX31
374         help
375           Include support for Atmark Armadillo-500 platform. This includes
376           specific configurations for the board and its peripherals.
378 config MACH_KZM_ARM11_01
379         bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
380         select IMX_HAVE_PLATFORM_IMX_UART
381         select SOC_IMX31
382         help
383           Include support for KZM-ARM11-01. This includes specific
384           configurations for the board and its peripherals.
386 config MACH_BUG
387         bool "Support Buglabs BUGBase platform"
388         default y
389         select IMX_HAVE_PLATFORM_IMX_UART
390         select SOC_IMX31
391         help
392           Include support for BUGBase 1.3 platform. This includes specific
393           configurations for the board and its peripherals.
395 config MACH_IMX31_DT
396         bool "Support i.MX31 platforms from device tree"
397         select SOC_IMX31
398         help
399           Include support for Freescale i.MX31 based platforms
400           using the device tree for discovery.
402 comment "MX35 platforms:"
404 config MACH_IMX35_DT
405         bool "Support i.MX35 platforms from device tree"
406         select SOC_IMX35
407         help
408           Include support for Freescale i.MX35 based platforms
409           using the device tree for discovery.
411 config MACH_PCM043
412         bool "Support Phytec pcm043 (i.MX35) platforms"
413         select IMX_HAVE_PLATFORM_FLEXCAN
414         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
415         select IMX_HAVE_PLATFORM_IMX2_WDT
416         select IMX_HAVE_PLATFORM_IMX_I2C
417         select IMX_HAVE_PLATFORM_IMX_SSI
418         select IMX_HAVE_PLATFORM_IMX_UART
419         select IMX_HAVE_PLATFORM_IPU_CORE
420         select IMX_HAVE_PLATFORM_MXC_EHCI
421         select IMX_HAVE_PLATFORM_MXC_NAND
422         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
423         select USB_ULPI_VIEWPORT if USB_ULPI
424         select SOC_IMX35
425         help
426           Include support for Phytec pcm043 platform. This includes
427           specific configurations for the board and its peripherals.
429 config MACH_MX35_3DS
430         bool "Support MX35PDK platform"
431         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
432         select IMX_HAVE_PLATFORM_IMX2_WDT
433         select IMX_HAVE_PLATFORM_IMX_FB
434         select IMX_HAVE_PLATFORM_IMX_I2C
435         select IMX_HAVE_PLATFORM_IMX_UART
436         select IMX_HAVE_PLATFORM_IPU_CORE
437         select IMX_HAVE_PLATFORM_MXC_EHCI
438         select IMX_HAVE_PLATFORM_MXC_NAND
439         select IMX_HAVE_PLATFORM_MXC_RTC
440         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
441         select MXC_DEBUG_BOARD
442         select SOC_IMX35
443         help
444           Include support for MX35PDK platform. This includes specific
445           configurations for the board and its peripherals.
447 config MACH_VPR200
448         bool "Support VPR200 platform"
449         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
450         select IMX_HAVE_PLATFORM_GPIO_KEYS
451         select IMX_HAVE_PLATFORM_IMX2_WDT
452         select IMX_HAVE_PLATFORM_IMX_I2C
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_NAND
457         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
458         select SOC_IMX35
459         help
460           Include support for VPR200 platform. This includes specific
461           configurations for the board and its peripherals.
463 endif
465 comment "Device tree only"
467 if ARCH_MULTI_V5
469 config SOC_IMX25
470         bool "i.MX25 support"
471         select ARCH_MXC_IOMUX_V3
472         select CPU_ARM926T
473         select MXC_AVIC
474         select PINCTRL_IMX25
475         help
476           This enables support for Freescale i.MX25 processor
477 endif
479 if ARCH_MULTI_V7
481 comment "Cortex-A platforms"
483 config SOC_IMX5
484         bool
485         select HAVE_IMX_SRC
486         select MXC_TZIC
488 config  SOC_IMX50
489         bool "i.MX50 support"
490         select PINCTRL_IMX50
491         select SOC_IMX5
493         help
494           This enables support for Freescale i.MX50 processor.
496 config SOC_IMX51
497         bool "i.MX51 support"
498         select PINCTRL_IMX51
499         select SOC_IMX5
500         help
501           This enables support for Freescale i.MX51 processor
503 config  SOC_IMX53
504         bool "i.MX53 support"
505         select PINCTRL_IMX53
506         select SOC_IMX5
508         help
509           This enables support for Freescale i.MX53 processor.
511 config SOC_IMX6
512         bool
513         select ARM_ERRATA_754322
514         select ARM_ERRATA_775420
515         select ARM_GIC
516         select HAVE_IMX_ANATOP
517         select HAVE_IMX_GPC
518         select HAVE_IMX_MMDC
519         select HAVE_IMX_SRC
520         select MFD_SYSCON
521         select PL310_ERRATA_769419 if CACHE_L2X0
523 config SOC_IMX6Q
524         bool "i.MX6 Quad/DualLite support"
525         select ARM_ERRATA_764369 if SMP
526         select HAVE_ARM_SCU if SMP
527         select HAVE_ARM_TWD if SMP
528         select PCI_DOMAINS if PCI
529         select PINCTRL_IMX6Q
530         select SOC_IMX6
532         help
533           This enables support for Freescale i.MX6 Quad processor.
535 config SOC_IMX6SL
536         bool "i.MX6 SoloLite support"
537         select PINCTRL_IMX6SL
538         select SOC_IMX6
540         help
541           This enables support for Freescale i.MX6 SoloLite processor.
543 config SOC_IMX6SX
544         bool "i.MX6 SoloX support"
545         select PINCTRL_IMX6SX
546         select SOC_IMX6
548         help
549           This enables support for Freescale i.MX6 SoloX processor.
551 config SOC_IMX6UL
552         bool "i.MX6 UltraLite support"
553         select PINCTRL_IMX6UL
554         select SOC_IMX6
556         help
557           This enables support for Freescale i.MX6 UltraLite processor.
559 config SOC_IMX7D
560         bool "i.MX7 Dual support"
561         select PINCTRL_IMX7D
562         select ARM_GIC
563         select HAVE_IMX_ANATOP
564         select HAVE_IMX_MMDC
565         help
566                 This enables support for Freescale i.MX7 Dual processor.
568 config SOC_LS1021A
569         bool "Freescale LS1021A support"
570         select ARM_GIC
571         select HAVE_ARM_ARCH_TIMER
572         select PCI_DOMAINS if PCI
573         select ZONE_DMA if ARM_LPAE
574         help
575           This enables support for Freescale LS1021A processor.
577 endif
579 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
581 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
583 config SOC_VF610
584         bool "Vybrid Family VF610 support"
585         select ARM_GIC if ARCH_MULTI_V7
586         select PINCTRL_VF610
587         select PL310_ERRATA_769419 if CACHE_L2X0
588         select SMP_ON_UP if SMP
590         help
591           This enables support for Freescale Vybrid VF610 processor.
593 choice
594         prompt "Clocksource for scheduler clock"
595         depends on SOC_VF610
596         default VF_USE_ARM_GLOBAL_TIMER
598         config VF_USE_ARM_GLOBAL_TIMER
599                 bool "Use ARM Global Timer" if ARCH_MULTI_V7
600                 select ARM_GLOBAL_TIMER
601                 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
602                 help
603                   Use the ARM Global Timer as clocksource
605         config VF_USE_PIT_TIMER
606                 bool "Use PIT timer"
607                 select VF_PIT_TIMER
608                 help
609                   Use SoC Periodic Interrupt Timer (PIT) as clocksource
611 endchoice
613 endif
615 source "arch/arm/mach-imx/devices/Kconfig"
617 endif