]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - arch/arm/mach-imx/Kconfig
genirq: Remove irq argument from irq flow handlers
[mirror_ubuntu-zesty-kernel.git] / arch / arm / mach-imx / Kconfig
1 menuconfig ARCH_MXC
2 bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || 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
13
14 if ARCH_MXC
15
16 config MXC_TZIC
17 bool
18
19 config MXC_AVIC
20 bool
21
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.
33
34 config HAVE_EPIT
35 bool
36
37 config MXC_USE_EPIT
38 bool "Use EPIT instead of GPT"
39 depends on HAVE_EPIT
40 help
41 Use EPIT as the system timer on systems that have it. Normally you
42 don't have a reason to do so as the EPIT has the same features and
43 uses the same clocks as the GPT. Anyway, on some systems the GPT
44 may be in use for other purposes.
45
46 config ARCH_HAS_RNGA
47 bool
48
49 config HAVE_IMX_ANATOP
50 bool
51
52 config HAVE_IMX_GPC
53 bool
54 select PM_GENERIC_DOMAINS if PM
55
56 config HAVE_IMX_MMDC
57 bool
58
59 config HAVE_IMX_SRC
60 def_bool y if SMP
61 select ARCH_HAS_RESET_CONTROLLER
62
63 config IMX_HAVE_IOMUX_V1
64 bool
65
66 config ARCH_MXC_IOMUX_V3
67 bool
68
69 config SOC_IMX1
70 bool
71 select CPU_ARM920T
72 select IMX_HAVE_IOMUX_V1
73 select MXC_AVIC
74 select PINCTRL_IMX1
75
76 config SOC_IMX21
77 bool
78 select CPU_ARM926T
79 select IMX_HAVE_IOMUX_V1
80 select MXC_AVIC
81
82 config SOC_IMX27
83 bool
84 select CPU_ARM926T
85 select IMX_HAVE_IOMUX_V1
86 select MXC_AVIC
87 select PINCTRL_IMX27
88
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
95
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
103
104 if ARCH_MULTI_V4T
105
106 comment "MX1 platforms:"
107
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
114
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
122
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.
129
130 endif
131
132 if ARCH_MULTI_V5
133
134 comment "MX21 platforms:"
135
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.
146
147 comment "MX27 platforms:"
148
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.
161
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.
181
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.
198
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.
217
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
224
225 endif
226
227 if ARCH_MULTI_V6
228
229 comment "MX31 platforms:"
230
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.
241
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.
250
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.
263
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.
279
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.
296
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.
306
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.
326
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.
335
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.
353
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.
362
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.
377
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.
385
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.
394
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.
401
402 comment "MX35 platforms:"
403
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.
410
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.
428
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.
446
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.
462
463 endif
464
465 comment "Device tree only"
466
467 if ARCH_MULTI_V5
468
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
478
479 if ARCH_MULTI_V7
480
481 comment "Cortex-A platforms"
482
483 config SOC_IMX5
484 bool
485 select HAVE_IMX_SRC
486 select MXC_TZIC
487
488 config SOC_IMX50
489 bool "i.MX50 support"
490 select PINCTRL_IMX50
491 select SOC_IMX5
492
493 help
494 This enables support for Freescale i.MX50 processor.
495
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
502
503 config SOC_IMX53
504 bool "i.MX53 support"
505 select PINCTRL_IMX53
506 select SOC_IMX5
507
508 help
509 This enables support for Freescale i.MX53 processor.
510
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
522
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
531
532 help
533 This enables support for Freescale i.MX6 Quad processor.
534
535 config SOC_IMX6SL
536 bool "i.MX6 SoloLite support"
537 select PINCTRL_IMX6SL
538 select SOC_IMX6
539
540 help
541 This enables support for Freescale i.MX6 SoloLite processor.
542
543 config SOC_IMX6SX
544 bool "i.MX6 SoloX support"
545 select PINCTRL_IMX6SX
546 select SOC_IMX6
547
548 help
549 This enables support for Freescale i.MX6 SoloX processor.
550
551 config SOC_IMX6UL
552 bool "i.MX6 UltraLite support"
553 select PINCTRL_IMX6UL
554 select SOC_IMX6
555
556 help
557 This enables support for Freescale i.MX6 UltraLite processor.
558
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.
567
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.
576
577 endif
578
579 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
580
581 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
582
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
589
590 help
591 This enables support for Freescale Vybrid VF610 processor.
592
593 choice
594 prompt "Clocksource for scheduler clock"
595 depends on SOC_VF610
596 default VF_USE_ARM_GLOBAL_TIMER
597
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
604
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
610
611 endchoice
612
613 endif
614
615 source "arch/arm/mach-imx/devices/Kconfig"
616
617 endif