| # SPDX-License-Identifier: GPL-2.0 | 
| # | 
| # Copyright 2008 Openmoko, Inc. | 
| #    Simtec Electronics, Ben Dooks <ben@simtec.co.uk> | 
|   | 
| menuconfig ARCH_S3C64XX | 
|     bool "Samsung S3C64XX" | 
|     depends on ARCH_MULTI_V6 | 
|     select ARM_AMBA | 
|     select ARM_VIC | 
|     select CLKSRC_SAMSUNG_PWM | 
|     select COMMON_CLK_SAMSUNG | 
|     select GPIO_SAMSUNG if ATAGS | 
|     select GPIOLIB | 
|     select HAVE_S3C2410_I2C if I2C | 
|     select HAVE_TCM | 
|     select PLAT_SAMSUNG | 
|     select PM_GENERIC_DOMAINS if PM | 
|     select S3C_DEV_NAND if ATAGS | 
|     select S3C_GPIO_TRACK if ATAGS | 
|     select S3C2410_WATCHDOG | 
|     select SAMSUNG_ATAGS if ATAGS | 
|     select SAMSUNG_WAKEMASK if PM | 
|     select WATCHDOG | 
|     help | 
|       Samsung S3C64XX series based systems | 
|   | 
| if ARCH_S3C64XX | 
|   | 
| # Configuration options for the S3C6410 CPU | 
|   | 
| config CPU_S3C6400 | 
|     bool | 
|     help | 
|       Enable S3C6400 CPU support | 
|   | 
| config CPU_S3C6410 | 
|     bool | 
|     help | 
|       Enable S3C6410 CPU support | 
|   | 
| config S3C64XX_PL080 | 
|     def_bool DMADEVICES | 
|     select AMBA_PL08X | 
|   | 
| config S3C64XX_SETUP_SDHCI | 
|     bool | 
|     select S3C64XX_SETUP_SDHCI_GPIO | 
|     help | 
|       Internal configuration for default SDHCI setup for S3C6400 and | 
|       S3C6410 SoCs. | 
|   | 
| config S3C64XX_DEV_ONENAND1 | 
|     bool | 
|     help | 
|       Compile in platform device definition for OneNAND1 controller | 
|   | 
| config SAMSUNG_DEV_BACKLIGHT | 
|     bool | 
|     depends on SAMSUNG_DEV_PWM | 
|     help | 
|       Compile in platform device definition LCD backlight with PWM Timer | 
|   | 
| # platform specific device setup | 
|   | 
| config S3C64XX_SETUP_I2C0 | 
|     bool | 
|     default y | 
|     help | 
|       Common setup code for i2c bus 0. | 
|   | 
|       Note, currently since i2c0 is always compiled, this setup helper | 
|       is always compiled with it. | 
|   | 
| config S3C64XX_SETUP_I2C1 | 
|     bool | 
|     help | 
|       Common setup code for i2c bus 1. | 
|   | 
| config S3C64XX_SETUP_IDE | 
|     bool | 
|     help | 
|       Common setup code for S3C64XX IDE. | 
|   | 
| config S3C64XX_SETUP_FB_24BPP | 
|     bool | 
|     help | 
|       Common setup code for S3C64XX with an 24bpp RGB display helper. | 
|   | 
| config S3C64XX_SETUP_KEYPAD | 
|     bool | 
|     help | 
|       Common setup code for S3C64XX KEYPAD GPIO configurations | 
|   | 
| config S3C64XX_SETUP_SDHCI_GPIO | 
|     bool | 
|     help | 
|       Common setup code for S3C64XX SDHCI GPIO configurations | 
|   | 
| config S3C64XX_SETUP_SPI | 
|     bool | 
|     help | 
|      Common setup code for SPI GPIO configurations | 
|   | 
| config S3C64XX_SETUP_USB_PHY | 
|     bool | 
|     help | 
|       Common setup code for USB PHY controller | 
|   | 
| # S36400 Macchine support | 
|   | 
| config MACH_SMDK6400 | 
|        bool "SMDK6400" | 
|     depends on ATAGS | 
|     select CPU_S3C6400 | 
|     select S3C64XX_SETUP_SDHCI | 
|     select S3C_DEV_HSMMC1 | 
|     help | 
|       Machine support for the Samsung SMDK6400 | 
|   | 
| # S3C6410 machine support | 
|   | 
| config MACH_ANW6410 | 
|     bool "A&W6410" | 
|     depends on ATAGS | 
|     select CPU_S3C6410 | 
|     select S3C64XX_SETUP_FB_24BPP | 
|     select S3C_DEV_FB | 
|     help | 
|       Machine support for the A&W6410 | 
|   | 
| config MACH_MINI6410 | 
|     bool "MINI6410" | 
|     depends on ATAGS | 
|     select CPU_S3C6410 | 
|     select S3C64XX_SETUP_FB_24BPP | 
|     select S3C64XX_SETUP_SDHCI | 
|     select S3C_DEV_FB | 
|     select S3C_DEV_HSMMC | 
|     select S3C_DEV_HSMMC1 | 
|     select S3C_DEV_NAND | 
|     select S3C_DEV_USB_HOST | 
|     select SAMSUNG_DEV_ADC | 
|     select SAMSUNG_DEV_TS | 
|     help | 
|       Machine support for the FriendlyARM MINI6410 | 
|   | 
| config MACH_REAL6410 | 
|     bool "REAL6410" | 
|     depends on ATAGS | 
|     select CPU_S3C6410 | 
|     select S3C64XX_SETUP_FB_24BPP | 
|     select S3C64XX_SETUP_SDHCI | 
|     select S3C_DEV_FB | 
|     select S3C_DEV_HSMMC | 
|     select S3C_DEV_HSMMC1 | 
|     select S3C_DEV_NAND | 
|     select S3C_DEV_USB_HOST | 
|     select SAMSUNG_DEV_ADC | 
|     select SAMSUNG_DEV_TS | 
|     help | 
|       Machine support for the CoreWind REAL6410 | 
|   | 
| config MACH_SMDK6410 | 
|     bool "SMDK6410" | 
|     depends on ATAGS | 
|     select CPU_S3C6410 | 
|     select S3C64XX_SETUP_FB_24BPP | 
|     select S3C64XX_SETUP_I2C1 | 
|     select S3C64XX_SETUP_IDE | 
|     select S3C64XX_SETUP_KEYPAD | 
|     select S3C64XX_SETUP_SDHCI | 
|     select S3C64XX_SETUP_USB_PHY | 
|     select S3C_DEV_FB | 
|     select S3C_DEV_HSMMC | 
|     select S3C_DEV_HSMMC1 | 
|     select S3C_DEV_I2C1 | 
|     select S3C_DEV_RTC | 
|     select S3C_DEV_USB_HOST | 
|     select S3C_DEV_USB_HSOTG | 
|     select S3C_DEV_WDT | 
|     select SAMSUNG_DEV_ADC | 
|     select SAMSUNG_DEV_BACKLIGHT | 
|     select SAMSUNG_DEV_IDE | 
|     select SAMSUNG_DEV_KEYPAD | 
|     select SAMSUNG_DEV_PWM | 
|     select SAMSUNG_DEV_TS | 
|     help | 
|       Machine support for the Samsung SMDK6410 | 
|   | 
| # At least some of the SMDK6410s were shipped with the card detect | 
| # for the MMC/SD slots connected to the same input. This means that | 
| # either the boards need to be altered to have channel0 to an alternate | 
| # configuration or that only one slot can be used. | 
|   | 
| choice | 
|     prompt "SMDK6410 MMC/SD slot setup" | 
|     depends on MACH_SMDK6410 | 
|   | 
| config SMDK6410_SD_CH0 | 
|     bool "Use channel 0 only" | 
|     depends on MACH_SMDK6410 | 
|     help | 
|           Select CON7 (channel 0) as the MMC/SD slot, as | 
|       at least some SMDK6410 boards come with the | 
|       resistors fitted so that the card detects for | 
|       channels 0 and 1 are the same. | 
|   | 
| config SMDK6410_SD_CH1 | 
|     bool "Use channel 1 only" | 
|     depends on MACH_SMDK6410 | 
|     help | 
|           Select CON6 (channel 1) as the MMC/SD slot, as | 
|       at least some SMDK6410 boards come with the | 
|       resistors fitted so that the card detects for | 
|       channels 0 and 1 are the same. | 
|   | 
| endchoice | 
|   | 
| config SMDK6410_WM1190_EV1 | 
|     bool "Support Wolfson Microelectronics 1190-EV1 PMIC card" | 
|     depends on MACH_SMDK6410 | 
|     depends on I2C=y | 
|     select MFD_WM8350_I2C | 
|     select REGULATOR | 
|     select REGULATOR_WM8350 | 
|     help | 
|       The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC | 
|       and audio daughtercard for the Samsung SMDK6410 reference | 
|       platform.  Enabling this option will build support for this | 
|       module into the kernel.  The presence of the module will be | 
|       detected at runtime so the resulting kernel can be used | 
|       with or without the 1190-EV1 fitted. | 
|   | 
| config SMDK6410_WM1192_EV1 | 
|     bool "Support Wolfson Microelectronics 1192-EV1 PMIC card" | 
|     depends on MACH_SMDK6410 | 
|     depends on I2C=y | 
|     select MFD_WM831X | 
|     select MFD_WM831X_I2C | 
|     select REGULATOR | 
|     select REGULATOR_WM831X | 
|     help | 
|       The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC | 
|       daughtercard for the Samsung SMDK6410 reference platform. | 
|       Enabling this option will build support for this module into | 
|       the kernel.  The presence of the daughtercard will be | 
|       detected at runtime so the resulting kernel can be used | 
|       with or without the 1192-EV1 fitted. | 
|   | 
| config MACH_NCP | 
|     bool "NCP" | 
|     depends on ATAGS | 
|     select CPU_S3C6410 | 
|     select S3C64XX_SETUP_I2C1 | 
|     select S3C_DEV_HSMMC1 | 
|     select S3C_DEV_I2C1 | 
|     help | 
|           Machine support for the Samsung NCP | 
|   | 
| config MACH_HMT | 
|     bool "Airgoo HMT" | 
|     depends on ATAGS | 
|     select CPU_S3C6410 | 
|     select S3C64XX_SETUP_FB_24BPP | 
|     select S3C_DEV_FB | 
|     select S3C_DEV_NAND | 
|     select S3C_DEV_USB_HOST | 
|     select SAMSUNG_DEV_PWM | 
|     help | 
|       Machine support for the Airgoo HMT | 
|   | 
| config MACH_SMARTQ | 
|     bool | 
|     select CPU_S3C6410 | 
|     select S3C64XX_SETUP_FB_24BPP | 
|     select S3C64XX_SETUP_SDHCI | 
|     select S3C64XX_SETUP_USB_PHY | 
|     select S3C_DEV_FB | 
|     select S3C_DEV_HSMMC | 
|     select S3C_DEV_HSMMC1 | 
|     select S3C_DEV_HSMMC2 | 
|     select S3C_DEV_HWMON | 
|     select S3C_DEV_RTC | 
|     select S3C_DEV_USB_HOST | 
|     select S3C_DEV_USB_HSOTG | 
|     select SAMSUNG_DEV_ADC | 
|     select SAMSUNG_DEV_PWM | 
|     select SAMSUNG_DEV_TS | 
|     help | 
|         Shared machine support for SmartQ 5/7 | 
|   | 
| config MACH_SMARTQ5 | 
|     bool "SmartQ 5" | 
|     depends on ATAGS | 
|     select MACH_SMARTQ | 
|     help | 
|         Machine support for the SmartQ 5 | 
|   | 
| config MACH_SMARTQ7 | 
|     bool "SmartQ 7" | 
|     depends on ATAGS | 
|     select MACH_SMARTQ | 
|     help | 
|         Machine support for the SmartQ 7 | 
|   | 
| config MACH_WLF_CRAGG_6410 | 
|     bool "Wolfson Cragganmore 6410" | 
|     depends on ATAGS | 
|     depends on I2C=y | 
|     select CPU_S3C6410 | 
|     select LEDS_GPIO_REGISTER | 
|     select S3C64XX_DEV_SPI0 | 
|     select S3C64XX_SETUP_FB_24BPP | 
|     select S3C64XX_SETUP_I2C1 | 
|     select S3C64XX_SETUP_IDE | 
|     select S3C64XX_SETUP_KEYPAD | 
|     select S3C64XX_SETUP_SDHCI | 
|     select S3C64XX_SETUP_SPI | 
|     select S3C64XX_SETUP_USB_PHY | 
|     select S3C_DEV_FB | 
|     select S3C_DEV_HSMMC | 
|     select S3C_DEV_HSMMC1 | 
|     select S3C_DEV_HSMMC2 | 
|     select S3C_DEV_I2C1 | 
|     select S3C_DEV_RTC | 
|     select S3C_DEV_USB_HOST | 
|     select S3C_DEV_USB_HSOTG | 
|     select S3C_DEV_WDT | 
|     select SAMSUNG_DEV_ADC | 
|     select SAMSUNG_DEV_KEYPAD | 
|     select SAMSUNG_DEV_PWM | 
|     help | 
|       Machine support for the Wolfson Cragganmore S3C6410 variant. | 
|   | 
| config MACH_S3C64XX_DT | 
|     bool "Samsung S3C6400/S3C6410 machine using Device Tree" | 
|     select CPU_S3C6400 | 
|     select CPU_S3C6410 | 
|     select PINCTRL | 
|     select PINCTRL_S3C64XX | 
|     help | 
|       Machine support for Samsung S3C6400/S3C6410 machines with Device Tree | 
|       enabled. | 
|       Select this if a fdt blob is available for your S3C64XX SoC based | 
|       board. | 
|       Note: This is under development and not all peripherals can be | 
|       supported with this machine file. | 
|   | 
| endif |