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