diff options
author | Stefan Roese <sr@denx.de> | 2016-12-12 08:24:56 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2017-01-25 07:03:44 +0100 |
commit | 210841c690546dd9b7faeee47c56851dc508f131 (patch) | |
tree | 96468885f01559fafc64ebc57a8b8c08b6a1f089 | |
parent | 899fb9e352815ef5a5d9304a097d5abc7c476500 (diff) | |
download | u-boot-imx-210841c690546dd9b7faeee47c56851dc508f131.zip u-boot-imx-210841c690546dd9b7faeee47c56851dc508f131.tar.gz u-boot-imx-210841c690546dd9b7faeee47c56851dc508f131.tar.bz2 |
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>
-rw-r--r-- | drivers/mmc/sdhci.c | 4 | ||||
-rw-r--r-- | include/sdhci.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 9902dbd..93cefd8 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -458,6 +458,10 @@ static int sdhci_set_ios(struct mmc *mmc) 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; } diff --git a/include/sdhci.h b/include/sdhci.h index fdef7c4..6a43271 100644 --- a/include/sdhci.h +++ b/include/sdhci.h @@ -235,6 +235,7 @@ struct sdhci_ops { #endif int (*get_cd)(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); }; |