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