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
70 select IMX_HAVE_IOMUX_V1
76 select IMX_HAVE_IOMUX_V1
84 select SMP_ON_UP if SMP
88 select ARCH_MXC_IOMUX_V3
92 select SMP_ON_UP if SMP
96 comment "MX21 platforms:"
99 bool "MX21ADS platform"
100 select IMX_HAVE_PLATFORM_IMX_FB
101 select IMX_HAVE_PLATFORM_IMX_UART
102 select IMX_HAVE_PLATFORM_MXC_MMC
103 select IMX_HAVE_PLATFORM_MXC_NAND
106 Include support for MX21ADS platform. This includes specific
107 configurations for the board and its peripherals.
109 comment "MX27 platforms:"
112 bool "MX27ADS platform"
113 select IMX_HAVE_PLATFORM_IMX_FB
114 select IMX_HAVE_PLATFORM_IMX_I2C
115 select IMX_HAVE_PLATFORM_IMX_UART
116 select IMX_HAVE_PLATFORM_MXC_MMC
117 select IMX_HAVE_PLATFORM_MXC_NAND
118 select IMX_HAVE_PLATFORM_MXC_W1
121 Include support for MX27ADS platform. This includes specific
122 configurations for the board and its peripherals.
125 bool "MX27PDK platform"
126 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
127 select IMX_HAVE_PLATFORM_IMX2_WDT
128 select IMX_HAVE_PLATFORM_IMX_FB
129 select IMX_HAVE_PLATFORM_IMX_I2C
130 select IMX_HAVE_PLATFORM_IMX_KEYPAD
131 select IMX_HAVE_PLATFORM_IMX_SSI
132 select IMX_HAVE_PLATFORM_IMX_UART
133 select IMX_HAVE_PLATFORM_MX2_CAMERA
134 select IMX_HAVE_PLATFORM_MXC_EHCI
135 select IMX_HAVE_PLATFORM_MXC_MMC
136 select IMX_HAVE_PLATFORM_SPI_IMX
137 select MXC_DEBUG_BOARD
138 select USB_ULPI_VIEWPORT if USB_ULPI
141 Include support for MX27PDK platform. This includes specific
142 configurations for the board and its peripherals.
144 config MACH_IMX27_VISSTRIM_M10
145 bool "Vista Silicon i.MX27 Visstrim_m10"
146 select IMX_HAVE_PLATFORM_GPIO_KEYS
147 select IMX_HAVE_PLATFORM_IMX_I2C
148 select IMX_HAVE_PLATFORM_IMX_SSI
149 select IMX_HAVE_PLATFORM_IMX_UART
150 select IMX_HAVE_PLATFORM_MX2_CAMERA
151 select IMX_HAVE_PLATFORM_MX2_EMMA
152 select IMX_HAVE_PLATFORM_MXC_EHCI
153 select IMX_HAVE_PLATFORM_MXC_MMC
154 select LEDS_GPIO_REGISTER
157 Include support for Visstrim_m10 platform and its different variants.
158 This includes specific configurations for the board and its
162 bool "Phytec phyCARD-s (pca100)"
163 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
164 select IMX_HAVE_PLATFORM_IMX2_WDT
165 select IMX_HAVE_PLATFORM_IMX_FB
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_MXC_EHCI
170 select IMX_HAVE_PLATFORM_MXC_MMC
171 select IMX_HAVE_PLATFORM_MXC_NAND
172 select IMX_HAVE_PLATFORM_MXC_W1
173 select IMX_HAVE_PLATFORM_SPI_IMX
174 select USB_ULPI_VIEWPORT if USB_ULPI
177 Include support for phyCARD-s (aka pca100) platform. This
178 includes specific configurations for the module and its peripherals.
181 bool "Support i.MX27 platforms from device tree"
184 Include support for Freescale i.MX27 based platforms
185 using the device tree for discovery
191 comment "MX31 platforms:"
194 bool "Support MX31ADS platforms"
196 select IMX_HAVE_PLATFORM_IMX_I2C
197 select IMX_HAVE_PLATFORM_IMX_SSI
198 select IMX_HAVE_PLATFORM_IMX_UART
201 Include support for MX31ADS platform. This includes specific
202 configurations for the board and its peripherals.
204 config MACH_MX31ADS_WM1133_EV1
205 bool "Support Wolfson Microelectronics 1133-EV1 module"
206 depends on MACH_MX31ADS
207 depends on MFD_WM8350_I2C
208 depends on REGULATOR_WM8350 = y
210 Include support for the Wolfson Microelectronics 1133-EV1 PMU
211 and audio module for the MX31ADS platform.
213 config MACH_MX31LILLY
214 bool "Support MX31 LILLY-1131 platforms (INCO startec)"
215 select IMX_HAVE_PLATFORM_IMX_UART
216 select IMX_HAVE_PLATFORM_IPU_CORE
217 select IMX_HAVE_PLATFORM_MXC_EHCI
218 select IMX_HAVE_PLATFORM_MXC_MMC
219 select IMX_HAVE_PLATFORM_SPI_IMX
220 select USB_ULPI_VIEWPORT if USB_ULPI
223 Include support for mx31 based LILLY1131 modules. This includes
224 specific configurations for the board and its peripherals.
227 bool "Support MX31 LITEKIT (LogicPD)"
228 select IMX_HAVE_PLATFORM_IMX2_WDT
229 select IMX_HAVE_PLATFORM_IMX_UART
230 select IMX_HAVE_PLATFORM_MXC_EHCI
231 select IMX_HAVE_PLATFORM_MXC_MMC
232 select IMX_HAVE_PLATFORM_MXC_NAND
233 select IMX_HAVE_PLATFORM_MXC_RTC
234 select IMX_HAVE_PLATFORM_SPI_IMX
235 select LEDS_GPIO_REGISTER
236 select USB_ULPI_VIEWPORT if USB_ULPI
239 Include support for MX31 LITEKIT platform. This includes specific
240 configurations for the board and its peripherals.
243 bool "Support Phytec pcm037 (i.MX31) platforms"
244 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
245 select IMX_HAVE_PLATFORM_IMX2_WDT
246 select IMX_HAVE_PLATFORM_IMX_I2C
247 select IMX_HAVE_PLATFORM_IMX_UART
248 select IMX_HAVE_PLATFORM_IPU_CORE
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_W1
253 select USB_ULPI_VIEWPORT if USB_ULPI
256 Include support for Phytec pcm037 platform. This includes
257 specific configurations for the board and its peripherals.
259 config MACH_PCM037_EET
260 bool "Support pcm037 EET board extensions"
261 depends on MACH_PCM037
262 select IMX_HAVE_PLATFORM_GPIO_KEYS
263 select IMX_HAVE_PLATFORM_SPI_IMX
265 Add support for PCM037 EET baseboard extensions. If you are using the
266 OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
267 command-line parameter.
270 bool "Support MX31PDK (3DS)"
271 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
272 select IMX_HAVE_PLATFORM_IMX2_WDT
273 select IMX_HAVE_PLATFORM_IMX_I2C
274 select IMX_HAVE_PLATFORM_IMX_KEYPAD
275 select IMX_HAVE_PLATFORM_IMX_SSI
276 select IMX_HAVE_PLATFORM_IMX_UART
277 select IMX_HAVE_PLATFORM_IPU_CORE
278 select IMX_HAVE_PLATFORM_MXC_EHCI
279 select IMX_HAVE_PLATFORM_MXC_MMC
280 select IMX_HAVE_PLATFORM_MXC_NAND
281 select IMX_HAVE_PLATFORM_SPI_IMX
282 select MXC_DEBUG_BOARD
283 select USB_ULPI_VIEWPORT if USB_ULPI
286 Include support for MX31PDK (3DS) platform. This includes specific
287 configurations for the board and its peripherals.
289 config MACH_MX31_3DS_MXC_NAND_USE_BBT
290 bool "Make the MXC NAND driver use the in flash Bad Block Table"
291 depends on MACH_MX31_3DS
292 depends on MTD_NAND_MXC
294 Enable this if you want that the MXC NAND driver uses the in flash
295 Bad Block Table to know what blocks are bad instead of scanning the
296 entire flash looking for bad block markers.
298 config MACH_MX31MOBOARD
299 bool "Support mx31moboard platforms (EPFL Mobots group)"
300 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
301 select IMX_HAVE_PLATFORM_IMX2_WDT
302 select IMX_HAVE_PLATFORM_IMX_I2C
303 select IMX_HAVE_PLATFORM_IMX_SSI
304 select IMX_HAVE_PLATFORM_IMX_UART
305 select IMX_HAVE_PLATFORM_IPU_CORE
306 select IMX_HAVE_PLATFORM_MXC_EHCI
307 select IMX_HAVE_PLATFORM_MXC_MMC
308 select IMX_HAVE_PLATFORM_SPI_IMX
309 select LEDS_GPIO_REGISTER
310 select USB_ULPI_VIEWPORT if USB_ULPI
313 Include support for mx31moboard platform. This includes specific
314 configurations for the board and its peripherals.
317 bool "Support Dave/DENX QongEVB-LITE platform"
318 select IMX_HAVE_PLATFORM_IMX2_WDT
319 select IMX_HAVE_PLATFORM_IMX_UART
322 Include support for Dave/DENX QongEVB-LITE platform. This includes
323 specific configurations for the board and its peripherals.
325 config MACH_ARMADILLO5X0
326 bool "Support Atmark Armadillo-500 Development Base Board"
327 select IMX_HAVE_PLATFORM_GPIO_KEYS
328 select IMX_HAVE_PLATFORM_IMX_I2C
329 select IMX_HAVE_PLATFORM_IMX_UART
330 select IMX_HAVE_PLATFORM_IPU_CORE
331 select IMX_HAVE_PLATFORM_MXC_EHCI
332 select IMX_HAVE_PLATFORM_MXC_MMC
333 select IMX_HAVE_PLATFORM_MXC_NAND
334 select USB_ULPI_VIEWPORT if USB_ULPI
337 Include support for Atmark Armadillo-500 platform. This includes
338 specific configurations for the board and its peripherals.
340 config MACH_KZM_ARM11_01
341 bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
342 select IMX_HAVE_PLATFORM_IMX_UART
345 Include support for KZM-ARM11-01. This includes specific
346 configurations for the board and its peripherals.
349 bool "Support Buglabs BUGBase platform"
351 select IMX_HAVE_PLATFORM_IMX_UART
354 Include support for BUGBase 1.3 platform. This includes specific
355 configurations for the board and its peripherals.
358 bool "Support i.MX31 platforms from device tree"
361 Include support for Freescale i.MX31 based platforms
362 using the device tree for discovery.
364 comment "MX35 platforms:"
367 bool "Support i.MX35 platforms from device tree"
370 Include support for Freescale i.MX35 based platforms
371 using the device tree for discovery.
374 bool "Support Phytec pcm043 (i.MX35) platforms"
375 select IMX_HAVE_PLATFORM_FLEXCAN
376 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
377 select IMX_HAVE_PLATFORM_IMX2_WDT
378 select IMX_HAVE_PLATFORM_IMX_I2C
379 select IMX_HAVE_PLATFORM_IMX_SSI
380 select IMX_HAVE_PLATFORM_IMX_UART
381 select IMX_HAVE_PLATFORM_IPU_CORE
382 select IMX_HAVE_PLATFORM_MXC_EHCI
383 select IMX_HAVE_PLATFORM_MXC_NAND
384 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
385 select USB_ULPI_VIEWPORT if USB_ULPI
388 Include support for Phytec pcm043 platform. This includes
389 specific configurations for the board and its peripherals.
392 bool "Support MX35PDK platform"
393 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
394 select IMX_HAVE_PLATFORM_IMX2_WDT
395 select IMX_HAVE_PLATFORM_IMX_FB
396 select IMX_HAVE_PLATFORM_IMX_I2C
397 select IMX_HAVE_PLATFORM_IMX_UART
398 select IMX_HAVE_PLATFORM_IPU_CORE
399 select IMX_HAVE_PLATFORM_MXC_EHCI
400 select IMX_HAVE_PLATFORM_MXC_NAND
401 select IMX_HAVE_PLATFORM_MXC_RTC
402 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
403 select MXC_DEBUG_BOARD
406 Include support for MX35PDK platform. This includes specific
407 configurations for the board and its peripherals.
410 bool "Support VPR200 platform"
411 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
412 select IMX_HAVE_PLATFORM_GPIO_KEYS
413 select IMX_HAVE_PLATFORM_IMX2_WDT
414 select IMX_HAVE_PLATFORM_IMX_I2C
415 select IMX_HAVE_PLATFORM_IMX_UART
416 select IMX_HAVE_PLATFORM_IPU_CORE
417 select IMX_HAVE_PLATFORM_MXC_EHCI
418 select IMX_HAVE_PLATFORM_MXC_NAND
419 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
422 Include support for VPR200 platform. This includes specific
423 configurations for the board and its peripherals.
427 comment "Device tree only"
437 This enables support for Freescale i.MX1 processor
444 bool "i.MX25 support"
445 select ARCH_MXC_IOMUX_V3
450 This enables support for Freescale i.MX25 processor
455 comment "Cortex-A platforms"
463 bool "i.MX50 support"
468 This enables support for Freescale i.MX50 processor.
471 bool "i.MX51 support"
475 This enables support for Freescale i.MX51 processor
478 bool "i.MX53 support"
483 This enables support for Freescale i.MX53 processor.
487 select ARM_CPU_SUSPEND if PM
488 select ARM_ERRATA_754322
489 select ARM_ERRATA_775420
491 select HAVE_IMX_ANATOP
496 select PL310_ERRATA_769419 if CACHE_L2X0
499 bool "i.MX6 Quad/DualLite support"
500 select ARM_ERRATA_764369 if SMP
501 select HAVE_ARM_SCU if SMP
503 select PCI_DOMAINS if PCI
508 This enables support for Freescale i.MX6 Quad processor.
511 bool "i.MX6 SoloLite support"
512 select PINCTRL_IMX6SL
516 This enables support for Freescale i.MX6 SoloLite processor.
519 bool "i.MX6 SoloX support"
520 select PINCTRL_IMX6SX
524 This enables support for Freescale i.MX6 SoloX processor.
527 bool "i.MX6 UltraLite support"
528 select PINCTRL_IMX6UL
532 This enables support for Freescale i.MX6 UltraLite processor.
535 bool "i.MX7 Dual support"
538 select HAVE_ARM_ARCH_TIMER
539 select HAVE_IMX_ANATOP
543 This enables support for Freescale i.MX7 Dual processor.
546 bool "Freescale LS1021A support"
548 select HAVE_ARM_ARCH_TIMER
549 select PCI_DOMAINS if PCI
550 select ZONE_DMA if ARM_LPAE
552 This enables support for Freescale LS1021A processor.
556 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
558 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
561 bool "Vybrid Family VF610 support"
562 select ARM_GIC if ARCH_MULTI_V7
564 select PL310_ERRATA_769419 if CACHE_L2X0
565 select SMP_ON_UP if SMP
568 This enables support for Freescale Vybrid VF610 processor.
571 prompt "Clocksource for scheduler clock"
573 default VF_USE_ARM_GLOBAL_TIMER
575 config VF_USE_ARM_GLOBAL_TIMER
576 bool "Use ARM Global Timer"
577 depends on ARCH_MULTI_V7
578 select ARM_GLOBAL_TIMER
579 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
581 Use the ARM Global Timer as clocksource
583 config VF_USE_PIT_TIMER
587 Use SoC Periodic Interrupt Timer (PIT) as clocksource
593 source "arch/arm/mach-imx/devices/Kconfig"