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 ARM_CPU_SUSPEND if PM
8 select GENERIC_IRQ_CHIP
14 Support for Freescale MXC/iMX-based family of processors
24 config MXC_DEBUG_BOARD
25 bool "Enable MXC debug board(for 3-stack)"
26 depends on MACH_MX27_3DS || MACH_MX31_3DS || MACH_MX35_3DS
28 The debug board is an integral part of the MXC 3-stack(PDK)
29 platforms, it can be attached or removed from the peripheral
30 board. On debug board, several debug devices(ethernet, UART,
31 buttons, LEDs and JTAG) are implemented. Between the MCU and
32 these devices, a CPLD is added as a bridge which performs
33 data/address de-multiplexing and decode, signal level shift,
34 interrupt control and various board functions.
40 bool "Use EPIT instead of GPT"
43 Use EPIT as the system timer on systems that have it. Normally you
44 don't have a reason to do so as the EPIT has the same features and
45 uses the same clocks as the GPT. Anyway, on some systems the GPT
46 may be in use for other purposes.
51 config HAVE_IMX_ANATOP
56 select PM_GENERIC_DOMAINS if PM
63 select ARCH_HAS_RESET_CONTROLLER
65 config IMX_HAVE_IOMUX_V1
68 config ARCH_MXC_IOMUX_V3
74 select IMX_HAVE_IOMUX_V1
81 select IMX_HAVE_IOMUX_V1
87 select IMX_HAVE_IOMUX_V1
94 select IMX_HAVE_PLATFORM_MXC_RNGA
96 select SMP_ON_UP if SMP
100 select ARCH_MXC_IOMUX_V3
104 select SMP_ON_UP if SMP
108 comment "MX1 platforms:"
111 bool "Synertronixx scb9328"
112 select IMX_HAVE_PLATFORM_IMX_UART
115 Say Y here if you are using a Synertronixx scb9328 board
119 select IMX_HAVE_PLATFORM_IMX_I2C
120 select IMX_HAVE_PLATFORM_IMX_UART
123 Say Yes here if you are using the Armadeus APF9328 development board
126 bool "Support i.MX1 platforms from device tree"
129 Include support for Freescale i.MX1 based platforms
130 using the device tree for discovery.
136 comment "MX21 platforms:"
139 bool "MX21ADS platform"
140 select IMX_HAVE_PLATFORM_IMX_FB
141 select IMX_HAVE_PLATFORM_IMX_UART
142 select IMX_HAVE_PLATFORM_MXC_MMC
143 select IMX_HAVE_PLATFORM_MXC_NAND
146 Include support for MX21ADS platform. This includes specific
147 configurations for the board and its peripherals.
149 comment "MX27 platforms:"
152 bool "MX27ADS platform"
153 select IMX_HAVE_PLATFORM_IMX_FB
154 select IMX_HAVE_PLATFORM_IMX_I2C
155 select IMX_HAVE_PLATFORM_IMX_UART
156 select IMX_HAVE_PLATFORM_MXC_MMC
157 select IMX_HAVE_PLATFORM_MXC_NAND
158 select IMX_HAVE_PLATFORM_MXC_W1
161 Include support for MX27ADS platform. This includes specific
162 configurations for the board and its peripherals.
165 bool "MX27PDK platform"
166 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
167 select IMX_HAVE_PLATFORM_IMX2_WDT
168 select IMX_HAVE_PLATFORM_IMX_FB
169 select IMX_HAVE_PLATFORM_IMX_I2C
170 select IMX_HAVE_PLATFORM_IMX_KEYPAD
171 select IMX_HAVE_PLATFORM_IMX_SSI
172 select IMX_HAVE_PLATFORM_IMX_UART
173 select IMX_HAVE_PLATFORM_MX2_CAMERA
174 select IMX_HAVE_PLATFORM_MXC_EHCI
175 select IMX_HAVE_PLATFORM_MXC_MMC
176 select IMX_HAVE_PLATFORM_SPI_IMX
177 select MXC_DEBUG_BOARD
178 select USB_ULPI_VIEWPORT if USB_ULPI
181 Include support for MX27PDK platform. This includes specific
182 configurations for the board and its peripherals.
184 config MACH_IMX27_VISSTRIM_M10
185 bool "Vista Silicon i.MX27 Visstrim_m10"
186 select IMX_HAVE_PLATFORM_GPIO_KEYS
187 select IMX_HAVE_PLATFORM_IMX_I2C
188 select IMX_HAVE_PLATFORM_IMX_SSI
189 select IMX_HAVE_PLATFORM_IMX_UART
190 select IMX_HAVE_PLATFORM_MX2_CAMERA
191 select IMX_HAVE_PLATFORM_MX2_EMMA
192 select IMX_HAVE_PLATFORM_MXC_EHCI
193 select IMX_HAVE_PLATFORM_MXC_MMC
194 select LEDS_GPIO_REGISTER
197 Include support for Visstrim_m10 platform and its different variants.
198 This includes specific configurations for the board and its
202 bool "Phytec phyCARD-s (pca100)"
203 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
204 select IMX_HAVE_PLATFORM_IMX2_WDT
205 select IMX_HAVE_PLATFORM_IMX_FB
206 select IMX_HAVE_PLATFORM_IMX_I2C
207 select IMX_HAVE_PLATFORM_IMX_SSI
208 select IMX_HAVE_PLATFORM_IMX_UART
209 select IMX_HAVE_PLATFORM_MXC_EHCI
210 select IMX_HAVE_PLATFORM_MXC_MMC
211 select IMX_HAVE_PLATFORM_MXC_NAND
212 select IMX_HAVE_PLATFORM_MXC_W1
213 select IMX_HAVE_PLATFORM_SPI_IMX
214 select USB_ULPI_VIEWPORT if USB_ULPI
217 Include support for phyCARD-s (aka pca100) platform. This
218 includes specific configurations for the module and its peripherals.
221 bool "Support i.MX27 platforms from device tree"
224 Include support for Freescale i.MX27 based platforms
225 using the device tree for discovery
231 comment "MX31 platforms:"
234 bool "Support MX31ADS platforms"
236 select IMX_HAVE_PLATFORM_IMX_I2C
237 select IMX_HAVE_PLATFORM_IMX_SSI
238 select IMX_HAVE_PLATFORM_IMX_UART
241 Include support for MX31ADS platform. This includes specific
242 configurations for the board and its peripherals.
244 config MACH_MX31ADS_WM1133_EV1
245 bool "Support Wolfson Microelectronics 1133-EV1 module"
246 depends on MACH_MX31ADS
247 depends on MFD_WM8350_I2C
248 depends on REGULATOR_WM8350 = y
250 Include support for the Wolfson Microelectronics 1133-EV1 PMU
251 and audio module for the MX31ADS platform.
253 config MACH_MX31LILLY
254 bool "Support MX31 LILLY-1131 platforms (INCO startec)"
255 select IMX_HAVE_PLATFORM_IMX_UART
256 select IMX_HAVE_PLATFORM_IPU_CORE
257 select IMX_HAVE_PLATFORM_MXC_EHCI
258 select IMX_HAVE_PLATFORM_MXC_MMC
259 select IMX_HAVE_PLATFORM_SPI_IMX
260 select USB_ULPI_VIEWPORT if USB_ULPI
263 Include support for mx31 based LILLY1131 modules. This includes
264 specific configurations for the board and its peripherals.
267 bool "Support MX31 LITEKIT (LogicPD)"
268 select IMX_HAVE_PLATFORM_IMX2_WDT
269 select IMX_HAVE_PLATFORM_IMX_UART
270 select IMX_HAVE_PLATFORM_MXC_EHCI
271 select IMX_HAVE_PLATFORM_MXC_MMC
272 select IMX_HAVE_PLATFORM_MXC_NAND
273 select IMX_HAVE_PLATFORM_MXC_RTC
274 select IMX_HAVE_PLATFORM_SPI_IMX
275 select LEDS_GPIO_REGISTER
276 select USB_ULPI_VIEWPORT if USB_ULPI
279 Include support for MX31 LITEKIT platform. This includes specific
280 configurations for the board and its peripherals.
283 bool "Support Phytec pcm037 (i.MX31) platforms"
284 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
285 select IMX_HAVE_PLATFORM_IMX2_WDT
286 select IMX_HAVE_PLATFORM_IMX_I2C
287 select IMX_HAVE_PLATFORM_IMX_UART
288 select IMX_HAVE_PLATFORM_IPU_CORE
289 select IMX_HAVE_PLATFORM_MXC_EHCI
290 select IMX_HAVE_PLATFORM_MXC_MMC
291 select IMX_HAVE_PLATFORM_MXC_NAND
292 select IMX_HAVE_PLATFORM_MXC_W1
293 select USB_ULPI_VIEWPORT if USB_ULPI
296 Include support for Phytec pcm037 platform. This includes
297 specific configurations for the board and its peripherals.
299 config MACH_PCM037_EET
300 bool "Support pcm037 EET board extensions"
301 depends on MACH_PCM037
302 select IMX_HAVE_PLATFORM_GPIO_KEYS
303 select IMX_HAVE_PLATFORM_SPI_IMX
305 Add support for PCM037 EET baseboard extensions. If you are using the
306 OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
307 command-line parameter.
310 bool "Support MX31PDK (3DS)"
311 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
312 select IMX_HAVE_PLATFORM_IMX2_WDT
313 select IMX_HAVE_PLATFORM_IMX_I2C
314 select IMX_HAVE_PLATFORM_IMX_KEYPAD
315 select IMX_HAVE_PLATFORM_IMX_SSI
316 select IMX_HAVE_PLATFORM_IMX_UART
317 select IMX_HAVE_PLATFORM_IPU_CORE
318 select IMX_HAVE_PLATFORM_MXC_EHCI
319 select IMX_HAVE_PLATFORM_MXC_MMC
320 select IMX_HAVE_PLATFORM_MXC_NAND
321 select IMX_HAVE_PLATFORM_SPI_IMX
322 select MXC_DEBUG_BOARD
323 select USB_ULPI_VIEWPORT if USB_ULPI
326 Include support for MX31PDK (3DS) platform. This includes specific
327 configurations for the board and its peripherals.
329 config MACH_MX31_3DS_MXC_NAND_USE_BBT
330 bool "Make the MXC NAND driver use the in flash Bad Block Table"
331 depends on MACH_MX31_3DS
332 depends on MTD_NAND_MXC
334 Enable this if you want that the MXC NAND driver uses the in flash
335 Bad Block Table to know what blocks are bad instead of scanning the
336 entire flash looking for bad block markers.
338 config MACH_MX31MOBOARD
339 bool "Support mx31moboard platforms (EPFL Mobots group)"
340 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
341 select IMX_HAVE_PLATFORM_IMX2_WDT
342 select IMX_HAVE_PLATFORM_IMX_I2C
343 select IMX_HAVE_PLATFORM_IMX_SSI
344 select IMX_HAVE_PLATFORM_IMX_UART
345 select IMX_HAVE_PLATFORM_IPU_CORE
346 select IMX_HAVE_PLATFORM_MXC_EHCI
347 select IMX_HAVE_PLATFORM_MXC_MMC
348 select IMX_HAVE_PLATFORM_SPI_IMX
349 select LEDS_GPIO_REGISTER
350 select USB_ULPI_VIEWPORT if USB_ULPI
353 Include support for mx31moboard platform. This includes specific
354 configurations for the board and its peripherals.
357 bool "Support Dave/DENX QongEVB-LITE platform"
358 select IMX_HAVE_PLATFORM_IMX2_WDT
359 select IMX_HAVE_PLATFORM_IMX_UART
362 Include support for Dave/DENX QongEVB-LITE platform. This includes
363 specific configurations for the board and its peripherals.
365 config MACH_ARMADILLO5X0
366 bool "Support Atmark Armadillo-500 Development Base Board"
367 select IMX_HAVE_PLATFORM_GPIO_KEYS
368 select IMX_HAVE_PLATFORM_IMX_I2C
369 select IMX_HAVE_PLATFORM_IMX_UART
370 select IMX_HAVE_PLATFORM_IPU_CORE
371 select IMX_HAVE_PLATFORM_MXC_EHCI
372 select IMX_HAVE_PLATFORM_MXC_MMC
373 select IMX_HAVE_PLATFORM_MXC_NAND
374 select USB_ULPI_VIEWPORT if USB_ULPI
377 Include support for Atmark Armadillo-500 platform. This includes
378 specific configurations for the board and its peripherals.
380 config MACH_KZM_ARM11_01
381 bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
382 select IMX_HAVE_PLATFORM_IMX_UART
385 Include support for KZM-ARM11-01. This includes specific
386 configurations for the board and its peripherals.
389 bool "Support Buglabs BUGBase platform"
391 select IMX_HAVE_PLATFORM_IMX_UART
394 Include support for BUGBase 1.3 platform. This includes specific
395 configurations for the board and its peripherals.
398 bool "Support i.MX31 platforms from device tree"
401 Include support for Freescale i.MX31 based platforms
402 using the device tree for discovery.
404 comment "MX35 platforms:"
407 bool "Support i.MX35 platforms from device tree"
410 Include support for Freescale i.MX35 based platforms
411 using the device tree for discovery.
414 bool "Support Phytec pcm043 (i.MX35) platforms"
415 select IMX_HAVE_PLATFORM_FLEXCAN
416 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
417 select IMX_HAVE_PLATFORM_IMX2_WDT
418 select IMX_HAVE_PLATFORM_IMX_I2C
419 select IMX_HAVE_PLATFORM_IMX_SSI
420 select IMX_HAVE_PLATFORM_IMX_UART
421 select IMX_HAVE_PLATFORM_IPU_CORE
422 select IMX_HAVE_PLATFORM_MXC_EHCI
423 select IMX_HAVE_PLATFORM_MXC_NAND
424 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
425 select USB_ULPI_VIEWPORT if USB_ULPI
428 Include support for Phytec pcm043 platform. This includes
429 specific configurations for the board and its peripherals.
432 bool "Support MX35PDK platform"
433 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
434 select IMX_HAVE_PLATFORM_IMX2_WDT
435 select IMX_HAVE_PLATFORM_IMX_FB
436 select IMX_HAVE_PLATFORM_IMX_I2C
437 select IMX_HAVE_PLATFORM_IMX_UART
438 select IMX_HAVE_PLATFORM_IPU_CORE
439 select IMX_HAVE_PLATFORM_MXC_EHCI
440 select IMX_HAVE_PLATFORM_MXC_NAND
441 select IMX_HAVE_PLATFORM_MXC_RTC
442 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
443 select MXC_DEBUG_BOARD
446 Include support for MX35PDK platform. This includes specific
447 configurations for the board and its peripherals.
450 bool "Support VPR200 platform"
451 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
452 select IMX_HAVE_PLATFORM_GPIO_KEYS
453 select IMX_HAVE_PLATFORM_IMX2_WDT
454 select IMX_HAVE_PLATFORM_IMX_I2C
455 select IMX_HAVE_PLATFORM_IMX_UART
456 select IMX_HAVE_PLATFORM_IPU_CORE
457 select IMX_HAVE_PLATFORM_MXC_EHCI
458 select IMX_HAVE_PLATFORM_MXC_NAND
459 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
462 Include support for VPR200 platform. This includes specific
463 configurations for the board and its peripherals.
467 comment "Device tree only"
472 bool "i.MX25 support"
473 select ARCH_MXC_IOMUX_V3
478 This enables support for Freescale i.MX25 processor
483 comment "Cortex-A platforms"
491 bool "i.MX50 support"
496 This enables support for Freescale i.MX50 processor.
499 bool "i.MX51 support"
503 This enables support for Freescale i.MX51 processor
506 bool "i.MX53 support"
511 This enables support for Freescale i.MX53 processor.
515 select ARM_ERRATA_754322
516 select ARM_ERRATA_775420
518 select HAVE_IMX_ANATOP
523 select PL310_ERRATA_769419 if CACHE_L2X0
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
535 This enables support for Freescale i.MX6 Quad processor.
538 bool "i.MX6 SoloLite support"
539 select PINCTRL_IMX6SL
543 This enables support for Freescale i.MX6 SoloLite processor.
546 bool "i.MX6 SoloX support"
547 select PINCTRL_IMX6SX
551 This enables support for Freescale i.MX6 SoloX processor.
554 bool "i.MX6 UltraLite support"
555 select PINCTRL_IMX6UL
559 This enables support for Freescale i.MX6 UltraLite processor.
562 bool "i.MX7 Dual support"
565 select HAVE_ARM_ARCH_TIMER
566 select HAVE_IMX_ANATOP
570 This enables support for Freescale i.MX7 Dual processor.
573 bool "Freescale LS1021A support"
575 select HAVE_ARM_ARCH_TIMER
576 select PCI_DOMAINS if PCI
577 select ZONE_DMA if ARM_LPAE
579 This enables support for Freescale LS1021A processor.
583 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
585 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
588 bool "Vybrid Family VF610 support"
589 select ARM_GIC if ARCH_MULTI_V7
591 select PL310_ERRATA_769419 if CACHE_L2X0
592 select SMP_ON_UP if SMP
595 This enables support for Freescale Vybrid VF610 processor.
598 prompt "Clocksource for scheduler clock"
600 default VF_USE_ARM_GLOBAL_TIMER
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
608 Use the ARM Global Timer as clocksource
610 config VF_USE_PIT_TIMER
614 Use SoC Periodic Interrupt Timer (PIT) as clocksource
620 source "arch/arm/mach-imx/devices/Kconfig"