[...] >>> 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