0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # Copyright 2008 Openmoko, Inc.
0004 # Simtec Electronics, Ben Dooks <ben@simtec.co.uk>
0005
0006 menuconfig ARCH_S3C64XX
0007 bool "Samsung S3C64XX (deprecated, see help)"
0008 depends on ARCH_MULTI_V6
0009 select ARM_AMBA
0010 select ARM_VIC
0011 select CLKSRC_SAMSUNG_PWM
0012 select COMMON_CLK_SAMSUNG
0013 select GPIO_SAMSUNG if ATAGS
0014 select GPIOLIB
0015 select HAVE_TCM
0016 select PLAT_SAMSUNG
0017 select PM_GENERIC_DOMAINS if PM
0018 select S3C_DEV_NAND if ATAGS
0019 select S3C_GPIO_TRACK if ATAGS
0020 select S3C2410_WATCHDOG
0021 select SAMSUNG_ATAGS if ATAGS
0022 select SAMSUNG_WAKEMASK if PM
0023 select WATCHDOG
0024 help
0025 Samsung S3C64XX series based systems
0026
0027 The platform is deprecated and scheduled for removal. Please reach to
0028 the maintainers of the platform and linux-samsung-soc@vger.kernel.org if
0029 you still use it.
0030 Without such feedback, the platform will be removed after 2024.
0031
0032 if ARCH_S3C64XX
0033
0034 # Configuration options for the S3C6410 CPU
0035
0036 config CPU_S3C6400
0037 bool
0038 help
0039 Enable S3C6400 CPU support
0040
0041 config CPU_S3C6410
0042 bool
0043 help
0044 Enable S3C6410 CPU support
0045
0046 config S3C64XX_PL080
0047 def_bool DMADEVICES
0048 select AMBA_PL08X
0049
0050 config S3C64XX_SETUP_SDHCI
0051 bool
0052 select S3C64XX_SETUP_SDHCI_GPIO
0053 help
0054 Internal configuration for default SDHCI setup for S3C6400 and
0055 S3C6410 SoCs.
0056
0057 config S3C64XX_DEV_ONENAND1
0058 bool
0059 help
0060 Compile in platform device definition for OneNAND1 controller
0061
0062 config SAMSUNG_DEV_BACKLIGHT
0063 bool
0064 depends on SAMSUNG_DEV_PWM
0065 help
0066 Compile in platform device definition LCD backlight with PWM Timer
0067
0068 # platform specific device setup
0069
0070 config S3C64XX_SETUP_I2C0
0071 bool
0072 default y
0073 help
0074 Common setup code for i2c bus 0.
0075
0076 Note, currently since i2c0 is always compiled, this setup helper
0077 is always compiled with it.
0078
0079 config S3C64XX_SETUP_I2C1
0080 bool
0081 help
0082 Common setup code for i2c bus 1.
0083
0084 config S3C64XX_SETUP_IDE
0085 bool
0086 help
0087 Common setup code for S3C64XX IDE.
0088
0089 config S3C64XX_SETUP_FB_24BPP
0090 bool
0091 help
0092 Common setup code for S3C64XX with an 24bpp RGB display helper.
0093
0094 config S3C64XX_SETUP_KEYPAD
0095 bool
0096 help
0097 Common setup code for S3C64XX KEYPAD GPIO configurations
0098
0099 config S3C64XX_SETUP_SDHCI_GPIO
0100 bool
0101 help
0102 Common setup code for S3C64XX SDHCI GPIO configurations
0103
0104 config S3C64XX_SETUP_SPI
0105 bool
0106 help
0107 Common setup code for SPI GPIO configurations
0108
0109 config S3C64XX_SETUP_USB_PHY
0110 bool
0111 help
0112 Common setup code for USB PHY controller
0113
0114 # S36400 Macchine support
0115
0116 config MACH_SMDK6400
0117 bool "SMDK6400"
0118 depends on ATAGS && UNUSED_BOARD_FILES
0119 select CPU_S3C6400
0120 select S3C64XX_SETUP_SDHCI
0121 select S3C_DEV_HSMMC1
0122 help
0123 Machine support for the Samsung SMDK6400
0124
0125 # S3C6410 machine support
0126
0127 config MACH_ANW6410
0128 bool "A&W6410"
0129 depends on ATAGS && UNUSED_BOARD_FILES
0130 select CPU_S3C6410
0131 select S3C64XX_SETUP_FB_24BPP
0132 select S3C_DEV_FB
0133 help
0134 Machine support for the A&W6410
0135
0136 config MACH_MINI6410
0137 bool "MINI6410"
0138 depends on ATAGS && UNUSED_BOARD_FILES
0139 select CPU_S3C6410
0140 select S3C64XX_SETUP_FB_24BPP
0141 select S3C64XX_SETUP_SDHCI
0142 select S3C_DEV_FB
0143 select S3C_DEV_HSMMC
0144 select S3C_DEV_HSMMC1
0145 select S3C_DEV_NAND
0146 select S3C_DEV_USB_HOST
0147 select SAMSUNG_DEV_ADC
0148 select SAMSUNG_DEV_TS
0149 help
0150 Machine support for the FriendlyARM MINI6410
0151
0152 config MACH_REAL6410
0153 bool "REAL6410"
0154 depends on ATAGS && UNUSED_BOARD_FILES
0155 select CPU_S3C6410
0156 select S3C64XX_SETUP_FB_24BPP
0157 select S3C64XX_SETUP_SDHCI
0158 select S3C_DEV_FB
0159 select S3C_DEV_HSMMC
0160 select S3C_DEV_HSMMC1
0161 select S3C_DEV_NAND
0162 select S3C_DEV_USB_HOST
0163 select SAMSUNG_DEV_ADC
0164 select SAMSUNG_DEV_TS
0165 help
0166 Machine support for the CoreWind REAL6410
0167
0168 config MACH_SMDK6410
0169 bool "SMDK6410"
0170 depends on ATAGS && UNUSED_BOARD_FILES
0171 select CPU_S3C6410
0172 select S3C64XX_SETUP_FB_24BPP
0173 select S3C64XX_SETUP_I2C1
0174 select S3C64XX_SETUP_IDE
0175 select S3C64XX_SETUP_KEYPAD
0176 select S3C64XX_SETUP_SDHCI
0177 select S3C64XX_SETUP_USB_PHY
0178 select S3C_DEV_FB
0179 select S3C_DEV_HSMMC
0180 select S3C_DEV_HSMMC1
0181 select S3C_DEV_I2C1
0182 select S3C_DEV_RTC
0183 select S3C_DEV_USB_HOST
0184 select S3C_DEV_USB_HSOTG
0185 select S3C_DEV_WDT
0186 select SAMSUNG_DEV_ADC
0187 select SAMSUNG_DEV_BACKLIGHT
0188 select SAMSUNG_DEV_IDE
0189 select SAMSUNG_DEV_KEYPAD
0190 select SAMSUNG_DEV_PWM
0191 select SAMSUNG_DEV_TS
0192 help
0193 Machine support for the Samsung SMDK6410
0194
0195 # At least some of the SMDK6410s were shipped with the card detect
0196 # for the MMC/SD slots connected to the same input. This means that
0197 # either the boards need to be altered to have channel0 to an alternate
0198 # configuration or that only one slot can be used.
0199
0200 choice
0201 prompt "SMDK6410 MMC/SD slot setup"
0202 depends on MACH_SMDK6410
0203
0204 config SMDK6410_SD_CH0
0205 bool "Use channel 0 only"
0206 depends on MACH_SMDK6410
0207 help
0208 Select CON7 (channel 0) as the MMC/SD slot, as
0209 at least some SMDK6410 boards come with the
0210 resistors fitted so that the card detects for
0211 channels 0 and 1 are the same.
0212
0213 config SMDK6410_SD_CH1
0214 bool "Use channel 1 only"
0215 depends on MACH_SMDK6410
0216 help
0217 Select CON6 (channel 1) as the MMC/SD slot, as
0218 at least some SMDK6410 boards come with the
0219 resistors fitted so that the card detects for
0220 channels 0 and 1 are the same.
0221
0222 endchoice
0223
0224 config SMDK6410_WM1190_EV1
0225 bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
0226 depends on MACH_SMDK6410
0227 depends on I2C=y
0228 select MFD_WM8350_I2C
0229 select REGULATOR
0230 select REGULATOR_WM8350
0231 help
0232 The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
0233 and audio daughtercard for the Samsung SMDK6410 reference
0234 platform. Enabling this option will build support for this
0235 module into the kernel. The presence of the module will be
0236 detected at runtime so the resulting kernel can be used
0237 with or without the 1190-EV1 fitted.
0238
0239 config SMDK6410_WM1192_EV1
0240 bool "Support Wolfson Microelectronics 1192-EV1 PMIC card"
0241 depends on MACH_SMDK6410
0242 depends on I2C=y
0243 select MFD_WM831X
0244 select MFD_WM831X_I2C
0245 select REGULATOR
0246 select REGULATOR_WM831X
0247 help
0248 The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
0249 daughtercard for the Samsung SMDK6410 reference platform.
0250 Enabling this option will build support for this module into
0251 the kernel. The presence of the daughtercard will be
0252 detected at runtime so the resulting kernel can be used
0253 with or without the 1192-EV1 fitted.
0254
0255 config MACH_NCP
0256 bool "NCP"
0257 depends on ATAGS && UNUSED_BOARD_FILES
0258 select CPU_S3C6410
0259 select S3C64XX_SETUP_I2C1
0260 select S3C_DEV_HSMMC1
0261 select S3C_DEV_I2C1
0262 help
0263 Machine support for the Samsung NCP
0264
0265 config MACH_HMT
0266 bool "Airgoo HMT"
0267 depends on ATAGS && UNUSED_BOARD_FILES
0268 select CPU_S3C6410
0269 select S3C64XX_SETUP_FB_24BPP
0270 select S3C_DEV_FB
0271 select S3C_DEV_NAND
0272 select S3C_DEV_USB_HOST
0273 select SAMSUNG_DEV_PWM
0274 help
0275 Machine support for the Airgoo HMT
0276
0277 config MACH_SMARTQ
0278 bool
0279 select CPU_S3C6410
0280 select S3C64XX_SETUP_FB_24BPP
0281 select S3C64XX_SETUP_SDHCI
0282 select S3C64XX_SETUP_USB_PHY
0283 select S3C_DEV_FB
0284 select S3C_DEV_HSMMC
0285 select S3C_DEV_HSMMC1
0286 select S3C_DEV_HSMMC2
0287 select S3C_DEV_HWMON
0288 select S3C_DEV_RTC
0289 select S3C_DEV_USB_HOST
0290 select S3C_DEV_USB_HSOTG
0291 select SAMSUNG_DEV_ADC
0292 select SAMSUNG_DEV_PWM
0293 select SAMSUNG_DEV_TS
0294 help
0295 Shared machine support for SmartQ 5/7
0296
0297 config MACH_SMARTQ5
0298 bool "SmartQ 5"
0299 depends on ATAGS && UNUSED_BOARD_FILES
0300 select MACH_SMARTQ
0301 help
0302 Machine support for the SmartQ 5
0303
0304 config MACH_SMARTQ7
0305 bool "SmartQ 7"
0306 depends on ATAGS && UNUSED_BOARD_FILES
0307 select MACH_SMARTQ
0308 help
0309 Machine support for the SmartQ 7
0310
0311 config MACH_WLF_CRAGG_6410
0312 bool "Wolfson Cragganmore 6410"
0313 depends on ATAGS
0314 depends on I2C=y
0315 select CPU_S3C6410
0316 select LEDS_GPIO_REGISTER
0317 select S3C64XX_DEV_SPI0
0318 select S3C64XX_SETUP_FB_24BPP
0319 select S3C64XX_SETUP_I2C1
0320 select S3C64XX_SETUP_IDE
0321 select S3C64XX_SETUP_KEYPAD
0322 select S3C64XX_SETUP_SDHCI
0323 select S3C64XX_SETUP_SPI
0324 select S3C64XX_SETUP_USB_PHY
0325 select S3C_DEV_FB
0326 select S3C_DEV_HSMMC
0327 select S3C_DEV_HSMMC1
0328 select S3C_DEV_HSMMC2
0329 select S3C_DEV_I2C1
0330 select S3C_DEV_RTC
0331 select S3C_DEV_USB_HOST
0332 select S3C_DEV_USB_HSOTG
0333 select S3C_DEV_WDT
0334 select SAMSUNG_DEV_ADC
0335 select SAMSUNG_DEV_KEYPAD
0336 select SAMSUNG_DEV_PWM
0337 help
0338 Machine support for the Wolfson Cragganmore S3C6410 variant.
0339
0340 config MACH_S3C64XX_DT
0341 bool "Samsung S3C6400/S3C6410 machine using Device Tree"
0342 select CPU_S3C6400
0343 select CPU_S3C6410
0344 select PINCTRL
0345 select PINCTRL_S3C64XX
0346 help
0347 Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
0348 enabled.
0349 Select this if a fdt blob is available for your S3C64XX SoC based
0350 board.
0351 Note: This is under development and not all peripherals can be
0352 supported with this machine file.
0353
0354 endif