Merge tag 'ux500-dma40-for-arm-soc-3' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.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 ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
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 config S3C24XX_PLL
208         bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
209         depends on ARM_S3C24XX
210         help
211           Compile in support for changing the PLL frequency from the
212           S3C24XX series CPUfreq driver. The PLL takes time to settle
213           after a frequency change, so by default it is not enabled.
214
215           This also means that the PLL tables for the selected CPU(s) will
216           be built which may increase the size of the kernel image.
217
218 # cpu frequency items common between s3c2410 and s3c2440/s3c2442
219
220 config S3C2410_IOTIMING
221         bool
222         depends on ARM_S3C24XX_CPUFREQ
223         help
224           Internal node to select io timing code that is common to the s3c2410
225           and s3c2440/s3c2442 cpu frequency support.
226
227 config S3C2410_CPUFREQ_UTILS
228        bool
229        depends on ARM_S3C24XX_CPUFREQ
230        help
231          Internal node to select timing code that is common to the s3c2410
232          and s3c2440/s3c244 cpu frequency support.
233
234 # cpu frequency support common to s3c2412, s3c2413 and s3c2442
235
236 config S3C2412_IOTIMING
237         bool
238         depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2412 || CPU_S3C2443)
239         help
240           Intel node to select io timing code that is common to the s3c2412
241           and the s3c2443.
242
243 # cpu-specific sections
244
245 if CPU_S3C2410
246
247 config S3C2410_PLL
248         bool
249         depends on ARM_S3C2410_CPUFREQ && S3C24XX_PLL
250         default y
251         help
252           Select the PLL table for the S3C2410
253
254 config S3C24XX_SIMTEC_NOR
255         bool
256         help
257           Internal node to specify machine has simtec NOR mapping
258
259 config MACH_BAST_IDE
260         bool
261         select HAVE_PATA_PLATFORM
262         help
263           Internal node for machines with an BAST style IDE
264           interface
265
266 comment "S3C2410 Boards"
267
268 #
269 # The "S3C2410 Boards" list is ordered alphabetically by option text.
270 # (without ARCH_ or MACH_)
271 #
272
273 config MACH_AML_M5900
274         bool "AML M5900 Series"
275         select S3C24XX_SIMTEC_PM if PM
276         select S3C_DEV_USB_HOST
277         help
278           Say Y here if you are using the American Microsystems M5900 Series
279           <http://www.amltd.com>
280
281 config ARCH_BAST
282         bool "Simtec Electronics BAST (EB2410ITX)"
283         select ISA
284         select MACH_BAST_IDE
285         select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
286         select S3C24XX_DCLK
287         select S3C24XX_SIMTEC_NOR
288         select S3C24XX_SIMTEC_PM if PM
289         select S3C24XX_SIMTEC_USB
290         select S3C_DEV_HWMON
291         select S3C_DEV_NAND
292         select S3C_DEV_USB_HOST
293         help
294           Say Y here if you are using the Simtec Electronics EB2410ITX
295           development board (also known as BAST)
296
297 config BAST_PC104_IRQ
298         bool "BAST PC104 IRQ support"
299         depends on ARCH_BAST
300         default y
301         help
302           Say Y here to enable the PC104 IRQ routing on the
303           Simtec BAST (EB2410ITX)
304
305 config ARCH_H1940
306         bool "IPAQ H1940"
307         select PM_H1940 if PM
308         select S3C24XX_SETUP_TS
309         select S3C_DEV_NAND
310         select S3C_DEV_USB_HOST
311         help
312           Say Y here if you are using the HP IPAQ H1940
313
314 config H1940BT
315         tristate "Control the state of H1940 bluetooth chip"
316         depends on ARCH_H1940
317         select RFKILL
318         help
319           This is a simple driver that is able to control
320           the state of built in bluetooth chip on h1940.
321
322 config PM_H1940
323         bool
324         help
325           Internal node for H1940 and related PM
326
327 config MACH_N30
328         bool "Acer N30 family"
329         select S3C_DEV_NAND
330         select S3C_DEV_USB_HOST
331         help
332           Say Y here if you want suppt for the Acer N30, Acer N35,
333           Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
334
335 config MACH_OTOM
336         bool "NexVision OTOM Board"
337         select S3C_DEV_NAND
338         select S3C_DEV_USB_HOST
339         help
340           Say Y here if you are using the Nex Vision OTOM board
341
342 config MACH_QT2410
343         bool "QT2410"
344         select S3C_DEV_NAND
345         select S3C_DEV_USB_HOST
346         help
347           Say Y here if you are using the Armzone QT2410
348
349 config ARCH_SMDK2410
350         bool "SMDK2410/A9M2410"
351         select S3C24XX_SMDK
352         select S3C_DEV_USB_HOST
353         help
354           Say Y here if you are using the SMDK2410 or the derived module A9M2410
355           <http://www.fsforth.de>
356
357 config MACH_TCT_HAMMER
358         bool "TCT Hammer Board"
359         select S3C_DEV_USB_HOST
360         help
361           Say Y here if you are using the TinCanTools Hammer Board
362           <http://www.tincantools.com>
363
364 config MACH_VR1000
365         bool "Thorcom VR1000"
366         select MACH_BAST_IDE
367         select S3C24XX_DCLK
368         select S3C24XX_SIMTEC_NOR
369         select S3C24XX_SIMTEC_PM if PM
370         select S3C24XX_SIMTEC_USB
371         select S3C_DEV_USB_HOST
372         help
373           Say Y here if you are using the Thorcom VR1000 board.
374
375 endif   # CPU_S3C2410
376
377 config S3C2412_PM_SLEEP
378         bool
379         help
380           Internal config node to apply sleep for S3C2412 power management.
381           Can be selected by another SoCs such as S3C2416 with similar
382           sleep procedure.
383
384 if CPU_S3C2412
385
386 config CPU_S3C2412_ONLY
387         bool
388         depends on !CPU_S3C2410 && !CPU_S3C2416 && !CPU_S3C2440 && \
389                    !CPU_S3C2442 && !CPU_S3C2443
390         default y
391
392 config S3C2412_DMA
393         bool
394         help
395           Internal config node for S3C2412 DMA support
396
397 config S3C2412_PM
398         bool
399         select S3C2412_PM_SLEEP
400         select SAMSUNG_WAKEMASK
401         help
402           Internal config node to apply S3C2412 power management
403
404 comment "S3C2412 Boards"
405
406 #
407 # The "S3C2412 Boards" list is ordered alphabetically by option text.
408 # (without ARCH_ or MACH_)
409 #
410
411 config MACH_JIVE
412         bool "Logitech Jive"
413         select S3C_DEV_NAND
414         select S3C_DEV_USB_HOST
415         help
416           Say Y here if you are using the Logitech Jive.
417
418 config MACH_JIVE_SHOW_BOOTLOADER
419         bool "Allow access to bootloader partitions in MTD"
420         depends on MACH_JIVE
421
422 config MACH_S3C2413
423         bool
424         help
425           Internal node for S3C2413 version of SMDK2413, so that
426           machine_is_s3c2413() will work when MACH_SMDK2413 is
427           selected
428
429 config MACH_SMDK2412
430         bool "SMDK2412"
431         select MACH_SMDK2413
432         help
433           Say Y here if you are using an SMDK2412
434
435           Note, this shares support with SMDK2413, so will automatically
436           select MACH_SMDK2413.
437
438 config MACH_SMDK2413
439         bool "SMDK2413"
440         select MACH_S3C2413
441         select S3C24XX_SMDK
442         select S3C_DEV_NAND
443         select S3C_DEV_USB_HOST
444         help
445           Say Y here if you are using an SMDK2413
446
447 config MACH_VSTMS
448         bool "VMSTMS"
449         select S3C_DEV_NAND
450         select S3C_DEV_USB_HOST
451         help
452           Say Y here if you are using an VSTMS board
453
454 endif   # CPU_S3C2412
455
456 if CPU_S3C2416
457
458 config S3C2416_PM
459         bool
460         select S3C2412_PM_SLEEP
461         help
462           Internal config node to apply S3C2416 power management
463
464 config S3C2416_SETUP_SDHCI
465         bool
466         select S3C2416_SETUP_SDHCI_GPIO
467         help
468           Internal helper functions for S3C2416 based SDHCI systems
469
470 config S3C2416_SETUP_SDHCI_GPIO
471         bool
472         help
473           Common setup code for SDHCI gpio.
474
475 comment "S3C2416 Boards"
476
477 config MACH_SMDK2416
478         bool "SMDK2416"
479         select S3C2416_SETUP_SDHCI
480         select S3C24XX_SMDK
481         select S3C_DEV_FB
482         select S3C_DEV_HSMMC
483         select S3C_DEV_HSMMC1
484         select S3C_DEV_NAND
485         select S3C_DEV_USB_HOST
486         help
487           Say Y here if you are using an SMDK2416
488
489 config MACH_S3C2416_DT
490         bool "Samsung S3C2416 machine using devicetree"
491         select CLKSRC_OF
492         select USE_OF
493         select PINCTRL
494         select PINCTRL_S3C24XX
495         help
496           Machine support for Samsung S3C2416 machines with device tree enabled.
497           Select this if a fdt blob is available for the S3C2416 SoC based board.
498           Note: This is under development and not all peripherals can be supported
499           with this machine file.
500
501 endif   # CPU_S3C2416
502
503 if CPU_S3C2440
504
505 config S3C2440_DMA
506         bool
507         help
508           Support for S3C2440 specific DMA code5A
509
510 config S3C2440_XTAL_12000000
511         bool
512         help
513           Indicate that the build needs to support 12MHz system
514           crystal.
515
516 config S3C2440_XTAL_16934400
517         bool
518         help
519           Indicate that the build needs to support 16.9344MHz system
520           crystal.
521
522 config S3C2440_PLL_12000000
523         bool
524         depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_12000000
525         default y if S3C24XX_PLL
526         help
527           PLL tables for S3C2440 or S3C2442 CPUs with 12MHz crystals.
528
529 config S3C2440_PLL_16934400
530         bool
531         depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_16934400
532         default y if S3C24XX_PLL
533         help
534           PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
535
536 comment "S3C2440 Boards"
537
538 #
539 # The "S3C2440 Boards" list is ordered alphabetically by option text.
540 # (without ARCH_ or MACH_)
541 #
542
543 config MACH_ANUBIS
544         bool "Simtec Electronics ANUBIS"
545         select HAVE_PATA_PLATFORM
546         select S3C2440_XTAL_12000000
547         select S3C24XX_DCLK
548         select S3C24XX_GPIO_EXTRA64
549         select S3C24XX_SIMTEC_PM if PM
550         select S3C_DEV_USB_HOST
551         help
552           Say Y here if you are using the Simtec Electronics ANUBIS
553           development system
554
555 config MACH_AT2440EVB
556         bool "Avantech AT2440EVB development board"
557         select S3C_DEV_NAND
558         select S3C_DEV_USB_HOST
559         help
560           Say Y here if you are using the AT2440EVB development board
561
562 config MACH_MINI2440
563         bool "MINI2440 development board"
564         select EEPROM_AT24
565         select LEDS_CLASS
566         select LEDS_TRIGGERS
567         select LEDS_TRIGGER_BACKLIGHT
568         select NEW_LEDS
569         select S3C_DEV_NAND
570         select S3C_DEV_USB_HOST
571         select S3C_SETUP_CAMIF
572         help
573           Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
574           available via various sources. It can come with a 3.5" or 7" touch LCD.
575
576 config MACH_NEXCODER_2440
577         bool "NexVision NEXCODER 2440 Light Board"
578         select S3C2440_XTAL_12000000
579         select S3C_DEV_NAND
580         select S3C_DEV_USB_HOST
581         help
582           Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
583
584 config MACH_OSIRIS
585         bool "Simtec IM2440D20 (OSIRIS) module"
586         select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
587         select S3C2440_XTAL_12000000
588         select S3C24XX_DCLK
589         select S3C24XX_GPIO_EXTRA128
590         select S3C24XX_SIMTEC_PM if PM
591         select S3C_DEV_NAND
592         select S3C_DEV_USB_HOST
593         help
594           Say Y here if you are using the Simtec IM2440D20 module, also
595           known as the Osiris.
596
597 config MACH_OSIRIS_DVS
598         tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver"
599         depends on MACH_OSIRIS
600         select TPS65010
601         help
602           Say Y/M here if you want to have dynamic voltage scaling support
603           on the Simtec IM2440D20 (OSIRIS) module via the TPS65011.
604
605           The DVS driver alters the voltage supplied to the ARM core
606           depending on the frequency it is running at. The driver itself
607           does not do any of the frequency alteration, which is left up
608           to the cpufreq driver.
609
610 config MACH_RX3715
611         bool "HP iPAQ rx3715"
612         select PM_H1940 if PM
613         select S3C2440_XTAL_16934400
614         select S3C_DEV_NAND
615         help
616           Say Y here if you are using the HP iPAQ rx3715.
617
618 config ARCH_S3C2440
619         bool "SMDK2440"
620         select S3C2440_XTAL_16934400
621         select S3C24XX_SMDK
622         select S3C_DEV_NAND
623         select S3C_DEV_USB_HOST
624         help
625           Say Y here if you are using the SMDK2440.
626
627 config SMDK2440_CPU2440
628         bool "SMDK2440 with S3C2440 CPU module"
629         default y if ARCH_S3C2440
630         select S3C2440_XTAL_16934400
631
632 endif   # CPU_S3C2440
633
634 if CPU_S3C2442
635
636 comment "S3C2442 Boards"
637
638 #
639 # The "S3C2442 Boards" list is ordered alphabetically by option text.
640 # (without ARCH_ or MACH_)
641 #
642
643 config MACH_NEO1973_GTA02
644         bool "Openmoko GTA02 / Freerunner phone"
645         select I2C
646         select MFD_PCF50633
647         select PCF50633_GPIO
648         select POWER_SUPPLY
649         select S3C24XX_PWM
650         select S3C_DEV_USB_HOST
651         help
652            Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
653
654 config MACH_RX1950
655         bool "HP iPAQ rx1950"
656         select I2C
657         select PM_H1940 if PM
658         select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
659         select S3C2440_XTAL_16934400
660         select S3C24XX_DCLK
661         select S3C24XX_PWM
662         select S3C_DEV_NAND
663         help
664            Say Y here if you're using HP iPAQ rx1950
665
666 endif   # CPU_S3C2442
667
668 if CPU_S3C2443 || CPU_S3C2416
669
670 config S3C2443_COMMON
671         bool
672         help
673           Common code for the S3C2443 and similar processors, which includes
674           the S3C2416 and S3C2450.
675
676 config S3C2443_DMA
677         bool
678         help
679           Internal config node for S3C2443 DMA support
680
681 config S3C2443_SETUP_SPI
682         bool
683         help
684           Common setup code for SPI GPIO configurations
685
686 endif   # CPU_S3C2443 || CPU_S3C2416
687
688 if CPU_S3C2443
689
690 comment "S3C2443 Boards"
691
692 config MACH_SMDK2443
693         bool "SMDK2443"
694         select S3C24XX_SMDK
695         select S3C_DEV_HSMMC1
696         help
697           Say Y here if you are using an SMDK2443
698
699 endif   # CPU_S3C2443
700
701 endmenu # SAMSUNG S3C24XX SoCs Support
702
703 endif   # ARCH_S3C24XX