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