PKGBUILDs/core/linux-armv7/0004-emmc-timing-fix.patch
2014-04-08 20:37:08 +00:00

21 lines
816 B
Diff

--- a/drivers/mmc/host/mvsdio.c 2013-09-16 14:17:51.000000000 -0600
+++ b/drivers/mmc/host/mvsdio.c 2013-10-21 01:36:10.000000000 -0600
@@ -97,7 +97,7 @@
tmout_index = fls(tmout - 1) - 12;
if (tmout_index < 0)
tmout_index = 0;
- if (tmout_index > MVSD_HOST_CTRL_TMOUT_MAX)
+// if (tmout_index > MVSD_HOST_CTRL_TMOUT_MAX) //by steven, try to setup the timeout to maximum value
tmout_index = MVSD_HOST_CTRL_TMOUT_MAX;
dev_dbg(host->dev, "data %s at 0x%08x: blocks=%d blksz=%d tmout=%u (%d)\n",
@@ -600,6 +600,8 @@
u32 m = DIV_ROUND_UP(host->base_clock, ios->clock) - 1;
if (m > MVSD_BASE_DIV_MAX)
m = MVSD_BASE_DIV_MAX;
+ if(ios->clock==50000000 ) //by steven
+ m=1;
mvsd_write(MVSD_CLK_DIV, m);
host->clock = ios->clock;
host->ns_per_clk = 1000000000 / (host->base_clock / (m+1));