0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # Copyright (c) 2012 Samsung Electronics Co., Ltd.
0004 # http://www.samsung.com/
0005 #
0006 # Copyright 2007 Simtec Electronics
0007 menuconfig ARCH_S3C24XX
0008 bool "Samsung S3C24XX SoCs (deprecated, see help)"
0009 depends on ARCH_MULTI_V4T || ARCH_MULTI_V5
0010 depends on CPU_LITTLE_ENDIAN
0011 depends on ATAGS && UNUSED_BOARD_FILES
0012 select CLKSRC_SAMSUNG_PWM
0013 select GPIO_SAMSUNG
0014 select GPIOLIB
0015 select S3C2410_WATCHDOG
0016 select SAMSUNG_ATAGS
0017 select WATCHDOG
0018 help
0019 Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
0020 and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
0021 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
0022 Samsung SMDK2410 development board (and derivatives).
0023
0024 The platform is deprecated and scheduled for removal. Please reach to
0025 the maintainers of the platform and linux-samsung-soc@vger.kernel.org if
0026 you still use it.
0027 Without such feedback, the platform will be removed after 2022.
0028
0029 if ARCH_S3C24XX
0030
0031 config PLAT_S3C24XX
0032 def_bool y
0033 select GPIOLIB
0034 select NO_IOPORT_MAP
0035 select S3C_DEV_NAND
0036 select COMMON_CLK
0037 help
0038 Base platform code for any Samsung S3C24XX device
0039
0040 menu "Samsung S3C24XX SoCs Support"
0041
0042 comment "S3C24XX SoCs"
0043
0044 config CPU_S3C2410
0045 bool "Samsung S3C2410"
0046 depends on ARCH_MULTI_V4T
0047 default y
0048 select CPU_ARM920T
0049 select S3C2410_COMMON_CLK
0050 select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
0051 select S3C2410_PM if PM
0052 help
0053 Support for S3C2410 and S3C2410A family from the S3C24XX line
0054 of Samsung Mobile CPUs.
0055
0056 config CPU_S3C2412
0057 bool "Samsung S3C2412"
0058 depends on ARCH_MULTI_V5
0059 select CPU_ARM926T
0060 select S3C2412_COMMON_CLK
0061 select S3C2412_PM if PM_SLEEP
0062 help
0063 Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
0064
0065 config CPU_S3C2416
0066 bool "Samsung S3C2416/S3C2450"
0067 depends on ARCH_MULTI_V5
0068 select CPU_ARM926T
0069 select S3C2416_PM if PM_SLEEP
0070 select S3C2443_COMMON_CLK
0071 help
0072 Support for the S3C2416 SoC from the S3C24XX line
0073
0074 config CPU_S3C2440
0075 bool "Samsung S3C2440"
0076 depends on ARCH_MULTI_V4T
0077 select CPU_ARM920T
0078 select S3C2410_COMMON_CLK
0079 select S3C2410_PM if PM_SLEEP
0080 help
0081 Support for S3C2440 Samsung Mobile CPU based systems.
0082
0083 config CPU_S3C2442
0084 bool "Samsung S3C2442"
0085 depends on ARCH_MULTI_V4T
0086 select CPU_ARM920T
0087 select S3C2410_COMMON_CLK
0088 select S3C2410_PM if PM_SLEEP
0089 help
0090 Support for S3C2442 Samsung Mobile CPU based systems.
0091
0092 config CPU_S3C244X
0093 def_bool y
0094 depends on CPU_S3C2440 || CPU_S3C2442
0095
0096 config CPU_S3C2443
0097 bool "Samsung S3C2443"
0098 depends on ARCH_MULTI_V4T
0099 select CPU_ARM920T
0100 select S3C2443_COMMON_CLK
0101 help
0102 Support for the S3C2443 SoC from the S3C24XX line
0103
0104 # common code
0105
0106 config S3C24XX_SMDK
0107 bool
0108 help
0109 Common machine code for SMDK2410 and SMDK2440
0110
0111 config S3C24XX_SIMTEC_AUDIO
0112 bool
0113 depends on (ARCH_BAST || MACH_VR1000 || MACH_OSIRIS || MACH_ANUBIS)
0114 default y
0115 help
0116 Add audio devices for common Simtec S3C24XX boards
0117
0118 config S3C24XX_SIMTEC_PM
0119 bool
0120 help
0121 Common power management code for systems that are
0122 compatible with the Simtec style of power management
0123
0124 config S3C24XX_SIMTEC_USB
0125 bool
0126 help
0127 USB management code for common Simtec S3C24XX boards
0128
0129 config S3C24XX_SETUP_TS
0130 bool
0131 help
0132 Compile in platform device definition for Samsung TouchScreen.
0133
0134 config S3C2410_PM
0135 bool
0136 help
0137 Power Management code common to S3C2410 and better
0138
0139 config S3C24XX_PLL
0140 bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
0141 depends on ARM_S3C24XX_CPUFREQ
0142 help
0143 Compile in support for changing the PLL frequency from the
0144 S3C24XX series CPUfreq driver. The PLL takes time to settle
0145 after a frequency change, so by default it is not enabled.
0146
0147 This also means that the PLL tables for the selected CPU(s) will
0148 be built which may increase the size of the kernel image.
0149
0150 # cpu frequency items common between s3c2410 and s3c2440/s3c2442
0151
0152 config S3C2410_IOTIMING
0153 bool
0154 depends on ARM_S3C24XX_CPUFREQ
0155 help
0156 Internal node to select io timing code that is common to the s3c2410
0157 and s3c2440/s3c2442 cpu frequency support.
0158
0159 # cpu frequency support common to s3c2412, s3c2413 and s3c2442
0160
0161 config S3C2412_IOTIMING
0162 bool
0163 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2412 || CPU_S3C2443)
0164 help
0165 Intel node to select io timing code that is common to the s3c2412
0166 and the s3c2443.
0167
0168 # cpu-specific sections
0169
0170 if CPU_S3C2410
0171
0172 config S3C2410_PLL
0173 bool
0174 depends on ARM_S3C2410_CPUFREQ && S3C24XX_PLL
0175 default y
0176 help
0177 Select the PLL table for the S3C2410
0178
0179 config S3C24XX_SIMTEC_NOR
0180 bool
0181 help
0182 Internal node to specify machine has simtec NOR mapping
0183
0184 config MACH_BAST_IDE
0185 bool
0186 select HAVE_PATA_PLATFORM
0187 help
0188 Internal node for machines with an BAST style IDE
0189 interface
0190
0191 comment "S3C2410 Boards"
0192
0193 #
0194 # The "S3C2410 Boards" list is ordered alphabetically by option text.
0195 # (without ARCH_ or MACH_)
0196 #
0197
0198 config MACH_AML_M5900
0199 bool "AML M5900 Series"
0200 select S3C24XX_SIMTEC_PM if PM
0201 select S3C_DEV_USB_HOST
0202 help
0203 Say Y here if you are using the American Microsystems M5900 Series
0204 <http://www.amltd.com>
0205
0206 config ARCH_BAST
0207 bool "Simtec Electronics BAST (EB2410ITX)"
0208 select MACH_BAST_IDE
0209 select S3C2410_COMMON_DCLK
0210 select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
0211 select S3C24XX_SIMTEC_NOR
0212 select S3C24XX_SIMTEC_PM if PM
0213 select S3C24XX_SIMTEC_USB
0214 select S3C_DEV_HWMON
0215 select S3C_DEV_NAND
0216 select S3C_DEV_USB_HOST
0217 help
0218 Say Y here if you are using the Simtec Electronics EB2410ITX
0219 development board (also known as BAST)
0220
0221 config BAST_PC104_IRQ
0222 bool "BAST PC104 IRQ support"
0223 depends on ARCH_BAST
0224 default y
0225 help
0226 Say Y here to enable the PC104 IRQ routing on the
0227 Simtec BAST (EB2410ITX)
0228
0229 config ARCH_H1940
0230 bool "IPAQ H1940"
0231 select PM_H1940 if PM
0232 select S3C24XX_SETUP_TS
0233 select S3C_DEV_NAND
0234 select S3C_DEV_USB_HOST
0235 help
0236 Say Y here if you are using the HP IPAQ H1940
0237
0238 config H1940BT
0239 tristate "Control the state of H1940 bluetooth chip"
0240 depends on ARCH_H1940
0241 depends on RFKILL
0242 help
0243 This is a simple driver that is able to control
0244 the state of built in bluetooth chip on h1940.
0245
0246 config MACH_N30
0247 bool "Acer N30 family"
0248 select S3C_DEV_NAND
0249 select S3C_DEV_USB_HOST
0250 help
0251 Say Y here if you want suppt for the Acer N30, Acer N35,
0252 Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
0253
0254 config MACH_OTOM
0255 bool "NexVision OTOM Board"
0256 select S3C_DEV_NAND
0257 select S3C_DEV_USB_HOST
0258 help
0259 Say Y here if you are using the Nex Vision OTOM board
0260
0261 config MACH_QT2410
0262 bool "QT2410"
0263 select S3C_DEV_NAND
0264 select S3C_DEV_USB_HOST
0265 help
0266 Say Y here if you are using the Armzone QT2410
0267
0268 config ARCH_SMDK2410
0269 bool "SMDK2410/A9M2410"
0270 select S3C24XX_SMDK
0271 select S3C_DEV_USB_HOST
0272 help
0273 Say Y here if you are using the SMDK2410 or the derived module A9M2410
0274 <http://www.fsforth.de>
0275
0276 config MACH_TCT_HAMMER
0277 bool "TCT Hammer Board"
0278 select S3C_DEV_USB_HOST
0279 help
0280 Say Y here if you are using the TinCanTools Hammer Board
0281 <https://www.tincantools.com>
0282
0283 config MACH_VR1000
0284 bool "Thorcom VR1000"
0285 select MACH_BAST_IDE
0286 select S3C2410_COMMON_DCLK
0287 select S3C24XX_SIMTEC_NOR
0288 select S3C24XX_SIMTEC_PM if PM
0289 select S3C24XX_SIMTEC_USB
0290 select S3C_DEV_USB_HOST
0291 help
0292 Say Y here if you are using the Thorcom VR1000 board.
0293
0294 endif # CPU_S3C2410
0295
0296 config S3C2412_PM_SLEEP
0297 bool
0298 help
0299 Internal config node to apply sleep for S3C2412 power management.
0300 Can be selected by another SoCs such as S3C2416 with similar
0301 sleep procedure.
0302
0303 if CPU_S3C2412
0304
0305 config CPU_S3C2412_ONLY
0306 bool
0307 depends on !CPU_S3C2410 && !CPU_S3C2416 && !CPU_S3C2440 && \
0308 !CPU_S3C2442 && !CPU_S3C2443
0309 default y
0310
0311 config S3C2412_PM
0312 bool
0313 select S3C2412_PM_SLEEP
0314 select SAMSUNG_WAKEMASK
0315 help
0316 Internal config node to apply S3C2412 power management
0317
0318 comment "S3C2412 Boards"
0319
0320 #
0321 # The "S3C2412 Boards" list is ordered alphabetically by option text.
0322 # (without ARCH_ or MACH_)
0323 #
0324
0325 config MACH_JIVE
0326 bool "Logitech Jive"
0327 select S3C_DEV_NAND
0328 select S3C_DEV_USB_HOST
0329 help
0330 Say Y here if you are using the Logitech Jive.
0331
0332 config MACH_JIVE_SHOW_BOOTLOADER
0333 bool "Allow access to bootloader partitions in MTD"
0334 depends on MACH_JIVE
0335
0336 config MACH_S3C2413
0337 bool
0338 help
0339 Internal node for S3C2413 version of SMDK2413, so that
0340 machine_is_s3c2413() will work when MACH_SMDK2413 is
0341 selected
0342
0343 config MACH_SMDK2412
0344 bool "SMDK2412"
0345 select MACH_SMDK2413
0346 help
0347 Say Y here if you are using an SMDK2412
0348
0349 Note, this shares support with SMDK2413, so will automatically
0350 select MACH_SMDK2413.
0351
0352 config MACH_SMDK2413
0353 bool "SMDK2413"
0354 select MACH_S3C2413
0355 select S3C24XX_SMDK
0356 select S3C_DEV_NAND
0357 select S3C_DEV_USB_HOST
0358 help
0359 Say Y here if you are using an SMDK2413
0360
0361 config MACH_VSTMS
0362 bool "VMSTMS"
0363 select S3C_DEV_NAND
0364 select S3C_DEV_USB_HOST
0365 help
0366 Say Y here if you are using an VSTMS board
0367
0368 endif # CPU_S3C2412
0369
0370 if CPU_S3C2416
0371
0372 config S3C2416_PM
0373 bool
0374 select S3C2412_PM_SLEEP
0375 select SAMSUNG_WAKEMASK
0376 help
0377 Internal config node to apply S3C2416 power management
0378
0379 config S3C2416_SETUP_SDHCI
0380 bool
0381 select S3C2416_SETUP_SDHCI_GPIO
0382 help
0383 Internal helper functions for S3C2416 based SDHCI systems
0384
0385 config S3C2416_SETUP_SDHCI_GPIO
0386 bool
0387 help
0388 Common setup code for SDHCI gpio.
0389
0390 comment "S3C2416 Boards"
0391
0392 config MACH_SMDK2416
0393 bool "SMDK2416"
0394 select S3C2416_SETUP_SDHCI
0395 select S3C24XX_SMDK
0396 select S3C_DEV_FB
0397 select S3C_DEV_HSMMC
0398 select S3C_DEV_HSMMC1
0399 select S3C_DEV_NAND
0400 select S3C_DEV_USB_HOST
0401 help
0402 Say Y here if you are using an SMDK2416
0403
0404 config MACH_S3C2416_DT
0405 bool "Samsung S3C2416 machine using devicetree"
0406 select TIMER_OF
0407 select USE_OF
0408 select PINCTRL
0409 select PINCTRL_S3C24XX
0410 help
0411 Machine support for Samsung S3C2416 machines with device tree enabled.
0412 Select this if a fdt blob is available for the S3C2416 SoC based board.
0413 Note: This is under development and not all peripherals can be supported
0414 with this machine file.
0415
0416 endif # CPU_S3C2416
0417
0418 if CPU_S3C2440 || CPU_S3C2442
0419
0420 config S3C2440_XTAL_12000000
0421 bool
0422 help
0423 Indicate that the build needs to support 12MHz system
0424 crystal.
0425
0426 config S3C2440_XTAL_16934400
0427 bool
0428 help
0429 Indicate that the build needs to support 16.9344MHz system
0430 crystal.
0431
0432 config S3C2440_PLL_12000000
0433 bool
0434 depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_12000000
0435 default y if S3C24XX_PLL
0436 help
0437 PLL tables for S3C2440 or S3C2442 CPUs with 12MHz crystals.
0438
0439 config S3C2440_PLL_16934400
0440 bool
0441 depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_16934400
0442 default y if S3C24XX_PLL
0443 help
0444 PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
0445 endif # CPU_S3C2440 || CPU_S3C2442
0446
0447 if CPU_S3C2440
0448
0449 comment "S3C2440 Boards"
0450
0451 #
0452 # The "S3C2440 Boards" list is ordered alphabetically by option text.
0453 # (without ARCH_ or MACH_)
0454 #
0455
0456 config MACH_ANUBIS
0457 bool "Simtec Electronics ANUBIS"
0458 select HAVE_PATA_PLATFORM
0459 select S3C2410_COMMON_DCLK
0460 select S3C2440_XTAL_12000000
0461 select S3C24XX_SIMTEC_PM if PM
0462 select S3C_DEV_USB_HOST
0463 help
0464 Say Y here if you are using the Simtec Electronics ANUBIS
0465 development system
0466
0467 config MACH_AT2440EVB
0468 bool "Avantech AT2440EVB development board"
0469 select S3C_DEV_NAND
0470 select S3C_DEV_USB_HOST
0471 help
0472 Say Y here if you are using the AT2440EVB development board
0473
0474 config MACH_MINI2440
0475 bool "MINI2440 development board"
0476 select LEDS_CLASS
0477 select LEDS_TRIGGERS
0478 select LEDS_TRIGGER_BACKLIGHT
0479 select NEW_LEDS
0480 select S3C_DEV_NAND
0481 select S3C_DEV_USB_HOST
0482 help
0483 Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
0484 available via various sources. It can come with a 3.5" or 7" touch LCD.
0485
0486 config MACH_NEXCODER_2440
0487 bool "NexVision NEXCODER 2440 Light Board"
0488 select S3C2440_XTAL_12000000
0489 select S3C_DEV_NAND
0490 select S3C_DEV_USB_HOST
0491 help
0492 Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
0493
0494 config MACH_OSIRIS
0495 bool "Simtec IM2440D20 (OSIRIS) module"
0496 select S3C2410_COMMON_DCLK
0497 select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
0498 select S3C2440_XTAL_12000000
0499 select S3C24XX_SIMTEC_PM if PM
0500 select S3C_DEV_NAND
0501 select S3C_DEV_USB_HOST
0502 help
0503 Say Y here if you are using the Simtec IM2440D20 module, also
0504 known as the Osiris.
0505
0506 config MACH_OSIRIS_DVS
0507 tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver"
0508 depends on MACH_OSIRIS
0509 depends on TPS65010
0510 help
0511 Say Y/M here if you want to have dynamic voltage scaling support
0512 on the Simtec IM2440D20 (OSIRIS) module via the TPS65011.
0513
0514 The DVS driver alters the voltage supplied to the ARM core
0515 depending on the frequency it is running at. The driver itself
0516 does not do any of the frequency alteration, which is left up
0517 to the cpufreq driver.
0518
0519 config MACH_RX3715
0520 bool "HP iPAQ rx3715"
0521 select PM_H1940 if PM
0522 select S3C2440_XTAL_16934400
0523 select S3C_DEV_NAND
0524 help
0525 Say Y here if you are using the HP iPAQ rx3715.
0526
0527 config ARCH_S3C2440
0528 bool "SMDK2440"
0529 select S3C2440_XTAL_16934400
0530 select S3C24XX_SMDK
0531 select S3C_DEV_NAND
0532 select S3C_DEV_USB_HOST
0533 help
0534 Say Y here if you are using the SMDK2440.
0535
0536 config SMDK2440_CPU2440
0537 bool "SMDK2440 with S3C2440 CPU module"
0538 default y if ARCH_S3C2440
0539 select S3C2440_XTAL_16934400
0540
0541 endif # CPU_S3C2440
0542
0543 if CPU_S3C2442
0544
0545 comment "S3C2442 Boards"
0546
0547 #
0548 # The "S3C2442 Boards" list is ordered alphabetically by option text.
0549 # (without ARCH_ or MACH_)
0550 #
0551
0552 config MACH_NEO1973_GTA02
0553 bool "Openmoko GTA02 / Freerunner phone"
0554 select I2C
0555 select MFD_PCF50633
0556 select PCF50633_GPIO
0557 select POWER_SUPPLY
0558 select S3C_DEV_USB_HOST
0559 help
0560 Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
0561
0562 config MACH_RX1950
0563 bool "HP iPAQ rx1950"
0564 select I2C
0565 select PM_H1940 if PM
0566 select S3C2410_COMMON_DCLK
0567 select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
0568 select S3C2440_XTAL_16934400
0569 select S3C_DEV_NAND
0570 help
0571 Say Y here if you're using HP iPAQ rx1950
0572
0573 endif # CPU_S3C2442
0574
0575 if CPU_S3C2443 || CPU_S3C2416
0576
0577 config S3C2443_SETUP_SPI
0578 bool
0579 help
0580 Common setup code for SPI GPIO configurations
0581
0582 endif # CPU_S3C2443 || CPU_S3C2416
0583
0584 if CPU_S3C2443
0585
0586 comment "S3C2443 Boards"
0587
0588 config MACH_SMDK2443
0589 bool "SMDK2443"
0590 select S3C24XX_SMDK
0591 select S3C_DEV_HSMMC1
0592 help
0593 Say Y here if you are using an SMDK2443
0594
0595 endif # CPU_S3C2443
0596
0597 config PM_H1940
0598 bool
0599 help
0600 Internal node for H1940 and related PM
0601
0602 endmenu # "Samsung S3C24XX SoCs Support"
0603
0604 endif # ARCH_S3C24XX