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