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