From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Havran Date: Fri, 31 Aug 2018 10:29:51 +0200 Subject: [U-Boot] [PATCH] mmc: dw_mmc: set host_caps mmc modes to equivalent buswidth and lower Message-ID: <20180831082951.GA30405@antergos> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- 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