| # SPDX-License-Identifier: GPL-2.0-only | 
 | menuconfig ARCH_MXC | 
 | 	bool "Freescale i.MX family" | 
 | 	depends on ((ARCH_MULTI_V4T || ARCH_MULTI_V5) && CPU_LITTLE_ENDIAN) || \ | 
 | 		ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M | 
 | 	select CLKSRC_IMX_GPT | 
 | 	select GENERIC_IRQ_CHIP | 
 | 	select GPIOLIB | 
 | 	select PINCTRL | 
 | 	select PM_OPP if PM | 
 | 	select SOC_BUS | 
 | 	select SRAM | 
 | 	help | 
 | 	  Support for Freescale MXC/iMX-based family of processors | 
 |  | 
 | if ARCH_MXC | 
 |  | 
 | config MXC_TZIC | 
 | 	bool | 
 |  | 
 | config MXC_AVIC | 
 | 	bool | 
 |  | 
 | config HAVE_IMX_ANATOP | 
 | 	bool | 
 |  | 
 | config HAVE_IMX_GPC | 
 | 	bool | 
 | 	select PM_GENERIC_DOMAINS if PM | 
 |  | 
 | config HAVE_IMX_MMDC | 
 | 	bool | 
 |  | 
 | config HAVE_IMX_SRC | 
 | 	def_bool y if SMP | 
 | 	select ARCH_HAS_RESET_CONTROLLER | 
 |  | 
 | if ARCH_MULTI_V6 | 
 |  | 
 | comment "ARM1136 platforms" | 
 |  | 
 | config SOC_IMX31 | 
 | 	bool "i.MX31 support" | 
 | 	select CPU_V6 | 
 | 	select MXC_AVIC | 
 | 	help | 
 | 	  This enables support for Freescale i.MX31 processor | 
 |  | 
 | config SOC_IMX35 | 
 | 	bool "i.MX35 support" | 
 | 	select MXC_AVIC | 
 | 	help | 
 | 	  This enables support for Freescale i.MX35 processor | 
 |  | 
 | endif | 
 |  | 
 | if ARCH_MULTI_V4T | 
 |  | 
 | config SOC_IMX1 | 
 | 	bool "i.MX1 support" | 
 | 	select CPU_ARM920T | 
 | 	select MXC_AVIC | 
 | 	help | 
 | 	  This enables support for Freescale i.MX1 processor | 
 |  | 
 | endif | 
 |  | 
 | if ARCH_MULTI_V5 | 
 |  | 
 | config SOC_IMX25 | 
 | 	bool "i.MX25 support" | 
 | 	select CPU_ARM926T | 
 | 	select MXC_AVIC | 
 | 	help | 
 | 	  This enables support for Freescale i.MX25 processor | 
 |  | 
 | config SOC_IMX27 | 
 | 	bool "i.MX27 support" | 
 | 	select CPU_ARM926T | 
 | 	select MXC_AVIC | 
 | 	help | 
 | 	  This enables support for Freescale i.MX27 processor | 
 |  | 
 | endif | 
 |  | 
 | if ARCH_MULTI_V7 | 
 |  | 
 | comment "Cortex-A platforms" | 
 |  | 
 | config SOC_IMX5 | 
 | 	bool | 
 | 	select HAVE_IMX_SRC | 
 | 	select MXC_TZIC | 
 |  | 
 | config SOC_IMX50 | 
 | 	bool "i.MX50 support" | 
 | 	select SOC_IMX5 | 
 |  | 
 | 	help | 
 | 	  This enables support for Freescale i.MX50 processor. | 
 |  | 
 | config SOC_IMX51 | 
 | 	bool "i.MX51 support" | 
 | 	select SOC_IMX5 | 
 | 	help | 
 | 	  This enables support for Freescale i.MX51 processor | 
 |  | 
 | config SOC_IMX53 | 
 | 	bool "i.MX53 support" | 
 | 	select SOC_IMX5 | 
 |  | 
 | 	help | 
 | 	  This enables support for Freescale i.MX53 processor. | 
 |  | 
 | config SOC_IMX6 | 
 | 	bool | 
 | 	select ARM_CPU_SUSPEND if (PM || CPU_IDLE) | 
 | 	select ARM_GIC | 
 | 	select HAVE_IMX_ANATOP | 
 | 	select HAVE_IMX_GPC | 
 | 	select HAVE_IMX_MMDC | 
 | 	select HAVE_IMX_SRC | 
 | 	select MFD_SYSCON | 
 | 	select PL310_ERRATA_769419 if CACHE_L2X0 | 
 |  | 
 | config SOC_IMX6Q | 
 | 	bool "i.MX6 Quad/DualLite support" | 
 | 	select ARM_ERRATA_764369 if SMP | 
 | 	select ARM_ERRATA_754322 | 
 | 	select ARM_ERRATA_775420 | 
 | 	select HAVE_ARM_SCU if SMP | 
 | 	select HAVE_ARM_TWD | 
 | 	select SOC_IMX6 | 
 |  | 
 | 	help | 
 | 	  This enables support for Freescale i.MX6 Quad processor. | 
 |  | 
 | config SOC_IMX6SL | 
 | 	bool "i.MX6 SoloLite support" | 
 | 	select ARM_ERRATA_754322 | 
 | 	select ARM_ERRATA_775420 | 
 | 	select SOC_IMX6 | 
 |  | 
 | 	help | 
 | 	  This enables support for Freescale i.MX6 SoloLite processor. | 
 |  | 
 | config SOC_IMX6SLL | 
 | 	bool "i.MX6 SoloLiteLite support" | 
 | 	select ARM_ERRATA_754322 | 
 | 	select ARM_ERRATA_775420 | 
 | 	select SOC_IMX6 | 
 |  | 
 | 	help | 
 | 	  This enables support for Freescale i.MX6 SoloLiteLite processor. | 
 |  | 
 | config SOC_IMX6SX | 
 | 	bool "i.MX6 SoloX support" | 
 | 	select ARM_ERRATA_754322 | 
 | 	select ARM_ERRATA_775420 | 
 | 	select SOC_IMX6 | 
 |  | 
 | 	help | 
 | 	  This enables support for Freescale i.MX6 SoloX processor. | 
 |  | 
 | config SOC_IMX6UL | 
 | 	bool "i.MX6 UltraLite support" | 
 | 	select SOC_IMX6 | 
 | 	select ARM_ERRATA_814220 | 
 |  | 
 | 	help | 
 | 	  This enables support for Freescale i.MX6 UltraLite processor. | 
 |  | 
 | config SOC_LS1021A | 
 | 	bool "Freescale LS1021A support" | 
 | 	select ARM_GIC | 
 | 	select HAVE_ARM_ARCH_TIMER | 
 | 	select ZONE_DMA if ARM_LPAE | 
 | 	help | 
 | 	  This enables support for Freescale LS1021A processor. | 
 |  | 
 | endif | 
 |  | 
 | if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M | 
 |  | 
 | comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms" | 
 |  | 
 | config SOC_IMX7D_CA7 | 
 | 	bool | 
 | 	select ARM_GIC | 
 | 	select HAVE_ARM_ARCH_TIMER | 
 | 	select HAVE_IMX_ANATOP | 
 | 	select HAVE_IMX_MMDC | 
 | 	select HAVE_IMX_SRC | 
 | 	select IMX_GPCV2 | 
 |  | 
 | config SOC_IMX7D_CM4 | 
 | 	bool | 
 | 	select ARMV7M_SYSTICK | 
 |  | 
 | config SOC_IMX7D | 
 | 	bool "i.MX7 Dual support" | 
 | 	select SOC_IMX7D_CA7 if ARCH_MULTI_V7 | 
 | 	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M | 
 | 	select ARM_ERRATA_814220 if ARCH_MULTI_V7 | 
 | 	help | 
 | 	  This enables support for Freescale i.MX7 Dual processor. | 
 |  | 
 | config SOC_IMX7ULP | 
 | 	bool "i.MX7ULP support" | 
 | 	select CLKSRC_IMX_TPM | 
 | 	select SOC_IMX7D_CA7 if ARCH_MULTI_V7 | 
 | 	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M | 
 | 	help | 
 | 	  This enables support for Freescale i.MX7 Ultra Low Power processor. | 
 |  | 
 | config SOC_IMXRT | 
 | 	bool "i.MXRT support" | 
 | 	depends on ARM_SINGLE_ARMV7M | 
 | 	select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M | 
 | 	help | 
 | 	  This enables support for Freescale i.MXRT Crossover processor. | 
 |  | 
 | config SOC_VF610 | 
 | 	bool "Vybrid Family VF610 support" | 
 | 	select ARM_GIC if ARCH_MULTI_V7 | 
 |  | 
 | 	help | 
 | 	  This enables support for Freescale Vybrid VF610 processor. | 
 |  | 
 | choice | 
 | 	prompt "Clocksource for scheduler clock" | 
 | 	depends on SOC_VF610 | 
 | 	default VF_USE_ARM_GLOBAL_TIMER | 
 |  | 
 | 	config VF_USE_ARM_GLOBAL_TIMER | 
 | 		bool "Use ARM Global Timer" | 
 | 		depends on ARCH_MULTI_V7 | 
 | 		select ARM_GLOBAL_TIMER | 
 | 		select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK | 
 | 		help | 
 | 		  Use the ARM Global Timer as clocksource | 
 |  | 
 | 	config VF_USE_PIT_TIMER | 
 | 		bool "Use PIT timer" | 
 | 		select NXP_PIT_TIMER | 
 | 		help | 
 | 		  Use SoC Periodic Interrupt Timer (PIT) as clocksource | 
 |  | 
 | endchoice | 
 |  | 
 | endif | 
 |  | 
 | endif |