소스 검색

ARM: EXYNOS4: Add support for secondary MMC port on ORIGEN

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>
Tushar Behera 14 년 전
부모
커밋
cf1dad9d7f
2개의 변경된 파일12개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      arch/arm/mach-exynos4/Kconfig
  2. 11 0
      arch/arm/mach-exynos4/mach-origen.c

+ 1 - 0
arch/arm/mach-exynos4/Kconfig

@@ -223,6 +223,7 @@ config MACH_ORIGEN
 	select CPU_EXYNOS4210
 	select CPU_EXYNOS4210
 	select S3C_DEV_RTC
 	select S3C_DEV_RTC
 	select S3C_DEV_WDT
 	select S3C_DEV_WDT
+	select S3C_DEV_HSMMC
 	select S3C_DEV_HSMMC2
 	select S3C_DEV_HSMMC2
 	select S5P_DEV_FIMC0
 	select S5P_DEV_FIMC0
 	select S5P_DEV_FIMC1
 	select S5P_DEV_FIMC1

+ 11 - 0
arch/arm/mach-exynos4/mach-origen.c

@@ -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 = {
 static struct s3c_sdhci_platdata origen_hsmmc2_pdata __initdata = {
 	.cd_type		= S3C_SDHCI_CD_INTERNAL,
 	.cd_type		= S3C_SDHCI_CD_INTERNAL,
 	.clk_type		= S3C_SDHCI_CLK_DIV_EXTERNAL,
 	.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 = {
 static struct platform_device *origen_devices[] __initdata = {
 	&s3c_device_hsmmc2,
 	&s3c_device_hsmmc2,
+	&s3c_device_hsmmc0,
 	&s3c_device_rtc,
 	&s3c_device_rtc,
 	&s3c_device_wdt,
 	&s3c_device_wdt,
 	&s5p_device_ehci,
 	&s5p_device_ehci,
@@ -123,7 +129,12 @@ static void __init origen_map_io(void)
 
 
 static void __init origen_machine_init(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_sdhci2_set_platdata(&origen_hsmmc2_pdata);
+	s3c_sdhci0_set_platdata(&origen_hsmmc0_pdata);
 
 
 	origen_ehci_init();
 	origen_ehci_init();
 	clk_xusbxti.rate = 24000000;
 	clk_xusbxti.rate = 24000000;