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