diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0801-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-4.19/950-0801-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0801-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch b/target/linux/bcm27xx/patches-4.19/950-0801-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch deleted file mode 100644 index 5046fc91e9..0000000000 --- a/target/linux/bcm27xx/patches-4.19/950-0801-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 5ee0de9d7abd644d4cb678fe26ac5130a1a8075f Mon Sep 17 00:00:00 2001 -From: Phil Elwell <phil@raspberrypi.org> -Date: Fri, 2 Aug 2019 15:20:11 +0100 -Subject: [PATCH] mmc: sdhci-iproc: Fix vmmc regulators on iProc - -The Linux support for controlling card power via regulators appears to -be contentious. I would argue that the default behaviour is contrary to -the SDHCI spec - turning off the power writes a reserved value to the -SD Bus Voltage Select field of the Power Control Register, which -seems to kill the Arasan/iProc controller - but fortunately there is a -hook in sdhci_ops to override the behaviour. Borrow the implementation -from sdhci_arasan_set_power. - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> ---- - drivers/mmc/host/sdhci-iproc.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - ---- a/drivers/mmc/host/sdhci-iproc.c -+++ b/drivers/mmc/host/sdhci-iproc.c -@@ -162,6 +162,17 @@ static void sdhci_iproc_writeb(struct sd - sdhci_iproc_writel(host, newval, reg & ~3); - } - -+static void sdhci_iproc_set_power(struct sdhci_host *host, unsigned char mode, -+ unsigned short vdd) -+{ -+ if (!IS_ERR(host->mmc->supply.vmmc)) { -+ struct mmc_host *mmc = host->mmc; -+ -+ mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd); -+ } -+ sdhci_set_power_noreg(host, mode, vdd); -+} -+ - static const struct sdhci_ops sdhci_iproc_ops = { - .set_clock = sdhci_set_clock, - .get_max_clock = sdhci_pltfm_clk_get_max_clock, -@@ -178,6 +189,7 @@ static const struct sdhci_ops sdhci_ipro - .write_w = sdhci_iproc_writew, - .write_b = sdhci_iproc_writeb, - .set_clock = sdhci_set_clock, -+ .set_power = sdhci_iproc_set_power, - .get_max_clock = sdhci_pltfm_clk_get_max_clock, - .set_bus_width = sdhci_set_bus_width, - .reset = sdhci_reset, |