summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci-xenon.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-05-11 09:17:15 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-05-11 09:17:15 +0200
commitdd92b0133a78457e909da1d5916a05c342a897d6 (patch)
tree1235c44f161872bba490d5e7ea20286f544b820c /drivers/mmc/host/sdhci-xenon.c
parent378c1ee2227f67d4dbb748ff5193c959d5299095 (diff)
parent2ef96a5bb12be62ef75b5828c0aab838ebb29cb8 (diff)
downloadlinux-dd92b0133a78457e909da1d5916a05c342a897d6.tar.gz
linux-dd92b0133a78457e909da1d5916a05c342a897d6.tar.bz2
linux-dd92b0133a78457e909da1d5916a05c342a897d6.zip
Merge 5.7-rc5 into char-misc-next
We want the char-misc fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/mmc/host/sdhci-xenon.c')
-rw-r--r--drivers/mmc/host/sdhci-xenon.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-xenon.c b/drivers/mmc/host/sdhci-xenon.c
index 1dea1ba66f7b..4703cd540c7f 100644
--- a/drivers/mmc/host/sdhci-xenon.c
+++ b/drivers/mmc/host/sdhci-xenon.c
@@ -235,6 +235,16 @@ static void xenon_voltage_switch(struct sdhci_host *host)
{
/* Wait for 5ms after set 1.8V signal enable bit */
usleep_range(5000, 5500);
+
+ /*
+ * For some reason the controller's Host Control2 register reports
+ * the bit representing 1.8V signaling as 0 when read after it was
+ * written as 1. Subsequent read reports 1.
+ *
+ * Since this may cause some issues, do an empty read of the Host
+ * Control2 register here to circumvent this.
+ */
+ sdhci_readw(host, SDHCI_HOST_CONTROL2);
}
static const struct sdhci_ops sdhci_xenon_ops = {