summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFaiz Abbas <faiz_abbas@ti.com>2021-02-04 15:10:47 +0530
committerLokesh Vutla <lokeshvutla@ti.com>2021-02-04 20:37:57 +0530
commitc604e204eff2a465fe284d41e195e49f58bff72f (patch)
tree304d795e26e09f45d59e4bf1e483847bd07d13ab
parent43392b550e56b52274398763329f35d54109d291 (diff)
downloadu-boot-c604e204eff2a465fe284d41e195e49f58bff72f.tar.gz
mmc: am654_sdhci: Unconditionally switch off DLL in the beginning of ios_post()
There are some speed modes that work without switching the dll on. Unconditionally switch off the DLL before setting clock frequency to support this case. The software will automatically enable DLL for speed modes that require it. This also means the dll_on priv data member is no longer required. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
-rw-r--r--drivers/mmc/am654_sdhci.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/mmc/am654_sdhci.c b/drivers/mmc/am654_sdhci.c
index baa935e0d5..33f658fba7 100644
--- a/drivers/mmc/am654_sdhci.c
+++ b/drivers/mmc/am654_sdhci.c
@@ -84,7 +84,6 @@ struct am654_sdhci_plat {
#define IOMUX_PRESENT (1 << 1)
#define FREQSEL_2_BIT (1 << 2)
#define STRBSEL_4_BIT (1 << 3)
- bool dll_on;
};
struct timing_data {
@@ -141,12 +140,7 @@ static int am654_sdhci_set_ios_post(struct sdhci_host *host)
val &= ~SDHCI_CLOCK_CARD_EN;
sdhci_writew(host, val, SDHCI_CLOCK_CONTROL);
- /* power off phy */
- if (plat->dll_on) {
- regmap_update_bits(plat->base, PHY_CTRL1, ENDLL_MASK, 0);
-
- plat->dll_on = false;
- }
+ regmap_update_bits(plat->base, PHY_CTRL1, ENDLL_MASK, 0);
/* restart clock */
sdhci_set_clock(host->mmc, speed);
@@ -212,8 +206,6 @@ static int am654_sdhci_set_ios_post(struct sdhci_host *host)
val & DLLRDY_MASK, 1000, 1000000);
if (ret)
return ret;
-
- plat->dll_on = true;
}
return 0;