1 # SPDX-License-Identifier: GPL-2.0-only
3 bool "Freescale i.MX family"
4 depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
5 select ARCH_SUPPORTS_BIG_ENDIAN
7 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.
36 config HAVE_IMX_ANATOP
41 select PM_GENERIC_DOMAINS if PM
48 select ARCH_HAS_RESET_CONTROLLER
52 comment "ARM1136 platforms"
59 This enables support for Freescale i.MX31 processor
66 This enables support for Freescale i.MX31 processor
78 This enables support for Freescale i.MX1 processor
90 This enables support for Freescale i.MX25 processor
98 This enables support for Freescale i.MX27 processor
104 comment "Cortex-A platforms"
112 bool "i.MX50 support"
117 This enables support for Freescale i.MX50 processor.
120 bool "i.MX51 support"
124 This enables support for Freescale i.MX51 processor
127 bool "i.MX53 support"
132 This enables support for Freescale i.MX53 processor.
136 select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
138 select HAVE_IMX_ANATOP
143 select PL310_ERRATA_769419 if CACHE_L2X0
146 bool "i.MX6 Quad/DualLite support"
147 select ARM_ERRATA_764369 if SMP
148 select ARM_ERRATA_754322
149 select ARM_ERRATA_775420
150 select HAVE_ARM_SCU if SMP
156 This enables support for Freescale i.MX6 Quad processor.
159 bool "i.MX6 SoloLite support"
160 select ARM_ERRATA_754322
161 select ARM_ERRATA_775420
162 select PINCTRL_IMX6SL
166 This enables support for Freescale i.MX6 SoloLite processor.
169 bool "i.MX6 SoloLiteLite support"
170 select ARM_ERRATA_754322
171 select ARM_ERRATA_775420
172 select PINCTRL_IMX6SLL
176 This enables support for Freescale i.MX6 SoloLiteLite processor.
179 bool "i.MX6 SoloX support"
180 select ARM_ERRATA_754322
181 select ARM_ERRATA_775420
182 select PINCTRL_IMX6SX
186 This enables support for Freescale i.MX6 SoloX processor.
189 bool "i.MX6 UltraLite support"
190 select PINCTRL_IMX6UL
192 select ARM_ERRATA_814220
195 This enables support for Freescale i.MX6 UltraLite processor.
198 bool "Freescale LS1021A support"
200 select HAVE_ARM_ARCH_TIMER
201 select ZONE_DMA if ARM_LPAE
203 This enables support for Freescale LS1021A processor.
207 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
209 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
214 select HAVE_ARM_ARCH_TIMER
215 select HAVE_IMX_ANATOP
222 select ARMV7M_SYSTICK
225 bool "i.MX7 Dual support"
227 select SOC_IMX7D_CA7 if ARCH_MULTI_V7
228 select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
229 select ARM_ERRATA_814220 if ARCH_MULTI_V7
231 This enables support for Freescale i.MX7 Dual processor.
234 bool "i.MX7ULP support"
235 select CLKSRC_IMX_TPM
236 select PINCTRL_IMX7ULP
237 select SOC_IMX7D_CA7 if ARCH_MULTI_V7
238 select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
240 This enables support for Freescale i.MX7 Ultra Low Power processor.
243 bool "Vybrid Family VF610 support"
244 select ARM_GIC if ARCH_MULTI_V7
248 This enables support for Freescale Vybrid VF610 processor.
251 prompt "Clocksource for scheduler clock"
253 default VF_USE_ARM_GLOBAL_TIMER
255 config VF_USE_ARM_GLOBAL_TIMER
256 bool "Use ARM Global Timer"
257 depends on ARCH_MULTI_V7
258 select ARM_GLOBAL_TIMER
259 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
261 Use the ARM Global Timer as clocksource
263 config VF_USE_PIT_TIMER
267 Use SoC Periodic Interrupt Timer (PIT) as clocksource