mirror of https://gitee.com/openkylin/linux.git
mmc: sdhci: add eMMC hardware reset support
Add an SDHCI operation for hardware reset and connect it to the host controller operation. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
b2499518b5
commit
20758b66dc
|
@ -1471,6 +1471,14 @@ static int sdhci_get_ro(struct mmc_host *mmc)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void sdhci_hw_reset(struct mmc_host *mmc)
|
||||||
|
{
|
||||||
|
struct sdhci_host *host = mmc_priv(mmc);
|
||||||
|
|
||||||
|
if (host->ops && host->ops->hw_reset)
|
||||||
|
host->ops->hw_reset(host);
|
||||||
|
}
|
||||||
|
|
||||||
static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable)
|
static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable)
|
||||||
{
|
{
|
||||||
struct sdhci_host *host;
|
struct sdhci_host *host;
|
||||||
|
@ -1805,6 +1813,7 @@ static const struct mmc_host_ops sdhci_ops = {
|
||||||
.request = sdhci_request,
|
.request = sdhci_request,
|
||||||
.set_ios = sdhci_set_ios,
|
.set_ios = sdhci_set_ios,
|
||||||
.get_ro = sdhci_get_ro,
|
.get_ro = sdhci_get_ro,
|
||||||
|
.hw_reset = sdhci_hw_reset,
|
||||||
.enable_sdio_irq = sdhci_enable_sdio_irq,
|
.enable_sdio_irq = sdhci_enable_sdio_irq,
|
||||||
.start_signal_voltage_switch = sdhci_start_signal_voltage_switch,
|
.start_signal_voltage_switch = sdhci_start_signal_voltage_switch,
|
||||||
.execute_tuning = sdhci_execute_tuning,
|
.execute_tuning = sdhci_execute_tuning,
|
||||||
|
|
|
@ -273,7 +273,7 @@ struct sdhci_ops {
|
||||||
void (*platform_reset_enter)(struct sdhci_host *host, u8 mask);
|
void (*platform_reset_enter)(struct sdhci_host *host, u8 mask);
|
||||||
void (*platform_reset_exit)(struct sdhci_host *host, u8 mask);
|
void (*platform_reset_exit)(struct sdhci_host *host, u8 mask);
|
||||||
int (*set_uhs_signaling)(struct sdhci_host *host, unsigned int uhs);
|
int (*set_uhs_signaling)(struct sdhci_host *host, unsigned int uhs);
|
||||||
|
void (*hw_reset)(struct sdhci_host *host);
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
|
#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
|
||||||
|
|
Loading…
Reference in New Issue