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