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