mmc: dw_mmc: set host_caps mmc modes to equivalent buswidth and lower
PATCH 1/1 mmc: dw_mmc: set host_caps mmc modes to equivalent buswidth and lower
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 <[email protected]>
--- drivers/mmc/dw_mmc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
drivers/mmc/dw_mmc.c +6 -4
@@ -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;
Signature · 1 line
2.18.0