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