On Tue, 20 Oct 2020 14:50:01 +0200 Andrew Lunn wrote: > On Sun, Oct 18, 2020 at 06:36:25PM +0200, Ard Biesheuvel wrote: > > Since commit bbc4d71d63549bc ("net: phy: realtek: fix rtl8211e rx/tx > > delay config"), the Realtek PHY driver will override any TX/RX delay > > set by hardware straps if the phy-mode device property does not match. > > > > This is causing problems on SynQuacer based platforms (the only SoC > > that incorporates the netsec hardware), since many were built with > > this Realtek PHY, and shipped with firmware that defines the phy-mode > > as 'rgmii', even though the PHY is configured for TX and RX delay using > > pull-ups. > > > > >From the driver's perspective, we should not make any assumptions in > > the general case that the PHY hardware does not require any initial > > configuration. However, the situation is slightly different for ACPI > > boot, since it implies rich firmware with AML abstractions to handle > > hardware details that are not exposed to the OS. So in the ACPI case, > > it is reasonable to assume that the PHY comes up in the right mode, > > regardless of whether the mode is set by straps, by boot time firmware > > or by AML executed by the ACPI interpreter. > > > > So let's ignore the 'phy-mode' device property when probing the netsec > > driver in ACPI mode, and hardcode the mode to PHY_INTERFACE_MODE_NA, > > which should work with any PHY provided that it is configured by the > > time the driver attaches to it. While at it, document that omitting > > the mode is permitted for DT probing as well, by setting the phy-mode > > DT property to the empty string. > > > > Fixes: 533dd11a12f6 ("net: socionext: Add Synquacer NetSec driver") > > Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx> > > Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Thanks, applied. Just to be on the safe side please make sure to CC Rob & DT list if your patch touches anything device tree. > --- a/Documentation/devicetree/bindings/net/socionext-netsec.txt > +++ b/Documentation/devicetree/bindings/net/socionext-netsec.txt > @@ -30,7 +30,9 @@ Optional properties: (See ethernet.txt file in the same directory) > - max-frame-size: See ethernet.txt in the same directory. > > The MAC address will be determined using the optional properties > -defined in ethernet.txt. > +defined in ethernet.txt. The 'phy-mode' property is required, but may > +be set to the empty string if the PHY configuration is programmed by > +the firmware or set by hardware straps, and needs to be preserved. > > Example: > eth0: ethernet@522d0000 {