xref: /linux/arch/arm/mach-imx/Kconfig (revision f274fffbc28849848fd48379dbc83f10e1019270)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
221278aeaSRob Herringmenuconfig ARCH_MXC
3e3246542SMasahiro Yamada	bool "Freescale i.MX family"
46fd09c9aSArnd 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
9*b77bd3baSFabio Estevam	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
52a55a3d72SSteffen Trumtrar	help
53f21a4688SNobuhiro Iwamatsu	  This enables support for Freescale i.MX35 processor
5427ad4bf7SUwe Kleine-König
55c5a0d497SShawn Guoendif
56c5a0d497SShawn Guo
579a008da2SAlexander Shiyanif ARCH_MULTI_V4T
589a008da2SAlexander Shiyan
599a008da2SAlexander Shiyanconfig SOC_IMX1
609a008da2SAlexander Shiyan	bool "i.MX1 support"
619a008da2SAlexander Shiyan	select CPU_ARM920T
629a008da2SAlexander Shiyan	select MXC_AVIC
639a008da2SAlexander Shiyan	help
649a008da2SAlexander Shiyan	  This enables support for Freescale i.MX1 processor
659a008da2SAlexander Shiyan
669a008da2SAlexander Shiyanendif
679a008da2SAlexander Shiyan
688064887eSStefan Agnerif ARCH_MULTI_V5
698064887eSStefan Agner
7011b05d60SFabio Estevamconfig SOC_IMX25
7111b05d60SFabio Estevam	bool "i.MX25 support"
7211b05d60SFabio Estevam	select CPU_ARM926T
7311b05d60SFabio Estevam	select MXC_AVIC
7411b05d60SFabio Estevam	help
7511b05d60SFabio Estevam	  This enables support for Freescale i.MX25 processor
76879c0e5eSFabio Estevam
77879c0e5eSFabio Estevamconfig SOC_IMX27
78879c0e5eSFabio Estevam	bool "i.MX27 support"
79879c0e5eSFabio Estevam	select CPU_ARM926T
80879c0e5eSFabio Estevam	select MXC_AVIC
81879c0e5eSFabio Estevam	help
82879c0e5eSFabio Estevam	  This enables support for Freescale i.MX27 processor
83879c0e5eSFabio Estevam
8411b05d60SFabio Estevamendif
8511b05d60SFabio Estevam
86c5a0d497SShawn Guoif ARCH_MULTI_V7
87c5a0d497SShawn Guo
888064887eSStefan Agnercomment "Cortex-A platforms"
89784a90c0SSascha Hauer
9050e177caSShawn Guoconfig SOC_IMX5
9150e177caSShawn Guo	bool
9250e177caSShawn Guo	select HAVE_IMX_SRC
9350e177caSShawn Guo	select MXC_TZIC
9450e177caSShawn Guo
95361b0a41SGreg Ungererconfig SOC_IMX50
96361b0a41SGreg Ungerer	bool "i.MX50 support"
97361b0a41SGreg Ungerer	select SOC_IMX5
98361b0a41SGreg Ungerer
99361b0a41SGreg Ungerer	help
100361b0a41SGreg Ungerer	  This enables support for Freescale i.MX50 processor.
101361b0a41SGreg Ungerer
1021ecdde9dSShawn Guoconfig SOC_IMX51
1038da4d6b2SFabio Estevam	bool "i.MX51 support"
1041ecdde9dSShawn Guo	select SOC_IMX5
1058da4d6b2SFabio Estevam	help
1068da4d6b2SFabio Estevam	  This enables support for Freescale i.MX51 processor
1078da4d6b2SFabio Estevam
108442279daSShawn Guoconfig SOC_IMX53
109442279daSShawn Guo	bool "i.MX53 support"
110b1b3f49cSRussell King	select SOC_IMX5
111442279daSShawn Guo
112784a90c0SSascha Hauer	help
113442279daSShawn Guo	  This enables support for Freescale i.MX53 processor.
114bac89d75SShawn Guo
11594f890ecSShawn Guoconfig SOC_IMX6
11694f890ecSShawn Guo	bool
117da395584SArnd Bergmann	select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
118bac89d75SShawn Guo	select ARM_GIC
119e95dddb3SAnson Huang	select HAVE_IMX_ANATOP
1209fbbe689SShawn Guo	select HAVE_IMX_GPC
1219fbbe689SShawn Guo	select HAVE_IMX_MMDC
122aec99b7bSShawn Guo	select HAVE_IMX_SRC
123baa64151SDong Aisheng	select MFD_SYSCON
124a641f3a6SRussell King	select PL310_ERRATA_769419 if CACHE_L2X0
125bac89d75SShawn Guo
12694f890ecSShawn Guoconfig SOC_IMX6Q
12794f890ecSShawn Guo	bool "i.MX6 Quad/DualLite support"
12894f890ecSShawn Guo	select ARM_ERRATA_764369 if SMP
129edc2569bSStefan Agner	select ARM_ERRATA_754322
130edc2569bSStefan Agner	select ARM_ERRATA_775420
13194f890ecSShawn Guo	select HAVE_ARM_SCU if SMP
132acc98009SSebastian Andrzej Siewior	select HAVE_ARM_TWD
13394f890ecSShawn Guo	select SOC_IMX6
13494f890ecSShawn Guo
135bac89d75SShawn Guo	help
136bac89d75SShawn Guo	  This enables support for Freescale i.MX6 Quad processor.
137bac89d75SShawn Guo
13831a2fbf7SShawn Guoconfig SOC_IMX6SL
13931a2fbf7SShawn Guo	bool "i.MX6 SoloLite support"
140edc2569bSStefan Agner	select ARM_ERRATA_754322
141edc2569bSStefan Agner	select ARM_ERRATA_775420
14294f890ecSShawn Guo	select SOC_IMX6
14331a2fbf7SShawn Guo
14431a2fbf7SShawn Guo	help
14531a2fbf7SShawn Guo	  This enables support for Freescale i.MX6 SoloLite processor.
14631a2fbf7SShawn Guo
147dee5dee2SBai Pingconfig SOC_IMX6SLL
148dee5dee2SBai Ping	bool "i.MX6 SoloLiteLite support"
149edc2569bSStefan Agner	select ARM_ERRATA_754322
150edc2569bSStefan Agner	select ARM_ERRATA_775420
151dee5dee2SBai Ping	select SOC_IMX6
152dee5dee2SBai Ping
153dee5dee2SBai Ping	help
154dee5dee2SBai Ping	  This enables support for Freescale i.MX6 SoloLiteLite processor.
155dee5dee2SBai Ping
156d9654dceSShawn Guoconfig SOC_IMX6SX
157d9654dceSShawn Guo	bool "i.MX6 SoloX support"
158edc2569bSStefan Agner	select ARM_ERRATA_754322
159edc2569bSStefan Agner	select ARM_ERRATA_775420
160d9654dceSShawn Guo	select SOC_IMX6
161d9654dceSShawn Guo
162d9654dceSShawn Guo	help
163d9654dceSShawn Guo	  This enables support for Freescale i.MX6 SoloX processor.
164d9654dceSShawn Guo
165022d0716SFrank Liconfig SOC_IMX6UL
166022d0716SFrank Li	bool "i.MX6 UltraLite support"
167022d0716SFrank Li	select SOC_IMX6
1684562fa4cSAnson Huang	select ARM_ERRATA_814220
169022d0716SFrank Li
170022d0716SFrank Li	help
171022d0716SFrank Li	  This enables support for Freescale i.MX6 UltraLite processor.
172022d0716SFrank Li
1738064887eSStefan Agnerconfig SOC_LS1021A
1748064887eSStefan Agner	bool "Freescale LS1021A support"
1758064887eSStefan Agner	select ARM_GIC
1768064887eSStefan Agner	select HAVE_ARM_ARCH_TIMER
1778064887eSStefan Agner	select ZONE_DMA if ARM_LPAE
1788064887eSStefan Agner	help
1798064887eSStefan Agner	  This enables support for Freescale LS1021A processor.
1808064887eSStefan Agner
1818064887eSStefan Agnerendif
1828064887eSStefan Agner
1838064887eSStefan Agnerif ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
1848064887eSStefan Agner
1850c11bbcfSFabio Estevamcomment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
1860c11bbcfSFabio Estevam
1871a1f919eSOleksij Rempelconfig SOC_IMX7D_CA7
1881a1f919eSOleksij Rempel	bool
1891a1f919eSOleksij Rempel	select ARM_GIC
1901a1f919eSOleksij Rempel	select HAVE_ARM_ARCH_TIMER
1911a1f919eSOleksij Rempel	select HAVE_IMX_ANATOP
1921a1f919eSOleksij Rempel	select HAVE_IMX_MMDC
1931a1f919eSOleksij Rempel	select HAVE_IMX_SRC
1941a1f919eSOleksij Rempel	select IMX_GPCV2
1951a1f919eSOleksij Rempel
1961a1f919eSOleksij Rempelconfig SOC_IMX7D_CM4
1971a1f919eSOleksij Rempel	bool
1981a1f919eSOleksij Rempel	select ARMV7M_SYSTICK
1991a1f919eSOleksij Rempel
2001a1f919eSOleksij Rempelconfig SOC_IMX7D
2011a1f919eSOleksij Rempel	bool "i.MX7 Dual support"
2021a1f919eSOleksij Rempel	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
2031a1f919eSOleksij Rempel	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
204c74067a0SArnd Bergmann	select ARM_ERRATA_814220 if ARCH_MULTI_V7
2051a1f919eSOleksij Rempel	help
2061a1f919eSOleksij Rempel	  This enables support for Freescale i.MX7 Dual processor.
2071a1f919eSOleksij Rempel
208de70d0e9SA.s. Dongconfig SOC_IMX7ULP
209de70d0e9SA.s. Dong	bool "i.MX7ULP support"
210de70d0e9SA.s. Dong	select CLKSRC_IMX_TPM
211167e6370SArnd Bergmann	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
212167e6370SArnd Bergmann	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
213de70d0e9SA.s. Dong	help
214de70d0e9SA.s. Dong	  This enables support for Freescale i.MX7 Ultra Low Power processor.
215de70d0e9SA.s. Dong
216ed2e8e0aSGiulio Benetticonfig SOC_IMXRT
217ed2e8e0aSGiulio Benetti	bool "i.MXRT support"
218ed2e8e0aSGiulio Benetti	depends on ARM_SINGLE_ARMV7M
219ed2e8e0aSGiulio Benetti	select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M
220ed2e8e0aSGiulio Benetti	help
221ed2e8e0aSGiulio Benetti	  This enables support for Freescale i.MXRT Crossover processor.
222ed2e8e0aSGiulio Benetti
2235be913c6SJingchang Luconfig SOC_VF610
2245be913c6SJingchang Lu	bool "Vybrid Family VF610 support"
2258064887eSStefan Agner	select ARM_GIC if ARCH_MULTI_V7
2265be913c6SJingchang Lu
2275be913c6SJingchang Lu	help
228c6891ef8SFabio Estevam	  This enables support for Freescale Vybrid VF610 processor.
2295be913c6SJingchang Lu
2302a61cba7SStefan Agnerchoice
2312a61cba7SStefan Agner	prompt "Clocksource for scheduler clock"
2322a61cba7SStefan Agner	depends on SOC_VF610
2332a61cba7SStefan Agner	default VF_USE_ARM_GLOBAL_TIMER
2342a61cba7SStefan Agner
2352a61cba7SStefan Agner	config VF_USE_ARM_GLOBAL_TIMER
236e3246542SMasahiro Yamada		bool "Use ARM Global Timer"
237e3246542SMasahiro Yamada		depends on ARCH_MULTI_V7
2382a61cba7SStefan Agner		select ARM_GLOBAL_TIMER
2392a61cba7SStefan Agner		select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
2402a61cba7SStefan Agner		help
2412a61cba7SStefan Agner		  Use the ARM Global Timer as clocksource
2422a61cba7SStefan Agner
2432a61cba7SStefan Agner	config VF_USE_PIT_TIMER
2442a61cba7SStefan Agner		bool "Use PIT timer"
2452a61cba7SStefan Agner		select VF_PIT_TIMER
2462a61cba7SStefan Agner		help
2472a61cba7SStefan Agner		  Use SoC Periodic Interrupt Timer (PIT) as clocksource
2482a61cba7SStefan Agner
2492a61cba7SStefan Agnerendchoice
2502a61cba7SStefan Agner
25127ad4bf7SUwe Kleine-Königendif
252e0557c0dSShawn Guo
25321278aeaSRob Herringendif
254