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
6 select GENERIC_IRQ_CHIP
13 Support for Freescale MXC/iMX-based family of processors
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
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.
39 bool "Use EPIT instead of GPT"
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.
47 config HAVE_IMX_ANATOP
52 select PM_GENERIC_DOMAINS if PM
59 select ARCH_HAS_RESET_CONTROLLER
61 config IMX_HAVE_IOMUX_V1
64 config ARCH_MXC_IOMUX_V3
76 select IMX_HAVE_IOMUX_V1
82 select IMX_HAVE_IOMUX_V1
90 select SMP_ON_UP if SMP
94 select ARCH_MXC_IOMUX_V3
98 select SMP_ON_UP if SMP
102 comment "MX1 platforms:"
105 bool "Support i.MX1 platforms from device tree"
108 Include support for Freescale i.MX1 based platforms
109 using the device tree for discovery.
115 comment "MX21 platforms:"
118 bool "MX21ADS platform"
119 select IMX_HAVE_PLATFORM_IMX_FB
120 select IMX_HAVE_PLATFORM_IMX_UART
121 select IMX_HAVE_PLATFORM_MXC_MMC
122 select IMX_HAVE_PLATFORM_MXC_NAND
125 Include support for MX21ADS platform. This includes specific
126 configurations for the board and its peripherals.
128 comment "MX27 platforms:"
131 bool "MX27ADS platform"
132 select IMX_HAVE_PLATFORM_IMX_FB
133 select IMX_HAVE_PLATFORM_IMX_I2C
134 select IMX_HAVE_PLATFORM_IMX_UART
135 select IMX_HAVE_PLATFORM_MXC_MMC
136 select IMX_HAVE_PLATFORM_MXC_NAND
137 select IMX_HAVE_PLATFORM_MXC_W1
140 Include support for MX27ADS platform. This includes specific
141 configurations for the board and its peripherals.
144 bool "MX27PDK platform"
145 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
146 select IMX_HAVE_PLATFORM_IMX2_WDT
147 select IMX_HAVE_PLATFORM_IMX_FB
148 select IMX_HAVE_PLATFORM_IMX_I2C
149 select IMX_HAVE_PLATFORM_IMX_KEYPAD
150 select IMX_HAVE_PLATFORM_IMX_SSI
151 select IMX_HAVE_PLATFORM_IMX_UART
152 select IMX_HAVE_PLATFORM_MX2_CAMERA
153 select IMX_HAVE_PLATFORM_MXC_EHCI
154 select IMX_HAVE_PLATFORM_MXC_MMC
155 select IMX_HAVE_PLATFORM_SPI_IMX
156 select MXC_DEBUG_BOARD
157 select USB_ULPI_VIEWPORT if USB_ULPI
160 Include support for MX27PDK platform. This includes specific
161 configurations for the board and its peripherals.
163 config MACH_IMX27_VISSTRIM_M10
164 bool "Vista Silicon i.MX27 Visstrim_m10"
165 select IMX_HAVE_PLATFORM_GPIO_KEYS
166 select IMX_HAVE_PLATFORM_IMX_I2C
167 select IMX_HAVE_PLATFORM_IMX_SSI
168 select IMX_HAVE_PLATFORM_IMX_UART
169 select IMX_HAVE_PLATFORM_MX2_CAMERA
170 select IMX_HAVE_PLATFORM_MX2_EMMA
171 select IMX_HAVE_PLATFORM_MXC_EHCI
172 select IMX_HAVE_PLATFORM_MXC_MMC
173 select LEDS_GPIO_REGISTER
176 Include support for Visstrim_m10 platform and its different variants.
177 This includes specific configurations for the board and its
181 bool "Phytec phyCARD-s (pca100)"
182 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
183 select IMX_HAVE_PLATFORM_IMX2_WDT
184 select IMX_HAVE_PLATFORM_IMX_FB
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_MXC_EHCI
189 select IMX_HAVE_PLATFORM_MXC_MMC
190 select IMX_HAVE_PLATFORM_MXC_NAND
191 select IMX_HAVE_PLATFORM_MXC_W1
192 select IMX_HAVE_PLATFORM_SPI_IMX
193 select USB_ULPI_VIEWPORT if USB_ULPI
196 Include support for phyCARD-s (aka pca100) platform. This
197 includes specific configurations for the module and its peripherals.
200 bool "Support i.MX27 platforms from device tree"
203 Include support for Freescale i.MX27 based platforms
204 using the device tree for discovery
210 comment "MX31 platforms:"
213 bool "Support MX31ADS platforms"
215 select IMX_HAVE_PLATFORM_IMX_I2C
216 select IMX_HAVE_PLATFORM_IMX_SSI
217 select IMX_HAVE_PLATFORM_IMX_UART
220 Include support for MX31ADS platform. This includes specific
221 configurations for the board and its peripherals.
223 config MACH_MX31ADS_WM1133_EV1
224 bool "Support Wolfson Microelectronics 1133-EV1 module"
225 depends on MACH_MX31ADS
226 depends on MFD_WM8350_I2C
227 depends on REGULATOR_WM8350 = y
229 Include support for the Wolfson Microelectronics 1133-EV1 PMU
230 and audio module for the MX31ADS platform.
232 config MACH_MX31LILLY
233 bool "Support MX31 LILLY-1131 platforms (INCO startec)"
234 select IMX_HAVE_PLATFORM_IMX_UART
235 select IMX_HAVE_PLATFORM_IPU_CORE
236 select IMX_HAVE_PLATFORM_MXC_EHCI
237 select IMX_HAVE_PLATFORM_MXC_MMC
238 select IMX_HAVE_PLATFORM_SPI_IMX
239 select USB_ULPI_VIEWPORT if USB_ULPI
242 Include support for mx31 based LILLY1131 modules. This includes
243 specific configurations for the board and its peripherals.
246 bool "Support MX31 LITEKIT (LogicPD)"
247 select IMX_HAVE_PLATFORM_IMX2_WDT
248 select IMX_HAVE_PLATFORM_IMX_UART
249 select IMX_HAVE_PLATFORM_MXC_EHCI
250 select IMX_HAVE_PLATFORM_MXC_MMC
251 select IMX_HAVE_PLATFORM_MXC_NAND
252 select IMX_HAVE_PLATFORM_MXC_RTC
253 select IMX_HAVE_PLATFORM_SPI_IMX
254 select LEDS_GPIO_REGISTER
255 select USB_ULPI_VIEWPORT if USB_ULPI
258 Include support for MX31 LITEKIT platform. This includes specific
259 configurations for the board and its peripherals.
262 bool "Support Phytec pcm037 (i.MX31) platforms"
263 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
264 select IMX_HAVE_PLATFORM_IMX2_WDT
265 select IMX_HAVE_PLATFORM_IMX_I2C
266 select IMX_HAVE_PLATFORM_IMX_UART
267 select IMX_HAVE_PLATFORM_IPU_CORE
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_W1
272 select USB_ULPI_VIEWPORT if USB_ULPI
275 Include support for Phytec pcm037 platform. This includes
276 specific configurations for the board and its peripherals.
278 config MACH_PCM037_EET
279 bool "Support pcm037 EET board extensions"
280 depends on MACH_PCM037
281 select IMX_HAVE_PLATFORM_GPIO_KEYS
282 select IMX_HAVE_PLATFORM_SPI_IMX
284 Add support for PCM037 EET baseboard extensions. If you are using the
285 OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
286 command-line parameter.
289 bool "Support MX31PDK (3DS)"
290 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
291 select IMX_HAVE_PLATFORM_IMX2_WDT
292 select IMX_HAVE_PLATFORM_IMX_I2C
293 select IMX_HAVE_PLATFORM_IMX_KEYPAD
294 select IMX_HAVE_PLATFORM_IMX_SSI
295 select IMX_HAVE_PLATFORM_IMX_UART
296 select IMX_HAVE_PLATFORM_IPU_CORE
297 select IMX_HAVE_PLATFORM_MXC_EHCI
298 select IMX_HAVE_PLATFORM_MXC_MMC
299 select IMX_HAVE_PLATFORM_MXC_NAND
300 select IMX_HAVE_PLATFORM_SPI_IMX
301 select MXC_DEBUG_BOARD
302 select USB_ULPI_VIEWPORT if USB_ULPI
305 Include support for MX31PDK (3DS) platform. This includes specific
306 configurations for the board and its peripherals.
308 config MACH_MX31_3DS_MXC_NAND_USE_BBT
309 bool "Make the MXC NAND driver use the in flash Bad Block Table"
310 depends on MACH_MX31_3DS
311 depends on MTD_NAND_MXC
313 Enable this if you want that the MXC NAND driver uses the in flash
314 Bad Block Table to know what blocks are bad instead of scanning the
315 entire flash looking for bad block markers.
317 config MACH_MX31MOBOARD
318 bool "Support mx31moboard platforms (EPFL Mobots group)"
319 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
320 select IMX_HAVE_PLATFORM_IMX2_WDT
321 select IMX_HAVE_PLATFORM_IMX_I2C
322 select IMX_HAVE_PLATFORM_IMX_SSI
323 select IMX_HAVE_PLATFORM_IMX_UART
324 select IMX_HAVE_PLATFORM_IPU_CORE
325 select IMX_HAVE_PLATFORM_MXC_EHCI
326 select IMX_HAVE_PLATFORM_MXC_MMC
327 select IMX_HAVE_PLATFORM_SPI_IMX
328 select LEDS_GPIO_REGISTER
329 select USB_ULPI_VIEWPORT if USB_ULPI
332 Include support for mx31moboard platform. This includes specific
333 configurations for the board and its peripherals.
336 bool "Support Dave/DENX QongEVB-LITE platform"
337 select IMX_HAVE_PLATFORM_IMX2_WDT
338 select IMX_HAVE_PLATFORM_IMX_UART
341 Include support for Dave/DENX QongEVB-LITE platform. This includes
342 specific configurations for the board and its peripherals.
344 config MACH_ARMADILLO5X0
345 bool "Support Atmark Armadillo-500 Development Base Board"
346 select IMX_HAVE_PLATFORM_GPIO_KEYS
347 select IMX_HAVE_PLATFORM_IMX_I2C
348 select IMX_HAVE_PLATFORM_IMX_UART
349 select IMX_HAVE_PLATFORM_IPU_CORE
350 select IMX_HAVE_PLATFORM_MXC_EHCI
351 select IMX_HAVE_PLATFORM_MXC_MMC
352 select IMX_HAVE_PLATFORM_MXC_NAND
353 select USB_ULPI_VIEWPORT if USB_ULPI
356 Include support for Atmark Armadillo-500 platform. This includes
357 specific configurations for the board and its peripherals.
359 config MACH_KZM_ARM11_01
360 bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
361 select IMX_HAVE_PLATFORM_IMX_UART
364 Include support for KZM-ARM11-01. This includes specific
365 configurations for the board and its peripherals.
368 bool "Support Buglabs BUGBase platform"
370 select IMX_HAVE_PLATFORM_IMX_UART
373 Include support for BUGBase 1.3 platform. This includes specific
374 configurations for the board and its peripherals.
377 bool "Support i.MX31 platforms from device tree"
380 Include support for Freescale i.MX31 based platforms
381 using the device tree for discovery.
383 comment "MX35 platforms:"
386 bool "Support i.MX35 platforms from device tree"
389 Include support for Freescale i.MX35 based platforms
390 using the device tree for discovery.
393 bool "Support Phytec pcm043 (i.MX35) platforms"
394 select IMX_HAVE_PLATFORM_FLEXCAN
395 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
396 select IMX_HAVE_PLATFORM_IMX2_WDT
397 select IMX_HAVE_PLATFORM_IMX_I2C
398 select IMX_HAVE_PLATFORM_IMX_SSI
399 select IMX_HAVE_PLATFORM_IMX_UART
400 select IMX_HAVE_PLATFORM_IPU_CORE
401 select IMX_HAVE_PLATFORM_MXC_EHCI
402 select IMX_HAVE_PLATFORM_MXC_NAND
403 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
404 select USB_ULPI_VIEWPORT if USB_ULPI
407 Include support for Phytec pcm043 platform. This includes
408 specific configurations for the board and its peripherals.
411 bool "Support MX35PDK platform"
412 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
413 select IMX_HAVE_PLATFORM_IMX2_WDT
414 select IMX_HAVE_PLATFORM_IMX_FB
415 select IMX_HAVE_PLATFORM_IMX_I2C
416 select IMX_HAVE_PLATFORM_IMX_UART
417 select IMX_HAVE_PLATFORM_IPU_CORE
418 select IMX_HAVE_PLATFORM_MXC_EHCI
419 select IMX_HAVE_PLATFORM_MXC_NAND
420 select IMX_HAVE_PLATFORM_MXC_RTC
421 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
422 select MXC_DEBUG_BOARD
425 Include support for MX35PDK platform. This includes specific
426 configurations for the board and its peripherals.
429 bool "Support VPR200 platform"
430 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
431 select IMX_HAVE_PLATFORM_GPIO_KEYS
432 select IMX_HAVE_PLATFORM_IMX2_WDT
433 select IMX_HAVE_PLATFORM_IMX_I2C
434 select IMX_HAVE_PLATFORM_IMX_UART
435 select IMX_HAVE_PLATFORM_IPU_CORE
436 select IMX_HAVE_PLATFORM_MXC_EHCI
437 select IMX_HAVE_PLATFORM_MXC_NAND
438 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
441 Include support for VPR200 platform. This includes specific
442 configurations for the board and its peripherals.
446 comment "Device tree only"
451 bool "i.MX25 support"
452 select ARCH_MXC_IOMUX_V3
457 This enables support for Freescale i.MX25 processor
462 comment "Cortex-A platforms"
470 bool "i.MX50 support"
475 This enables support for Freescale i.MX50 processor.
478 bool "i.MX51 support"
482 This enables support for Freescale i.MX51 processor
485 bool "i.MX53 support"
490 This enables support for Freescale i.MX53 processor.
494 select ARM_CPU_SUSPEND if PM
495 select ARM_ERRATA_754322
496 select ARM_ERRATA_775420
498 select HAVE_IMX_ANATOP
503 select PL310_ERRATA_769419 if CACHE_L2X0
506 bool "i.MX6 Quad/DualLite support"
507 select ARM_ERRATA_764369 if SMP
508 select HAVE_ARM_SCU if SMP
510 select PCI_DOMAINS if PCI
515 This enables support for Freescale i.MX6 Quad processor.
518 bool "i.MX6 SoloLite support"
519 select PINCTRL_IMX6SL
523 This enables support for Freescale i.MX6 SoloLite processor.
526 bool "i.MX6 SoloX support"
527 select PINCTRL_IMX6SX
531 This enables support for Freescale i.MX6 SoloX processor.
534 bool "i.MX6 UltraLite support"
535 select PINCTRL_IMX6UL
539 This enables support for Freescale i.MX6 UltraLite processor.
542 bool "i.MX7 Dual support"
545 select HAVE_ARM_ARCH_TIMER
546 select HAVE_IMX_ANATOP
550 This enables support for Freescale i.MX7 Dual processor.
553 bool "Freescale LS1021A support"
555 select HAVE_ARM_ARCH_TIMER
556 select PCI_DOMAINS if PCI
557 select ZONE_DMA if ARM_LPAE
559 This enables support for Freescale LS1021A processor.
563 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
565 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
568 bool "Vybrid Family VF610 support"
569 select ARM_GIC if ARCH_MULTI_V7
571 select PL310_ERRATA_769419 if CACHE_L2X0
572 select SMP_ON_UP if SMP
575 This enables support for Freescale Vybrid VF610 processor.
578 prompt "Clocksource for scheduler clock"
580 default VF_USE_ARM_GLOBAL_TIMER
582 config VF_USE_ARM_GLOBAL_TIMER
583 bool "Use ARM Global Timer"
584 depends on ARCH_MULTI_V7
585 select ARM_GLOBAL_TIMER
586 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
588 Use the ARM Global Timer as clocksource
590 config VF_USE_PIT_TIMER
594 Use SoC Periodic Interrupt Timer (PIT) as clocksource
600 source "arch/arm/mach-imx/devices/Kconfig"