1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig ARCH_MXC 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 6 select CLKSRC_IMX_GPT 7 select GENERIC_IRQ_CHIP 8 select GPIOLIB 9 select PINCTRL 10 select PM_OPP if PM 11 select SOC_BUS 12 select SRAM 13 help 14 Support for Freescale MXC/iMX-based family of processors 15 16if ARCH_MXC 17 18config MXC_TZIC 19 bool 20 21config MXC_AVIC 22 bool 23 24config MXC_DEBUG_BOARD 25 bool "Enable MXC debug board(for 3-stack)" 26 depends on MACH_MX27_3DS || MACH_MX31_3DS || MACH_MX35_3DS 27 help 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. 35 36config HAVE_IMX_ANATOP 37 bool 38 39config HAVE_IMX_GPC 40 bool 41 select PM_GENERIC_DOMAINS if PM 42 43config HAVE_IMX_MMDC 44 bool 45 46config HAVE_IMX_SRC 47 def_bool y if SMP 48 select ARCH_HAS_RESET_CONTROLLER 49 50config IMX_HAVE_IOMUX_V1 51 bool 52 53config ARCH_MXC_IOMUX_V3 54 bool 55 56if ARCH_MULTI_V6 57 58comment "ARM1136 platforms" 59 60config SOC_IMX31 61 bool "i.MX31 support" 62 select CPU_V6 63 select MXC_AVIC 64 help 65 This enables support for Freescale i.MX31 processor 66 67config SOC_IMX35 68 bool "i.MX35 support" 69 select ARCH_MXC_IOMUX_V3 70 select MXC_AVIC 71 select PINCTRL_IMX35 72 help 73 This enables support for Freescale i.MX31 processor 74 75endif 76 77if ARCH_MULTI_V4T 78 79config SOC_IMX1 80 bool "i.MX1 support" 81 select CPU_ARM920T 82 select MXC_AVIC 83 select PINCTRL_IMX1 84 help 85 This enables support for Freescale i.MX1 processor 86 87endif 88 89if ARCH_MULTI_V5 90 91config SOC_IMX25 92 bool "i.MX25 support" 93 select ARCH_MXC_IOMUX_V3 94 select CPU_ARM926T 95 select MXC_AVIC 96 select PINCTRL_IMX25 97 help 98 This enables support for Freescale i.MX25 processor 99 100config SOC_IMX27 101 bool "i.MX27 support" 102 select IMX_HAVE_IOMUX_V1 103 select CPU_ARM926T 104 select MXC_AVIC 105 select PINCTRL_IMX27 106 help 107 This enables support for Freescale i.MX27 processor 108 109endif 110 111if ARCH_MULTI_V7 112 113comment "Cortex-A platforms" 114 115config SOC_IMX5 116 bool 117 select HAVE_IMX_SRC 118 select MXC_TZIC 119 120config SOC_IMX50 121 bool "i.MX50 support" 122 select PINCTRL_IMX50 123 select SOC_IMX5 124 125 help 126 This enables support for Freescale i.MX50 processor. 127 128config SOC_IMX51 129 bool "i.MX51 support" 130 select PINCTRL_IMX51 131 select SOC_IMX5 132 help 133 This enables support for Freescale i.MX51 processor 134 135config SOC_IMX53 136 bool "i.MX53 support" 137 select PINCTRL_IMX53 138 select SOC_IMX5 139 140 help 141 This enables support for Freescale i.MX53 processor. 142 143config SOC_IMX6 144 bool 145 select ARM_CPU_SUSPEND if (PM || CPU_IDLE) 146 select ARM_GIC 147 select HAVE_IMX_ANATOP 148 select HAVE_IMX_GPC 149 select HAVE_IMX_MMDC 150 select HAVE_IMX_SRC 151 select MFD_SYSCON 152 select PL310_ERRATA_769419 if CACHE_L2X0 153 154config SOC_IMX6Q 155 bool "i.MX6 Quad/DualLite support" 156 select ARM_ERRATA_764369 if SMP 157 select ARM_ERRATA_754322 158 select ARM_ERRATA_775420 159 select HAVE_ARM_SCU if SMP 160 select HAVE_ARM_TWD 161 select PINCTRL_IMX6Q 162 select SOC_IMX6 163 164 help 165 This enables support for Freescale i.MX6 Quad processor. 166 167config SOC_IMX6SL 168 bool "i.MX6 SoloLite support" 169 select ARM_ERRATA_754322 170 select ARM_ERRATA_775420 171 select PINCTRL_IMX6SL 172 select SOC_IMX6 173 174 help 175 This enables support for Freescale i.MX6 SoloLite processor. 176 177config SOC_IMX6SLL 178 bool "i.MX6 SoloLiteLite support" 179 select ARM_ERRATA_754322 180 select ARM_ERRATA_775420 181 select PINCTRL_IMX6SLL 182 select SOC_IMX6 183 184 help 185 This enables support for Freescale i.MX6 SoloLiteLite processor. 186 187config SOC_IMX6SX 188 bool "i.MX6 SoloX support" 189 select ARM_ERRATA_754322 190 select ARM_ERRATA_775420 191 select PINCTRL_IMX6SX 192 select SOC_IMX6 193 194 help 195 This enables support for Freescale i.MX6 SoloX processor. 196 197config SOC_IMX6UL 198 bool "i.MX6 UltraLite support" 199 select PINCTRL_IMX6UL 200 select SOC_IMX6 201 select ARM_ERRATA_814220 202 203 help 204 This enables support for Freescale i.MX6 UltraLite processor. 205 206config SOC_LS1021A 207 bool "Freescale LS1021A support" 208 select ARM_GIC 209 select HAVE_ARM_ARCH_TIMER 210 select ZONE_DMA if ARM_LPAE 211 help 212 This enables support for Freescale LS1021A processor. 213 214endif 215 216if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M 217 218comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms" 219 220config SOC_IMX7D_CA7 221 bool 222 select ARM_GIC 223 select HAVE_ARM_ARCH_TIMER 224 select HAVE_IMX_ANATOP 225 select HAVE_IMX_MMDC 226 select HAVE_IMX_SRC 227 select IMX_GPCV2 228 229config SOC_IMX7D_CM4 230 bool 231 select ARMV7M_SYSTICK 232 233config SOC_IMX7D 234 bool "i.MX7 Dual support" 235 select PINCTRL_IMX7D 236 select SOC_IMX7D_CA7 if ARCH_MULTI_V7 237 select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M 238 select ARM_ERRATA_814220 if ARCH_MULTI_V7 239 help 240 This enables support for Freescale i.MX7 Dual processor. 241 242config SOC_IMX7ULP 243 bool "i.MX7ULP support" 244 select CLKSRC_IMX_TPM 245 select PINCTRL_IMX7ULP 246 select SOC_IMX7D_CA7 if ARCH_MULTI_V7 247 select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M 248 help 249 This enables support for Freescale i.MX7 Ultra Low Power processor. 250 251config SOC_VF610 252 bool "Vybrid Family VF610 support" 253 select ARM_GIC if ARCH_MULTI_V7 254 select PINCTRL_VF610 255 256 help 257 This enables support for Freescale Vybrid VF610 processor. 258 259choice 260 prompt "Clocksource for scheduler clock" 261 depends on SOC_VF610 262 default VF_USE_ARM_GLOBAL_TIMER 263 264 config VF_USE_ARM_GLOBAL_TIMER 265 bool "Use ARM Global Timer" 266 depends on ARCH_MULTI_V7 267 select ARM_GLOBAL_TIMER 268 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 269 help 270 Use the ARM Global Timer as clocksource 271 272 config VF_USE_PIT_TIMER 273 bool "Use PIT timer" 274 select VF_PIT_TIMER 275 help 276 Use SoC Periodic Interrupt Timer (PIT) as clocksource 277 278endchoice 279 280endif 281 282source "arch/arm/mach-imx/devices/Kconfig" 283 284endif 285