# arch/arm/mach-s5p64x0/Kconfig
#
# Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
#		http://www.samsung.com/
#
# Licensed under GPLv2

if ARCH_S5P64X0

config CPU_S5P6440
	bool
	select ARM_AMBA
	select PL330_DMA if DMADEVICES
	select S5P_SLEEP if PM
	select SAMSUNG_WAKEMASK if PM
	help
	  Enable S5P6440 CPU support

config CPU_S5P6450
	bool
	select ARM_AMBA
	select PL330_DMA if DMADEVICES
	select S5P_SLEEP if PM
	select SAMSUNG_WAKEMASK if PM
	help
	  Enable S5P6450 CPU support

config S5P64X0_SETUP_FB_24BPP
	bool
	help
	  Common setup code for S5P64X0 based boards with a LCD display
	  through RGB interface.

config S5P64X0_SETUP_I2C1
	bool
	help
	  Common setup code for i2c bus 1.

config S5P64X0_SETUP_SPI
	bool
	help
	  Common setup code for SPI GPIO configurations

config S5P64X0_SETUP_SDHCI_GPIO
	bool
	help
	  Common setup code for SDHCI gpio.

# machine support

config MACH_SMDK6440
	bool "SMDK6440"
	select CPU_S5P6440
	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_WDT
	select S5P64X0_SETUP_FB_24BPP
	select S5P64X0_SETUP_I2C1
	select S5P64X0_SETUP_SDHCI_GPIO
	select SAMSUNG_DEV_ADC
	select SAMSUNG_DEV_BACKLIGHT
	select SAMSUNG_DEV_PWM
	select SAMSUNG_DEV_TS
	help
	  Machine support for the Samsung SMDK6440

config MACH_SMDK6450
	bool "SMDK6450"
	select CPU_S5P6450
	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_WDT
	select S5P64X0_SETUP_FB_24BPP
	select S5P64X0_SETUP_I2C1
	select S5P64X0_SETUP_SDHCI_GPIO
	select SAMSUNG_DEV_ADC
	select SAMSUNG_DEV_BACKLIGHT
	select SAMSUNG_DEV_PWM
	select SAMSUNG_DEV_TS
	help
	  Machine support for the Samsung SMDK6450

menu "Use 8-bit SDHCI bus width"

config S5P64X0_SD_CH1_8BIT
	bool "SDHCI Channel 1 (Slot 1)"
	depends on MACH_SMDK6450 || MACH_SMDK6440
	help
	  Support SDHCI Channel 1 8-bit bus.
	  If selected, Channel 2 is disabled.

endmenu

endif
