Hello, On Mon, Dec 13, 2021 at 8:03 AM Rong Chen <rong.chen@xxxxxxxxxxx> wrote: > > The patch will add a value of ocr supported by the controller, > to specify some of voltage values are supported. Can you please share some details on this topic? We already have many boards upstreamed which work fine without manually setting ocr_avail in the driver. In general there's two types of boards: 1) boards where the regulator can switch between different voltages. One example is the Odroid-C2, see meson-gxbb-odroidc2.dts [0] Here we specify: vmmc-supply = <&tflash_vdd>; vqmmc-supply = <&tf_io>; &tflash_vdd is either turned off or at 3.3V when turned on. &tf_io can be either turned off, 1.8V or 3.3V. 2) boards where the voltages are fixed. One example is Radxa Zero, see meson-g12a-radxa-zero.dts [1] For the SD card the board uses: vmmc-supply = <&vddao_3v3>; vqmmc-supply = <&vddao_3v3>; (meaning fixed 3.3V always-on power source for both VMMC and VQMMC) and for eMMC the board uses: vmmc-supply = <&vcc_3v3>; vqmmc-supply = <&vcc_1v8>; (meaning: 3.3V always-on power source for vmmc and 1.8V always-on power source for VQMMC) With the information from the regulators the MMC core will automatically detect ocr_avail in Linux. Or in other words: your .dts may be missing the link between regulator and MMC controller vmmc/vqmmc. Can you please double-check this? Best regards, Martin [0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts?id=2585cf9dfaaddf00b069673f27bb3f8530e2039c#n354 [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts?id=2585cf9dfaaddf00b069673f27bb3f8530e2039c#n333