[PATCH] arm64: dts: rockchip: Always enable sd regulator on SOQuartz CM4IO
Nicolas Frattaroli
frattaroli.nicolas at gmail.com
Wed Feb 22 21:53:21 PST 2023
On Thursday, 23 February 2023 01:29:39 CET Peter Geis wrote:
> On Tue, Feb 14, 2023 at 8:09 PM Nicolas Frattaroli
>
> <frattaroli.nicolas at gmail.com> 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
Hello,
I don't see how else the observed behaviour would be triggered.
As far as I can tell, the sdmmc_pwr regulator is the name of the
3.3V regulator on the SOM, which is what powers the 3.3V on the
USB mux chip.
Do you have an alternate explanation for why this patch works?
Kind regards,
Nicolas Frattaroli
>
> > Fixes: 5859b5a9c3ac ("arm64: dts: rockchip: add SoQuartz CM4IO dts")
> > Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas at gmail.com>
> > ---
> >
> > 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
More information about the Linux-rockchip
mailing list