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