# 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 S5P_HRT
	select S5P_SLEEP if PM
	select SAMSUNG_DMADEV
	select SAMSUNG_WAKEMASK if PM
	help
	  Enable S5P6440 CPU support

config CPU_S5P6450
	bool
	select S5P_HRT
	select S5P_SLEEP if PM
	select SAMSUNG_DMADEV
	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
