Merge tag 'drm-intel-next-fixes-2016-08-05' of git://anongit.freedesktop.org/drm...
[cascardo/linux.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_EPIT
36         bool
37
38 config MXC_USE_EPIT
39         bool "Use EPIT instead of GPT"
40         depends on HAVE_EPIT
41         help
42           Use EPIT as the system timer on systems that have it. Normally you
43           don't have a reason to do so as the EPIT has the same features and
44           uses the same clocks as the GPT. Anyway, on some systems the GPT
45           may be in use for other purposes.
46
47 config HAVE_IMX_ANATOP
48         bool
49
50 config HAVE_IMX_GPC
51         bool
52         select PM_GENERIC_DOMAINS if PM
53
54 config HAVE_IMX_MMDC
55         bool
56
57 config HAVE_IMX_SRC
58         def_bool y if SMP
59         select ARCH_HAS_RESET_CONTROLLER
60
61 config IMX_HAVE_IOMUX_V1
62         bool
63
64 config ARCH_MXC_IOMUX_V3
65         bool
66
67 config SOC_IMX1
68         bool
69         select CPU_ARM920T
70         select IMX_HAVE_IOMUX_V1
71         select MXC_AVIC
72         select PINCTRL_IMX1
73
74 config SOC_IMX21
75         bool
76         select CPU_ARM926T
77         select IMX_HAVE_IOMUX_V1
78         select MXC_AVIC
79
80 config SOC_IMX27
81         bool
82         select CPU_ARM926T
83         select IMX_HAVE_IOMUX_V1
84         select MXC_AVIC
85         select PINCTRL_IMX27
86
87 config SOC_IMX31
88         bool
89         select CPU_V6
90         select MXC_AVIC
91         select SMP_ON_UP if SMP
92
93 config SOC_IMX35
94         bool
95         select ARCH_MXC_IOMUX_V3
96         select HAVE_EPIT
97         select MXC_AVIC
98         select PINCTRL_IMX35
99         select SMP_ON_UP if SMP
100
101 if ARCH_MULTI_V4T
102
103 comment "MX1 platforms:"
104
105 config MACH_SCB9328
106         bool "Synertronixx scb9328"
107         select IMX_HAVE_PLATFORM_IMX_UART
108         select SOC_IMX1
109         help
110           Say Y here if you are using a Synertronixx scb9328 board
111
112 config MACH_APF9328
113         bool "APF9328"
114         select IMX_HAVE_PLATFORM_IMX_I2C
115         select IMX_HAVE_PLATFORM_IMX_UART
116         select SOC_IMX1
117         help
118           Say Yes here if you are using the Armadeus APF9328 development board
119
120 config MACH_IMX1_DT
121         bool "Support i.MX1 platforms from device tree"
122         select SOC_IMX1
123         help
124           Include support for Freescale i.MX1 based platforms
125           using the device tree for discovery.
126
127 endif
128
129 if ARCH_MULTI_V5
130
131 comment "MX21 platforms:"
132
133 config MACH_MX21ADS
134         bool "MX21ADS platform"
135         select IMX_HAVE_PLATFORM_IMX_FB
136         select IMX_HAVE_PLATFORM_IMX_UART
137         select IMX_HAVE_PLATFORM_MXC_MMC
138         select IMX_HAVE_PLATFORM_MXC_NAND
139         select SOC_IMX21
140         help
141           Include support for MX21ADS platform. This includes specific
142           configurations for the board and its peripherals.
143
144 comment "MX27 platforms:"
145
146 config MACH_MX27ADS
147         bool "MX27ADS platform"
148         select IMX_HAVE_PLATFORM_IMX_FB
149         select IMX_HAVE_PLATFORM_IMX_I2C
150         select IMX_HAVE_PLATFORM_IMX_UART
151         select IMX_HAVE_PLATFORM_MXC_MMC
152         select IMX_HAVE_PLATFORM_MXC_NAND
153         select IMX_HAVE_PLATFORM_MXC_W1
154         select SOC_IMX27
155         help
156           Include support for MX27ADS platform. This includes specific
157           configurations for the board and its peripherals.
158
159 config MACH_MX27_3DS
160         bool "MX27PDK platform"
161         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
162         select IMX_HAVE_PLATFORM_IMX2_WDT
163         select IMX_HAVE_PLATFORM_IMX_FB
164         select IMX_HAVE_PLATFORM_IMX_I2C
165         select IMX_HAVE_PLATFORM_IMX_KEYPAD
166         select IMX_HAVE_PLATFORM_IMX_SSI
167         select IMX_HAVE_PLATFORM_IMX_UART
168         select IMX_HAVE_PLATFORM_MX2_CAMERA
169         select IMX_HAVE_PLATFORM_MXC_EHCI
170         select IMX_HAVE_PLATFORM_MXC_MMC
171         select IMX_HAVE_PLATFORM_SPI_IMX
172         select MXC_DEBUG_BOARD
173         select USB_ULPI_VIEWPORT if USB_ULPI
174         select SOC_IMX27
175         help
176           Include support for MX27PDK platform. This includes specific
177           configurations for the board and its peripherals.
178
179 config MACH_IMX27_VISSTRIM_M10
180         bool "Vista Silicon i.MX27 Visstrim_m10"
181         select IMX_HAVE_PLATFORM_GPIO_KEYS
182         select IMX_HAVE_PLATFORM_IMX_I2C
183         select IMX_HAVE_PLATFORM_IMX_SSI
184         select IMX_HAVE_PLATFORM_IMX_UART
185         select IMX_HAVE_PLATFORM_MX2_CAMERA
186         select IMX_HAVE_PLATFORM_MX2_EMMA
187         select IMX_HAVE_PLATFORM_MXC_EHCI
188         select IMX_HAVE_PLATFORM_MXC_MMC
189         select LEDS_GPIO_REGISTER
190         select SOC_IMX27
191         help
192           Include support for Visstrim_m10 platform and its different variants.
193           This includes specific configurations for the board and its
194           peripherals.
195
196 config MACH_PCA100
197         bool "Phytec phyCARD-s (pca100)"
198         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
199         select IMX_HAVE_PLATFORM_IMX2_WDT
200         select IMX_HAVE_PLATFORM_IMX_FB
201         select IMX_HAVE_PLATFORM_IMX_I2C
202         select IMX_HAVE_PLATFORM_IMX_SSI
203         select IMX_HAVE_PLATFORM_IMX_UART
204         select IMX_HAVE_PLATFORM_MXC_EHCI
205         select IMX_HAVE_PLATFORM_MXC_MMC
206         select IMX_HAVE_PLATFORM_MXC_NAND
207         select IMX_HAVE_PLATFORM_MXC_W1
208         select IMX_HAVE_PLATFORM_SPI_IMX
209         select USB_ULPI_VIEWPORT if USB_ULPI
210         select SOC_IMX27
211         help
212           Include support for phyCARD-s (aka pca100) platform. This
213           includes specific configurations for the module and its peripherals.
214
215 config MACH_IMX27_DT
216         bool "Support i.MX27 platforms from device tree"
217         select SOC_IMX27
218         help
219           Include support for Freescale i.MX27 based platforms
220           using the device tree for discovery
221
222 endif
223
224 if ARCH_MULTI_V6
225
226 comment "MX31 platforms:"
227
228 config MACH_MX31ADS
229         bool "Support MX31ADS platforms"
230         default y
231         select IMX_HAVE_PLATFORM_IMX_I2C
232         select IMX_HAVE_PLATFORM_IMX_SSI
233         select IMX_HAVE_PLATFORM_IMX_UART
234         select SOC_IMX31
235         help
236           Include support for MX31ADS platform. This includes specific
237           configurations for the board and its peripherals.
238
239 config MACH_MX31ADS_WM1133_EV1
240         bool "Support Wolfson Microelectronics 1133-EV1 module"
241         depends on MACH_MX31ADS
242         depends on MFD_WM8350_I2C
243         depends on REGULATOR_WM8350 = y
244         help
245           Include support for the Wolfson Microelectronics 1133-EV1 PMU
246           and audio module for the MX31ADS platform.
247
248 config MACH_MX31LILLY
249         bool "Support MX31 LILLY-1131 platforms (INCO startec)"
250         select IMX_HAVE_PLATFORM_IMX_UART
251         select IMX_HAVE_PLATFORM_IPU_CORE
252         select IMX_HAVE_PLATFORM_MXC_EHCI
253         select IMX_HAVE_PLATFORM_MXC_MMC
254         select IMX_HAVE_PLATFORM_SPI_IMX
255         select USB_ULPI_VIEWPORT if USB_ULPI
256         select SOC_IMX31
257         help
258           Include support for mx31 based LILLY1131 modules. This includes
259           specific configurations for the board and its peripherals.
260
261 config MACH_MX31LITE
262         bool "Support MX31 LITEKIT (LogicPD)"
263         select IMX_HAVE_PLATFORM_IMX2_WDT
264         select IMX_HAVE_PLATFORM_IMX_UART
265         select IMX_HAVE_PLATFORM_MXC_EHCI
266         select IMX_HAVE_PLATFORM_MXC_MMC
267         select IMX_HAVE_PLATFORM_MXC_NAND
268         select IMX_HAVE_PLATFORM_MXC_RTC
269         select IMX_HAVE_PLATFORM_SPI_IMX
270         select LEDS_GPIO_REGISTER
271         select USB_ULPI_VIEWPORT if USB_ULPI
272         select SOC_IMX31
273         help
274           Include support for MX31 LITEKIT platform. This includes specific
275           configurations for the board and its peripherals.
276
277 config MACH_PCM037
278         bool "Support Phytec pcm037 (i.MX31) platforms"
279         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
280         select IMX_HAVE_PLATFORM_IMX2_WDT
281         select IMX_HAVE_PLATFORM_IMX_I2C
282         select IMX_HAVE_PLATFORM_IMX_UART
283         select IMX_HAVE_PLATFORM_IPU_CORE
284         select IMX_HAVE_PLATFORM_MXC_EHCI
285         select IMX_HAVE_PLATFORM_MXC_MMC
286         select IMX_HAVE_PLATFORM_MXC_NAND
287         select IMX_HAVE_PLATFORM_MXC_W1
288         select USB_ULPI_VIEWPORT if USB_ULPI
289         select SOC_IMX31
290         help
291           Include support for Phytec pcm037 platform. This includes
292           specific configurations for the board and its peripherals.
293
294 config MACH_PCM037_EET
295         bool "Support pcm037 EET board extensions"
296         depends on MACH_PCM037
297         select IMX_HAVE_PLATFORM_GPIO_KEYS
298         select IMX_HAVE_PLATFORM_SPI_IMX
299         help
300           Add support for PCM037 EET baseboard extensions. If you are using the
301           OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
302           command-line parameter.
303
304 config MACH_MX31_3DS
305         bool "Support MX31PDK (3DS)"
306         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
307         select IMX_HAVE_PLATFORM_IMX2_WDT
308         select IMX_HAVE_PLATFORM_IMX_I2C
309         select IMX_HAVE_PLATFORM_IMX_KEYPAD
310         select IMX_HAVE_PLATFORM_IMX_SSI
311         select IMX_HAVE_PLATFORM_IMX_UART
312         select IMX_HAVE_PLATFORM_IPU_CORE
313         select IMX_HAVE_PLATFORM_MXC_EHCI
314         select IMX_HAVE_PLATFORM_MXC_MMC
315         select IMX_HAVE_PLATFORM_MXC_NAND
316         select IMX_HAVE_PLATFORM_SPI_IMX
317         select MXC_DEBUG_BOARD
318         select USB_ULPI_VIEWPORT if USB_ULPI
319         select SOC_IMX31
320         help
321           Include support for MX31PDK (3DS) platform. This includes specific
322           configurations for the board and its peripherals.
323
324 config MACH_MX31_3DS_MXC_NAND_USE_BBT
325         bool "Make the MXC NAND driver use the in flash Bad Block Table"
326         depends on MACH_MX31_3DS
327         depends on MTD_NAND_MXC
328         help
329           Enable this if you want that the MXC NAND driver uses the in flash
330           Bad Block Table to know what blocks are bad instead of scanning the
331           entire flash looking for bad block markers.
332
333 config MACH_MX31MOBOARD
334         bool "Support mx31moboard platforms (EPFL Mobots group)"
335         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
336         select IMX_HAVE_PLATFORM_IMX2_WDT
337         select IMX_HAVE_PLATFORM_IMX_I2C
338         select IMX_HAVE_PLATFORM_IMX_SSI
339         select IMX_HAVE_PLATFORM_IMX_UART
340         select IMX_HAVE_PLATFORM_IPU_CORE
341         select IMX_HAVE_PLATFORM_MXC_EHCI
342         select IMX_HAVE_PLATFORM_MXC_MMC
343         select IMX_HAVE_PLATFORM_SPI_IMX
344         select LEDS_GPIO_REGISTER
345         select USB_ULPI_VIEWPORT if USB_ULPI
346         select SOC_IMX31
347         help
348           Include support for mx31moboard platform. This includes specific
349           configurations for the board and its peripherals.
350
351 config MACH_QONG
352         bool "Support Dave/DENX QongEVB-LITE platform"
353         select IMX_HAVE_PLATFORM_IMX2_WDT
354         select IMX_HAVE_PLATFORM_IMX_UART
355         select SOC_IMX31
356         help
357           Include support for Dave/DENX QongEVB-LITE platform. This includes
358           specific configurations for the board and its peripherals.
359
360 config MACH_ARMADILLO5X0
361         bool "Support Atmark Armadillo-500 Development Base Board"
362         select IMX_HAVE_PLATFORM_GPIO_KEYS
363         select IMX_HAVE_PLATFORM_IMX_I2C
364         select IMX_HAVE_PLATFORM_IMX_UART
365         select IMX_HAVE_PLATFORM_IPU_CORE
366         select IMX_HAVE_PLATFORM_MXC_EHCI
367         select IMX_HAVE_PLATFORM_MXC_MMC
368         select IMX_HAVE_PLATFORM_MXC_NAND
369         select USB_ULPI_VIEWPORT if USB_ULPI
370         select SOC_IMX31
371         help
372           Include support for Atmark Armadillo-500 platform. This includes
373           specific configurations for the board and its peripherals.
374
375 config MACH_KZM_ARM11_01
376         bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
377         select IMX_HAVE_PLATFORM_IMX_UART
378         select SOC_IMX31
379         help
380           Include support for KZM-ARM11-01. This includes specific
381           configurations for the board and its peripherals.
382
383 config MACH_BUG
384         bool "Support Buglabs BUGBase platform"
385         default y
386         select IMX_HAVE_PLATFORM_IMX_UART
387         select SOC_IMX31
388         help
389           Include support for BUGBase 1.3 platform. This includes specific
390           configurations for the board and its peripherals.
391
392 config MACH_IMX31_DT
393         bool "Support i.MX31 platforms from device tree"
394         select SOC_IMX31
395         help
396           Include support for Freescale i.MX31 based platforms
397           using the device tree for discovery.
398
399 comment "MX35 platforms:"
400
401 config MACH_IMX35_DT
402         bool "Support i.MX35 platforms from device tree"
403         select SOC_IMX35
404         help
405           Include support for Freescale i.MX35 based platforms
406           using the device tree for discovery.
407
408 config MACH_PCM043
409         bool "Support Phytec pcm043 (i.MX35) platforms"
410         select IMX_HAVE_PLATFORM_FLEXCAN
411         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
412         select IMX_HAVE_PLATFORM_IMX2_WDT
413         select IMX_HAVE_PLATFORM_IMX_I2C
414         select IMX_HAVE_PLATFORM_IMX_SSI
415         select IMX_HAVE_PLATFORM_IMX_UART
416         select IMX_HAVE_PLATFORM_IPU_CORE
417         select IMX_HAVE_PLATFORM_MXC_EHCI
418         select IMX_HAVE_PLATFORM_MXC_NAND
419         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
420         select USB_ULPI_VIEWPORT if USB_ULPI
421         select SOC_IMX35
422         help
423           Include support for Phytec pcm043 platform. This includes
424           specific configurations for the board and its peripherals.
425
426 config MACH_MX35_3DS
427         bool "Support MX35PDK platform"
428         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
429         select IMX_HAVE_PLATFORM_IMX2_WDT
430         select IMX_HAVE_PLATFORM_IMX_FB
431         select IMX_HAVE_PLATFORM_IMX_I2C
432         select IMX_HAVE_PLATFORM_IMX_UART
433         select IMX_HAVE_PLATFORM_IPU_CORE
434         select IMX_HAVE_PLATFORM_MXC_EHCI
435         select IMX_HAVE_PLATFORM_MXC_NAND
436         select IMX_HAVE_PLATFORM_MXC_RTC
437         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
438         select MXC_DEBUG_BOARD
439         select SOC_IMX35
440         help
441           Include support for MX35PDK platform. This includes specific
442           configurations for the board and its peripherals.
443
444 config MACH_VPR200
445         bool "Support VPR200 platform"
446         select IMX_HAVE_PLATFORM_FSL_USB2_UDC
447         select IMX_HAVE_PLATFORM_GPIO_KEYS
448         select IMX_HAVE_PLATFORM_IMX2_WDT
449         select IMX_HAVE_PLATFORM_IMX_I2C
450         select IMX_HAVE_PLATFORM_IMX_UART
451         select IMX_HAVE_PLATFORM_IPU_CORE
452         select IMX_HAVE_PLATFORM_MXC_EHCI
453         select IMX_HAVE_PLATFORM_MXC_NAND
454         select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
455         select SOC_IMX35
456         help
457           Include support for VPR200 platform. This includes specific
458           configurations for the board and its peripherals.
459
460 endif
461
462 comment "Device tree only"
463
464 if ARCH_MULTI_V5
465
466 config SOC_IMX25
467         bool "i.MX25 support"
468         select ARCH_MXC_IOMUX_V3
469         select CPU_ARM926T
470         select MXC_AVIC
471         select PINCTRL_IMX25
472         help
473           This enables support for Freescale i.MX25 processor
474 endif
475
476 if ARCH_MULTI_V7
477
478 comment "Cortex-A platforms"
479
480 config SOC_IMX5
481         bool
482         select HAVE_IMX_SRC
483         select MXC_TZIC
484
485 config  SOC_IMX50
486         bool "i.MX50 support"
487         select PINCTRL_IMX50
488         select SOC_IMX5
489
490         help
491           This enables support for Freescale i.MX50 processor.
492
493 config SOC_IMX51
494         bool "i.MX51 support"
495         select PINCTRL_IMX51
496         select SOC_IMX5
497         help
498           This enables support for Freescale i.MX51 processor
499
500 config  SOC_IMX53
501         bool "i.MX53 support"
502         select PINCTRL_IMX53
503         select SOC_IMX5
504
505         help
506           This enables support for Freescale i.MX53 processor.
507
508 config SOC_IMX6
509         bool
510         select ARM_CPU_SUSPEND if PM
511         select ARM_ERRATA_754322
512         select ARM_ERRATA_775420
513         select ARM_GIC
514         select HAVE_IMX_ANATOP
515         select HAVE_IMX_GPC
516         select HAVE_IMX_MMDC
517         select HAVE_IMX_SRC
518         select MFD_SYSCON
519         select PL310_ERRATA_769419 if CACHE_L2X0
520
521 config SOC_IMX6Q
522         bool "i.MX6 Quad/DualLite support"
523         select ARM_ERRATA_764369 if SMP
524         select HAVE_ARM_SCU if SMP
525         select HAVE_ARM_TWD
526         select PCI_DOMAINS if PCI
527         select PINCTRL_IMX6Q
528         select SOC_IMX6
529
530         help
531           This enables support for Freescale i.MX6 Quad processor.
532
533 config SOC_IMX6SL
534         bool "i.MX6 SoloLite support"
535         select PINCTRL_IMX6SL
536         select SOC_IMX6
537
538         help
539           This enables support for Freescale i.MX6 SoloLite processor.
540
541 config SOC_IMX6SX
542         bool "i.MX6 SoloX support"
543         select PINCTRL_IMX6SX
544         select SOC_IMX6
545
546         help
547           This enables support for Freescale i.MX6 SoloX processor.
548
549 config SOC_IMX6UL
550         bool "i.MX6 UltraLite support"
551         select PINCTRL_IMX6UL
552         select SOC_IMX6
553
554         help
555           This enables support for Freescale i.MX6 UltraLite processor.
556
557 config SOC_IMX7D
558         bool "i.MX7 Dual support"
559         select PINCTRL_IMX7D
560         select ARM_GIC
561         select HAVE_ARM_ARCH_TIMER
562         select HAVE_IMX_ANATOP
563         select HAVE_IMX_MMDC
564         select HAVE_IMX_SRC
565         help
566                 This enables support for Freescale i.MX7 Dual processor.
567
568 config SOC_LS1021A
569         bool "Freescale LS1021A support"
570         select ARM_GIC
571         select HAVE_ARM_ARCH_TIMER
572         select PCI_DOMAINS if PCI
573         select ZONE_DMA if ARM_LPAE
574         help
575           This enables support for Freescale LS1021A processor.
576
577 endif
578
579 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
580
581 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
582
583 config SOC_VF610
584         bool "Vybrid Family VF610 support"
585         select ARM_GIC if ARCH_MULTI_V7
586         select PINCTRL_VF610
587         select PL310_ERRATA_769419 if CACHE_L2X0
588         select SMP_ON_UP if SMP
589
590         help
591           This enables support for Freescale Vybrid VF610 processor.
592
593 choice
594         prompt "Clocksource for scheduler clock"
595         depends on SOC_VF610
596         default VF_USE_ARM_GLOBAL_TIMER
597
598         config VF_USE_ARM_GLOBAL_TIMER
599                 bool "Use ARM Global Timer"
600                 depends on ARCH_MULTI_V7
601                 select ARM_GLOBAL_TIMER
602                 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
603                 help
604                   Use the ARM Global Timer as clocksource
605
606         config VF_USE_PIT_TIMER
607                 bool "Use PIT timer"
608                 select VF_PIT_TIMER
609                 help
610                   Use SoC Periodic Interrupt Timer (PIT) as clocksource
611
612 endchoice
613
614 endif
615
616 source "arch/arm/mach-imx/devices/Kconfig"
617
618 endif