xref: /linux/arch/arm/mach-imx/Kconfig (revision 2d32fba02e0e5b67fb3a4ea51dde80c0db83f1c1)
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 PM_OPP if PM
10	select SOC_BUS
11	select SRAM
12	help
13	  Support for Freescale MXC/iMX-based family of processors
14
15if ARCH_MXC
16
17config MXC_TZIC
18	bool
19
20config MXC_AVIC
21	bool
22
23config HAVE_IMX_ANATOP
24	bool
25
26config HAVE_IMX_GPC
27	bool
28	select PM_GENERIC_DOMAINS if PM
29
30config HAVE_IMX_MMDC
31	bool
32
33config HAVE_IMX_SRC
34	def_bool y if SMP
35	select ARCH_HAS_RESET_CONTROLLER
36
37if ARCH_MULTI_V6
38
39comment "ARM1136 platforms"
40
41config SOC_IMX31
42	bool "i.MX31 support"
43	select CPU_V6
44	select MXC_AVIC
45	help
46	  This enables support for Freescale i.MX31 processor
47
48config SOC_IMX35
49	bool "i.MX35 support"
50	select MXC_AVIC
51	help
52	  This enables support for Freescale i.MX35 processor
53
54endif
55
56if ARCH_MULTI_V4T
57
58config SOC_IMX1
59	bool "i.MX1 support"
60	select CPU_ARM920T
61	select MXC_AVIC
62	help
63	  This enables support for Freescale i.MX1 processor
64
65endif
66
67if ARCH_MULTI_V5
68
69config SOC_IMX25
70	bool "i.MX25 support"
71	select CPU_ARM926T
72	select MXC_AVIC
73	help
74	  This enables support for Freescale i.MX25 processor
75
76config SOC_IMX27
77	bool "i.MX27 support"
78	select CPU_ARM926T
79	select MXC_AVIC
80	help
81	  This enables support for Freescale i.MX27 processor
82
83endif
84
85if ARCH_MULTI_V7
86
87comment "Cortex-A platforms"
88
89config SOC_IMX5
90	bool
91	select HAVE_IMX_SRC
92	select MXC_TZIC
93
94config SOC_IMX50
95	bool "i.MX50 support"
96	select SOC_IMX5
97
98	help
99	  This enables support for Freescale i.MX50 processor.
100
101config SOC_IMX51
102	bool "i.MX51 support"
103	select SOC_IMX5
104	help
105	  This enables support for Freescale i.MX51 processor
106
107config SOC_IMX53
108	bool "i.MX53 support"
109	select SOC_IMX5
110
111	help
112	  This enables support for Freescale i.MX53 processor.
113
114config SOC_IMX6
115	bool
116	select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
117	select ARM_GIC
118	select HAVE_IMX_ANATOP
119	select HAVE_IMX_GPC
120	select HAVE_IMX_MMDC
121	select HAVE_IMX_SRC
122	select MFD_SYSCON
123	select PL310_ERRATA_769419 if CACHE_L2X0
124
125config SOC_IMX6Q
126	bool "i.MX6 Quad/DualLite support"
127	select ARM_ERRATA_764369 if SMP
128	select ARM_ERRATA_754322
129	select ARM_ERRATA_775420
130	select HAVE_ARM_SCU if SMP
131	select HAVE_ARM_TWD
132	select SOC_IMX6
133
134	help
135	  This enables support for Freescale i.MX6 Quad processor.
136
137config SOC_IMX6SL
138	bool "i.MX6 SoloLite support"
139	select ARM_ERRATA_754322
140	select ARM_ERRATA_775420
141	select SOC_IMX6
142
143	help
144	  This enables support for Freescale i.MX6 SoloLite processor.
145
146config SOC_IMX6SLL
147	bool "i.MX6 SoloLiteLite support"
148	select ARM_ERRATA_754322
149	select ARM_ERRATA_775420
150	select SOC_IMX6
151
152	help
153	  This enables support for Freescale i.MX6 SoloLiteLite processor.
154
155config SOC_IMX6SX
156	bool "i.MX6 SoloX support"
157	select ARM_ERRATA_754322
158	select ARM_ERRATA_775420
159	select SOC_IMX6
160
161	help
162	  This enables support for Freescale i.MX6 SoloX processor.
163
164config SOC_IMX6UL
165	bool "i.MX6 UltraLite support"
166	select SOC_IMX6
167	select ARM_ERRATA_814220
168
169	help
170	  This enables support for Freescale i.MX6 UltraLite processor.
171
172config SOC_LS1021A
173	bool "Freescale LS1021A support"
174	select ARM_GIC
175	select HAVE_ARM_ARCH_TIMER
176	select ZONE_DMA if ARM_LPAE
177	help
178	  This enables support for Freescale LS1021A processor.
179
180endif
181
182if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
183
184comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
185
186config SOC_IMX7D_CA7
187	bool
188	select ARM_GIC
189	select HAVE_ARM_ARCH_TIMER
190	select HAVE_IMX_ANATOP
191	select HAVE_IMX_MMDC
192	select HAVE_IMX_SRC
193	select IMX_GPCV2
194
195config SOC_IMX7D_CM4
196	bool
197	select ARMV7M_SYSTICK
198
199config SOC_IMX7D
200	bool "i.MX7 Dual support"
201	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
202	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
203	select ARM_ERRATA_814220 if ARCH_MULTI_V7
204	help
205	  This enables support for Freescale i.MX7 Dual processor.
206
207config SOC_IMX7ULP
208	bool "i.MX7ULP support"
209	select CLKSRC_IMX_TPM
210	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
211	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
212	help
213	  This enables support for Freescale i.MX7 Ultra Low Power processor.
214
215config SOC_IMXRT
216	bool "i.MXRT support"
217	depends on ARM_SINGLE_ARMV7M
218	select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M
219	help
220	  This enables support for Freescale i.MXRT Crossover processor.
221
222config SOC_VF610
223	bool "Vybrid Family VF610 support"
224	select ARM_GIC if ARCH_MULTI_V7
225
226	help
227	  This enables support for Freescale Vybrid VF610 processor.
228
229choice
230	prompt "Clocksource for scheduler clock"
231	depends on SOC_VF610
232	default VF_USE_ARM_GLOBAL_TIMER
233
234	config VF_USE_ARM_GLOBAL_TIMER
235		bool "Use ARM Global Timer"
236		depends on ARCH_MULTI_V7
237		select ARM_GLOBAL_TIMER
238		select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
239		help
240		  Use the ARM Global Timer as clocksource
241
242	config VF_USE_PIT_TIMER
243		bool "Use PIT timer"
244		select VF_PIT_TIMER
245		help
246		  Use SoC Periodic Interrupt Timer (PIT) as clocksource
247
248endchoice
249
250endif
251
252endif
253