xref: /linux/arch/arm/mach-imx/Kconfig (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig ARCH_MXC
3	bool "Freescale i.MX family"
4	depends on ((ARCH_MULTI_V4T || ARCH_MULTI_V5) && CPU_LITTLE_ENDIAN) || \
5		ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
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 HAVE_IMX_ANATOP
25	bool
26
27config HAVE_IMX_GPC
28	bool
29	select PM_GENERIC_DOMAINS if PM
30
31config HAVE_IMX_MMDC
32	bool
33
34config HAVE_IMX_SRC
35	def_bool y if SMP
36	select ARCH_HAS_RESET_CONTROLLER
37
38if ARCH_MULTI_V6
39
40comment "ARM1136 platforms"
41
42config SOC_IMX31
43	bool "i.MX31 support (DEPRECATED)"
44	depends on !SMP
45	select CPU_ARM1136R0
46	select MXC_AVIC
47	help
48	  This enables support for Freescale i.MX31 processor
49
50	  This SoC is scheduled for removal in early 2027,
51	  since it uses the ARM1136r0 CPU revision.
52
53config SOC_IMX35
54	bool "i.MX35 support"
55	select CPU_ARM1136R1
56	select MXC_AVIC
57	help
58	  This enables support for Freescale i.MX35 processor
59
60endif
61
62if ARCH_MULTI_V4T
63
64config SOC_IMX1
65	bool "i.MX1 support"
66	select CPU_ARM920T
67	select MXC_AVIC
68	help
69	  This enables support for Freescale i.MX1 processor
70
71endif
72
73if ARCH_MULTI_V5
74
75config SOC_IMX25
76	bool "i.MX25 support"
77	select CPU_ARM926T
78	select MXC_AVIC
79	help
80	  This enables support for Freescale i.MX25 processor
81
82config SOC_IMX27
83	bool "i.MX27 support"
84	select CPU_ARM926T
85	select MXC_AVIC
86	help
87	  This enables support for Freescale i.MX27 processor
88
89endif
90
91if ARCH_MULTI_V7
92
93comment "Cortex-A platforms"
94
95config SOC_IMX5
96	bool
97	select HAVE_IMX_SRC
98	select MXC_TZIC
99
100config SOC_IMX50
101	bool "i.MX50 support"
102	select SOC_IMX5
103
104	help
105	  This enables support for Freescale i.MX50 processor.
106
107config SOC_IMX51
108	bool "i.MX51 support"
109	select SOC_IMX5
110	help
111	  This enables support for Freescale i.MX51 processor
112
113config SOC_IMX53
114	bool "i.MX53 support"
115	select SOC_IMX5
116
117	help
118	  This enables support for Freescale i.MX53 processor.
119
120config SOC_IMX6
121	bool
122	select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
123	select ARM_GIC
124	select HAVE_IMX_ANATOP
125	select HAVE_IMX_GPC
126	select HAVE_IMX_MMDC
127	select HAVE_IMX_SRC
128	select MFD_SYSCON
129	select PL310_ERRATA_769419 if CACHE_L2X0
130
131config SOC_IMX6Q
132	bool "i.MX6 Quad/DualLite support"
133	select ARM_ERRATA_764369 if SMP
134	select ARM_ERRATA_754322
135	select ARM_ERRATA_775420
136	select HAVE_ARM_SCU if SMP
137	select HAVE_ARM_TWD
138	select SOC_IMX6
139
140	help
141	  This enables support for Freescale i.MX6 Quad processor.
142
143config SOC_IMX6SL
144	bool "i.MX6 SoloLite support"
145	select ARM_ERRATA_754322
146	select ARM_ERRATA_775420
147	select SOC_IMX6
148
149	help
150	  This enables support for Freescale i.MX6 SoloLite processor.
151
152config SOC_IMX6SLL
153	bool "i.MX6 SoloLiteLite support"
154	select ARM_ERRATA_754322
155	select ARM_ERRATA_775420
156	select SOC_IMX6
157
158	help
159	  This enables support for Freescale i.MX6 SoloLiteLite processor.
160
161config SOC_IMX6SX
162	bool "i.MX6 SoloX support"
163	select ARM_ERRATA_754322
164	select ARM_ERRATA_775420
165	select SOC_IMX6
166
167	help
168	  This enables support for Freescale i.MX6 SoloX processor.
169
170config SOC_IMX6UL
171	bool "i.MX6 UltraLite support"
172	select SOC_IMX6
173	select ARM_ERRATA_814220
174
175	help
176	  This enables support for Freescale i.MX6 UltraLite processor.
177
178config SOC_LS1021A
179	bool "Freescale LS1021A support"
180	select ARM_GIC
181	select HAVE_ARM_ARCH_TIMER
182	select ZONE_DMA if ARM_LPAE
183	help
184	  This enables support for Freescale LS1021A processor.
185
186endif
187
188if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
189
190comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
191
192config SOC_IMX7D_CA7
193	bool
194	select ARM_GIC
195	select HAVE_ARM_ARCH_TIMER
196	select HAVE_IMX_ANATOP
197	select HAVE_IMX_MMDC
198	select HAVE_IMX_SRC
199	select IMX_GPCV2
200
201config SOC_IMX7D_CM4
202	bool
203	select ARMV7M_SYSTICK
204
205config SOC_IMX7D
206	bool "i.MX7 Dual support"
207	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
208	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
209	select ARM_ERRATA_814220 if ARCH_MULTI_V7
210	help
211	  This enables support for Freescale i.MX7 Dual processor.
212
213config SOC_IMX7ULP
214	bool "i.MX7ULP support"
215	select CLKSRC_IMX_TPM
216	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
217	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
218	help
219	  This enables support for Freescale i.MX7 Ultra Low Power processor.
220
221config SOC_IMXRT
222	bool "i.MXRT support (DEPRECATED)"
223	depends on ARM_SINGLE_ARMV7M
224	select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M
225	help
226	  This enables support for Freescale i.MXRT Crossover processor.
227
228	  This platform is scheduled for removal in early 2027
229
230config SOC_VF610
231	bool "Vybrid Family VF610 support"
232	select ARM_GIC if ARCH_MULTI_V7
233
234	help
235	  This enables support for Freescale Vybrid VF610 processor.
236
237endif
238
239endif
240