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