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.
35 config HAVE_IMX_ANATOP
40 select PM_GENERIC_DOMAINS if PM
47 select ARCH_HAS_RESET_CONTROLLER
49 config IMX_HAVE_IOMUX_V1
52 config ARCH_MXC_IOMUX_V3
58 select IMX_HAVE_IOMUX_V1
64 select IMX_HAVE_IOMUX_V1
75 select ARCH_MXC_IOMUX_V3
81 comment "MX21 platforms:"
84 bool "MX21ADS platform"
85 select IMX_HAVE_PLATFORM_IMX_FB
86 select IMX_HAVE_PLATFORM_IMX_UART
87 select IMX_HAVE_PLATFORM_MXC_MMC
88 select IMX_HAVE_PLATFORM_MXC_NAND
91 Include support for MX21ADS platform. This includes specific
92 configurations for the board and its peripherals.
94 comment "MX27 platforms:"
97 bool "MX27ADS platform"
98 select IMX_HAVE_PLATFORM_IMX_FB
99 select IMX_HAVE_PLATFORM_IMX_I2C
100 select IMX_HAVE_PLATFORM_IMX_UART
101 select IMX_HAVE_PLATFORM_MXC_MMC
102 select IMX_HAVE_PLATFORM_MXC_NAND
103 select IMX_HAVE_PLATFORM_MXC_W1
106 Include support for MX27ADS platform. This includes specific
107 configurations for the board and its peripherals.
110 bool "MX27PDK platform"
111 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
112 select IMX_HAVE_PLATFORM_IMX2_WDT
113 select IMX_HAVE_PLATFORM_IMX_FB
114 select IMX_HAVE_PLATFORM_IMX_I2C
115 select IMX_HAVE_PLATFORM_IMX_KEYPAD
116 select IMX_HAVE_PLATFORM_IMX_SSI
117 select IMX_HAVE_PLATFORM_IMX_UART
118 select IMX_HAVE_PLATFORM_MX2_CAMERA
119 select IMX_HAVE_PLATFORM_MXC_EHCI
120 select IMX_HAVE_PLATFORM_MXC_MMC
121 select IMX_HAVE_PLATFORM_SPI_IMX
122 select MXC_DEBUG_BOARD
123 select USB_ULPI_VIEWPORT if USB_ULPI
126 Include support for MX27PDK platform. This includes specific
127 configurations for the board and its peripherals.
129 config MACH_IMX27_VISSTRIM_M10
130 bool "Vista Silicon i.MX27 Visstrim_m10"
131 select IMX_HAVE_PLATFORM_GPIO_KEYS
132 select IMX_HAVE_PLATFORM_IMX_I2C
133 select IMX_HAVE_PLATFORM_IMX_SSI
134 select IMX_HAVE_PLATFORM_IMX_UART
135 select IMX_HAVE_PLATFORM_MX2_CAMERA
136 select IMX_HAVE_PLATFORM_MX2_EMMA
137 select IMX_HAVE_PLATFORM_MXC_EHCI
138 select IMX_HAVE_PLATFORM_MXC_MMC
139 select LEDS_GPIO_REGISTER
142 Include support for Visstrim_m10 platform and its different variants.
143 This includes specific configurations for the board and its
147 bool "Phytec phyCARD-s (pca100)"
148 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
149 select IMX_HAVE_PLATFORM_IMX2_WDT
150 select IMX_HAVE_PLATFORM_IMX_FB
151 select IMX_HAVE_PLATFORM_IMX_I2C
152 select IMX_HAVE_PLATFORM_IMX_SSI
153 select IMX_HAVE_PLATFORM_IMX_UART
154 select IMX_HAVE_PLATFORM_MXC_EHCI
155 select IMX_HAVE_PLATFORM_MXC_MMC
156 select IMX_HAVE_PLATFORM_MXC_NAND
157 select IMX_HAVE_PLATFORM_MXC_W1
158 select IMX_HAVE_PLATFORM_SPI_IMX
159 select USB_ULPI_VIEWPORT if USB_ULPI
162 Include support for phyCARD-s (aka pca100) platform. This
163 includes specific configurations for the module and its peripherals.
166 bool "Support i.MX27 platforms from device tree"
169 Include support for Freescale i.MX27 based platforms
170 using the device tree for discovery
176 comment "MX31 platforms:"
179 bool "Support MX31ADS platforms"
181 select IMX_HAVE_PLATFORM_IMX_I2C
182 select IMX_HAVE_PLATFORM_IMX_SSI
183 select IMX_HAVE_PLATFORM_IMX_UART
186 Include support for MX31ADS platform. This includes specific
187 configurations for the board and its peripherals.
189 config MACH_MX31ADS_WM1133_EV1
190 bool "Support Wolfson Microelectronics 1133-EV1 module"
191 depends on MACH_MX31ADS
192 depends on MFD_WM8350_I2C
193 depends on REGULATOR_WM8350 = y
195 Include support for the Wolfson Microelectronics 1133-EV1 PMU
196 and audio module for the MX31ADS platform.
198 config MACH_MX31LILLY
199 bool "Support MX31 LILLY-1131 platforms (INCO startec)"
200 select IMX_HAVE_PLATFORM_IMX_UART
201 select IMX_HAVE_PLATFORM_IPU_CORE
202 select IMX_HAVE_PLATFORM_MXC_EHCI
203 select IMX_HAVE_PLATFORM_MXC_MMC
204 select IMX_HAVE_PLATFORM_SPI_IMX
205 select USB_ULPI_VIEWPORT if USB_ULPI
208 Include support for mx31 based LILLY1131 modules. This includes
209 specific configurations for the board and its peripherals.
212 bool "Support MX31 LITEKIT (LogicPD)"
213 select IMX_HAVE_PLATFORM_IMX2_WDT
214 select IMX_HAVE_PLATFORM_IMX_UART
215 select IMX_HAVE_PLATFORM_MXC_EHCI
216 select IMX_HAVE_PLATFORM_MXC_MMC
217 select IMX_HAVE_PLATFORM_MXC_NAND
218 select IMX_HAVE_PLATFORM_MXC_RTC
219 select IMX_HAVE_PLATFORM_SPI_IMX
220 select LEDS_GPIO_REGISTER
221 select USB_ULPI_VIEWPORT if USB_ULPI
224 Include support for MX31 LITEKIT platform. This includes specific
225 configurations for the board and its peripherals.
228 bool "Support Phytec pcm037 (i.MX31) platforms"
229 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
230 select IMX_HAVE_PLATFORM_IMX2_WDT
231 select IMX_HAVE_PLATFORM_IMX_I2C
232 select IMX_HAVE_PLATFORM_IMX_UART
233 select IMX_HAVE_PLATFORM_IPU_CORE
234 select IMX_HAVE_PLATFORM_MXC_EHCI
235 select IMX_HAVE_PLATFORM_MXC_MMC
236 select IMX_HAVE_PLATFORM_MXC_NAND
237 select IMX_HAVE_PLATFORM_MXC_W1
238 select USB_ULPI_VIEWPORT if USB_ULPI
241 Include support for Phytec pcm037 platform. This includes
242 specific configurations for the board and its peripherals.
244 config MACH_PCM037_EET
245 bool "Support pcm037 EET board extensions"
246 depends on MACH_PCM037
247 select IMX_HAVE_PLATFORM_GPIO_KEYS
248 select IMX_HAVE_PLATFORM_SPI_IMX
250 Add support for PCM037 EET baseboard extensions. If you are using the
251 OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
252 command-line parameter.
255 bool "Support MX31PDK (3DS)"
256 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
257 select IMX_HAVE_PLATFORM_IMX2_WDT
258 select IMX_HAVE_PLATFORM_IMX_I2C
259 select IMX_HAVE_PLATFORM_IMX_KEYPAD
260 select IMX_HAVE_PLATFORM_IMX_SSI
261 select IMX_HAVE_PLATFORM_IMX_UART
262 select IMX_HAVE_PLATFORM_IPU_CORE
263 select IMX_HAVE_PLATFORM_MXC_EHCI
264 select IMX_HAVE_PLATFORM_MXC_MMC
265 select IMX_HAVE_PLATFORM_MXC_NAND
266 select IMX_HAVE_PLATFORM_SPI_IMX
267 select MXC_DEBUG_BOARD
268 select USB_ULPI_VIEWPORT if USB_ULPI
271 Include support for MX31PDK (3DS) platform. This includes specific
272 configurations for the board and its peripherals.
274 config MACH_MX31_3DS_MXC_NAND_USE_BBT
275 bool "Make the MXC NAND driver use the in flash Bad Block Table"
276 depends on MACH_MX31_3DS
277 depends on MTD_NAND_MXC
279 Enable this if you want that the MXC NAND driver uses the in flash
280 Bad Block Table to know what blocks are bad instead of scanning the
281 entire flash looking for bad block markers.
283 config MACH_MX31MOBOARD
284 bool "Support mx31moboard platforms (EPFL Mobots group)"
285 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
286 select IMX_HAVE_PLATFORM_IMX2_WDT
287 select IMX_HAVE_PLATFORM_IMX_I2C
288 select IMX_HAVE_PLATFORM_IMX_SSI
289 select IMX_HAVE_PLATFORM_IMX_UART
290 select IMX_HAVE_PLATFORM_IPU_CORE
291 select IMX_HAVE_PLATFORM_MXC_EHCI
292 select IMX_HAVE_PLATFORM_MXC_MMC
293 select IMX_HAVE_PLATFORM_SPI_IMX
294 select LEDS_GPIO_REGISTER
295 select USB_ULPI_VIEWPORT if USB_ULPI
298 Include support for mx31moboard platform. This includes specific
299 configurations for the board and its peripherals.
302 bool "Support Dave/DENX QongEVB-LITE platform"
303 select IMX_HAVE_PLATFORM_IMX2_WDT
304 select IMX_HAVE_PLATFORM_IMX_UART
307 Include support for Dave/DENX QongEVB-LITE platform. This includes
308 specific configurations for the board and its peripherals.
310 config MACH_ARMADILLO5X0
311 bool "Support Atmark Armadillo-500 Development Base Board"
312 select IMX_HAVE_PLATFORM_GPIO_KEYS
313 select IMX_HAVE_PLATFORM_IMX_I2C
314 select IMX_HAVE_PLATFORM_IMX_UART
315 select IMX_HAVE_PLATFORM_IPU_CORE
316 select IMX_HAVE_PLATFORM_MXC_EHCI
317 select IMX_HAVE_PLATFORM_MXC_MMC
318 select IMX_HAVE_PLATFORM_MXC_NAND
319 select USB_ULPI_VIEWPORT if USB_ULPI
322 Include support for Atmark Armadillo-500 platform. This includes
323 specific configurations for the board and its peripherals.
325 config MACH_KZM_ARM11_01
326 bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
327 select IMX_HAVE_PLATFORM_IMX_UART
330 Include support for KZM-ARM11-01. This includes specific
331 configurations for the board and its peripherals.
334 bool "Support Buglabs BUGBase platform"
336 select IMX_HAVE_PLATFORM_IMX_UART
339 Include support for BUGBase 1.3 platform. This includes specific
340 configurations for the board and its peripherals.
343 bool "Support i.MX31 platforms from device tree"
346 Include support for Freescale i.MX31 based platforms
347 using the device tree for discovery.
349 comment "MX35 platforms:"
352 bool "Support i.MX35 platforms from device tree"
355 Include support for Freescale i.MX35 based platforms
356 using the device tree for discovery.
359 bool "Support Phytec pcm043 (i.MX35) platforms"
360 select IMX_HAVE_PLATFORM_FLEXCAN
361 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
362 select IMX_HAVE_PLATFORM_IMX2_WDT
363 select IMX_HAVE_PLATFORM_IMX_I2C
364 select IMX_HAVE_PLATFORM_IMX_SSI
365 select IMX_HAVE_PLATFORM_IMX_UART
366 select IMX_HAVE_PLATFORM_IPU_CORE
367 select IMX_HAVE_PLATFORM_MXC_EHCI
368 select IMX_HAVE_PLATFORM_MXC_NAND
369 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
370 select USB_ULPI_VIEWPORT if USB_ULPI
373 Include support for Phytec pcm043 platform. This includes
374 specific configurations for the board and its peripherals.
377 bool "Support MX35PDK platform"
378 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
379 select IMX_HAVE_PLATFORM_IMX2_WDT
380 select IMX_HAVE_PLATFORM_IMX_FB
381 select IMX_HAVE_PLATFORM_IMX_I2C
382 select IMX_HAVE_PLATFORM_IMX_UART
383 select IMX_HAVE_PLATFORM_IPU_CORE
384 select IMX_HAVE_PLATFORM_MXC_EHCI
385 select IMX_HAVE_PLATFORM_MXC_NAND
386 select IMX_HAVE_PLATFORM_MXC_RTC
387 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
388 select MXC_DEBUG_BOARD
391 Include support for MX35PDK platform. This includes specific
392 configurations for the board and its peripherals.
395 bool "Support VPR200 platform"
396 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
397 select IMX_HAVE_PLATFORM_GPIO_KEYS
398 select IMX_HAVE_PLATFORM_IMX2_WDT
399 select IMX_HAVE_PLATFORM_IMX_I2C
400 select IMX_HAVE_PLATFORM_IMX_UART
401 select IMX_HAVE_PLATFORM_IPU_CORE
402 select IMX_HAVE_PLATFORM_MXC_EHCI
403 select IMX_HAVE_PLATFORM_MXC_NAND
404 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
407 Include support for VPR200 platform. This includes specific
408 configurations for the board and its peripherals.
412 comment "Device tree only"
422 This enables support for Freescale i.MX1 processor
429 bool "i.MX25 support"
430 select ARCH_MXC_IOMUX_V3
435 This enables support for Freescale i.MX25 processor
440 comment "Cortex-A platforms"
448 bool "i.MX50 support"
453 This enables support for Freescale i.MX50 processor.
456 bool "i.MX51 support"
460 This enables support for Freescale i.MX51 processor
463 bool "i.MX53 support"
468 This enables support for Freescale i.MX53 processor.
472 select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
473 select ARM_ERRATA_754322
474 select ARM_ERRATA_775420
476 select HAVE_IMX_ANATOP
481 select PL310_ERRATA_769419 if CACHE_L2X0
484 bool "i.MX6 Quad/DualLite support"
485 select ARM_ERRATA_764369 if SMP
486 select HAVE_ARM_SCU if SMP
492 This enables support for Freescale i.MX6 Quad processor.
495 bool "i.MX6 SoloLite support"
496 select PINCTRL_IMX6SL
500 This enables support for Freescale i.MX6 SoloLite processor.
503 bool "i.MX6 SoloLiteLite support"
504 select PINCTRL_IMX6SLL
508 This enables support for Freescale i.MX6 SoloLiteLite processor.
511 bool "i.MX6 SoloX support"
512 select PINCTRL_IMX6SX
516 This enables support for Freescale i.MX6 SoloX processor.
519 bool "i.MX6 UltraLite support"
520 select PINCTRL_IMX6UL
524 This enables support for Freescale i.MX6 UltraLite processor.
527 bool "Freescale LS1021A support"
529 select HAVE_ARM_ARCH_TIMER
530 select ZONE_DMA if ARM_LPAE
532 This enables support for Freescale LS1021A processor.
536 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
538 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
543 select HAVE_ARM_ARCH_TIMER
544 select HAVE_IMX_ANATOP
551 select ARMV7M_SYSTICK
554 bool "i.MX7 Dual support"
556 select SOC_IMX7D_CA7 if ARCH_MULTI_V7
557 select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
559 This enables support for Freescale i.MX7 Dual processor.
562 bool "Vybrid Family VF610 support"
563 select ARM_GIC if ARCH_MULTI_V7
567 This enables support for Freescale Vybrid VF610 processor.
570 prompt "Clocksource for scheduler clock"
572 default VF_USE_ARM_GLOBAL_TIMER
574 config VF_USE_ARM_GLOBAL_TIMER
575 bool "Use ARM Global Timer"
576 depends on ARCH_MULTI_V7
577 select ARM_GLOBAL_TIMER
578 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
580 Use the ARM Global Timer as clocksource
582 config VF_USE_PIT_TIMER
586 Use SoC Periodic Interrupt Timer (PIT) as clocksource
592 source "arch/arm/mach-imx/devices/Kconfig"