# SPDX-License-Identifier: GPL-2.0
#
# Copyright 2008 Openmoko, Inc.
#	Simtec Electronics, Ben Dooks <ben@simtec.co.uk>

menuconfig ARCH_S3C64XX
	bool "Samsung S3C64XX (deprecated, see help)"
	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_TCM
	select PLAT_SAMSUNG
	select PM_GENERIC_DOMAINS if PM
	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

	  The platform is deprecated and scheduled for removal. Please reach to
	  the maintainers of the platform and linux-samsung-soc@vger.kernel.org if
	  you still use it.
	  Without such feedback, the platform will be removed after 2024.

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.

# 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_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_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_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_USB_HOST
	select S3C_DEV_USB_HSOTG
	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