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