Messages in this thread | | | From | Ulf Hansson <> | Date | Thu, 5 Jul 2018 13:29:48 +0200 | Subject | Re: [PATCH v2] mmc: sdhci-esdhc-imx: allow 1.8V modes without 100/200MHz pinctrl states |
| |
[...]
>>> Btw, I still get the switching error once during boot-up: >>> mmc1: Switching to 3.3V signalling voltage failed >> >> I guess the this happens then also at system resume? >> >> The core tries first with 3.3 then if it fails, it continues with 1.8V, etc. >> >>> >>> This is due to the call from mmc_set_initial_signal_voltage. It is a bit >>> unfortunate since this is printed as a warning. Not sure if that could >>> be prevented somehow? >> >> Seems like SDHCI_SIGNALING_330 should not be set, unless 3.3V I/O is >> supported. That should avoid SDHCI from trying and instead just >> returning an error code immediately. >> >> This seems like a generic issues for all SDHCI variant drivers. > > Hm, can we resolve this in a generic fashion? > > E.g something like this in sdhci_setup_host(): > > if (!regulator_is_supported_voltage(mmc->supply.vqmmc, 3200000, > 3450000)) > host->flags &= ~SDHCI_SIGNALING_330;
Something like that seems right, but a wider range should be allowed. 2.7V to 3.6V is allowed according to the specs.
Also, vqmmc is optional, so in case it doesn't exist we must not clear the SDHCI_SIGNALING_330 bit.
Kind regards Uffe
| |