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