Browse Source

[ARM] SMDK6410: Add availability of second hsmmc channel

Add SDHCI channel 1.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks 16 years ago
parent
commit
b24636cff1
2 changed files with 35 additions and 1 deletions
  1. 30 0
      arch/arm/mach-s3c6410/Kconfig
  2. 5 1
      arch/arm/mach-s3c6410/mach-smdk6410.c

+ 30 - 0
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

+ 5 - 1
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), },