[ARM] SMDK6410: Add availability of second hsmmc channel
authorBen Dooks <ben-linux@fluff.org>
Mon, 3 Nov 2008 20:14:53 +0000 (20:14 +0000)
committerBen Dooks <ben-linux@fluff.org>
Mon, 15 Dec 2008 23:53:05 +0000 (23:53 +0000)
Add SDHCI channel 1.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
arch/arm/mach-s3c6410/Kconfig
arch/arm/mach-s3c6410/mach-smdk6410.c

index 2462693a112872cc4bc4331d63074c5034e19583..d00b5605100d0b508cf58fc8b50b804b24c51af4 100644 (file)
@@ -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
index e845b2a1becf26751d19084730ae2b73d097fee7..b900244a91d30946e003db043dff1c00c0a6de6a 100644 (file)
@@ -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), },