Re: [PATCH] arm64: dts: rockchip: Always enable sd regulator on SOQuartz CM4IO

From: Peter Geis
Date: Wed Feb 22 2023 - 19:30:00 EST


On Tue, Feb 14, 2023 at 8:09 PM Nicolas Frattaroli
<frattaroli.nicolas@xxxxxxxxx> wrote:
>
> The 3.3V line coming from the SDMMC regulator is required for USB
> on the CM4IO board. Without it, the USB mux (U13 in the CM4IO
> schematic[1]) that's used likely remains unpowered, and no USB
> devices show up.
>
> The consequence of this was the behaviour of an inserted SD card
> allowing USB to work, while pulling it out turned off all USB
> devices.
>
> [1]: https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf

I disagree with this. According to the datasheet u13 and half a dozen
other devices are powered by 3.3v sourced from the SOM. sdmmc_pwr
triggers SD_PWR_ON which serves only to provide an enable signal to
u18, the regulator that powers the sdmmc slot from the same 3.3v. If
you are having problems with USB working, you likely have something
else going wrong here.

Very Respectfully,
Peter Geis

>
> Fixes: 5859b5a9c3ac ("arm64: dts: rockchip: add SoQuartz CM4IO dts")
> Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@xxxxxxxxx>
> ---
> arch/arm64/boot/dts/rockchip/rk3566-soquartz-cm4.dts | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-soquartz-cm4.dts b/arch/arm64/boot/dts/rockchip/rk3566-soquartz-cm4.dts
> index 263ce40770dd..88a61fa8a95c 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3566-soquartz-cm4.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3566-soquartz-cm4.dts
> @@ -135,6 +135,12 @@ &sdmmc0 {
> };
>
> &sdmmc_pwr {
> + /*
> + * USB also needs this regulator to work on this board, so just enable
> + * it unconditionally.
> + */
> + regulator-always-on;
> + regulator-boot-on;
> regulator-min-microvolt = <3300000>;
> regulator-max-microvolt = <3300000>;
> status = "okay";
> --
> 2.39.1
>