Re: [PATCH] net: netsec: Ignore 'phy-mode' on SynQuacer in DT mode

From: Andrew Lunn
Date: Fri Jul 28 2023 - 13:08:45 EST


On Fri, Jul 28, 2023 at 09:35:00PM +0900, Masahisa Kojima wrote:
> On Fri, 28 Jul 2023 at 20:43, Mark Brown <broonie@xxxxxxxxxx> wrote:
> >
> > On Fri, Jul 28, 2023 at 10:41:40AM +0200, Andrew Lunn wrote:
> > > > Wouldn't this break SynQuacers booting with firmware that lacks a
> > > > network driver? (I.e., u-boot?)
> >
> > > > I am not sure why, but quite some effort has gone into porting u-boot
> > > > to this SoC as well.
> >
> > > Agreed, Rather than PHY_INTERFACE_MODE_NA, please use the correct
> > > value.
> >
> > Does anyone know off hand what the correct value is? I only have access
> > to one of these in a remote test lab which makes everything more
> > painful.
>
> "rgmii-id" is correct, configured by board level.
> The latest EDK2 firmware was already modified to use the correct value
> for DT(Thank you, Ard).
> http://snapshots.linaro.org/components/kernel/leg-96boards-developerbox-edk2/100/

Yes, anything other than rgmii-id is generally wrong. That maps to
PHY_INTERFACE_MODE_RGMII_ID.

If the firmware has been fixed, i would actually do something like:

err = of_get_phy_mode(pdev->dev.of_node, &priv->phy_interface);
if (err)
return err;

if (of_machine_is_compatible("socionext,developer-box") &&
priv->phy_interface != PHY_INTERFACE_MODE_RGMII_ID) {
pr_warn(FW_WARN, "Working around broken firmware. Please upgrade your firmware");
priv->phy_interface = PHY_INTERFACE_MODE_RGMII_ID;
}

Andrew