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

# Configuration options for the S5PV310

if ARCH_S5PV310

config CPU_S5PV310
	bool
	help
	  Enable S5PV310 CPU support

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

config S5PV310_SETUP_I2C2
	bool
	help
	  Common setup code for i2c bus 2.

config S5PV310_SETUP_I2C3
	bool
	help
	  Common setup code for i2c bus 3.

config S5PV310_SETUP_I2C4
	bool
	help
	  Common setup code for i2c bus 4.

config S5PV310_SETUP_I2C5
	bool
	help
	  Common setup code for i2c bus 5.

config S5PV310_SETUP_I2C6
	bool
	help
	  Common setup code for i2c bus 6.

config S5PV310_SETUP_I2C7
	bool
	help
	  Common setup code for i2c bus 7.

config S5PV310_SETUP_SDHCI
	bool
	select S5PV310_SETUP_SDHCI_GPIO
	help
	  Internal helper functions for S5PV310 based SDHCI systems.

config S5PV310_SETUP_SDHCI_GPIO
	bool
	help
	  Common setup code for SDHCI gpio.

# machine support

menu "S5PC210 Machines"

config MACH_SMDKC210
	bool "SMDKC210"
	select CPU_S5PV310
	select S3C_DEV_RTC
	select S3C_DEV_WDT
	select S3C_DEV_HSMMC
	select S3C_DEV_HSMMC1
	select S3C_DEV_HSMMC2
	select S3C_DEV_HSMMC3
	select S5PV310_SETUP_SDHCI
	help
	  Machine support for Samsung SMDKC210
	  S5PC210(MCP) is one of package option of S5PV310

config MACH_UNIVERSAL_C210
	bool "Mobile UNIVERSAL_C210 Board"
	select CPU_S5PV310
	select S5P_DEV_ONENAND
	select S3C_DEV_I2C1
	select S5PV310_SETUP_I2C1
	help
	  Machine support for Samsung Mobile Universal S5PC210 Reference
	  Board. S5PC210(MCP) is one of package option of S5PV310

endmenu

menu "S5PV310 Machines"

config MACH_SMDKV310
	bool "SMDKV310"
	select CPU_S5PV310
	select S3C_DEV_RTC
	select S3C_DEV_WDT
	select S3C_DEV_HSMMC
	select S3C_DEV_HSMMC1
	select S3C_DEV_HSMMC2
	select S3C_DEV_HSMMC3
	select S5PV310_SETUP_SDHCI
	help
	  Machine support for Samsung SMDKV310

endmenu

comment "Configuration for HSMMC bus width"

menu "Use 8-bit bus width"

config S5PV310_SDHCI_CH0_8BIT
	bool "Channel 0 with 8-bit bus"
	help
	  Support HSMMC Channel 0 8-bit bus.
	  If selected, Channel 1 is disabled.

config S5PV310_SDHCI_CH2_8BIT
	bool "Channel 2 with 8-bit bus"
	help
	  Support HSMMC Channel 2 8-bit bus.
	  If selected, Channel 3 is disabled.

endmenu

endif
