From: lintao Date: Mon, 14 Jul 2014 03:43:27 +0000 (+0800) Subject: mmc: fix drv_e for sd in ultraHS sw X-Git-Tag: firefly_0821_release~4978 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=541c41ff1db8ffbe8451c980ddb9624c8646d0b5;p=firefly-linux-kernel-4.4.55.git mmc: fix drv_e for sd in ultraHS sw --- diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c index e73b3c052f55..e0691fe975eb 100755 --- a/drivers/mmc/host/dw_mmc-rockchip.c +++ b/drivers/mmc/host/dw_mmc-rockchip.c @@ -327,7 +327,7 @@ static int dw_mci_rockchip_execute_tuning(struct dw_mci_slot *slot, u32 opcode, u8 step; u8 candidates_delayline[MAX_DELAY_LINE] = {0}; u8 candidates_degree[SDMMC_SHIFT_DEGREE_INVALID] = {4,4,4,4}; - u8 default_drv = IO_DRV_8MA; + u8 default_drv; u8 index = 0; u8 start_degree = 0; u32 start_delayline = 0; @@ -387,6 +387,11 @@ static int dw_mci_rockchip_execute_tuning(struct dw_mci_slot *slot, u32 opcode, re_phase: /* calcute slew rate & drv strength in timing tuning */ + if(host->mmc->restrict_caps & RESTRICT_CARD_TYPE_SD) + default_drv = IO_DRV_4MA; + else + default_drv = IO_DRV_8MA; + dw_mci_rockchip_load_signal_integrity(host, SLEW_RATE_SLOW, default_drv); /* Loop degree from 0 ~ 270 */ for(start_degree = SDMMC_SHIFT_DEGREE_0; start_degree < SDMMC_SHIFT_DEGREE_270; start_degree++){