1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 221278aeaSRob Herringmenuconfig ARCH_MXC 3e3246542SMasahiro Yamada bool "Freescale i.MX family" 4*6fd09c9aSArnd Bergmann depends on ((ARCH_MULTI_V4T || ARCH_MULTI_V5) && CPU_LITTLE_ENDIAN) || \ 55d6f5267SArnd Bergmann ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M 6bea5af41SShawn Guo select CLKSRC_IMX_GPT 7c5a0d497SShawn Guo select GENERIC_IRQ_CHIP 85c34a4e8SLinus Walleij select GPIOLIB 9f7f3d4b2SShawn Guo select PINCTRL 105a1513f6SJohn Tobias select PM_OPP if PM 11a2887546SShawn Guo select SOC_BUS 1267f5b308SFabio Estevam select SRAM 13c5a0d497SShawn Guo help 14c5a0d497SShawn Guo Support for Freescale MXC/iMX-based family of processors 15c5a0d497SShawn Guo 1621278aeaSRob Herringif ARCH_MXC 173995eb82SShawn Guo 183995eb82SShawn Guoconfig MXC_TZIC 193995eb82SShawn Guo bool 203995eb82SShawn Guo 213995eb82SShawn Guoconfig MXC_AVIC 223995eb82SShawn Guo bool 233995eb82SShawn Guo 24e95dddb3SAnson Huangconfig HAVE_IMX_ANATOP 25e95dddb3SAnson Huang bool 26e95dddb3SAnson Huang 279fbbe689SShawn Guoconfig HAVE_IMX_GPC 289fbbe689SShawn Guo bool 2900eb60a8SPhilipp Zabel select PM_GENERIC_DOMAINS if PM 309fbbe689SShawn Guo 319fbbe689SShawn Guoconfig HAVE_IMX_MMDC 329fbbe689SShawn Guo bool 339fbbe689SShawn Guo 349fbbe689SShawn Guoconfig HAVE_IMX_SRC 3568b25325SShawn Guo def_bool y if SMP 3602985b94SPhilipp Zabel select ARCH_HAS_RESET_CONTROLLER 379fbbe689SShawn Guo 38c5a0d497SShawn Guoif ARCH_MULTI_V6 3927ad4bf7SUwe Kleine-König 40e1324eceSFabio Estevamcomment "ARM1136 platforms" 41e1324eceSFabio Estevam 42c93197b0SFabio Estevamconfig SOC_IMX31 43c93197b0SFabio Estevam bool "i.MX31 support" 44c93197b0SFabio Estevam select CPU_V6 45c93197b0SFabio Estevam select MXC_AVIC 4627ad4bf7SUwe Kleine-König help 47c93197b0SFabio Estevam This enables support for Freescale i.MX31 processor 48d2a37b3dSDenis 'GNUtoo' Carikli 49e1324eceSFabio Estevamconfig SOC_IMX35 50e1324eceSFabio Estevam bool "i.MX35 support" 51e1324eceSFabio Estevam select MXC_AVIC 52e1324eceSFabio Estevam select PINCTRL_IMX35 53a55a3d72SSteffen Trumtrar help 54f21a4688SNobuhiro Iwamatsu This enables support for Freescale i.MX35 processor 5527ad4bf7SUwe Kleine-König 56c5a0d497SShawn Guoendif 57c5a0d497SShawn Guo 589a008da2SAlexander Shiyanif ARCH_MULTI_V4T 599a008da2SAlexander Shiyan 609a008da2SAlexander Shiyanconfig SOC_IMX1 619a008da2SAlexander Shiyan bool "i.MX1 support" 629a008da2SAlexander Shiyan select CPU_ARM920T 639a008da2SAlexander Shiyan select MXC_AVIC 649a008da2SAlexander Shiyan select PINCTRL_IMX1 659a008da2SAlexander Shiyan help 669a008da2SAlexander Shiyan This enables support for Freescale i.MX1 processor 679a008da2SAlexander Shiyan 689a008da2SAlexander Shiyanendif 699a008da2SAlexander Shiyan 708064887eSStefan Agnerif ARCH_MULTI_V5 718064887eSStefan Agner 7211b05d60SFabio Estevamconfig SOC_IMX25 7311b05d60SFabio Estevam bool "i.MX25 support" 7411b05d60SFabio Estevam select CPU_ARM926T 7511b05d60SFabio Estevam select MXC_AVIC 7611b05d60SFabio Estevam select PINCTRL_IMX25 7711b05d60SFabio Estevam help 7811b05d60SFabio Estevam This enables support for Freescale i.MX25 processor 79879c0e5eSFabio Estevam 80879c0e5eSFabio Estevamconfig SOC_IMX27 81879c0e5eSFabio Estevam bool "i.MX27 support" 82879c0e5eSFabio Estevam select CPU_ARM926T 83879c0e5eSFabio Estevam select MXC_AVIC 84879c0e5eSFabio Estevam select PINCTRL_IMX27 85879c0e5eSFabio Estevam help 86879c0e5eSFabio Estevam This enables support for Freescale i.MX27 processor 87879c0e5eSFabio Estevam 8811b05d60SFabio Estevamendif 8911b05d60SFabio Estevam 90c5a0d497SShawn Guoif ARCH_MULTI_V7 91c5a0d497SShawn Guo 928064887eSStefan Agnercomment "Cortex-A platforms" 93784a90c0SSascha Hauer 9450e177caSShawn Guoconfig SOC_IMX5 9550e177caSShawn Guo bool 9650e177caSShawn Guo select HAVE_IMX_SRC 9750e177caSShawn Guo select MXC_TZIC 9850e177caSShawn Guo 99361b0a41SGreg Ungererconfig SOC_IMX50 100361b0a41SGreg Ungerer bool "i.MX50 support" 101f7f3d4b2SShawn Guo select PINCTRL_IMX50 102361b0a41SGreg Ungerer select SOC_IMX5 103361b0a41SGreg Ungerer 104361b0a41SGreg Ungerer help 105361b0a41SGreg Ungerer This enables support for Freescale i.MX50 processor. 106361b0a41SGreg Ungerer 1071ecdde9dSShawn Guoconfig SOC_IMX51 1088da4d6b2SFabio Estevam bool "i.MX51 support" 1091ecdde9dSShawn Guo select PINCTRL_IMX51 1101ecdde9dSShawn Guo select SOC_IMX5 1118da4d6b2SFabio Estevam help 1128da4d6b2SFabio Estevam This enables support for Freescale i.MX51 processor 1138da4d6b2SFabio Estevam 114442279daSShawn Guoconfig SOC_IMX53 115442279daSShawn Guo bool "i.MX53 support" 116442279daSShawn Guo select PINCTRL_IMX53 117b1b3f49cSRussell King select SOC_IMX5 118442279daSShawn Guo 119784a90c0SSascha Hauer help 120442279daSShawn Guo This enables support for Freescale i.MX53 processor. 121bac89d75SShawn Guo 12294f890ecSShawn Guoconfig SOC_IMX6 12394f890ecSShawn Guo bool 124da395584SArnd Bergmann select ARM_CPU_SUSPEND if (PM || CPU_IDLE) 125bac89d75SShawn Guo select ARM_GIC 126e95dddb3SAnson Huang select HAVE_IMX_ANATOP 1279fbbe689SShawn Guo select HAVE_IMX_GPC 1289fbbe689SShawn Guo select HAVE_IMX_MMDC 129aec99b7bSShawn Guo select HAVE_IMX_SRC 130baa64151SDong Aisheng select MFD_SYSCON 131a641f3a6SRussell King select PL310_ERRATA_769419 if CACHE_L2X0 132bac89d75SShawn Guo 13394f890ecSShawn Guoconfig SOC_IMX6Q 13494f890ecSShawn Guo bool "i.MX6 Quad/DualLite support" 13594f890ecSShawn Guo select ARM_ERRATA_764369 if SMP 136edc2569bSStefan Agner select ARM_ERRATA_754322 137edc2569bSStefan Agner select ARM_ERRATA_775420 13894f890ecSShawn Guo select HAVE_ARM_SCU if SMP 139acc98009SSebastian Andrzej Siewior select HAVE_ARM_TWD 14094f890ecSShawn Guo select PINCTRL_IMX6Q 14194f890ecSShawn Guo select SOC_IMX6 14294f890ecSShawn Guo 143bac89d75SShawn Guo help 144bac89d75SShawn Guo This enables support for Freescale i.MX6 Quad processor. 145bac89d75SShawn Guo 14631a2fbf7SShawn Guoconfig SOC_IMX6SL 14731a2fbf7SShawn Guo bool "i.MX6 SoloLite support" 148edc2569bSStefan Agner select ARM_ERRATA_754322 149edc2569bSStefan Agner select ARM_ERRATA_775420 15031a2fbf7SShawn Guo select PINCTRL_IMX6SL 15194f890ecSShawn Guo select SOC_IMX6 15231a2fbf7SShawn Guo 15331a2fbf7SShawn Guo help 15431a2fbf7SShawn Guo This enables support for Freescale i.MX6 SoloLite processor. 15531a2fbf7SShawn Guo 156dee5dee2SBai Pingconfig SOC_IMX6SLL 157dee5dee2SBai Ping bool "i.MX6 SoloLiteLite support" 158edc2569bSStefan Agner select ARM_ERRATA_754322 159edc2569bSStefan Agner select ARM_ERRATA_775420 1600e8d1c4bSBai Ping select PINCTRL_IMX6SLL 161dee5dee2SBai Ping select SOC_IMX6 162dee5dee2SBai Ping 163dee5dee2SBai Ping help 164dee5dee2SBai Ping This enables support for Freescale i.MX6 SoloLiteLite processor. 165dee5dee2SBai Ping 166d9654dceSShawn Guoconfig SOC_IMX6SX 167d9654dceSShawn Guo bool "i.MX6 SoloX support" 168edc2569bSStefan Agner select ARM_ERRATA_754322 169edc2569bSStefan Agner select ARM_ERRATA_775420 170d9654dceSShawn Guo select PINCTRL_IMX6SX 171d9654dceSShawn Guo select SOC_IMX6 172d9654dceSShawn Guo 173d9654dceSShawn Guo help 174d9654dceSShawn Guo This enables support for Freescale i.MX6 SoloX processor. 175d9654dceSShawn Guo 176022d0716SFrank Liconfig SOC_IMX6UL 177022d0716SFrank Li bool "i.MX6 UltraLite support" 178022d0716SFrank Li select PINCTRL_IMX6UL 179022d0716SFrank Li select SOC_IMX6 1804562fa4cSAnson Huang select ARM_ERRATA_814220 181022d0716SFrank Li 182022d0716SFrank Li help 183022d0716SFrank Li This enables support for Freescale i.MX6 UltraLite processor. 184022d0716SFrank Li 1858064887eSStefan Agnerconfig SOC_LS1021A 1868064887eSStefan Agner bool "Freescale LS1021A support" 1878064887eSStefan Agner select ARM_GIC 1888064887eSStefan Agner select HAVE_ARM_ARCH_TIMER 1898064887eSStefan Agner select ZONE_DMA if ARM_LPAE 1908064887eSStefan Agner help 1918064887eSStefan Agner This enables support for Freescale LS1021A processor. 1928064887eSStefan Agner 1938064887eSStefan Agnerendif 1948064887eSStefan Agner 1958064887eSStefan Agnerif ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M 1968064887eSStefan Agner 1970c11bbcfSFabio Estevamcomment "Cortex-A/Cortex-M asymmetric multiprocessing platforms" 1980c11bbcfSFabio Estevam 1991a1f919eSOleksij Rempelconfig SOC_IMX7D_CA7 2001a1f919eSOleksij Rempel bool 2011a1f919eSOleksij Rempel select ARM_GIC 2021a1f919eSOleksij Rempel select HAVE_ARM_ARCH_TIMER 2031a1f919eSOleksij Rempel select HAVE_IMX_ANATOP 2041a1f919eSOleksij Rempel select HAVE_IMX_MMDC 2051a1f919eSOleksij Rempel select HAVE_IMX_SRC 2061a1f919eSOleksij Rempel select IMX_GPCV2 2071a1f919eSOleksij Rempel 2081a1f919eSOleksij Rempelconfig SOC_IMX7D_CM4 2091a1f919eSOleksij Rempel bool 2101a1f919eSOleksij Rempel select ARMV7M_SYSTICK 2111a1f919eSOleksij Rempel 2121a1f919eSOleksij Rempelconfig SOC_IMX7D 2131a1f919eSOleksij Rempel bool "i.MX7 Dual support" 2141a1f919eSOleksij Rempel select PINCTRL_IMX7D 2151a1f919eSOleksij Rempel select SOC_IMX7D_CA7 if ARCH_MULTI_V7 2161a1f919eSOleksij Rempel select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M 217c74067a0SArnd Bergmann select ARM_ERRATA_814220 if ARCH_MULTI_V7 2181a1f919eSOleksij Rempel help 2191a1f919eSOleksij Rempel This enables support for Freescale i.MX7 Dual processor. 2201a1f919eSOleksij Rempel 221de70d0e9SA.s. Dongconfig SOC_IMX7ULP 222de70d0e9SA.s. Dong bool "i.MX7ULP support" 223de70d0e9SA.s. Dong select CLKSRC_IMX_TPM 224de70d0e9SA.s. Dong select PINCTRL_IMX7ULP 225167e6370SArnd Bergmann select SOC_IMX7D_CA7 if ARCH_MULTI_V7 226167e6370SArnd Bergmann select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M 227de70d0e9SA.s. Dong help 228de70d0e9SA.s. Dong This enables support for Freescale i.MX7 Ultra Low Power processor. 229de70d0e9SA.s. Dong 230ed2e8e0aSGiulio Benetticonfig SOC_IMXRT 231ed2e8e0aSGiulio Benetti bool "i.MXRT support" 232ed2e8e0aSGiulio Benetti depends on ARM_SINGLE_ARMV7M 233ed2e8e0aSGiulio Benetti select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M 234ed2e8e0aSGiulio Benetti help 235ed2e8e0aSGiulio Benetti This enables support for Freescale i.MXRT Crossover processor. 236ed2e8e0aSGiulio Benetti 2375be913c6SJingchang Luconfig SOC_VF610 2385be913c6SJingchang Lu bool "Vybrid Family VF610 support" 2398064887eSStefan Agner select ARM_GIC if ARCH_MULTI_V7 2405be913c6SJingchang Lu select PINCTRL_VF610 2415be913c6SJingchang Lu 2425be913c6SJingchang Lu help 243c6891ef8SFabio Estevam This enables support for Freescale Vybrid VF610 processor. 2445be913c6SJingchang Lu 2452a61cba7SStefan Agnerchoice 2462a61cba7SStefan Agner prompt "Clocksource for scheduler clock" 2472a61cba7SStefan Agner depends on SOC_VF610 2482a61cba7SStefan Agner default VF_USE_ARM_GLOBAL_TIMER 2492a61cba7SStefan Agner 2502a61cba7SStefan Agner config VF_USE_ARM_GLOBAL_TIMER 251e3246542SMasahiro Yamada bool "Use ARM Global Timer" 252e3246542SMasahiro Yamada depends on ARCH_MULTI_V7 2532a61cba7SStefan Agner select ARM_GLOBAL_TIMER 2542a61cba7SStefan Agner select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 2552a61cba7SStefan Agner help 2562a61cba7SStefan Agner Use the ARM Global Timer as clocksource 2572a61cba7SStefan Agner 2582a61cba7SStefan Agner config VF_USE_PIT_TIMER 2592a61cba7SStefan Agner bool "Use PIT timer" 2602a61cba7SStefan Agner select VF_PIT_TIMER 2612a61cba7SStefan Agner help 2622a61cba7SStefan Agner Use SoC Periodic Interrupt Timer (PIT) as clocksource 2632a61cba7SStefan Agner 2642a61cba7SStefan Agnerendchoice 2652a61cba7SStefan Agner 26627ad4bf7SUwe Kleine-Königendif 267e0557c0dSShawn Guo 26821278aeaSRob Herringendif 269