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