diff options
Diffstat (limited to 'drivers/mmc/host/sdhci-esdhc.h')
-rw-r--r-- | drivers/mmc/host/sdhci-esdhc.h | 7 |
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; } |