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