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