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