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