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