summaryrefslogtreecommitdiff
path: root/drivers/mmc/host/sdhci-esdhc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/host/sdhci-esdhc.h')
-rw-r--r--drivers/mmc/host/sdhci-esdhc.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc.h b/drivers/mmc/host/sdhci-esdhc.h
index a4aa096..6a44d76 100644
--- a/drivers/mmc/host/sdhci-esdhc.h
+++ b/drivers/mmc/host/sdhci-esdhc.h
@@ -38,6 +38,8 @@
#define ESDHCI_PRESENT_STATE 0x24
#define ESDHC_CLK_STABLE 0x00000008
+#define ESDHC_DLSL 0x0f000000
+#define ESDHC_CLSL 0x00800000
#define ESDHC_PROCTL 0x28
#define ESDHC_VOLT_SEL 0x00000400
@@ -84,6 +86,8 @@
#define ESDHC_HOST_CONTROL_RES 0x01
#define ESDHC_VOL_SEL 0x04
+void esdhc_clock_control(struct sdhci_host *host, bool enable);
+
static inline void esdhc_set_clock(struct sdhci_host *host, unsigned int clock,
unsigned int host_clock)
{
@@ -140,7 +144,10 @@ static inline void esdhc_set_clock(struct sdhci_host *host, unsigned int clock,
sdhci_writel(host, temp, ESDHC_SYSTEM_CONTROL);
mdelay(1);
+ host->clock = clock;
+ return;
out:
+ esdhc_clock_control(host, false);
host->clock = clock;
}