summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/am654_sdhci.c5
-rw-r--r--drivers/mmc/mmc.c1
-rw-r--r--drivers/mmc/snps_sdhci.c1
3 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/am654_sdhci.c b/drivers/mmc/am654_sdhci.c
index 0df3568f073..d3c8f94dd0c 100644
--- a/drivers/mmc/am654_sdhci.c
+++ b/drivers/mmc/am654_sdhci.c
@@ -527,11 +527,16 @@ static int am654_sdhci_execute_tuning(struct mmc *mmc, u8 opcode)
void am654_sdhci_set_control_reg(struct sdhci_host *host)
{
struct mmc *mmc = host->mmc;
+ u32 reg;
+ reg = sdhci_readw(host, SDHCI_HOST_CONTROL2);
+ reg &= ~SDHCI_CTRL_UHS_MASK;
sdhci_set_voltage(host);
if (mmc->selected_mode > MMC_HS_52)
sdhci_set_uhs_timing(host);
+ else
+ sdhci_writew(host, reg, SDHCI_HOST_CONTROL2);
}
const struct sdhci_ops am654_sdhci_ops = {
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index cdcf2e0c8fe..9421a846e45 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -20,6 +20,7 @@
#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/printk.h>
+#include <linux/sizes.h>
#include <power/regulator.h>
#include <malloc.h>
#include <memalign.h>
diff --git a/drivers/mmc/snps_sdhci.c b/drivers/mmc/snps_sdhci.c
index f5ede38c3c1..fe834ec2969 100644
--- a/drivers/mmc/snps_sdhci.c
+++ b/drivers/mmc/snps_sdhci.c
@@ -6,6 +6,7 @@
#include <clk.h>
#include <dm.h>
#include <linux/bitfield.h>
+#include <linux/sizes.h>
#include <sdhci.h>
/* DWCMSHC specific Mode Select value */