ARM: EXYNOS4: Add support for secondary MMC port on ORIGEN
authorTushar Behera <tushar.behera@linaro.org>
Wed, 31 Aug 2011 07:57:37 +0000 (16:57 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Sun, 2 Oct 2011 23:42:22 +0000 (08:42 +0900)
Secondary MMC port on ORIGEN is connected to sdhci instance 0.
Support for secondary MMC port is extended by registering
sdhci instance 0.

Since sdhci instance 2 can contain a bootable media, sdhci
instance 0 is registered after instance 2.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
[kgene.kim@samsung.com: Added comments in registering sdhci]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-exynos4/mach-origen.c

index 86cf4fd..00c6454 100644 (file)
@@ -223,6 +223,7 @@ config MACH_ORIGEN
        select CPU_EXYNOS4210
        select S3C_DEV_RTC
        select S3C_DEV_WDT
+       select S3C_DEV_HSMMC
        select S3C_DEV_HSMMC2
        select S5P_DEV_FIMC0
        select S5P_DEV_FIMC1
index 0e3b816..cd5195f 100644 (file)
@@ -77,6 +77,11 @@ static struct s3c2410_uartcfg origen_uartcfgs[] __initdata = {
        },
 };
 
+static struct s3c_sdhci_platdata origen_hsmmc0_pdata __initdata = {
+       .cd_type                = S3C_SDHCI_CD_INTERNAL,
+       .clk_type               = S3C_SDHCI_CLK_DIV_EXTERNAL,
+};
+
 static struct s3c_sdhci_platdata origen_hsmmc2_pdata __initdata = {
        .cd_type                = S3C_SDHCI_CD_INTERNAL,
        .clk_type               = S3C_SDHCI_CLK_DIV_EXTERNAL,
@@ -94,6 +99,7 @@ static void __init origen_ehci_init(void)
 
 static struct platform_device *origen_devices[] __initdata = {
        &s3c_device_hsmmc2,
+       &s3c_device_hsmmc0,
        &s3c_device_rtc,
        &s3c_device_wdt,
        &s5p_device_ehci,
@@ -123,7 +129,12 @@ static void __init origen_map_io(void)
 
 static void __init origen_machine_init(void)
 {
+       /*
+        * Since sdhci instance 2 can contain a bootable media,
+        * sdhci instance 0 is registered after instance 2.
+        */
        s3c_sdhci2_set_platdata(&origen_hsmmc2_pdata);
+       s3c_sdhci0_set_platdata(&origen_hsmmc0_pdata);
 
        origen_ehci_init();
        clk_xusbxti.rate = 24000000;