From cd6e2322bd84ac4b5ce8a76fdfd0bdb94f260e6f Mon Sep 17 00:00:00 2001 From: kyak Date: Sun, 15 May 2011 12:20:29 +0400 Subject: [PATCH] trunk: add ks7010 support patch --- .../patches-2.6.37/850-ks7010-support.patch | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 target/linux/xburst/patches-2.6.37/850-ks7010-support.patch diff --git a/target/linux/xburst/patches-2.6.37/850-ks7010-support.patch b/target/linux/xburst/patches-2.6.37/850-ks7010-support.patch new file mode 100644 index 000000000..8af9c8a86 --- /dev/null +++ b/target/linux/xburst/patches-2.6.37/850-ks7010-support.patch @@ -0,0 +1,49 @@ +--- a/drivers/mmc/core/core.c ++++ b/drivers/mmc/core/core.c +@@ -922,7 +922,7 @@ static void mmc_power_up(struct mmc_host + * This delay should be sufficient to allow the power supply + * to reach the minimum voltage. + */ +- mmc_delay(10); ++ mmc_delay(200); + + host->ios.clock = host->f_init; + +@@ -933,7 +933,7 @@ static void mmc_power_up(struct mmc_host + * This delay must be at least 74 clock sizes, or 1 ms, or the + * time required to reach a stable voltage. + */ +- mmc_delay(10); ++ mmc_delay(200); + } + + static void mmc_power_off(struct mmc_host *host) +--- a/drivers/mmc/core/sdio_cis.c ++++ b/drivers/mmc/core/sdio_cis.c +@@ -156,7 +156,8 @@ static int cistpl_funce_common(struct mm + /* TPLFE_MAX_TRAN_SPEED */ + card->cis.max_dtr = speed_val[(buf[3] >> 3) & 15] * + speed_unit[buf[3] & 7]; +- ++ if(card->cis.max_dtr > 25000000 && card->cccr.sdio_vsn < SDIO_SDIO_REV_2_00) ++ card->cis.max_dtr = 25000000; + return 0; + } + +@@ -177,14 +178,14 @@ static int cistpl_funce_func(struct mmc_ + vsn = func->card->cccr.sdio_vsn; + min_size = (vsn == SDIO_SDIO_REV_1_00) ? 28 : 42; + +- if (size < min_size) ++ if (buf[0] != 1) + return -EINVAL; + + /* TPLFE_MAX_BLK_SIZE */ + func->max_blksize = buf[12] | (buf[13] << 8); + + /* TPLFE_ENABLE_TIMEOUT_VAL, present in ver 1.1 and above */ +- if (vsn > SDIO_SDIO_REV_1_00) ++ if (vsn > SDIO_SDIO_REV_1_00 && size >= min_size) + func->enable_timeout = (buf[28] | (buf[29] << 8)) * 10; + else + func->enable_timeout = jiffies_to_msecs(HZ);