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