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
87 select ARCH_MXC_IOMUX_V3
94 comment "MX21 platforms:"
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
104 Include support for MX21ADS platform. This includes specific
105 configurations for the board and its peripherals.
107 comment "MX27 platforms:"
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
119 Include support for MX27ADS platform. This includes specific
120 configurations for the board and its peripherals.
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
139 Include support for MX27PDK platform. This includes specific
140 configurations for the board and its peripherals.
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
155 Include support for Visstrim_m10 platform and its different variants.
156 This includes specific configurations for the board and its
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
175 Include support for phyCARD-s (aka pca100) platform. This
176 includes specific configurations for the module and its peripherals.
179 bool "Support i.MX27 platforms from device tree"
182 Include support for Freescale i.MX27 based platforms
183 using the device tree for discovery
189 comment "MX31 platforms:"
192 bool "Support MX31ADS platforms"
194 select IMX_HAVE_PLATFORM_IMX_I2C
195 select IMX_HAVE_PLATFORM_IMX_SSI
196 select IMX_HAVE_PLATFORM_IMX_UART
199 Include support for MX31ADS platform. This includes specific
200 configurations for the board and its peripherals.
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
208 Include support for the Wolfson Microelectronics 1133-EV1 PMU
209 and audio module for the MX31ADS platform.
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
221 Include support for mx31 based LILLY1131 modules. This includes
222 specific configurations for the board and its peripherals.
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
237 Include support for MX31 LITEKIT platform. This includes specific
238 configurations for the board and its peripherals.
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
254 Include support for Phytec pcm037 platform. This includes
255 specific configurations for the board and its peripherals.
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
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.
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
284 Include support for MX31PDK (3DS) platform. This includes specific
285 configurations for the board and its peripherals.
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
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.
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
311 Include support for mx31moboard platform. This includes specific
312 configurations for the board and its peripherals.
315 bool "Support Dave/DENX QongEVB-LITE platform"
316 select IMX_HAVE_PLATFORM_IMX2_WDT
317 select IMX_HAVE_PLATFORM_IMX_UART
320 Include support for Dave/DENX QongEVB-LITE platform. This includes
321 specific configurations for the board and its peripherals.
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
335 Include support for Atmark Armadillo-500 platform. This includes
336 specific configurations for the board and its peripherals.
338 config MACH_KZM_ARM11_01
339 bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
340 select IMX_HAVE_PLATFORM_IMX_UART
343 Include support for KZM-ARM11-01. This includes specific
344 configurations for the board and its peripherals.
347 bool "Support Buglabs BUGBase platform"
349 select IMX_HAVE_PLATFORM_IMX_UART
352 Include support for BUGBase 1.3 platform. This includes specific
353 configurations for the board and its peripherals.
356 bool "Support i.MX31 platforms from device tree"
359 Include support for Freescale i.MX31 based platforms
360 using the device tree for discovery.
362 comment "MX35 platforms:"
365 bool "Support i.MX35 platforms from device tree"
368 Include support for Freescale i.MX35 based platforms
369 using the device tree for discovery.
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
386 Include support for Phytec pcm043 platform. This includes
387 specific configurations for the board and its peripherals.
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
404 Include support for MX35PDK platform. This includes specific
405 configurations for the board and its peripherals.
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
420 Include support for VPR200 platform. This includes specific
421 configurations for the board and its peripherals.
425 comment "Device tree only"
435 This enables support for Freescale i.MX1 processor
442 bool "i.MX25 support"
443 select ARCH_MXC_IOMUX_V3
448 This enables support for Freescale i.MX25 processor
453 comment "Cortex-A platforms"
461 bool "i.MX50 support"
466 This enables support for Freescale i.MX50 processor.
469 bool "i.MX51 support"
473 This enables support for Freescale i.MX51 processor
476 bool "i.MX53 support"
481 This enables support for Freescale i.MX53 processor.
485 select ARM_CPU_SUSPEND if PM
486 select ARM_ERRATA_754322
487 select ARM_ERRATA_775420
489 select HAVE_IMX_ANATOP
494 select PL310_ERRATA_769419 if CACHE_L2X0
497 bool "i.MX6 Quad/DualLite support"
498 select ARM_ERRATA_764369 if SMP
499 select HAVE_ARM_SCU if SMP
505 This enables support for Freescale i.MX6 Quad processor.
508 bool "i.MX6 SoloLite support"
509 select PINCTRL_IMX6SL
513 This enables support for Freescale i.MX6 SoloLite processor.
516 bool "i.MX6 SoloX support"
517 select PINCTRL_IMX6SX
521 This enables support for Freescale i.MX6 SoloX processor.
524 bool "i.MX6 UltraLite support"
525 select PINCTRL_IMX6UL
529 This enables support for Freescale i.MX6 UltraLite processor.
532 bool "i.MX7 Dual support"
535 select HAVE_ARM_ARCH_TIMER
536 select HAVE_IMX_ANATOP
541 This enables support for Freescale i.MX7 Dual processor.
544 bool "Freescale LS1021A support"
546 select HAVE_ARM_ARCH_TIMER
547 select ZONE_DMA if ARM_LPAE
549 This enables support for Freescale LS1021A processor.
553 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
555 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
558 bool "Vybrid Family VF610 support"
559 select ARM_GIC if ARCH_MULTI_V7
563 This enables support for Freescale Vybrid VF610 processor.
566 prompt "Clocksource for scheduler clock"
568 default VF_USE_ARM_GLOBAL_TIMER
570 config VF_USE_ARM_GLOBAL_TIMER
571 bool "Use ARM Global Timer"
572 depends on ARCH_MULTI_V7
573 select ARM_GLOBAL_TIMER
574 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
576 Use the ARM Global Timer as clocksource
578 config VF_USE_PIT_TIMER
582 Use SoC Periodic Interrupt Timer (PIT) as clocksource
588 source "arch/arm/mach-imx/devices/Kconfig"