1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Copyright 2008 Openmoko, Inc. 4*4882a593Smuzhiyun# Simtec Electronics, Ben Dooks <ben@simtec.co.uk> 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunmenuconfig ARCH_S3C64XX 7*4882a593Smuzhiyun bool "Samsung S3C64XX" 8*4882a593Smuzhiyun depends on ARCH_MULTI_V6 9*4882a593Smuzhiyun select ARM_AMBA 10*4882a593Smuzhiyun select ARM_VIC 11*4882a593Smuzhiyun select CLKSRC_SAMSUNG_PWM 12*4882a593Smuzhiyun select COMMON_CLK_SAMSUNG 13*4882a593Smuzhiyun select GPIO_SAMSUNG if ATAGS 14*4882a593Smuzhiyun select GPIOLIB 15*4882a593Smuzhiyun select HAVE_S3C2410_I2C if I2C 16*4882a593Smuzhiyun select HAVE_TCM 17*4882a593Smuzhiyun select PLAT_SAMSUNG 18*4882a593Smuzhiyun select PM_GENERIC_DOMAINS if PM 19*4882a593Smuzhiyun select S3C_DEV_NAND if ATAGS 20*4882a593Smuzhiyun select S3C_GPIO_TRACK if ATAGS 21*4882a593Smuzhiyun select S3C2410_WATCHDOG 22*4882a593Smuzhiyun select SAMSUNG_ATAGS if ATAGS 23*4882a593Smuzhiyun select SAMSUNG_WAKEMASK if PM 24*4882a593Smuzhiyun select WATCHDOG 25*4882a593Smuzhiyun help 26*4882a593Smuzhiyun Samsung S3C64XX series based systems 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunif ARCH_S3C64XX 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun# Configuration options for the S3C6410 CPU 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunconfig CPU_S3C6400 33*4882a593Smuzhiyun bool 34*4882a593Smuzhiyun help 35*4882a593Smuzhiyun Enable S3C6400 CPU support 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig CPU_S3C6410 38*4882a593Smuzhiyun bool 39*4882a593Smuzhiyun help 40*4882a593Smuzhiyun Enable S3C6410 CPU support 41*4882a593Smuzhiyun 42*4882a593Smuzhiyunconfig S3C64XX_PL080 43*4882a593Smuzhiyun def_bool DMADEVICES 44*4882a593Smuzhiyun select AMBA_PL08X 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunconfig S3C64XX_SETUP_SDHCI 47*4882a593Smuzhiyun bool 48*4882a593Smuzhiyun select S3C64XX_SETUP_SDHCI_GPIO 49*4882a593Smuzhiyun help 50*4882a593Smuzhiyun Internal configuration for default SDHCI setup for S3C6400 and 51*4882a593Smuzhiyun S3C6410 SoCs. 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunconfig S3C64XX_DEV_ONENAND1 54*4882a593Smuzhiyun bool 55*4882a593Smuzhiyun help 56*4882a593Smuzhiyun Compile in platform device definition for OneNAND1 controller 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig SAMSUNG_DEV_BACKLIGHT 59*4882a593Smuzhiyun bool 60*4882a593Smuzhiyun depends on SAMSUNG_DEV_PWM 61*4882a593Smuzhiyun help 62*4882a593Smuzhiyun Compile in platform device definition LCD backlight with PWM Timer 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun# platform specific device setup 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunconfig S3C64XX_SETUP_I2C0 67*4882a593Smuzhiyun bool 68*4882a593Smuzhiyun default y 69*4882a593Smuzhiyun help 70*4882a593Smuzhiyun Common setup code for i2c bus 0. 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun Note, currently since i2c0 is always compiled, this setup helper 73*4882a593Smuzhiyun is always compiled with it. 74*4882a593Smuzhiyun 75*4882a593Smuzhiyunconfig S3C64XX_SETUP_I2C1 76*4882a593Smuzhiyun bool 77*4882a593Smuzhiyun help 78*4882a593Smuzhiyun Common setup code for i2c bus 1. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunconfig S3C64XX_SETUP_IDE 81*4882a593Smuzhiyun bool 82*4882a593Smuzhiyun help 83*4882a593Smuzhiyun Common setup code for S3C64XX IDE. 84*4882a593Smuzhiyun 85*4882a593Smuzhiyunconfig S3C64XX_SETUP_FB_24BPP 86*4882a593Smuzhiyun bool 87*4882a593Smuzhiyun help 88*4882a593Smuzhiyun Common setup code for S3C64XX with an 24bpp RGB display helper. 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunconfig S3C64XX_SETUP_KEYPAD 91*4882a593Smuzhiyun bool 92*4882a593Smuzhiyun help 93*4882a593Smuzhiyun Common setup code for S3C64XX KEYPAD GPIO configurations 94*4882a593Smuzhiyun 95*4882a593Smuzhiyunconfig S3C64XX_SETUP_SDHCI_GPIO 96*4882a593Smuzhiyun bool 97*4882a593Smuzhiyun help 98*4882a593Smuzhiyun Common setup code for S3C64XX SDHCI GPIO configurations 99*4882a593Smuzhiyun 100*4882a593Smuzhiyunconfig S3C64XX_SETUP_SPI 101*4882a593Smuzhiyun bool 102*4882a593Smuzhiyun help 103*4882a593Smuzhiyun Common setup code for SPI GPIO configurations 104*4882a593Smuzhiyun 105*4882a593Smuzhiyunconfig S3C64XX_SETUP_USB_PHY 106*4882a593Smuzhiyun bool 107*4882a593Smuzhiyun help 108*4882a593Smuzhiyun Common setup code for USB PHY controller 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun# S36400 Macchine support 111*4882a593Smuzhiyun 112*4882a593Smuzhiyunconfig MACH_SMDK6400 113*4882a593Smuzhiyun bool "SMDK6400" 114*4882a593Smuzhiyun depends on ATAGS 115*4882a593Smuzhiyun select CPU_S3C6400 116*4882a593Smuzhiyun select S3C64XX_SETUP_SDHCI 117*4882a593Smuzhiyun select S3C_DEV_HSMMC1 118*4882a593Smuzhiyun help 119*4882a593Smuzhiyun Machine support for the Samsung SMDK6400 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun# S3C6410 machine support 122*4882a593Smuzhiyun 123*4882a593Smuzhiyunconfig MACH_ANW6410 124*4882a593Smuzhiyun bool "A&W6410" 125*4882a593Smuzhiyun depends on ATAGS 126*4882a593Smuzhiyun select CPU_S3C6410 127*4882a593Smuzhiyun select S3C64XX_SETUP_FB_24BPP 128*4882a593Smuzhiyun select S3C_DEV_FB 129*4882a593Smuzhiyun help 130*4882a593Smuzhiyun Machine support for the A&W6410 131*4882a593Smuzhiyun 132*4882a593Smuzhiyunconfig MACH_MINI6410 133*4882a593Smuzhiyun bool "MINI6410" 134*4882a593Smuzhiyun depends on ATAGS 135*4882a593Smuzhiyun select CPU_S3C6410 136*4882a593Smuzhiyun select S3C64XX_SETUP_FB_24BPP 137*4882a593Smuzhiyun select S3C64XX_SETUP_SDHCI 138*4882a593Smuzhiyun select S3C_DEV_FB 139*4882a593Smuzhiyun select S3C_DEV_HSMMC 140*4882a593Smuzhiyun select S3C_DEV_HSMMC1 141*4882a593Smuzhiyun select S3C_DEV_NAND 142*4882a593Smuzhiyun select S3C_DEV_USB_HOST 143*4882a593Smuzhiyun select SAMSUNG_DEV_ADC 144*4882a593Smuzhiyun select SAMSUNG_DEV_TS 145*4882a593Smuzhiyun help 146*4882a593Smuzhiyun Machine support for the FriendlyARM MINI6410 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunconfig MACH_REAL6410 149*4882a593Smuzhiyun bool "REAL6410" 150*4882a593Smuzhiyun depends on ATAGS 151*4882a593Smuzhiyun select CPU_S3C6410 152*4882a593Smuzhiyun select S3C64XX_SETUP_FB_24BPP 153*4882a593Smuzhiyun select S3C64XX_SETUP_SDHCI 154*4882a593Smuzhiyun select S3C_DEV_FB 155*4882a593Smuzhiyun select S3C_DEV_HSMMC 156*4882a593Smuzhiyun select S3C_DEV_HSMMC1 157*4882a593Smuzhiyun select S3C_DEV_NAND 158*4882a593Smuzhiyun select S3C_DEV_USB_HOST 159*4882a593Smuzhiyun select SAMSUNG_DEV_ADC 160*4882a593Smuzhiyun select SAMSUNG_DEV_TS 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun Machine support for the CoreWind REAL6410 163*4882a593Smuzhiyun 164*4882a593Smuzhiyunconfig MACH_SMDK6410 165*4882a593Smuzhiyun bool "SMDK6410" 166*4882a593Smuzhiyun depends on ATAGS 167*4882a593Smuzhiyun select CPU_S3C6410 168*4882a593Smuzhiyun select S3C64XX_SETUP_FB_24BPP 169*4882a593Smuzhiyun select S3C64XX_SETUP_I2C1 170*4882a593Smuzhiyun select S3C64XX_SETUP_IDE 171*4882a593Smuzhiyun select S3C64XX_SETUP_KEYPAD 172*4882a593Smuzhiyun select S3C64XX_SETUP_SDHCI 173*4882a593Smuzhiyun select S3C64XX_SETUP_USB_PHY 174*4882a593Smuzhiyun select S3C_DEV_FB 175*4882a593Smuzhiyun select S3C_DEV_HSMMC 176*4882a593Smuzhiyun select S3C_DEV_HSMMC1 177*4882a593Smuzhiyun select S3C_DEV_I2C1 178*4882a593Smuzhiyun select S3C_DEV_RTC 179*4882a593Smuzhiyun select S3C_DEV_USB_HOST 180*4882a593Smuzhiyun select S3C_DEV_USB_HSOTG 181*4882a593Smuzhiyun select S3C_DEV_WDT 182*4882a593Smuzhiyun select SAMSUNG_DEV_ADC 183*4882a593Smuzhiyun select SAMSUNG_DEV_BACKLIGHT 184*4882a593Smuzhiyun select SAMSUNG_DEV_IDE 185*4882a593Smuzhiyun select SAMSUNG_DEV_KEYPAD 186*4882a593Smuzhiyun select SAMSUNG_DEV_PWM 187*4882a593Smuzhiyun select SAMSUNG_DEV_TS 188*4882a593Smuzhiyun help 189*4882a593Smuzhiyun Machine support for the Samsung SMDK6410 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun# At least some of the SMDK6410s were shipped with the card detect 192*4882a593Smuzhiyun# for the MMC/SD slots connected to the same input. This means that 193*4882a593Smuzhiyun# either the boards need to be altered to have channel0 to an alternate 194*4882a593Smuzhiyun# configuration or that only one slot can be used. 195*4882a593Smuzhiyun 196*4882a593Smuzhiyunchoice 197*4882a593Smuzhiyun prompt "SMDK6410 MMC/SD slot setup" 198*4882a593Smuzhiyun depends on MACH_SMDK6410 199*4882a593Smuzhiyun 200*4882a593Smuzhiyunconfig SMDK6410_SD_CH0 201*4882a593Smuzhiyun bool "Use channel 0 only" 202*4882a593Smuzhiyun depends on MACH_SMDK6410 203*4882a593Smuzhiyun help 204*4882a593Smuzhiyun Select CON7 (channel 0) as the MMC/SD slot, as 205*4882a593Smuzhiyun at least some SMDK6410 boards come with the 206*4882a593Smuzhiyun resistors fitted so that the card detects for 207*4882a593Smuzhiyun channels 0 and 1 are the same. 208*4882a593Smuzhiyun 209*4882a593Smuzhiyunconfig SMDK6410_SD_CH1 210*4882a593Smuzhiyun bool "Use channel 1 only" 211*4882a593Smuzhiyun depends on MACH_SMDK6410 212*4882a593Smuzhiyun help 213*4882a593Smuzhiyun Select CON6 (channel 1) as the MMC/SD slot, as 214*4882a593Smuzhiyun at least some SMDK6410 boards come with the 215*4882a593Smuzhiyun resistors fitted so that the card detects for 216*4882a593Smuzhiyun channels 0 and 1 are the same. 217*4882a593Smuzhiyun 218*4882a593Smuzhiyunendchoice 219*4882a593Smuzhiyun 220*4882a593Smuzhiyunconfig SMDK6410_WM1190_EV1 221*4882a593Smuzhiyun bool "Support Wolfson Microelectronics 1190-EV1 PMIC card" 222*4882a593Smuzhiyun depends on MACH_SMDK6410 223*4882a593Smuzhiyun depends on I2C=y 224*4882a593Smuzhiyun select MFD_WM8350_I2C 225*4882a593Smuzhiyun select REGULATOR 226*4882a593Smuzhiyun select REGULATOR_WM8350 227*4882a593Smuzhiyun help 228*4882a593Smuzhiyun The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC 229*4882a593Smuzhiyun and audio daughtercard for the Samsung SMDK6410 reference 230*4882a593Smuzhiyun platform. Enabling this option will build support for this 231*4882a593Smuzhiyun module into the kernel. The presence of the module will be 232*4882a593Smuzhiyun detected at runtime so the resulting kernel can be used 233*4882a593Smuzhiyun with or without the 1190-EV1 fitted. 234*4882a593Smuzhiyun 235*4882a593Smuzhiyunconfig SMDK6410_WM1192_EV1 236*4882a593Smuzhiyun bool "Support Wolfson Microelectronics 1192-EV1 PMIC card" 237*4882a593Smuzhiyun depends on MACH_SMDK6410 238*4882a593Smuzhiyun depends on I2C=y 239*4882a593Smuzhiyun select MFD_WM831X 240*4882a593Smuzhiyun select MFD_WM831X_I2C 241*4882a593Smuzhiyun select REGULATOR 242*4882a593Smuzhiyun select REGULATOR_WM831X 243*4882a593Smuzhiyun help 244*4882a593Smuzhiyun The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC 245*4882a593Smuzhiyun daughtercard for the Samsung SMDK6410 reference platform. 246*4882a593Smuzhiyun Enabling this option will build support for this module into 247*4882a593Smuzhiyun the kernel. The presence of the daughtercard will be 248*4882a593Smuzhiyun detected at runtime so the resulting kernel can be used 249*4882a593Smuzhiyun with or without the 1192-EV1 fitted. 250*4882a593Smuzhiyun 251*4882a593Smuzhiyunconfig MACH_NCP 252*4882a593Smuzhiyun bool "NCP" 253*4882a593Smuzhiyun depends on ATAGS 254*4882a593Smuzhiyun select CPU_S3C6410 255*4882a593Smuzhiyun select S3C64XX_SETUP_I2C1 256*4882a593Smuzhiyun select S3C_DEV_HSMMC1 257*4882a593Smuzhiyun select S3C_DEV_I2C1 258*4882a593Smuzhiyun help 259*4882a593Smuzhiyun Machine support for the Samsung NCP 260*4882a593Smuzhiyun 261*4882a593Smuzhiyunconfig MACH_HMT 262*4882a593Smuzhiyun bool "Airgoo HMT" 263*4882a593Smuzhiyun depends on ATAGS 264*4882a593Smuzhiyun select CPU_S3C6410 265*4882a593Smuzhiyun select S3C64XX_SETUP_FB_24BPP 266*4882a593Smuzhiyun select S3C_DEV_FB 267*4882a593Smuzhiyun select S3C_DEV_NAND 268*4882a593Smuzhiyun select S3C_DEV_USB_HOST 269*4882a593Smuzhiyun select SAMSUNG_DEV_PWM 270*4882a593Smuzhiyun help 271*4882a593Smuzhiyun Machine support for the Airgoo HMT 272*4882a593Smuzhiyun 273*4882a593Smuzhiyunconfig MACH_SMARTQ 274*4882a593Smuzhiyun bool 275*4882a593Smuzhiyun select CPU_S3C6410 276*4882a593Smuzhiyun select S3C64XX_SETUP_FB_24BPP 277*4882a593Smuzhiyun select S3C64XX_SETUP_SDHCI 278*4882a593Smuzhiyun select S3C64XX_SETUP_USB_PHY 279*4882a593Smuzhiyun select S3C_DEV_FB 280*4882a593Smuzhiyun select S3C_DEV_HSMMC 281*4882a593Smuzhiyun select S3C_DEV_HSMMC1 282*4882a593Smuzhiyun select S3C_DEV_HSMMC2 283*4882a593Smuzhiyun select S3C_DEV_HWMON 284*4882a593Smuzhiyun select S3C_DEV_RTC 285*4882a593Smuzhiyun select S3C_DEV_USB_HOST 286*4882a593Smuzhiyun select S3C_DEV_USB_HSOTG 287*4882a593Smuzhiyun select SAMSUNG_DEV_ADC 288*4882a593Smuzhiyun select SAMSUNG_DEV_PWM 289*4882a593Smuzhiyun select SAMSUNG_DEV_TS 290*4882a593Smuzhiyun help 291*4882a593Smuzhiyun Shared machine support for SmartQ 5/7 292*4882a593Smuzhiyun 293*4882a593Smuzhiyunconfig MACH_SMARTQ5 294*4882a593Smuzhiyun bool "SmartQ 5" 295*4882a593Smuzhiyun depends on ATAGS 296*4882a593Smuzhiyun select MACH_SMARTQ 297*4882a593Smuzhiyun help 298*4882a593Smuzhiyun Machine support for the SmartQ 5 299*4882a593Smuzhiyun 300*4882a593Smuzhiyunconfig MACH_SMARTQ7 301*4882a593Smuzhiyun bool "SmartQ 7" 302*4882a593Smuzhiyun depends on ATAGS 303*4882a593Smuzhiyun select MACH_SMARTQ 304*4882a593Smuzhiyun help 305*4882a593Smuzhiyun Machine support for the SmartQ 7 306*4882a593Smuzhiyun 307*4882a593Smuzhiyunconfig MACH_WLF_CRAGG_6410 308*4882a593Smuzhiyun bool "Wolfson Cragganmore 6410" 309*4882a593Smuzhiyun depends on ATAGS 310*4882a593Smuzhiyun depends on I2C=y 311*4882a593Smuzhiyun select CPU_S3C6410 312*4882a593Smuzhiyun select LEDS_GPIO_REGISTER 313*4882a593Smuzhiyun select S3C64XX_DEV_SPI0 314*4882a593Smuzhiyun select S3C64XX_SETUP_FB_24BPP 315*4882a593Smuzhiyun select S3C64XX_SETUP_I2C1 316*4882a593Smuzhiyun select S3C64XX_SETUP_IDE 317*4882a593Smuzhiyun select S3C64XX_SETUP_KEYPAD 318*4882a593Smuzhiyun select S3C64XX_SETUP_SDHCI 319*4882a593Smuzhiyun select S3C64XX_SETUP_SPI 320*4882a593Smuzhiyun select S3C64XX_SETUP_USB_PHY 321*4882a593Smuzhiyun select S3C_DEV_FB 322*4882a593Smuzhiyun select S3C_DEV_HSMMC 323*4882a593Smuzhiyun select S3C_DEV_HSMMC1 324*4882a593Smuzhiyun select S3C_DEV_HSMMC2 325*4882a593Smuzhiyun select S3C_DEV_I2C1 326*4882a593Smuzhiyun select S3C_DEV_RTC 327*4882a593Smuzhiyun select S3C_DEV_USB_HOST 328*4882a593Smuzhiyun select S3C_DEV_USB_HSOTG 329*4882a593Smuzhiyun select S3C_DEV_WDT 330*4882a593Smuzhiyun select SAMSUNG_DEV_ADC 331*4882a593Smuzhiyun select SAMSUNG_DEV_KEYPAD 332*4882a593Smuzhiyun select SAMSUNG_DEV_PWM 333*4882a593Smuzhiyun help 334*4882a593Smuzhiyun Machine support for the Wolfson Cragganmore S3C6410 variant. 335*4882a593Smuzhiyun 336*4882a593Smuzhiyunconfig MACH_S3C64XX_DT 337*4882a593Smuzhiyun bool "Samsung S3C6400/S3C6410 machine using Device Tree" 338*4882a593Smuzhiyun select CPU_S3C6400 339*4882a593Smuzhiyun select CPU_S3C6410 340*4882a593Smuzhiyun select PINCTRL 341*4882a593Smuzhiyun select PINCTRL_S3C64XX 342*4882a593Smuzhiyun help 343*4882a593Smuzhiyun Machine support for Samsung S3C6400/S3C6410 machines with Device Tree 344*4882a593Smuzhiyun enabled. 345*4882a593Smuzhiyun Select this if a fdt blob is available for your S3C64XX SoC based 346*4882a593Smuzhiyun board. 347*4882a593Smuzhiyun Note: This is under development and not all peripherals can be 348*4882a593Smuzhiyun supported with this machine file. 349*4882a593Smuzhiyun 350*4882a593Smuzhiyunendif 351