U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] mmc: dw_mmc: set host_caps mmc modes to equivalent buswidth and lower
@ 2018-08-31  8:29 Jan Havran
  0 siblings, 0 replies; only message in thread
From: Jan Havran @ 2018-08-31  8:29 UTC (permalink / raw)
  To: u-boot

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@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

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-08-31  8:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-31  8:29 [U-Boot] [PATCH] mmc: dw_mmc: set host_caps mmc modes to equivalent buswidth and lower Jan Havran

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox