Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6.git] / arch / arm / mach-s3c24xx / Kconfig
blob0adb2b85f830ff5d17b8285802b9feeef4fc9038
1 # arch/arm/mach-s3c24xx/Kconfig
3 # Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 #               http://www.samsung.com/
6 # Copyright 2007 Simtec Electronics
8 # Licensed under GPLv2
10 if ARCH_S3C24XX
12 config PLAT_S3C24XX
13         def_bool y
14         select ARCH_REQUIRE_GPIOLIB
15         select NO_IOPORT
16         select S3C_DEV_NAND
17         select IRQ_DOMAIN
18         help
19           Base platform code for any Samsung S3C24XX device
21 menu "SAMSUNG S3C24XX SoCs Support"
23 comment "S3C24XX SoCs"
25 config CPU_S3C2410
26         bool "SAMSUNG S3C2410"
27         default y
28         select CPU_ARM920T
29         select CPU_LLSERIAL_S3C2410
30         select S3C2410_CLOCK
31         select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX
32         select S3C2410_PM if PM
33         select SAMSUNG_HRT
34         select SAMSUNG_WDT_RESET
35         help
36           Support for S3C2410 and S3C2410A family from the S3C24XX line
37           of Samsung Mobile CPUs.
39 config CPU_S3C2412
40         bool "SAMSUNG S3C2412"
41         select CPU_ARM926T
42         select CPU_LLSERIAL_S3C2440
43         select S3C2412_DMA if S3C24XX_DMA
44         select S3C2412_PM if PM
45         select SAMSUNG_HRT
46         help
47           Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
49 config CPU_S3C2416
50         bool "SAMSUNG S3C2416/S3C2450"
51         select CPU_ARM926T
52         select CPU_LLSERIAL_S3C2440
53         select S3C2416_PM if PM
54         select S3C2443_COMMON
55         select S3C2443_DMA if S3C24XX_DMA
56         select SAMSUNG_CLKSRC
57         select SAMSUNG_HRT
58         help
59           Support for the S3C2416 SoC from the S3C24XX line
61 config CPU_S3C2440
62         bool "SAMSUNG S3C2440"
63         select CPU_ARM920T
64         select CPU_LLSERIAL_S3C2440
65         select S3C2410_CLOCK
66         select S3C2410_PM if PM
67         select S3C2440_DMA if S3C24XX_DMA
68         select SAMSUNG_HRT
69         help
70           Support for S3C2440 Samsung Mobile CPU based systems.
72 config CPU_S3C2442
73         bool "SAMSUNG S3C2442"
74         select CPU_ARM920T
75         select CPU_LLSERIAL_S3C2440
76         select S3C2410_CLOCK
77         select S3C2410_PM if PM
78         select SAMSUNG_HRT
79         help
80           Support for S3C2442 Samsung Mobile CPU based systems.
82 config CPU_S3C244X
83         def_bool y
84         depends on CPU_S3C2440 || CPU_S3C2442
85         select SAMSUNG_WDT_RESET
87 config CPU_S3C2443
88         bool "SAMSUNG S3C2443"
89         select CPU_ARM920T
90         select CPU_LLSERIAL_S3C2440
91         select S3C2443_COMMON
92         select S3C2443_DMA if S3C24XX_DMA
93         select SAMSUNG_CLKSRC
94         select SAMSUNG_HRT
95         help
96           Support for the S3C2443 SoC from the S3C24XX line
98 # common code
100 config S3C2410_CLOCK
101         bool
102         help
103           Clock code for the S3C2410, and similar processors which
104           is currently includes the S3C2410, S3C2440, S3C2442.
106 config S3C24XX_DCLK
107         bool
108         help
109           Clock code for supporting DCLK/CLKOUT on S3C24XX architectures
111 config S3C24XX_SMDK
112         bool
113         help
114           Common machine code for SMDK2410 and SMDK2440
116 config S3C24XX_SIMTEC_AUDIO
117         bool
118         depends on (ARCH_BAST || MACH_VR1000 || MACH_OSIRIS || MACH_ANUBIS)
119         default y
120         help
121           Add audio devices for common Simtec S3C24XX boards
123 config S3C24XX_SIMTEC_PM
124         bool
125         help
126           Common power management code for systems that are
127           compatible with the Simtec style of power management
129 config S3C24XX_SIMTEC_USB
130         bool
131         help
132           USB management code for common Simtec S3C24XX boards
134 config S3C24XX_SETUP_TS
135         bool
136         help
137           Compile in platform device definition for Samsung TouchScreen.
139 config S3C24XX_DMA
140         bool "S3C2410 DMA support"
141         select S3C_DMA
142         help
143           S3C2410 DMA support. This is needed for drivers like sound which
144           use the S3C2410's DMA system to move data to and from the
145           peripheral blocks.
147 config S3C2410_DMA_DEBUG
148         bool "S3C2410 DMA support debug"
149         depends on S3C2410_DMA
150         help
151           Enable debugging output for the DMA code. This option sends info
152           to the kernel log, at priority KERN_DEBUG.
154 config S3C2410_DMA
155         bool
156         depends on S3C24XX_DMA && (CPU_S3C2410 || CPU_S3C2442)
157         default y if CPU_S3C2410 || CPU_S3C2442
158         help
159           DMA device selection for S3C2410 and compatible CPUs
161 config S3C2410_PM
162         bool
163         help
164           Power Management code common to S3C2410 and better
166 # low-level serial option nodes
168 config CPU_LLSERIAL_S3C2410_ONLY
169         bool
170         default y if CPU_LLSERIAL_S3C2410 && !CPU_LLSERIAL_S3C2440
172 config CPU_LLSERIAL_S3C2440_ONLY
173         bool
174         default y if CPU_LLSERIAL_S3C2440 && !CPU_LLSERIAL_S3C2410
176 config CPU_LLSERIAL_S3C2410
177         bool
178         help
179           Selected if there is an S3C2410 (or register compatible) serial
180           low-level implementation needed
182 config CPU_LLSERIAL_S3C2440
183         bool
184         help
185           Selected if there is an S3C2440 (or register compatible) serial
186           low-level implementation needed
188 # gpio configurations
190 config S3C24XX_GPIO_EXTRA
191         int
192         default 128 if S3C24XX_GPIO_EXTRA128
193         default 64 if S3C24XX_GPIO_EXTRA64
194         default 16 if ARCH_H1940
195         default 0
197 config S3C24XX_GPIO_EXTRA64
198         bool
199         help
200           Add an extra 64 gpio numbers to the available GPIO pool. This is
201           available for boards that need extra gpios for external devices.
203 config S3C24XX_GPIO_EXTRA128
204         bool
205         help
206           Add an extra 128 gpio numbers to the available GPIO pool. This is
207           available for boards that need extra gpios for external devices.
209 # cpu frequency items common between s3c2410 and s3c2440/s3c2442
211 config S3C2410_IOTIMING
212         bool
213         depends on CPU_FREQ_S3C24XX
214         help
215           Internal node to select io timing code that is common to the s3c2410
216           and s3c2440/s3c2442 cpu frequency support.
218 config S3C2410_CPUFREQ_UTILS
219         bool
220         depends on CPU_FREQ_S3C24XX
221         help
222           Internal node to select timing code that is common to the s3c2410
223           and s3c2440/s3c244 cpu frequency support.
225 # cpu frequency support common to s3c2412, s3c2413 and s3c2442
227 config S3C2412_IOTIMING
228         bool
229         depends on CPU_FREQ_S3C24XX && (CPU_S3C2412 || CPU_S3C2443)
230         help
231           Intel node to select io timing code that is common to the s3c2412
232           and the s3c2443.
234 # cpu-specific sections
236 if CPU_S3C2410
238 config S3C2410_CPUFREQ
239         bool
240         depends on CPU_FREQ_S3C24XX
241         select S3C2410_CPUFREQ_UTILS
242         help
243           CPU Frequency scaling support for S3C2410
245 config S3C2410_PLL
246         bool
247         depends on S3C2410_CPUFREQ && CPU_FREQ_S3C24XX_PLL
248         default y
249         help
250           Select the PLL table for the S3C2410
252 config S3C24XX_SIMTEC_NOR
253         bool
254         help
255           Internal node to specify machine has simtec NOR mapping
257 config MACH_BAST_IDE
258         bool
259         select HAVE_PATA_PLATFORM
260         help
261           Internal node for machines with an BAST style IDE
262           interface
264 comment "S3C2410 Boards"
267 # The "S3C2410 Boards" list is ordered alphabetically by option text.
268 # (without ARCH_ or MACH_)
271 config MACH_AML_M5900
272         bool "AML M5900 Series"
273         select S3C24XX_SIMTEC_PM if PM
274         select S3C_DEV_USB_HOST
275         help
276           Say Y here if you are using the American Microsystems M5900 Series
277           <http://www.amltd.com>
279 config ARCH_BAST
280         bool "Simtec Electronics BAST (EB2410ITX)"
281         select ISA
282         select MACH_BAST_IDE
283         select S3C2410_IOTIMING if S3C2410_CPUFREQ
284         select S3C24XX_DCLK
285         select S3C24XX_SIMTEC_NOR
286         select S3C24XX_SIMTEC_PM if PM
287         select S3C24XX_SIMTEC_USB
288         select S3C_DEV_HWMON
289         select S3C_DEV_NAND
290         select S3C_DEV_USB_HOST
291         help
292           Say Y here if you are using the Simtec Electronics EB2410ITX
293           development board (also known as BAST)
295 config BAST_PC104_IRQ
296         bool "BAST PC104 IRQ support"
297         depends on ARCH_BAST
298         default y
299         help
300           Say Y here to enable the PC104 IRQ routing on the
301           Simtec BAST (EB2410ITX)
303 config ARCH_H1940
304         bool "IPAQ H1940"
305         select PM_H1940 if PM
306         select S3C24XX_SETUP_TS
307         select S3C_DEV_NAND
308         select S3C_DEV_USB_HOST
309         help
310           Say Y here if you are using the HP IPAQ H1940
312 config H1940BT
313         tristate "Control the state of H1940 bluetooth chip"
314         depends on ARCH_H1940
315         select RFKILL
316         help
317           This is a simple driver that is able to control
318           the state of built in bluetooth chip on h1940.
320 config PM_H1940
321         bool
322         help
323           Internal node for H1940 and related PM
325 config MACH_N30
326         bool "Acer N30 family"
327         select S3C_DEV_NAND
328         select S3C_DEV_USB_HOST
329         help
330           Say Y here if you want suppt for the Acer N30, Acer N35,
331           Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
333 config MACH_OTOM
334         bool "NexVision OTOM Board"
335         select S3C_DEV_NAND
336         select S3C_DEV_USB_HOST
337         help
338           Say Y here if you are using the Nex Vision OTOM board
340 config MACH_QT2410
341         bool "QT2410"
342         select S3C_DEV_NAND
343         select S3C_DEV_USB_HOST
344         help
345           Say Y here if you are using the Armzone QT2410
347 config ARCH_SMDK2410
348         bool "SMDK2410/A9M2410"
349         select S3C24XX_SMDK
350         select S3C_DEV_USB_HOST
351         help
352           Say Y here if you are using the SMDK2410 or the derived module A9M2410
353           <http://www.fsforth.de>
355 config MACH_TCT_HAMMER
356         bool "TCT Hammer Board"
357         select S3C_DEV_USB_HOST
358         help
359           Say Y here if you are using the TinCanTools Hammer Board
360           <http://www.tincantools.com>
362 config MACH_VR1000
363         bool "Thorcom VR1000"
364         select MACH_BAST_IDE
365         select S3C24XX_DCLK
366         select S3C24XX_SIMTEC_NOR
367         select S3C24XX_SIMTEC_PM if PM
368         select S3C24XX_SIMTEC_USB
369         select S3C_DEV_USB_HOST
370         help
371           Say Y here if you are using the Thorcom VR1000 board.
373 endif   # CPU_S3C2410
375 config S3C2412_PM_SLEEP
376         bool
377         help
378           Internal config node to apply sleep for S3C2412 power management.
379           Can be selected by another SoCs such as S3C2416 with similar
380           sleep procedure.
382 if CPU_S3C2412
384 config CPU_S3C2412_ONLY
385         bool
386         depends on !CPU_S3C2410 && !CPU_S3C2416 && !CPU_S3C2440 && \
387                    !CPU_S3C2442 && !CPU_S3C2443
388         default y
390 config S3C2412_CPUFREQ
391         bool
392         depends on CPU_FREQ_S3C24XX
393         default y
394         select S3C2412_IOTIMING
395         help
396           CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
398 config S3C2412_DMA
399         bool
400         help
401           Internal config node for S3C2412 DMA support
403 config S3C2412_PM
404         bool
405         select S3C2412_PM_SLEEP
406         select SAMSUNG_WAKEMASK
407         help
408           Internal config node to apply S3C2412 power management
410 comment "S3C2412 Boards"
413 # The "S3C2412 Boards" list is ordered alphabetically by option text.
414 # (without ARCH_ or MACH_)
417 config MACH_JIVE
418         bool "Logitech Jive"
419         select S3C_DEV_NAND
420         select S3C_DEV_USB_HOST
421         help
422           Say Y here if you are using the Logitech Jive.
424 config MACH_JIVE_SHOW_BOOTLOADER
425         bool "Allow access to bootloader partitions in MTD"
426         depends on MACH_JIVE
428 config MACH_S3C2413
429         bool
430         help
431           Internal node for S3C2413 version of SMDK2413, so that
432           machine_is_s3c2413() will work when MACH_SMDK2413 is
433           selected
435 config MACH_SMDK2412
436         bool "SMDK2412"
437         select MACH_SMDK2413
438         help
439           Say Y here if you are using an SMDK2412
441           Note, this shares support with SMDK2413, so will automatically
442           select MACH_SMDK2413.
444 config MACH_SMDK2413
445         bool "SMDK2413"
446         select MACH_S3C2413
447         select S3C24XX_SMDK
448         select S3C_DEV_NAND
449         select S3C_DEV_USB_HOST
450         help
451           Say Y here if you are using an SMDK2413
453 config MACH_VSTMS
454         bool "VMSTMS"
455         select S3C_DEV_NAND
456         select S3C_DEV_USB_HOST
457         help
458           Say Y here if you are using an VSTMS board
460 endif   # CPU_S3C2412
462 if CPU_S3C2416
464 config S3C2416_PM
465         bool
466         select S3C2412_PM_SLEEP
467         help
468           Internal config node to apply S3C2416 power management
470 config S3C2416_SETUP_SDHCI
471         bool
472         select S3C2416_SETUP_SDHCI_GPIO
473         help
474           Internal helper functions for S3C2416 based SDHCI systems
476 config S3C2416_SETUP_SDHCI_GPIO
477         bool
478         help
479           Common setup code for SDHCI gpio.
481 comment "S3C2416 Boards"
483 config MACH_SMDK2416
484         bool "SMDK2416"
485         select S3C2416_SETUP_SDHCI
486         select S3C24XX_SMDK
487         select S3C_DEV_FB
488         select S3C_DEV_HSMMC
489         select S3C_DEV_HSMMC1
490         select S3C_DEV_NAND
491         select S3C_DEV_USB_HOST
492         help
493           Say Y here if you are using an SMDK2416
495 config MACH_S3C2416_DT
496         bool "Samsung S3C2416 machine using devicetree"
497         select CLKSRC_OF
498         select USE_OF
499         select PINCTRL
500         select PINCTRL_S3C24XX
501         help
502           Machine support for Samsung S3C2416 machines with device tree enabled.
503           Select this if a fdt blob is available for the S3C2416 SoC based board.
504           Note: This is under development and not all peripherals can be supported
505           with this machine file.
507 endif   # CPU_S3C2416
509 if CPU_S3C2440
511 config S3C2440_CPUFREQ
512         bool "S3C2440/S3C2442 CPU Frequency scaling support"
513         depends on CPU_FREQ_S3C24XX && (CPU_S3C2440 || CPU_S3C2442)
514         default y
515         select S3C2410_CPUFREQ_UTILS
516         help
517           CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
519 config S3C2440_DMA
520         bool
521         help
522           Support for S3C2440 specific DMA code5A
524 config S3C2440_XTAL_12000000
525         bool
526         help
527           Indicate that the build needs to support 12MHz system
528           crystal.
530 config S3C2440_XTAL_16934400
531         bool
532         help
533           Indicate that the build needs to support 16.9344MHz system
534           crystal.
536 config S3C2440_PLL_12000000
537         bool
538         depends on S3C2440_CPUFREQ && S3C2440_XTAL_12000000
539         default y if CPU_FREQ_S3C24XX_PLL
540         help
541           PLL tables for S3C2440 or S3C2442 CPUs with 12MHz crystals.
543 config S3C2440_PLL_16934400
544         bool
545         depends on S3C2440_CPUFREQ && S3C2440_XTAL_16934400
546         default y if CPU_FREQ_S3C24XX_PLL
547         help
548           PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
550 comment "S3C2440 Boards"
553 # The "S3C2440 Boards" list is ordered alphabetically by option text.
554 # (without ARCH_ or MACH_)
557 config MACH_ANUBIS
558         bool "Simtec Electronics ANUBIS"
559         select HAVE_PATA_PLATFORM
560         select S3C2440_XTAL_12000000
561         select S3C24XX_DCLK
562         select S3C24XX_GPIO_EXTRA64
563         select S3C24XX_SIMTEC_PM if PM
564         select S3C_DEV_USB_HOST
565         help
566           Say Y here if you are using the Simtec Electronics ANUBIS
567           development system
569 config MACH_AT2440EVB
570         bool "Avantech AT2440EVB development board"
571         select S3C_DEV_NAND
572         select S3C_DEV_USB_HOST
573         help
574           Say Y here if you are using the AT2440EVB development board
576 config MACH_MINI2440
577         bool "MINI2440 development board"
578         select EEPROM_AT24
579         select LEDS_CLASS
580         select LEDS_TRIGGERS
581         select LEDS_TRIGGER_BACKLIGHT
582         select NEW_LEDS
583         select S3C_DEV_NAND
584         select S3C_DEV_USB_HOST
585         select S3C_SETUP_CAMIF
586         help
587           Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
588           available via various sources. It can come with a 3.5" or 7" touch LCD.
590 config MACH_NEXCODER_2440
591         bool "NexVision NEXCODER 2440 Light Board"
592         select S3C2440_XTAL_12000000
593         select S3C_DEV_NAND
594         select S3C_DEV_USB_HOST
595         help
596           Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
598 config MACH_OSIRIS
599         bool "Simtec IM2440D20 (OSIRIS) module"
600         select S3C2410_IOTIMING if S3C2440_CPUFREQ
601         select S3C2440_XTAL_12000000
602         select S3C24XX_DCLK
603         select S3C24XX_GPIO_EXTRA128
604         select S3C24XX_SIMTEC_PM if PM
605         select S3C_DEV_NAND
606         select S3C_DEV_USB_HOST
607         help
608           Say Y here if you are using the Simtec IM2440D20 module, also
609           known as the Osiris.
611 config MACH_OSIRIS_DVS
612         tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver"
613         depends on MACH_OSIRIS
614         select TPS65010
615         help
616           Say Y/M here if you want to have dynamic voltage scaling support
617           on the Simtec IM2440D20 (OSIRIS) module via the TPS65011.
619           The DVS driver alters the voltage supplied to the ARM core
620           depending on the frequency it is running at. The driver itself
621           does not do any of the frequency alteration, which is left up
622           to the cpufreq driver.
624 config MACH_RX3715
625         bool "HP iPAQ rx3715"
626         select PM_H1940 if PM
627         select S3C2440_XTAL_16934400
628         select S3C_DEV_NAND
629         help
630           Say Y here if you are using the HP iPAQ rx3715.
632 config ARCH_S3C2440
633         bool "SMDK2440"
634         select S3C2440_XTAL_16934400
635         select S3C24XX_SMDK
636         select S3C_DEV_NAND
637         select S3C_DEV_USB_HOST
638         help
639           Say Y here if you are using the SMDK2440.
641 config SMDK2440_CPU2440
642         bool "SMDK2440 with S3C2440 CPU module"
643         default y if ARCH_S3C2440
644         select S3C2440_XTAL_16934400
646 endif   # CPU_S3C2440
648 if CPU_S3C2442
650 comment "S3C2442 Boards"
653 # The "S3C2442 Boards" list is ordered alphabetically by option text.
654 # (without ARCH_ or MACH_)
657 config MACH_NEO1973_GTA02
658         bool "Openmoko GTA02 / Freerunner phone"
659         select I2C
660         select MFD_PCF50633
661         select PCF50633_GPIO
662         select POWER_SUPPLY
663         select S3C24XX_PWM
664         select S3C_DEV_USB_HOST
665         help
666            Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
668 config MACH_RX1950
669         bool "HP iPAQ rx1950"
670         select I2C
671         select PM_H1940 if PM
672         select S3C2410_IOTIMING if S3C2440_CPUFREQ
673         select S3C2440_XTAL_16934400
674         select S3C24XX_DCLK
675         select S3C24XX_PWM
676         select S3C_DEV_NAND
677         help
678            Say Y here if you're using HP iPAQ rx1950
680 endif   # CPU_S3C2442
682 if CPU_S3C2443 || CPU_S3C2416
684 config S3C2443_COMMON
685         bool
686         help
687           Common code for the S3C2443 and similar processors, which includes
688           the S3C2416 and S3C2450.
690 config S3C2443_DMA
691         bool
692         help
693           Internal config node for S3C2443 DMA support
695 config S3C2443_SETUP_SPI
696         bool
697         help
698           Common setup code for SPI GPIO configurations
700 endif   # CPU_S3C2443 || CPU_S3C2416
702 if CPU_S3C2443
704 comment "S3C2443 Boards"
706 config MACH_SMDK2443
707         bool "SMDK2443"
708         select S3C24XX_SMDK
709         select S3C_DEV_HSMMC1
710         help
711           Say Y here if you are using an SMDK2443
713 endif   # CPU_S3C2443
715 endmenu # SAMSUNG S3C24XX SoCs Support
717 endif   # ARCH_S3C24XX