| From 1a3ed0dc3594d99ff341ec63865a40519ea24b8d Mon Sep 17 00:00:00 2001 |
| From: Alex Leibovich <alexl@marvell.com> |
| Date: Fri, 11 Dec 2020 15:16:56 +0100 |
| Subject: mmc: sdhci-xenon: fix 1.8v regulator stabilization |
| |
| From: Alex Leibovich <alexl@marvell.com> |
| |
| commit 1a3ed0dc3594d99ff341ec63865a40519ea24b8d upstream. |
| |
| Automatic Clock Gating is a feature used for the power consumption |
| optimisation. It turned out that during early init phase it may prevent the |
| stable voltage switch to 1.8V - due to that on some platforms an endless |
| printout in dmesg can be observed: "mmc1: 1.8V regulator output did not |
| became stable" Fix the problem by disabling the ACG at very beginning of |
| the sdhci_init and let that be enabled later. |
| |
| Fixes: 3a3748dba881 ("mmc: sdhci-xenon: Add Marvell Xenon SDHC core functionality") |
| Signed-off-by: Alex Leibovich <alexl@marvell.com> |
| Signed-off-by: Marcin Wojtas <mw@semihalf.com> |
| Cc: stable@vger.kernel.org |
| Acked-by: Adrian Hunter <adrian.hunter@intel.com> |
| Link: https://lore.kernel.org/r/20201211141656.24915-1-mw@semihalf.com |
| Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/mmc/host/sdhci-xenon.c | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/mmc/host/sdhci-xenon.c |
| +++ b/drivers/mmc/host/sdhci-xenon.c |
| @@ -170,7 +170,12 @@ static void xenon_reset_exit(struct sdhc |
| /* Disable tuning request and auto-retuning again */ |
| xenon_retune_setup(host); |
| |
| - xenon_set_acg(host, true); |
| + /* |
| + * The ACG should be turned off at the early init time, in order |
| + * to solve a possible issues with the 1.8V regulator stabilization. |
| + * The feature is enabled in later stage. |
| + */ |
| + xenon_set_acg(host, false); |
| |
| xenon_set_sdclk_off_idle(host, sdhc_id, false); |
| |