xref: /linux/arch/arm/mach-imx/Kconfig (revision 2d32fba02e0e5b67fb3a4ea51dde80c0db83f1c1)
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
95a1513f6SJohn Tobias	select PM_OPP if PM
10a2887546SShawn Guo	select SOC_BUS
1167f5b308SFabio Estevam	select SRAM
12c5a0d497SShawn Guo	help
13c5a0d497SShawn Guo	  Support for Freescale MXC/iMX-based family of processors
14c5a0d497SShawn Guo
1521278aeaSRob Herringif ARCH_MXC
163995eb82SShawn Guo
173995eb82SShawn Guoconfig MXC_TZIC
183995eb82SShawn Guo	bool
193995eb82SShawn Guo
203995eb82SShawn Guoconfig MXC_AVIC
213995eb82SShawn Guo	bool
223995eb82SShawn Guo
23e95dddb3SAnson Huangconfig HAVE_IMX_ANATOP
24e95dddb3SAnson Huang	bool
25e95dddb3SAnson Huang
269fbbe689SShawn Guoconfig HAVE_IMX_GPC
279fbbe689SShawn Guo	bool
2800eb60a8SPhilipp Zabel	select PM_GENERIC_DOMAINS if PM
299fbbe689SShawn Guo
309fbbe689SShawn Guoconfig HAVE_IMX_MMDC
319fbbe689SShawn Guo	bool
329fbbe689SShawn Guo
339fbbe689SShawn Guoconfig HAVE_IMX_SRC
3468b25325SShawn Guo	def_bool y if SMP
3502985b94SPhilipp Zabel	select ARCH_HAS_RESET_CONTROLLER
369fbbe689SShawn Guo
37c5a0d497SShawn Guoif ARCH_MULTI_V6
3827ad4bf7SUwe Kleine-König
39e1324eceSFabio Estevamcomment "ARM1136 platforms"
40e1324eceSFabio Estevam
41c93197b0SFabio Estevamconfig SOC_IMX31
42c93197b0SFabio Estevam	bool "i.MX31 support"
43c93197b0SFabio Estevam	select CPU_V6
44c93197b0SFabio Estevam	select MXC_AVIC
4527ad4bf7SUwe Kleine-König	help
46c93197b0SFabio Estevam	  This enables support for Freescale i.MX31 processor
47d2a37b3dSDenis 'GNUtoo' Carikli
48e1324eceSFabio Estevamconfig SOC_IMX35
49e1324eceSFabio Estevam	bool "i.MX35 support"
50e1324eceSFabio Estevam	select MXC_AVIC
51a55a3d72SSteffen Trumtrar	help
52f21a4688SNobuhiro Iwamatsu	  This enables support for Freescale i.MX35 processor
5327ad4bf7SUwe Kleine-König
54c5a0d497SShawn Guoendif
55c5a0d497SShawn Guo
569a008da2SAlexander Shiyanif ARCH_MULTI_V4T
579a008da2SAlexander Shiyan
589a008da2SAlexander Shiyanconfig SOC_IMX1
599a008da2SAlexander Shiyan	bool "i.MX1 support"
609a008da2SAlexander Shiyan	select CPU_ARM920T
619a008da2SAlexander Shiyan	select MXC_AVIC
629a008da2SAlexander Shiyan	help
639a008da2SAlexander Shiyan	  This enables support for Freescale i.MX1 processor
649a008da2SAlexander Shiyan
659a008da2SAlexander Shiyanendif
669a008da2SAlexander Shiyan
678064887eSStefan Agnerif ARCH_MULTI_V5
688064887eSStefan Agner
6911b05d60SFabio Estevamconfig SOC_IMX25
7011b05d60SFabio Estevam	bool "i.MX25 support"
7111b05d60SFabio Estevam	select CPU_ARM926T
7211b05d60SFabio Estevam	select MXC_AVIC
7311b05d60SFabio Estevam	help
7411b05d60SFabio Estevam	  This enables support for Freescale i.MX25 processor
75879c0e5eSFabio Estevam
76879c0e5eSFabio Estevamconfig SOC_IMX27
77879c0e5eSFabio Estevam	bool "i.MX27 support"
78879c0e5eSFabio Estevam	select CPU_ARM926T
79879c0e5eSFabio Estevam	select MXC_AVIC
80879c0e5eSFabio Estevam	help
81879c0e5eSFabio Estevam	  This enables support for Freescale i.MX27 processor
82879c0e5eSFabio Estevam
8311b05d60SFabio Estevamendif
8411b05d60SFabio Estevam
85c5a0d497SShawn Guoif ARCH_MULTI_V7
86c5a0d497SShawn Guo
878064887eSStefan Agnercomment "Cortex-A platforms"
88784a90c0SSascha Hauer
8950e177caSShawn Guoconfig SOC_IMX5
9050e177caSShawn Guo	bool
9150e177caSShawn Guo	select HAVE_IMX_SRC
9250e177caSShawn Guo	select MXC_TZIC
9350e177caSShawn Guo
94361b0a41SGreg Ungererconfig SOC_IMX50
95361b0a41SGreg Ungerer	bool "i.MX50 support"
96361b0a41SGreg Ungerer	select SOC_IMX5
97361b0a41SGreg Ungerer
98361b0a41SGreg Ungerer	help
99361b0a41SGreg Ungerer	  This enables support for Freescale i.MX50 processor.
100361b0a41SGreg Ungerer
1011ecdde9dSShawn Guoconfig SOC_IMX51
1028da4d6b2SFabio Estevam	bool "i.MX51 support"
1031ecdde9dSShawn Guo	select SOC_IMX5
1048da4d6b2SFabio Estevam	help
1058da4d6b2SFabio Estevam	  This enables support for Freescale i.MX51 processor
1068da4d6b2SFabio Estevam
107442279daSShawn Guoconfig SOC_IMX53
108442279daSShawn Guo	bool "i.MX53 support"
109b1b3f49cSRussell King	select SOC_IMX5
110442279daSShawn Guo
111784a90c0SSascha Hauer	help
112442279daSShawn Guo	  This enables support for Freescale i.MX53 processor.
113bac89d75SShawn Guo
11494f890ecSShawn Guoconfig SOC_IMX6
11594f890ecSShawn Guo	bool
116da395584SArnd Bergmann	select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
117bac89d75SShawn Guo	select ARM_GIC
118e95dddb3SAnson Huang	select HAVE_IMX_ANATOP
1199fbbe689SShawn Guo	select HAVE_IMX_GPC
1209fbbe689SShawn Guo	select HAVE_IMX_MMDC
121aec99b7bSShawn Guo	select HAVE_IMX_SRC
122baa64151SDong Aisheng	select MFD_SYSCON
123a641f3a6SRussell King	select PL310_ERRATA_769419 if CACHE_L2X0
124bac89d75SShawn Guo
12594f890ecSShawn Guoconfig SOC_IMX6Q
12694f890ecSShawn Guo	bool "i.MX6 Quad/DualLite support"
12794f890ecSShawn Guo	select ARM_ERRATA_764369 if SMP
128edc2569bSStefan Agner	select ARM_ERRATA_754322
129edc2569bSStefan Agner	select ARM_ERRATA_775420
13094f890ecSShawn Guo	select HAVE_ARM_SCU if SMP
131acc98009SSebastian Andrzej Siewior	select HAVE_ARM_TWD
13294f890ecSShawn Guo	select SOC_IMX6
13394f890ecSShawn Guo
134bac89d75SShawn Guo	help
135bac89d75SShawn Guo	  This enables support for Freescale i.MX6 Quad processor.
136bac89d75SShawn Guo
13731a2fbf7SShawn Guoconfig SOC_IMX6SL
13831a2fbf7SShawn Guo	bool "i.MX6 SoloLite support"
139edc2569bSStefan Agner	select ARM_ERRATA_754322
140edc2569bSStefan Agner	select ARM_ERRATA_775420
14194f890ecSShawn Guo	select SOC_IMX6
14231a2fbf7SShawn Guo
14331a2fbf7SShawn Guo	help
14431a2fbf7SShawn Guo	  This enables support for Freescale i.MX6 SoloLite processor.
14531a2fbf7SShawn Guo
146dee5dee2SBai Pingconfig SOC_IMX6SLL
147dee5dee2SBai Ping	bool "i.MX6 SoloLiteLite support"
148edc2569bSStefan Agner	select ARM_ERRATA_754322
149edc2569bSStefan Agner	select ARM_ERRATA_775420
150dee5dee2SBai Ping	select SOC_IMX6
151dee5dee2SBai Ping
152dee5dee2SBai Ping	help
153dee5dee2SBai Ping	  This enables support for Freescale i.MX6 SoloLiteLite processor.
154dee5dee2SBai Ping
155d9654dceSShawn Guoconfig SOC_IMX6SX
156d9654dceSShawn Guo	bool "i.MX6 SoloX support"
157edc2569bSStefan Agner	select ARM_ERRATA_754322
158edc2569bSStefan Agner	select ARM_ERRATA_775420
159d9654dceSShawn Guo	select SOC_IMX6
160d9654dceSShawn Guo
161d9654dceSShawn Guo	help
162d9654dceSShawn Guo	  This enables support for Freescale i.MX6 SoloX processor.
163d9654dceSShawn Guo
164022d0716SFrank Liconfig SOC_IMX6UL
165022d0716SFrank Li	bool "i.MX6 UltraLite support"
166022d0716SFrank Li	select SOC_IMX6
1674562fa4cSAnson Huang	select ARM_ERRATA_814220
168022d0716SFrank Li
169022d0716SFrank Li	help
170022d0716SFrank Li	  This enables support for Freescale i.MX6 UltraLite processor.
171022d0716SFrank Li
1728064887eSStefan Agnerconfig SOC_LS1021A
1738064887eSStefan Agner	bool "Freescale LS1021A support"
1748064887eSStefan Agner	select ARM_GIC
1758064887eSStefan Agner	select HAVE_ARM_ARCH_TIMER
1768064887eSStefan Agner	select ZONE_DMA if ARM_LPAE
1778064887eSStefan Agner	help
1788064887eSStefan Agner	  This enables support for Freescale LS1021A processor.
1798064887eSStefan Agner
1808064887eSStefan Agnerendif
1818064887eSStefan Agner
1828064887eSStefan Agnerif ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
1838064887eSStefan Agner
1840c11bbcfSFabio Estevamcomment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
1850c11bbcfSFabio Estevam
1861a1f919eSOleksij Rempelconfig SOC_IMX7D_CA7
1871a1f919eSOleksij Rempel	bool
1881a1f919eSOleksij Rempel	select ARM_GIC
1891a1f919eSOleksij Rempel	select HAVE_ARM_ARCH_TIMER
1901a1f919eSOleksij Rempel	select HAVE_IMX_ANATOP
1911a1f919eSOleksij Rempel	select HAVE_IMX_MMDC
1921a1f919eSOleksij Rempel	select HAVE_IMX_SRC
1931a1f919eSOleksij Rempel	select IMX_GPCV2
1941a1f919eSOleksij Rempel
1951a1f919eSOleksij Rempelconfig SOC_IMX7D_CM4
1961a1f919eSOleksij Rempel	bool
1971a1f919eSOleksij Rempel	select ARMV7M_SYSTICK
1981a1f919eSOleksij Rempel
1991a1f919eSOleksij Rempelconfig SOC_IMX7D
2001a1f919eSOleksij Rempel	bool "i.MX7 Dual support"
2011a1f919eSOleksij Rempel	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
2021a1f919eSOleksij Rempel	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
203c74067a0SArnd Bergmann	select ARM_ERRATA_814220 if ARCH_MULTI_V7
2041a1f919eSOleksij Rempel	help
2051a1f919eSOleksij Rempel	  This enables support for Freescale i.MX7 Dual processor.
2061a1f919eSOleksij Rempel
207de70d0e9SA.s. Dongconfig SOC_IMX7ULP
208de70d0e9SA.s. Dong	bool "i.MX7ULP support"
209de70d0e9SA.s. Dong	select CLKSRC_IMX_TPM
210167e6370SArnd Bergmann	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
211167e6370SArnd Bergmann	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
212de70d0e9SA.s. Dong	help
213de70d0e9SA.s. Dong	  This enables support for Freescale i.MX7 Ultra Low Power processor.
214de70d0e9SA.s. Dong
215ed2e8e0aSGiulio Benetticonfig SOC_IMXRT
216ed2e8e0aSGiulio Benetti	bool "i.MXRT support"
217ed2e8e0aSGiulio Benetti	depends on ARM_SINGLE_ARMV7M
218ed2e8e0aSGiulio Benetti	select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M
219ed2e8e0aSGiulio Benetti	help
220ed2e8e0aSGiulio Benetti	  This enables support for Freescale i.MXRT Crossover processor.
221ed2e8e0aSGiulio Benetti
2225be913c6SJingchang Luconfig SOC_VF610
2235be913c6SJingchang Lu	bool "Vybrid Family VF610 support"
2248064887eSStefan Agner	select ARM_GIC if ARCH_MULTI_V7
2255be913c6SJingchang Lu
2265be913c6SJingchang Lu	help
227c6891ef8SFabio Estevam	  This enables support for Freescale Vybrid VF610 processor.
2285be913c6SJingchang Lu
2292a61cba7SStefan Agnerchoice
2302a61cba7SStefan Agner	prompt "Clocksource for scheduler clock"
2312a61cba7SStefan Agner	depends on SOC_VF610
2322a61cba7SStefan Agner	default VF_USE_ARM_GLOBAL_TIMER
2332a61cba7SStefan Agner
2342a61cba7SStefan Agner	config VF_USE_ARM_GLOBAL_TIMER
235e3246542SMasahiro Yamada		bool "Use ARM Global Timer"
236e3246542SMasahiro Yamada		depends on ARCH_MULTI_V7
2372a61cba7SStefan Agner		select ARM_GLOBAL_TIMER
2382a61cba7SStefan Agner		select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
2392a61cba7SStefan Agner		help
2402a61cba7SStefan Agner		  Use the ARM Global Timer as clocksource
2412a61cba7SStefan Agner
2422a61cba7SStefan Agner	config VF_USE_PIT_TIMER
2432a61cba7SStefan Agner		bool "Use PIT timer"
2442a61cba7SStefan Agner		select VF_PIT_TIMER
2452a61cba7SStefan Agner		help
2462a61cba7SStefan Agner		  Use SoC Periodic Interrupt Timer (PIT) as clocksource
2472a61cba7SStefan Agner
2482a61cba7SStefan Agnerendchoice
2492a61cba7SStefan Agner
25027ad4bf7SUwe Kleine-Königendif
251e0557c0dSShawn Guo
25221278aeaSRob Herringendif
253