hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/mach-imx/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 menuconfig ARCH_MXC
23 bool "Freescale i.MX family"
34 depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
....@@ -46,370 +47,25 @@
4647 def_bool y if SMP
4748 select ARCH_HAS_RESET_CONTROLLER
4849
49
-config IMX_HAVE_IOMUX_V1
50
- bool
51
-
52
-config ARCH_MXC_IOMUX_V3
53
- bool
54
-
55
-config SOC_IMX21
56
- bool
57
- select CPU_ARM926T
58
- select IMX_HAVE_IOMUX_V1
59
- select MXC_AVIC
60
-
61
-config SOC_IMX27
62
- bool
63
- select CPU_ARM926T
64
- select IMX_HAVE_IOMUX_V1
65
- select MXC_AVIC
66
- select PINCTRL_IMX27
67
-
68
-config SOC_IMX31
69
- bool
70
- select CPU_V6
71
- select MXC_AVIC
72
-
73
-config SOC_IMX35
74
- bool
75
- select ARCH_MXC_IOMUX_V3
76
- select MXC_AVIC
77
- select PINCTRL_IMX35
78
-
79
-if ARCH_MULTI_V5
80
-
81
-comment "MX21 platforms:"
82
-
83
-config MACH_MX21ADS
84
- bool "MX21ADS platform"
85
- select IMX_HAVE_PLATFORM_IMX_FB
86
- select IMX_HAVE_PLATFORM_IMX_UART
87
- select IMX_HAVE_PLATFORM_MXC_MMC
88
- select IMX_HAVE_PLATFORM_MXC_NAND
89
- select SOC_IMX21
90
- help
91
- Include support for MX21ADS platform. This includes specific
92
- configurations for the board and its peripherals.
93
-
94
-comment "MX27 platforms:"
95
-
96
-config MACH_MX27ADS
97
- bool "MX27ADS platform"
98
- select IMX_HAVE_PLATFORM_IMX_FB
99
- select IMX_HAVE_PLATFORM_IMX_I2C
100
- select IMX_HAVE_PLATFORM_IMX_UART
101
- select IMX_HAVE_PLATFORM_MXC_MMC
102
- select IMX_HAVE_PLATFORM_MXC_NAND
103
- select IMX_HAVE_PLATFORM_MXC_W1
104
- select SOC_IMX27
105
- help
106
- Include support for MX27ADS platform. This includes specific
107
- configurations for the board and its peripherals.
108
-
109
-config MACH_MX27_3DS
110
- bool "MX27PDK platform"
111
- select IMX_HAVE_PLATFORM_FSL_USB2_UDC
112
- select IMX_HAVE_PLATFORM_IMX2_WDT
113
- select IMX_HAVE_PLATFORM_IMX_FB
114
- select IMX_HAVE_PLATFORM_IMX_I2C
115
- select IMX_HAVE_PLATFORM_IMX_KEYPAD
116
- select IMX_HAVE_PLATFORM_IMX_SSI
117
- select IMX_HAVE_PLATFORM_IMX_UART
118
- select IMX_HAVE_PLATFORM_MX2_CAMERA
119
- select IMX_HAVE_PLATFORM_MXC_EHCI
120
- select IMX_HAVE_PLATFORM_MXC_MMC
121
- select IMX_HAVE_PLATFORM_SPI_IMX
122
- select MXC_DEBUG_BOARD
123
- select USB_ULPI_VIEWPORT if USB_ULPI
124
- select SOC_IMX27
125
- help
126
- Include support for MX27PDK platform. This includes specific
127
- configurations for the board and its peripherals.
128
-
129
-config MACH_IMX27_VISSTRIM_M10
130
- bool "Vista Silicon i.MX27 Visstrim_m10"
131
- select IMX_HAVE_PLATFORM_GPIO_KEYS
132
- select IMX_HAVE_PLATFORM_IMX_I2C
133
- select IMX_HAVE_PLATFORM_IMX_SSI
134
- select IMX_HAVE_PLATFORM_IMX_UART
135
- select IMX_HAVE_PLATFORM_MX2_CAMERA
136
- select IMX_HAVE_PLATFORM_MX2_EMMA
137
- select IMX_HAVE_PLATFORM_MXC_EHCI
138
- select IMX_HAVE_PLATFORM_MXC_MMC
139
- select LEDS_GPIO_REGISTER
140
- select SOC_IMX27
141
- help
142
- Include support for Visstrim_m10 platform and its different variants.
143
- This includes specific configurations for the board and its
144
- peripherals.
145
-
146
-config MACH_PCA100
147
- bool "Phytec phyCARD-s (pca100)"
148
- select IMX_HAVE_PLATFORM_FSL_USB2_UDC
149
- select IMX_HAVE_PLATFORM_IMX2_WDT
150
- select IMX_HAVE_PLATFORM_IMX_FB
151
- select IMX_HAVE_PLATFORM_IMX_I2C
152
- select IMX_HAVE_PLATFORM_IMX_SSI
153
- select IMX_HAVE_PLATFORM_IMX_UART
154
- select IMX_HAVE_PLATFORM_MXC_EHCI
155
- select IMX_HAVE_PLATFORM_MXC_MMC
156
- select IMX_HAVE_PLATFORM_MXC_NAND
157
- select IMX_HAVE_PLATFORM_MXC_W1
158
- select IMX_HAVE_PLATFORM_SPI_IMX
159
- select USB_ULPI_VIEWPORT if USB_ULPI
160
- select SOC_IMX27
161
- help
162
- Include support for phyCARD-s (aka pca100) platform. This
163
- includes specific configurations for the module and its peripherals.
164
-
165
-config MACH_IMX27_DT
166
- bool "Support i.MX27 platforms from device tree"
167
- select SOC_IMX27
168
- help
169
- Include support for Freescale i.MX27 based platforms
170
- using the device tree for discovery
171
-
172
-endif
173
-
17450 if ARCH_MULTI_V6
17551
176
-comment "MX31 platforms:"
52
+comment "ARM1136 platforms"
17753
178
-config MACH_MX31ADS
179
- bool "Support MX31ADS platforms"
180
- default y
181
- select IMX_HAVE_PLATFORM_IMX_I2C
182
- select IMX_HAVE_PLATFORM_IMX_SSI
183
- select IMX_HAVE_PLATFORM_IMX_UART
184
- select SOC_IMX31
54
+config SOC_IMX31
55
+ bool "i.MX31 support"
56
+ select CPU_V6
57
+ select MXC_AVIC
18558 help
186
- Include support for MX31ADS platform. This includes specific
187
- configurations for the board and its peripherals.
59
+ This enables support for Freescale i.MX31 processor
18860
189
-config MACH_MX31ADS_WM1133_EV1
190
- bool "Support Wolfson Microelectronics 1133-EV1 module"
191
- depends on MACH_MX31ADS
192
- depends on MFD_WM8350_I2C
193
- depends on REGULATOR_WM8350 = y
61
+config SOC_IMX35
62
+ bool "i.MX35 support"
63
+ select MXC_AVIC
64
+ select PINCTRL_IMX35
19465 help
195
- Include support for the Wolfson Microelectronics 1133-EV1 PMU
196
- and audio module for the MX31ADS platform.
197
-
198
-config MACH_MX31LILLY
199
- bool "Support MX31 LILLY-1131 platforms (INCO startec)"
200
- select IMX_HAVE_PLATFORM_IMX_UART
201
- select IMX_HAVE_PLATFORM_IPU_CORE
202
- select IMX_HAVE_PLATFORM_MXC_EHCI
203
- select IMX_HAVE_PLATFORM_MXC_MMC
204
- select IMX_HAVE_PLATFORM_SPI_IMX
205
- select USB_ULPI_VIEWPORT if USB_ULPI
206
- select SOC_IMX31
207
- help
208
- Include support for mx31 based LILLY1131 modules. This includes
209
- specific configurations for the board and its peripherals.
210
-
211
-config MACH_MX31LITE
212
- bool "Support MX31 LITEKIT (LogicPD)"
213
- select IMX_HAVE_PLATFORM_IMX2_WDT
214
- select IMX_HAVE_PLATFORM_IMX_UART
215
- select IMX_HAVE_PLATFORM_MXC_EHCI
216
- select IMX_HAVE_PLATFORM_MXC_MMC
217
- select IMX_HAVE_PLATFORM_MXC_NAND
218
- select IMX_HAVE_PLATFORM_MXC_RTC
219
- select IMX_HAVE_PLATFORM_SPI_IMX
220
- select LEDS_GPIO_REGISTER
221
- select USB_ULPI_VIEWPORT if USB_ULPI
222
- select SOC_IMX31
223
- help
224
- Include support for MX31 LITEKIT platform. This includes specific
225
- configurations for the board and its peripherals.
226
-
227
-config MACH_PCM037
228
- bool "Support Phytec pcm037 (i.MX31) platforms"
229
- select IMX_HAVE_PLATFORM_FSL_USB2_UDC
230
- select IMX_HAVE_PLATFORM_IMX2_WDT
231
- select IMX_HAVE_PLATFORM_IMX_I2C
232
- select IMX_HAVE_PLATFORM_IMX_UART
233
- select IMX_HAVE_PLATFORM_IPU_CORE
234
- select IMX_HAVE_PLATFORM_MXC_EHCI
235
- select IMX_HAVE_PLATFORM_MXC_MMC
236
- select IMX_HAVE_PLATFORM_MXC_NAND
237
- select IMX_HAVE_PLATFORM_MXC_W1
238
- select USB_ULPI_VIEWPORT if USB_ULPI
239
- select SOC_IMX31
240
- help
241
- Include support for Phytec pcm037 platform. This includes
242
- specific configurations for the board and its peripherals.
243
-
244
-config MACH_PCM037_EET
245
- bool "Support pcm037 EET board extensions"
246
- depends on MACH_PCM037
247
- select IMX_HAVE_PLATFORM_GPIO_KEYS
248
- select IMX_HAVE_PLATFORM_SPI_IMX
249
- help
250
- Add support for PCM037 EET baseboard extensions. If you are using the
251
- OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
252
- command-line parameter.
253
-
254
-config MACH_MX31_3DS
255
- bool "Support MX31PDK (3DS)"
256
- select IMX_HAVE_PLATFORM_FSL_USB2_UDC
257
- select IMX_HAVE_PLATFORM_IMX2_WDT
258
- select IMX_HAVE_PLATFORM_IMX_I2C
259
- select IMX_HAVE_PLATFORM_IMX_KEYPAD
260
- select IMX_HAVE_PLATFORM_IMX_SSI
261
- select IMX_HAVE_PLATFORM_IMX_UART
262
- select IMX_HAVE_PLATFORM_IPU_CORE
263
- select IMX_HAVE_PLATFORM_MXC_EHCI
264
- select IMX_HAVE_PLATFORM_MXC_MMC
265
- select IMX_HAVE_PLATFORM_MXC_NAND
266
- select IMX_HAVE_PLATFORM_SPI_IMX
267
- select MXC_DEBUG_BOARD
268
- select USB_ULPI_VIEWPORT if USB_ULPI
269
- select SOC_IMX31
270
- help
271
- Include support for MX31PDK (3DS) platform. This includes specific
272
- configurations for the board and its peripherals.
273
-
274
-config MACH_MX31_3DS_MXC_NAND_USE_BBT
275
- bool "Make the MXC NAND driver use the in flash Bad Block Table"
276
- depends on MACH_MX31_3DS
277
- depends on MTD_NAND_MXC
278
- help
279
- Enable this if you want that the MXC NAND driver uses the in flash
280
- Bad Block Table to know what blocks are bad instead of scanning the
281
- entire flash looking for bad block markers.
282
-
283
-config MACH_MX31MOBOARD
284
- bool "Support mx31moboard platforms (EPFL Mobots group)"
285
- select IMX_HAVE_PLATFORM_FSL_USB2_UDC
286
- select IMX_HAVE_PLATFORM_IMX2_WDT
287
- select IMX_HAVE_PLATFORM_IMX_I2C
288
- select IMX_HAVE_PLATFORM_IMX_SSI
289
- select IMX_HAVE_PLATFORM_IMX_UART
290
- select IMX_HAVE_PLATFORM_IPU_CORE
291
- select IMX_HAVE_PLATFORM_MXC_EHCI
292
- select IMX_HAVE_PLATFORM_MXC_MMC
293
- select IMX_HAVE_PLATFORM_SPI_IMX
294
- select LEDS_GPIO_REGISTER
295
- select USB_ULPI_VIEWPORT if USB_ULPI
296
- select SOC_IMX31
297
- help
298
- Include support for mx31moboard platform. This includes specific
299
- configurations for the board and its peripherals.
300
-
301
-config MACH_QONG
302
- bool "Support Dave/DENX QongEVB-LITE platform"
303
- select IMX_HAVE_PLATFORM_IMX2_WDT
304
- select IMX_HAVE_PLATFORM_IMX_UART
305
- select SOC_IMX31
306
- help
307
- Include support for Dave/DENX QongEVB-LITE platform. This includes
308
- specific configurations for the board and its peripherals.
309
-
310
-config MACH_ARMADILLO5X0
311
- bool "Support Atmark Armadillo-500 Development Base Board"
312
- select IMX_HAVE_PLATFORM_GPIO_KEYS
313
- select IMX_HAVE_PLATFORM_IMX_I2C
314
- select IMX_HAVE_PLATFORM_IMX_UART
315
- select IMX_HAVE_PLATFORM_IPU_CORE
316
- select IMX_HAVE_PLATFORM_MXC_EHCI
317
- select IMX_HAVE_PLATFORM_MXC_MMC
318
- select IMX_HAVE_PLATFORM_MXC_NAND
319
- select USB_ULPI_VIEWPORT if USB_ULPI
320
- select SOC_IMX31
321
- help
322
- Include support for Atmark Armadillo-500 platform. This includes
323
- specific configurations for the board and its peripherals.
324
-
325
-config MACH_KZM_ARM11_01
326
- bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
327
- select IMX_HAVE_PLATFORM_IMX_UART
328
- select SOC_IMX31
329
- help
330
- Include support for KZM-ARM11-01. This includes specific
331
- configurations for the board and its peripherals.
332
-
333
-config MACH_BUG
334
- bool "Support Buglabs BUGBase platform"
335
- default y
336
- select IMX_HAVE_PLATFORM_IMX_UART
337
- select SOC_IMX31
338
- help
339
- Include support for BUGBase 1.3 platform. This includes specific
340
- configurations for the board and its peripherals.
341
-
342
-config MACH_IMX31_DT
343
- bool "Support i.MX31 platforms from device tree"
344
- select SOC_IMX31
345
- help
346
- Include support for Freescale i.MX31 based platforms
347
- using the device tree for discovery.
348
-
349
-comment "MX35 platforms:"
350
-
351
-config MACH_IMX35_DT
352
- bool "Support i.MX35 platforms from device tree"
353
- select SOC_IMX35
354
- help
355
- Include support for Freescale i.MX35 based platforms
356
- using the device tree for discovery.
357
-
358
-config MACH_PCM043
359
- bool "Support Phytec pcm043 (i.MX35) platforms"
360
- select IMX_HAVE_PLATFORM_FLEXCAN
361
- select IMX_HAVE_PLATFORM_FSL_USB2_UDC
362
- select IMX_HAVE_PLATFORM_IMX2_WDT
363
- select IMX_HAVE_PLATFORM_IMX_I2C
364
- select IMX_HAVE_PLATFORM_IMX_SSI
365
- select IMX_HAVE_PLATFORM_IMX_UART
366
- select IMX_HAVE_PLATFORM_IPU_CORE
367
- select IMX_HAVE_PLATFORM_MXC_EHCI
368
- select IMX_HAVE_PLATFORM_MXC_NAND
369
- select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
370
- select USB_ULPI_VIEWPORT if USB_ULPI
371
- select SOC_IMX35
372
- help
373
- Include support for Phytec pcm043 platform. This includes
374
- specific configurations for the board and its peripherals.
375
-
376
-config MACH_MX35_3DS
377
- bool "Support MX35PDK platform"
378
- select IMX_HAVE_PLATFORM_FSL_USB2_UDC
379
- select IMX_HAVE_PLATFORM_IMX2_WDT
380
- select IMX_HAVE_PLATFORM_IMX_FB
381
- select IMX_HAVE_PLATFORM_IMX_I2C
382
- select IMX_HAVE_PLATFORM_IMX_UART
383
- select IMX_HAVE_PLATFORM_IPU_CORE
384
- select IMX_HAVE_PLATFORM_MXC_EHCI
385
- select IMX_HAVE_PLATFORM_MXC_NAND
386
- select IMX_HAVE_PLATFORM_MXC_RTC
387
- select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
388
- select MXC_DEBUG_BOARD
389
- select SOC_IMX35
390
- help
391
- Include support for MX35PDK platform. This includes specific
392
- configurations for the board and its peripherals.
393
-
394
-config MACH_VPR200
395
- bool "Support VPR200 platform"
396
- select IMX_HAVE_PLATFORM_FSL_USB2_UDC
397
- select IMX_HAVE_PLATFORM_GPIO_KEYS
398
- select IMX_HAVE_PLATFORM_IMX2_WDT
399
- select IMX_HAVE_PLATFORM_IMX_I2C
400
- select IMX_HAVE_PLATFORM_IMX_UART
401
- select IMX_HAVE_PLATFORM_IPU_CORE
402
- select IMX_HAVE_PLATFORM_MXC_EHCI
403
- select IMX_HAVE_PLATFORM_MXC_NAND
404
- select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
405
- select SOC_IMX35
406
- help
407
- Include support for VPR200 platform. This includes specific
408
- configurations for the board and its peripherals.
66
+ This enables support for Freescale i.MX31 processor
40967
41068 endif
411
-
412
-comment "Device tree only"
41369
41470 if ARCH_MULTI_V4T
41571
....@@ -427,12 +83,20 @@
42783
42884 config SOC_IMX25
42985 bool "i.MX25 support"
430
- select ARCH_MXC_IOMUX_V3
43186 select CPU_ARM926T
43287 select MXC_AVIC
43388 select PINCTRL_IMX25
43489 help
43590 This enables support for Freescale i.MX25 processor
91
+
92
+config SOC_IMX27
93
+ bool "i.MX27 support"
94
+ select CPU_ARM926T
95
+ select MXC_AVIC
96
+ select PINCTRL_IMX27
97
+ help
98
+ This enables support for Freescale i.MX27 processor
99
+
436100 endif
437101
438102 if ARCH_MULTI_V7
....@@ -470,8 +134,6 @@
470134 config SOC_IMX6
471135 bool
472136 select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
473
- select ARM_ERRATA_754322
474
- select ARM_ERRATA_775420
475137 select ARM_GIC
476138 select HAVE_IMX_ANATOP
477139 select HAVE_IMX_GPC
....@@ -483,6 +145,8 @@
483145 config SOC_IMX6Q
484146 bool "i.MX6 Quad/DualLite support"
485147 select ARM_ERRATA_764369 if SMP
148
+ select ARM_ERRATA_754322
149
+ select ARM_ERRATA_775420
486150 select HAVE_ARM_SCU if SMP
487151 select HAVE_ARM_TWD
488152 select PINCTRL_IMX6Q
....@@ -493,6 +157,8 @@
493157
494158 config SOC_IMX6SL
495159 bool "i.MX6 SoloLite support"
160
+ select ARM_ERRATA_754322
161
+ select ARM_ERRATA_775420
496162 select PINCTRL_IMX6SL
497163 select SOC_IMX6
498164
....@@ -501,6 +167,8 @@
501167
502168 config SOC_IMX6SLL
503169 bool "i.MX6 SoloLiteLite support"
170
+ select ARM_ERRATA_754322
171
+ select ARM_ERRATA_775420
504172 select PINCTRL_IMX6SLL
505173 select SOC_IMX6
506174
....@@ -509,6 +177,8 @@
509177
510178 config SOC_IMX6SX
511179 bool "i.MX6 SoloX support"
180
+ select ARM_ERRATA_754322
181
+ select ARM_ERRATA_775420
512182 select PINCTRL_IMX6SX
513183 select SOC_IMX6
514184
....@@ -519,6 +189,7 @@
519189 bool "i.MX6 UltraLite support"
520190 select PINCTRL_IMX6UL
521191 select SOC_IMX6
192
+ select ARM_ERRATA_814220
522193
523194 help
524195 This enables support for Freescale i.MX6 UltraLite processor.
....@@ -533,9 +204,9 @@
533204
534205 endif
535206
536
-comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
537
-
538207 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
208
+
209
+comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
539210
540211 config SOC_IMX7D_CA7
541212 bool
....@@ -555,8 +226,18 @@
555226 select PINCTRL_IMX7D
556227 select SOC_IMX7D_CA7 if ARCH_MULTI_V7
557228 select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
229
+ select ARM_ERRATA_814220 if ARCH_MULTI_V7
558230 help
559231 This enables support for Freescale i.MX7 Dual processor.
232
+
233
+config SOC_IMX7ULP
234
+ bool "i.MX7ULP support"
235
+ select CLKSRC_IMX_TPM
236
+ select PINCTRL_IMX7ULP
237
+ select SOC_IMX7D_CA7 if ARCH_MULTI_V7
238
+ select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
239
+ help
240
+ This enables support for Freescale i.MX7 Ultra Low Power processor.
560241
561242 config SOC_VF610
562243 bool "Vybrid Family VF610 support"
....@@ -588,7 +269,5 @@
588269 endchoice
589270
590271 endif
591
-
592
-source "arch/arm/mach-imx/devices/Kconfig"
593272
594273 endif