xref: /openbmc/linux/arch/arm/mach-imx/Kconfig (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
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