diff options
Diffstat (limited to 'libre/linux-libre-hardened/0004-fix-mvsdio-eMMC-timing.patch')
-rw-r--r-- | libre/linux-libre-hardened/0004-fix-mvsdio-eMMC-timing.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libre/linux-libre-hardened/0004-fix-mvsdio-eMMC-timing.patch b/libre/linux-libre-hardened/0004-fix-mvsdio-eMMC-timing.patch new file mode 100644 index 000000000..4d7e4c4ca --- /dev/null +++ b/libre/linux-libre-hardened/0004-fix-mvsdio-eMMC-timing.patch @@ -0,0 +1,38 @@ +From 26bad4f64f00a5b4a197a1cf6d0cde1a02f9cb0b Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich <kevin@archlinuxarm.org> +Date: Fri, 5 Sep 2014 15:43:56 -0600 +Subject: [PATCH 04/10] fix mvsdio eMMC timing + +These changes from Globalscale change the MMC timing to allow the eMMC versions +of the Mirabox and SMILE Plug to work. + +Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org> +--- + drivers/mmc/host/mvsdio.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c +index 42296e55b9de..e5ce6d27ec82 100644 +--- a/drivers/mmc/host/mvsdio.c ++++ b/drivers/mmc/host/mvsdio.c +@@ -93,7 +93,7 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data) + 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", +@@ -615,6 +615,8 @@ static void mvsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) + 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)); +-- +2.12.2 + |