On Tue, 26 Dec 2023 16:40:05 +0800 Fuyao Kashizuku <fuyao@xxxxxxxxxx> wrote: Hi, many thanks for the quick turnaround! > The USB PHY in the Allwinner R40 SoC seems to rely on voltage on the > VCC-TVIN/OUT supply pins for proper operation, on top of its own supply > voltage on VCC-USB. Without a 3.3V voltage supplied to VCC-TV*, USB > operation becomes unstable and can result in disconnects. > > The Forlinx FETA40i-C SoM connects both the VCC-TVOUT and VCC-TVIN pins > to the ALDO1 rail of the PMIC, so we need to enable that rail for USB > operation. Since there is no supply property in the DT bindings for > the USB core, we need to always enable the regulator. > > This fixes unstable USB operation on boards using the Forlinx FETA40i-C > module. > > Signed-off-by: Fuyao Kashizuku <fuyao@xxxxxxxxxx> Perfect, looks good to me now! Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Thanks! Andre > --- > Changes in v2: > - Subject include board name. > - regulator name changed to vcc-3v3-tv-usb. > - explain why we need to enable the regulator. > - use full name of the commiter > - Link to v1: https://lore.kernel.org/lkml/ZYKjYypuAx7gNuam@xxxxxxxxxx/ > > arch/arm/boot/dts/allwinner/sun8i-r40-feta40i.dtsi | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/arm/boot/dts/allwinner/sun8i-r40-feta40i.dtsi b/arch/arm/boot/dts/allwinner/sun8i-r40-feta40i.dtsi > index 9f39b5a2bb35..c12361d0317f 100644 > --- a/arch/arm/boot/dts/allwinner/sun8i-r40-feta40i.dtsi > +++ b/arch/arm/boot/dts/allwinner/sun8i-r40-feta40i.dtsi > @@ -42,6 +42,13 @@ &pio { > vcc-pg-supply = <®_dldo1>; > }; > > +®_aldo1 { > + regulator-always-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc-3v3-tv-usb"; > +}; > + > ®_aldo2 { > regulator-always-on; > regulator-min-microvolt = <1800000>;