mmc: sdhci: Add support for optional controller specific set_ios_post()
Some SDHCI drivers might need to do some special controller configuration after the common clock set_ios() function has been called (speed / width configuration). This patch adds a call to the newly created function set_ios_port() when its configured in the host driver. This will be used by the Xenon SDHCI controller driver used on the Marvell Armada 3700 and 7k/8k ARM64 SoCs. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Jaehoon Chung <jh80.chung@samsung.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
This commit is contained in:
parent
899fb9e352
commit
210841c690
|
|
@ -458,6 +458,10 @@ static int sdhci_set_ios(struct mmc *mmc)
|
||||||
|
|
||||||
sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
|
sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
|
||||||
|
|
||||||
|
/* If available, call the driver specific "post" set_ios() function */
|
||||||
|
if (host->ops && host->ops->set_ios_post)
|
||||||
|
host->ops->set_ios_post(host);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -235,6 +235,7 @@ struct sdhci_ops {
|
||||||
#endif
|
#endif
|
||||||
int (*get_cd)(struct sdhci_host *host);
|
int (*get_cd)(struct sdhci_host *host);
|
||||||
void (*set_control_reg)(struct sdhci_host *host);
|
void (*set_control_reg)(struct sdhci_host *host);
|
||||||
|
void (*set_ios_post)(struct sdhci_host *host);
|
||||||
void (*set_clock)(struct sdhci_host *host, u32 div);
|
void (*set_clock)(struct sdhci_host *host, u32 div);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue