Merge tag 'iommu-updates-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / arch / arm / mach-s3c24xx / Kconfig
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 config S3C_SETUP_CAMIF
127         bool
128         help
129           Compile in common setup code for S3C CAMIF devices
130
131 # cpu frequency items common between s3c2410 and s3c2440/s3c2442
132
133 config S3C2410_IOTIMING
134         bool
135         depends on ARM_S3C24XX_CPUFREQ
136         help
137           Internal node to select io timing code that is common to the s3c2410
138           and s3c2440/s3c2442 cpu frequency support.
139
140 config S3C2410_CPUFREQ_UTILS
141        bool
142        depends on ARM_S3C24XX_CPUFREQ
143        help
144          Internal node to select timing code that is common to the s3c2410
145          and s3c2440/s3c244 cpu frequency support.
146
147 # cpu frequency support common to s3c2412, s3c2413 and s3c2442
148
149 config S3C2412_IOTIMING
150         bool
151         depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2412 || CPU_S3C2443)
152         help
153           Intel node to select io timing code that is common to the s3c2412
154           and the s3c2443.
155
156 # cpu-specific sections
157
158 if CPU_S3C2410
159
160 config S3C2410_PLL
161         bool
162         depends on ARM_S3C2410_CPUFREQ && S3C24XX_PLL
163         default y
164         help
165           Select the PLL table for the S3C2410
166
167 config S3C24XX_SIMTEC_NOR
168         bool
169         help
170           Internal node to specify machine has simtec NOR mapping
171
172 config MACH_BAST_IDE
173         bool
174         select HAVE_PATA_PLATFORM
175         help
176           Internal node for machines with an BAST style IDE
177           interface
178
179 comment "S3C2410 Boards"
180
181 #
182 # The "S3C2410 Boards" list is ordered alphabetically by option text.
183 # (without ARCH_ or MACH_)
184 #
185
186 config MACH_AML_M5900
187         bool "AML M5900 Series"
188         select S3C24XX_SIMTEC_PM if PM
189         select S3C_DEV_USB_HOST
190         help
191           Say Y here if you are using the American Microsystems M5900 Series
192           <http://www.amltd.com>
193
194 config ARCH_BAST
195         bool "Simtec Electronics BAST (EB2410ITX)"
196         select ISA
197         select MACH_BAST_IDE
198         select S3C2410_COMMON_DCLK
199         select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
200         select S3C24XX_SIMTEC_NOR
201         select S3C24XX_SIMTEC_PM if PM
202         select S3C24XX_SIMTEC_USB
203         select S3C_DEV_HWMON
204         select S3C_DEV_NAND
205         select S3C_DEV_USB_HOST
206         help
207           Say Y here if you are using the Simtec Electronics EB2410ITX
208           development board (also known as BAST)
209
210 config BAST_PC104_IRQ
211         bool "BAST PC104 IRQ support"
212         depends on ARCH_BAST
213         default y
214         help
215           Say Y here to enable the PC104 IRQ routing on the
216           Simtec BAST (EB2410ITX)
217
218 config ARCH_H1940
219         bool "IPAQ H1940"
220         select PM_H1940 if PM
221         select S3C24XX_SETUP_TS
222         select S3C_DEV_NAND
223         select S3C_DEV_USB_HOST
224         help
225           Say Y here if you are using the HP IPAQ H1940
226
227 config H1940BT
228         tristate "Control the state of H1940 bluetooth chip"
229         depends on ARCH_H1940
230         depends on RFKILL
231         help
232           This is a simple driver that is able to control
233           the state of built in bluetooth chip on h1940.
234
235 config MACH_N30
236         bool "Acer N30 family"
237         select S3C_DEV_NAND
238         select S3C_DEV_USB_HOST
239         help
240           Say Y here if you want suppt for the Acer N30, Acer N35,
241           Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
242
243 config MACH_OTOM
244         bool "NexVision OTOM Board"
245         select S3C_DEV_NAND
246         select S3C_DEV_USB_HOST
247         help
248           Say Y here if you are using the Nex Vision OTOM board
249
250 config MACH_QT2410
251         bool "QT2410"
252         select S3C_DEV_NAND
253         select S3C_DEV_USB_HOST
254         help
255           Say Y here if you are using the Armzone QT2410
256
257 config ARCH_SMDK2410
258         bool "SMDK2410/A9M2410"
259         select S3C24XX_SMDK
260         select S3C_DEV_USB_HOST
261         help
262           Say Y here if you are using the SMDK2410 or the derived module A9M2410
263           <http://www.fsforth.de>
264
265 config MACH_TCT_HAMMER
266         bool "TCT Hammer Board"
267         select S3C_DEV_USB_HOST
268         help
269           Say Y here if you are using the TinCanTools Hammer Board
270           <http://www.tincantools.com>
271
272 config MACH_VR1000
273         bool "Thorcom VR1000"
274         select MACH_BAST_IDE
275         select S3C2410_COMMON_DCLK
276         select S3C24XX_SIMTEC_NOR
277         select S3C24XX_SIMTEC_PM if PM
278         select S3C24XX_SIMTEC_USB
279         select S3C_DEV_USB_HOST
280         help
281           Say Y here if you are using the Thorcom VR1000 board.
282
283 endif   # CPU_S3C2410
284
285 config S3C2412_PM_SLEEP
286         bool
287         help
288           Internal config node to apply sleep for S3C2412 power management.
289           Can be selected by another SoCs such as S3C2416 with similar
290           sleep procedure.
291
292 if CPU_S3C2412
293
294 config CPU_S3C2412_ONLY
295         bool
296         depends on !CPU_S3C2410 && !CPU_S3C2416 && !CPU_S3C2440 && \
297                    !CPU_S3C2442 && !CPU_S3C2443
298         default y
299
300 config S3C2412_PM
301         bool
302         select S3C2412_PM_SLEEP
303         select SAMSUNG_WAKEMASK
304         help
305           Internal config node to apply S3C2412 power management
306
307 comment "S3C2412 Boards"
308
309 #
310 # The "S3C2412 Boards" list is ordered alphabetically by option text.
311 # (without ARCH_ or MACH_)
312 #
313
314 config MACH_JIVE
315         bool "Logitech Jive"
316         select S3C_DEV_NAND
317         select S3C_DEV_USB_HOST
318         help
319           Say Y here if you are using the Logitech Jive.
320
321 config MACH_JIVE_SHOW_BOOTLOADER
322         bool "Allow access to bootloader partitions in MTD"
323         depends on MACH_JIVE
324
325 config MACH_S3C2413
326         bool
327         help
328           Internal node for S3C2413 version of SMDK2413, so that
329           machine_is_s3c2413() will work when MACH_SMDK2413 is
330           selected
331
332 config MACH_SMDK2412
333         bool "SMDK2412"
334         select MACH_SMDK2413
335         help
336           Say Y here if you are using an SMDK2412
337
338           Note, this shares support with SMDK2413, so will automatically
339           select MACH_SMDK2413.
340
341 config MACH_SMDK2413
342         bool "SMDK2413"
343         select MACH_S3C2413
344         select S3C24XX_SMDK
345         select S3C_DEV_NAND
346         select S3C_DEV_USB_HOST
347         help
348           Say Y here if you are using an SMDK2413
349
350 config MACH_VSTMS
351         bool "VMSTMS"
352         select S3C_DEV_NAND
353         select S3C_DEV_USB_HOST
354         help
355           Say Y here if you are using an VSTMS board
356
357 endif   # CPU_S3C2412
358
359 if CPU_S3C2416
360
361 config S3C2416_PM
362         bool
363         select S3C2412_PM_SLEEP
364         select SAMSUNG_WAKEMASK
365         help
366           Internal config node to apply S3C2416 power management
367
368 config S3C2416_SETUP_SDHCI
369         bool
370         select S3C2416_SETUP_SDHCI_GPIO
371         help
372           Internal helper functions for S3C2416 based SDHCI systems
373
374 config S3C2416_SETUP_SDHCI_GPIO
375         bool
376         help
377           Common setup code for SDHCI gpio.
378
379 comment "S3C2416 Boards"
380
381 config MACH_SMDK2416
382         bool "SMDK2416"
383         select S3C2416_SETUP_SDHCI
384         select S3C24XX_SMDK
385         select S3C_DEV_FB
386         select S3C_DEV_HSMMC
387         select S3C_DEV_HSMMC1
388         select S3C_DEV_NAND
389         select S3C_DEV_USB_HOST
390         help
391           Say Y here if you are using an SMDK2416
392
393 config MACH_S3C2416_DT
394         bool "Samsung S3C2416 machine using devicetree"
395         select TIMER_OF
396         select USE_OF
397         select PINCTRL
398         select PINCTRL_S3C24XX
399         help
400           Machine support for Samsung S3C2416 machines with device tree enabled.
401           Select this if a fdt blob is available for the S3C2416 SoC based board.
402           Note: This is under development and not all peripherals can be supported
403           with this machine file.
404
405 endif   # CPU_S3C2416
406
407 if CPU_S3C2440 || CPU_S3C2442
408
409 config S3C2440_XTAL_12000000
410         bool
411         help
412           Indicate that the build needs to support 12MHz system
413           crystal.
414
415 config S3C2440_XTAL_16934400
416         bool
417         help
418           Indicate that the build needs to support 16.9344MHz system
419           crystal.
420
421 config S3C2440_PLL_12000000
422         bool
423         depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_12000000
424         default y if S3C24XX_PLL
425         help
426           PLL tables for S3C2440 or S3C2442 CPUs with 12MHz crystals.
427
428 config S3C2440_PLL_16934400
429         bool
430         depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_16934400
431         default y if S3C24XX_PLL
432         help
433           PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
434 endif
435
436 if CPU_S3C2440
437
438 comment "S3C2440 Boards"
439
440 #
441 # The "S3C2440 Boards" list is ordered alphabetically by option text.
442 # (without ARCH_ or MACH_)
443 #
444
445 config MACH_ANUBIS
446         bool "Simtec Electronics ANUBIS"
447         select HAVE_PATA_PLATFORM
448         select S3C2410_COMMON_DCLK
449         select S3C2440_XTAL_12000000
450         select S3C24XX_SIMTEC_PM if PM
451         select S3C_DEV_USB_HOST
452         help
453           Say Y here if you are using the Simtec Electronics ANUBIS
454           development system
455
456 config MACH_AT2440EVB
457         bool "Avantech AT2440EVB development board"
458         select S3C_DEV_NAND
459         select S3C_DEV_USB_HOST
460         help
461           Say Y here if you are using the AT2440EVB development board
462
463 config MACH_MINI2440
464         bool "MINI2440 development board"
465         select LEDS_CLASS
466         select LEDS_TRIGGERS
467         select LEDS_TRIGGER_BACKLIGHT
468         select NEW_LEDS
469         select S3C_DEV_NAND
470         select S3C_DEV_USB_HOST
471         select S3C_SETUP_CAMIF
472         help
473           Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
474           available via various sources. It can come with a 3.5" or 7" touch LCD.
475
476 config MACH_NEXCODER_2440
477         bool "NexVision NEXCODER 2440 Light Board"
478         select S3C2440_XTAL_12000000
479         select S3C_DEV_NAND
480         select S3C_DEV_USB_HOST
481         help
482           Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
483
484 config MACH_OSIRIS
485         bool "Simtec IM2440D20 (OSIRIS) module"
486         select S3C2410_COMMON_DCLK
487         select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
488         select S3C2440_XTAL_12000000
489         select S3C24XX_SIMTEC_PM if PM
490         select S3C_DEV_NAND
491         select S3C_DEV_USB_HOST
492         help
493           Say Y here if you are using the Simtec IM2440D20 module, also
494           known as the Osiris.
495
496 config MACH_OSIRIS_DVS
497         tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver"
498         depends on MACH_OSIRIS
499         depends on TPS65010
500         help
501           Say Y/M here if you want to have dynamic voltage scaling support
502           on the Simtec IM2440D20 (OSIRIS) module via the TPS65011.
503
504           The DVS driver alters the voltage supplied to the ARM core
505           depending on the frequency it is running at. The driver itself
506           does not do any of the frequency alteration, which is left up
507           to the cpufreq driver.
508
509 config MACH_RX3715
510         bool "HP iPAQ rx3715"
511         select PM_H1940 if PM
512         select S3C2440_XTAL_16934400
513         select S3C_DEV_NAND
514         help
515           Say Y here if you are using the HP iPAQ rx3715.
516
517 config ARCH_S3C2440
518         bool "SMDK2440"
519         select S3C2440_XTAL_16934400
520         select S3C24XX_SMDK
521         select S3C_DEV_NAND
522         select S3C_DEV_USB_HOST
523         help
524           Say Y here if you are using the SMDK2440.
525
526 config SMDK2440_CPU2440
527         bool "SMDK2440 with S3C2440 CPU module"
528         default y if ARCH_S3C2440
529         select S3C2440_XTAL_16934400
530
531 endif   # CPU_S3C2440
532
533 if CPU_S3C2442
534
535 comment "S3C2442 Boards"
536
537 #
538 # The "S3C2442 Boards" list is ordered alphabetically by option text.
539 # (without ARCH_ or MACH_)
540 #
541
542 config MACH_NEO1973_GTA02
543         bool "Openmoko GTA02 / Freerunner phone"
544         select I2C
545         select MFD_PCF50633
546         select PCF50633_GPIO
547         select POWER_SUPPLY
548         select S3C24XX_PWM
549         select S3C_DEV_USB_HOST
550         help
551            Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
552
553 config MACH_RX1950
554         bool "HP iPAQ rx1950"
555         select I2C
556         select PM_H1940 if PM
557         select S3C2410_COMMON_DCLK
558         select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
559         select S3C2440_XTAL_16934400
560         select S3C24XX_PWM
561         select S3C_DEV_NAND
562         help
563            Say Y here if you're using HP iPAQ rx1950
564
565 endif   # CPU_S3C2442
566
567 if CPU_S3C2443 || CPU_S3C2416
568
569 config S3C2443_SETUP_SPI
570         bool
571         help
572           Common setup code for SPI GPIO configurations
573
574 endif   # CPU_S3C2443 || CPU_S3C2416
575
576 if CPU_S3C2443
577
578 comment "S3C2443 Boards"
579
580 config MACH_SMDK2443
581         bool "SMDK2443"
582         select S3C24XX_SMDK
583         select S3C_DEV_HSMMC1
584         help
585           Say Y here if you are using an SMDK2443
586
587 endif   # CPU_S3C2443
588
589 config PM_H1940
590         bool
591         help
592           Internal node for H1940 and related PM
593
594 endmenu # SAMSUNG S3C24XX SoCs Support
595
596 endif   # ARCH_S3C24XX