[U-Boot] [PATCH] mmc: dw_mmc: set host_caps mmc modes to equivalent buswidth and lower
Jan Havran
havran.jan at email.cz
Fri Aug 31 08:29:51 UTC 2018
dwmci_setup_cfg was clearing all modes except the mode equivalent to
required bus width. Moreover, for buswidth = 1 was set the 4-bit mode.
This sets host caps to all modes from 1-bit up to required mode.
Signed-off-by: Jan Havran <havran.jan at email.cz>
---
drivers/mmc/dw_mmc.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
index 13180fc0d6..8aa8362359 100644
--- a/drivers/mmc/dw_mmc.c
+++ b/drivers/mmc/dw_mmc.c
@@ -501,11 +501,13 @@ void dwmci_setup_cfg(struct mmc_config *cfg, struct dwmci_host *host,
cfg->host_caps = host->caps;
if (host->buswidth == 8) {
- cfg->host_caps |= MMC_MODE_8BIT;
- cfg->host_caps &= ~MMC_MODE_4BIT;
- } else {
- cfg->host_caps |= MMC_MODE_4BIT;
+ cfg->host_caps |= MMC_MODE_8BIT | MMC_MODE_4BIT | MMC_MODE_1BIT;
+ } else if (host->buswidth == 4) {
cfg->host_caps &= ~MMC_MODE_8BIT;
+ cfg->host_caps |= MMC_MODE_4BIT | MMC_MODE_1BIT;
+ } else {
+ cfg->host_caps &= ~MMC_MODE_8BIT & ~MMC_MODE_4BIT;
+ cfg->host_caps |= MMC_MODE_1BIT;
}
cfg->host_caps |= MMC_MODE_HS | MMC_MODE_HS_52MHz;
--
2.18.0
More information about the U-Boot
mailing list