Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
[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_REQUIRE_GPIOLIB
5 select ARCH_SUPPORTS_BIG_ENDIAN
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_CPU_SUSPEND if PM
515 select ARM_ERRATA_754322
516 select ARM_ERRATA_775420
517 select ARM_GIC
518 select HAVE_IMX_ANATOP
519 select HAVE_IMX_GPC
520 select HAVE_IMX_MMDC
521 select HAVE_IMX_SRC
522 select MFD_SYSCON
523 select PL310_ERRATA_769419 if CACHE_L2X0
524
525 config SOC_IMX6Q
526 bool "i.MX6 Quad/DualLite support"
527 select ARM_ERRATA_764369 if SMP
528 select HAVE_ARM_SCU if SMP
529 select HAVE_ARM_TWD if SMP
530 select PCI_DOMAINS if PCI
531 select PINCTRL_IMX6Q
532 select SOC_IMX6
533
534 help
535 This enables support for Freescale i.MX6 Quad processor.
536
537 config SOC_IMX6SL
538 bool "i.MX6 SoloLite support"
539 select PINCTRL_IMX6SL
540 select SOC_IMX6
541
542 help
543 This enables support for Freescale i.MX6 SoloLite processor.
544
545 config SOC_IMX6SX
546 bool "i.MX6 SoloX support"
547 select PINCTRL_IMX6SX
548 select SOC_IMX6
549
550 help
551 This enables support for Freescale i.MX6 SoloX processor.
552
553 config SOC_IMX6UL
554 bool "i.MX6 UltraLite support"
555 select PINCTRL_IMX6UL
556 select SOC_IMX6
557
558 help
559 This enables support for Freescale i.MX6 UltraLite processor.
560
561 config SOC_IMX7D
562 bool "i.MX7 Dual support"
563 select PINCTRL_IMX7D
564 select ARM_GIC
565 select HAVE_ARM_ARCH_TIMER
566 select HAVE_IMX_ANATOP
567 select HAVE_IMX_MMDC
568 select HAVE_IMX_SRC
569 help
570 This enables support for Freescale i.MX7 Dual processor.
571
572 config SOC_LS1021A
573 bool "Freescale LS1021A support"
574 select ARM_GIC
575 select HAVE_ARM_ARCH_TIMER
576 select PCI_DOMAINS if PCI
577 select ZONE_DMA if ARM_LPAE
578 help
579 This enables support for Freescale LS1021A processor.
580
581 endif
582
583 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
584
585 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
586
587 config SOC_VF610
588 bool "Vybrid Family VF610 support"
589 select ARM_GIC if ARCH_MULTI_V7
590 select PINCTRL_VF610
591 select PL310_ERRATA_769419 if CACHE_L2X0
592 select SMP_ON_UP if SMP
593
594 help
595 This enables support for Freescale Vybrid VF610 processor.
596
597 choice
598 prompt "Clocksource for scheduler clock"
599 depends on SOC_VF610
600 default VF_USE_ARM_GLOBAL_TIMER
601
602 config VF_USE_ARM_GLOBAL_TIMER
603 bool "Use ARM Global Timer"
604 depends on ARCH_MULTI_V7
605 select ARM_GLOBAL_TIMER
606 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
607 help
608 Use the ARM Global Timer as clocksource
609
610 config VF_USE_PIT_TIMER
611 bool "Use PIT timer"
612 select VF_PIT_TIMER
613 help
614 Use SoC Periodic Interrupt Timer (PIT) as clocksource
615
616 endchoice
617
618 endif
619
620 source "arch/arm/mach-imx/devices/Kconfig"
621
622 endif
This page took 0.06063 seconds and 5 git commands to generate.