From b24636cff11fc7953e3a7f1a9b905349c0b838bf Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Mon, 3 Nov 2008 20:14:53 +0000 Subject: [ARM] SMDK6410: Add availability of second hsmmc channel Add SDHCI channel 1. Signed-off-by: Ben Dooks --- arch/arm/mach-s3c6410/Kconfig | 30 ++++++++++++++++++++++++++++++ arch/arm/mach-s3c6410/mach-smdk6410.c | 6 +++++- 2 files changed, 35 insertions(+), 1 deletion(-) (limited to 'arch') diff --git a/arch/arm/mach-s3c6410/Kconfig b/arch/arm/mach-s3c6410/Kconfig index 2462693a112..d00b5605100 100644 --- a/arch/arm/mach-s3c6410/Kconfig +++ b/arch/arm/mach-s3c6410/Kconfig @@ -23,8 +23,38 @@ config MACH_SMDK6410 bool "SMDK6410" select CPU_S3C6410 select S3C_DEV_HSMMC + select S3C_DEV_HSMMC1 select S3C_DEV_I2C1 select S3C6410_SETUP_SDHCI select S3C64XX_SETUP_I2C1 help Machine support for the Samsung SMDK6410 + +# At least some of the SMDK6410s were shipped with the card detect +# for the MMC/SD slots connected to the same input. This means that +# either the boards need to be altered to have channel0 to an alternate +# configuration or that only one slot can be used. + +choice + prompt "SMDK6410 MMC/SD slot setup" + depends on MACH_SMDK6410 + +config SMDK6410_SD_CH0 + bool "Use channel 0 only" + depends on MACH_SMDK6410 + help + Select CON7 (channel 0) as the MMC/SD slot, as + at least some SMDK6410 boards come with the + resistors fitted so that the card detects for + channels 0 and 1 are the same. + +config SMDK6410_SD_CH1 + bool "Use channel 1 only" + depends on MACH_SMDK6410 + help + Select CON6 (channel 1) as the MMC/SD slot, as + at least some SMDK6410 boards come with the + resistors fitted so that the card detects for + channels 0 and 1 are the same. + +endchoice diff --git a/arch/arm/mach-s3c6410/mach-smdk6410.c b/arch/arm/mach-s3c6410/mach-smdk6410.c index e845b2a1bec..b900244a91d 100644 --- a/arch/arm/mach-s3c6410/mach-smdk6410.c +++ b/arch/arm/mach-s3c6410/mach-smdk6410.c @@ -64,12 +64,16 @@ static struct s3c2410_uartcfg smdk6410_uartcfgs[] __initdata = { struct map_desc smdk6410_iodesc[] = {}; static struct platform_device *smdk6410_devices[] __initdata = { +#ifdef CONFIG_SMDK6410_SD_CH0 &s3c_device_hsmmc0, +#endif +#ifdef CONFIG_SMDK6410_SD_CH1 + &s3c_device_hsmmc1, +#endif &s3c_device_i2c0, &s3c_device_i2c1, }; - static struct i2c_board_info i2c_devs0[] __initdata = { { I2C_BOARD_INFO("24c08", 0x50), }, { I2C_BOARD_INFO("WM8580", 0X1b), }, -- cgit v1.2.3