Skip to content

Commit a1149a6

Browse files
dlbeerUlf Hansson
authored andcommitted
mmc: sdhci-pci-gli: increase 1.8V regulator wait
Inserting an SD-card on an Intel NUC10i3FNK4 (which contains a GL9755) results in the message: mmc0: 1.8V regulator output did not become stable Following this message, some cards work (sometimes), but most cards fail with EILSEQ. This behaviour is observed on Debian 10 running kernel 4.19.188, but also with 5.8.18 and 5.11.15. The driver currently waits 5ms after switching on the 1.8V regulator for it to become stable. Increasing this to 10ms gets rid of the warning about stability, but most cards still fail. Increasing it to 20ms gets some cards working (a 32GB Samsung micro SD works, a 128GB ADATA doesn't). At 50ms, the ADATA works most of the time, and at 100ms both cards work reliably. Signed-off-by: Daniel Beer <dlbeer@gmail.com> Acked-by: Ben Chuang <benchuanggli@gmail.com> Fixes: e51df6c ("mmc: host: sdhci-pci: Add Genesys Logic GL975x support") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20210424081652.GA16047@nyquist.nev Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent 9b81354 commit a1149a6

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

drivers/mmc/host/sdhci-pci-gli.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,8 +627,13 @@ static void sdhci_gli_voltage_switch(struct sdhci_host *host)
627627
*
628628
* Wait 5ms after set 1.8V signal enable in Host Control 2 register
629629
* to ensure 1.8V signal enable bit is set by GL9750/GL9755.
630+
*
631+
* ...however, the controller in the NUC10i3FNK4 (a 9755) requires
632+
* slightly longer than 5ms before the control register reports that
633+
* 1.8V is ready, and far longer still before the card will actually
634+
* work reliably.
630635
*/
631-
usleep_range(5000, 5500);
636+
usleep_range(100000, 110000);
632637
}
633638

634639
static void sdhci_gl9750_reset(struct sdhci_host *host, u8 mask)

0 commit comments

Comments
 (0)