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