aboutsummaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorPragnesh Patel <pragnesh.patel@sifive.com>2020-06-29 15:17:26 +0530
committerPeng Fan <peng.fan@nxp.com>2020-07-14 16:19:43 +0800
commit810bc13803027c63560504a3b910cf2ef3799194 (patch)
tree948390ebadd404f7c17f54b618640902043b779a /drivers/mmc
parenta236d834fa431191b80e15088995ee4d06685674 (diff)
downloadu-boot-810bc13803027c63560504a3b910cf2ef3799194.zip
u-boot-810bc13803027c63560504a3b910cf2ef3799194.tar.gz
u-boot-810bc13803027c63560504a3b910cf2ef3799194.tar.bz2
mmc: read ssr for SD spi
The content of ssr is useful only for erase operations. This saves erase time. Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com> Reviewed-by: Bin Meng <bin.meng@windriver.com> Tested-by: Bin Meng <bin.meng@windriver.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/mmc.c5
-rw-r--r--drivers/mmc/mmc_spi.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 50f47d4..7b5c55b 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1753,6 +1753,11 @@ static int sd_select_mode_and_width(struct mmc *mmc, uint card_caps)
mmc_set_bus_width(mmc, 1);
mmc_select_mode(mmc, MMC_LEGACY);
mmc_set_clock(mmc, mmc->tran_speed, MMC_CLK_ENABLE);
+#if CONFIG_IS_ENABLED(MMC_WRITE)
+ err = sd_read_ssr(mmc);
+ if (err)
+ pr_warn("unable to read ssr\n");
+#endif
return 0;
}
diff --git a/drivers/mmc/mmc_spi.c b/drivers/mmc/mmc_spi.c
index ddfebb6..18d3687 100644
--- a/drivers/mmc/mmc_spi.c
+++ b/drivers/mmc/mmc_spi.c
@@ -305,6 +305,7 @@ static int dm_mmc_spi_request(struct udevice *dev, struct mmc_cmd *cmd,
case MMC_CMD_READ_MULTIPLE_BLOCK:
case MMC_CMD_WRITE_SINGLE_BLOCK:
case MMC_CMD_WRITE_MULTIPLE_BLOCK:
+ case MMC_CMD_APP_CMD:
resp = &resp8;
resp_size = sizeof(resp8);
break;