]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/mach-imx/Kconfig
Merge tag 'mips_4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips
[mirror_ubuntu-eoan-kernel.git] / arch / arm / mach-imx / Kconfig
1 menuconfig ARCH_MXC
2 bool "Freescale i.MX family"
3 depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
4 select ARCH_SUPPORTS_BIG_ENDIAN
5 select CLKSRC_IMX_GPT
6 select GENERIC_IRQ_CHIP
7 select GPIOLIB
8 select PINCTRL
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
15 if ARCH_MXC
16
17 config MXC_TZIC
18 bool
19
20 config MXC_AVIC
21 bool
22
23 config MXC_DEBUG_BOARD
24 bool "Enable MXC debug board(for 3-stack)"
25 depends on MACH_MX27_3DS || MACH_MX31_3DS || MACH_MX35_3DS
26 help
27 The debug board is an integral part of the MXC 3-stack(PDK)
28 platforms, it can be attached or removed from the peripheral
29 board. On debug board, several debug devices(ethernet, UART,
30 buttons, LEDs and JTAG) are implemented. Between the MCU and
31 these devices, a CPLD is added as a bridge which performs
32 data/address de-multiplexing and decode, signal level shift,
33 interrupt control and various board functions.
34
35 config HAVE_IMX_ANATOP
36 bool
37
38 config HAVE_IMX_GPC
39 bool
40 select PM_GENERIC_DOMAINS if PM
41
42 config HAVE_IMX_MMDC
43 bool
44
45 config HAVE_IMX_SRC
46 def_bool y if SMP
47 select ARCH_HAS_RESET_CONTROLLER
48
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
174 if ARCH_MULTI_V6
175
176 comment "MX31 platforms:"
177
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
185 help
186 Include support for MX31ADS platform. This includes specific
187 configurations for the board and its peripherals.
188
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
194 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.
409
410 endif
411
412 comment "Device tree only"
413
414 if ARCH_MULTI_V4T
415
416 config SOC_IMX1
417 bool "i.MX1 support"
418 select CPU_ARM920T
419 select MXC_AVIC
420 select PINCTRL_IMX1
421 help
422 This enables support for Freescale i.MX1 processor
423
424 endif
425
426 if ARCH_MULTI_V5
427
428 config SOC_IMX25
429 bool "i.MX25 support"
430 select ARCH_MXC_IOMUX_V3
431 select CPU_ARM926T
432 select MXC_AVIC
433 select PINCTRL_IMX25
434 help
435 This enables support for Freescale i.MX25 processor
436 endif
437
438 if ARCH_MULTI_V7
439
440 comment "Cortex-A platforms"
441
442 config SOC_IMX5
443 bool
444 select HAVE_IMX_SRC
445 select MXC_TZIC
446
447 config SOC_IMX50
448 bool "i.MX50 support"
449 select PINCTRL_IMX50
450 select SOC_IMX5
451
452 help
453 This enables support for Freescale i.MX50 processor.
454
455 config SOC_IMX51
456 bool "i.MX51 support"
457 select PINCTRL_IMX51
458 select SOC_IMX5
459 help
460 This enables support for Freescale i.MX51 processor
461
462 config SOC_IMX53
463 bool "i.MX53 support"
464 select PINCTRL_IMX53
465 select SOC_IMX5
466
467 help
468 This enables support for Freescale i.MX53 processor.
469
470 config SOC_IMX6
471 bool
472 select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
473 select ARM_ERRATA_754322
474 select ARM_ERRATA_775420
475 select ARM_GIC
476 select HAVE_IMX_ANATOP
477 select HAVE_IMX_GPC
478 select HAVE_IMX_MMDC
479 select HAVE_IMX_SRC
480 select MFD_SYSCON
481 select PL310_ERRATA_769419 if CACHE_L2X0
482
483 config SOC_IMX6Q
484 bool "i.MX6 Quad/DualLite support"
485 select ARM_ERRATA_764369 if SMP
486 select HAVE_ARM_SCU if SMP
487 select HAVE_ARM_TWD
488 select PINCTRL_IMX6Q
489 select SOC_IMX6
490
491 help
492 This enables support for Freescale i.MX6 Quad processor.
493
494 config SOC_IMX6SL
495 bool "i.MX6 SoloLite support"
496 select PINCTRL_IMX6SL
497 select SOC_IMX6
498
499 help
500 This enables support for Freescale i.MX6 SoloLite processor.
501
502 config SOC_IMX6SLL
503 bool "i.MX6 SoloLiteLite support"
504 select SOC_IMX6
505
506 help
507 This enables support for Freescale i.MX6 SoloLiteLite processor.
508
509 config SOC_IMX6SX
510 bool "i.MX6 SoloX support"
511 select PINCTRL_IMX6SX
512 select SOC_IMX6
513
514 help
515 This enables support for Freescale i.MX6 SoloX processor.
516
517 config SOC_IMX6UL
518 bool "i.MX6 UltraLite support"
519 select PINCTRL_IMX6UL
520 select SOC_IMX6
521
522 help
523 This enables support for Freescale i.MX6 UltraLite processor.
524
525 config SOC_IMX7D
526 bool "i.MX7 Dual support"
527 select PINCTRL_IMX7D
528 select ARM_GIC
529 select HAVE_ARM_ARCH_TIMER
530 select HAVE_IMX_ANATOP
531 select HAVE_IMX_MMDC
532 select HAVE_IMX_SRC
533 select IMX_GPCV2
534 help
535 This enables support for Freescale i.MX7 Dual processor.
536
537 config SOC_LS1021A
538 bool "Freescale LS1021A support"
539 select ARM_GIC
540 select HAVE_ARM_ARCH_TIMER
541 select ZONE_DMA if ARM_LPAE
542 help
543 This enables support for Freescale LS1021A processor.
544
545 endif
546
547 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
548
549 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
550
551 config SOC_VF610
552 bool "Vybrid Family VF610 support"
553 select ARM_GIC if ARCH_MULTI_V7
554 select PINCTRL_VF610
555
556 help
557 This enables support for Freescale Vybrid VF610 processor.
558
559 choice
560 prompt "Clocksource for scheduler clock"
561 depends on SOC_VF610
562 default VF_USE_ARM_GLOBAL_TIMER
563
564 config VF_USE_ARM_GLOBAL_TIMER
565 bool "Use ARM Global Timer"
566 depends on ARCH_MULTI_V7
567 select ARM_GLOBAL_TIMER
568 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
569 help
570 Use the ARM Global Timer as clocksource
571
572 config VF_USE_PIT_TIMER
573 bool "Use PIT timer"
574 select VF_PIT_TIMER
575 help
576 Use SoC Periodic Interrupt Timer (PIT) as clocksource
577
578 endchoice
579
580 endif
581
582 source "arch/arm/mach-imx/devices/Kconfig"
583
584 endif