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