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