On Sat, Apr 13, 2019 at 10:24 PM megous via linux-sunxi <linux-sunxi@xxxxxxxxxxxxxxxx> wrote: > > From: Ondrej Jirman <megous@xxxxxxxxxx> > > Orange Pi 3 has two regulators that power the Realtek RTL8211E. According > to the phy datasheet, both regulators need to be enabled at the same time, > but we can only specify a single phy-supply in the DT. > > This can be achieved by making one regulator depedning on the other via > vin-supply. While it's not a technically correct description of the > hardware, it achieves the purpose. > > All values of RX/TX delay were tested exhaustively and a middle one of the > working values was chosen. > > Signed-off-by: Ondrej Jirman <megous@xxxxxxxxxx> > --- > .../dts/allwinner/sun50i-h6-orangepi-3.dts | 44 +++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts > index 17d496990108..6d6b1f66796d 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts > @@ -15,6 +15,7 @@ > > aliases { > serial0 = &uart0; > + ethernet0 = &emac; > }; > > chosen { > @@ -44,6 +45,27 @@ > regulator-max-microvolt = <5000000>; > regulator-always-on; > }; > + > + /* > + * The board uses 2.5V RGMII signalling. Power sequence to enable > + * the phy is to enable GMAC-2V5 and GMAC-3V3 (aldo2) power rails > + * at the same time and to wait 100ms. > + */ > + reg_gmac_2v5: gmac-2v5 { > + compatible = "regulator-fixed"; > + regulator-name = "gmac-2v5"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <2500000>; > + startup-delay-us = <100000>; > + enable-active-high; > + gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ > + > + /* The real parent of gmac-2v5 is reg_vcc5v, but we need to > + * enable two regulators to power the phy. This is one way > + * to achieve that. > + */ > + vin-supply = <®_aldo2>; /* GMAC-3V3 */ The actual output supply pin name is GMAC-3V which has an input of VCC3V3-MAC (ie aldo2), if we compatible to schematics better to use the same, IMHO.