Hi, On 8/4/21 11:32 PM, Peter Geis wrote: > Good Morning, > > I've encountered a fun issue with the dw-mmc driver while working on > enabling support for the Quartz-64 Model A. > The regulator-fixed driver supports enabling via a gpio, but does not > have the ops to set voltage as it is fixed. > The dw-mmc calls mmc_regulator_set_ocr for vmmc, which attempts to set > the voltage first but fails due to the lack of the voltage ops. It > then bails returning -EINVAL. > This leads to the following message : > dwmmc_rockchip fe2b0000.mmc: could not set regulator OCR (-22) What is vdd value (ocr_avail value) on your target? I didn't see its case until now. If there is a real bug, I will try to check again. Best Regards, Jaehoon Chung > > This can be fixed by switching to regulator-gpio for the vmmc supply > to the sdmmc controller, however the sdio controller vmmc is provided > by a fixed regulator that is always on. Obviously the regulator-gpio > isn't an option, as it has no gpio to enable. > > Removing the vmmc phandle from the sdio node is an option, but then it > doesn't fully describe the hardware (it's also a non-standard 4.4v). > I had considered changing the check in dw-mmc.c [1] to continue in the > case of -EINVAL, but there are other places in the regulator framework > that can also return that and it doesn't address the underlying issue. > > As such I'm reaching out to the experts to see what the best course of > action is here. > Please weigh in with what you think. > > Very Respectfully, > Peter Geis >