From bad4d04a8e703c044628f93fae6114e159ac5d41 Mon Sep 17 00:00:00 2001
From: xbw <xbw@rock-chips.com>
Date: Tue, 19 Jul 2011 22:12:51 +0800
Subject: [PATCH]  Integrate the XBW-version of SDMMC-drver into rk29_ddr3sdk

---
 arch/arm/configs/rk29_ddr3sdk_defconfig | 7 +++----
 arch/arm/mach-rk29/board-rk29-ddr3sdk.c | 6 ++++++
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/arch/arm/configs/rk29_ddr3sdk_defconfig b/arch/arm/configs/rk29_ddr3sdk_defconfig
index 9ebcb0b811e8..52d932377e95 100755
--- a/arch/arm/configs/rk29_ddr3sdk_defconfig
+++ b/arch/arm/configs/rk29_ddr3sdk_defconfig
@@ -1554,14 +1554,13 @@ CONFIG_MMC=y
 # CONFIG_MMC_DEBUG is not set
 CONFIG_MMC_UNSAFE_RESUME=y
 CONFIG_MMC_EMBEDDED_SDIO=y
-# CONFIG_MMC_PARANOID_SD_INIT is not set
-
+CONFIG_MMC_PARANOID_SD_INIT=y
 #
 # MMC/SD/SDIO Card Drivers
 #
 CONFIG_MMC_BLOCK=y
 CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_MMC_BLOCK_DEFERRED_RESUME=y
+# CONFIG_MMC_BLOCK_DEFERRED_RESUME is not set
 # CONFIG_SDIO_UART is not set
 # CONFIG_MMC_TEST is not set
 
@@ -1573,8 +1572,8 @@ CONFIG_SDMMC_RK29=y
 #
 # Now, there are two SDMMC controllers selected, SDMMC0 and SDMMC1.
 #
+# CONFIG_SDMMC_RK29_OLD is not set
 CONFIG_SDMMC0_RK29=y
-# CONFIG_EMMC_RK29 is not set
 CONFIG_SDMMC1_RK29=y
 # CONFIG_MMC_SDHCI is not set
 # CONFIG_MMC_AT91 is not set
diff --git a/arch/arm/mach-rk29/board-rk29-ddr3sdk.c b/arch/arm/mach-rk29/board-rk29-ddr3sdk.c
index 4fb9faf0dbd3..2074fda29ea9 100755
--- a/arch/arm/mach-rk29/board-rk29-ddr3sdk.c
+++ b/arch/arm/mach-rk29/board-rk29-ddr3sdk.c
@@ -1006,7 +1006,13 @@ static int rk29_sdmmc0_cfg_gpio(void)
 	rk29_mux_api_set(GPIO1D3_SDMMC0DATA1_NAME, GPIO1H_SDMMC0_DATA1);
 	rk29_mux_api_set(GPIO1D4_SDMMC0DATA2_NAME, GPIO1H_SDMMC0_DATA2);
 	rk29_mux_api_set(GPIO1D5_SDMMC0DATA3_NAME, GPIO1H_SDMMC0_DATA3);
+
+#ifdef CONFIG_SDMMC_RK29_OLD	
 	rk29_mux_api_set(GPIO2A2_SDMMC0DETECTN_NAME, GPIO2L_GPIO2A2);
+#else
+	rk29_mux_api_set(GPIO2A2_SDMMC0DETECTN_NAME, GPIO2L_SDMMC0_DETECT_N);//Modifyed by xbw.
+#endif
+
 	rk29_mux_api_set(GPIO5D5_SDMMC0PWREN_NAME, GPIO5H_GPIO5D5);   ///GPIO5H_SDMMC0_PWR_EN);  ///GPIO5H_GPIO5D5);
 	gpio_request(RK29_PIN5_PD5,"sdmmc");
 #if 0
-- 
2.34.1