[PATCH] ARM: imx: imx8mn-ddr4-evk: Add ethernet support

Tom Rini trini at konsulko.com
Tue Mar 2 16:24:51 CET 2021


On Tue, Mar 02, 2021 at 03:52:39PM +0100, Marek Vasut wrote:
> On 3/2/21 10:16 AM, Michael Nazzareno Trimarchi wrote:
> > Hi Marek
> > 
> > On Tue, Mar 2, 2021 at 9:40 AM Marek Vasut <marex at denx.de> wrote:
> > > 
> > > On 3/2/21 9:21 AM, Michael Nazzareno Trimarchi wrote:
> > > > Hi Marek
> > > > 
> > > > On Tue, Mar 2, 2021 at 9:13 AM Marek Vasut <marex at denx.de> wrote:
> > > > > 
> > > > > On 3/2/21 8:53 AM, Jagan Teki wrote:
> > > > > > On Sat, Feb 27, 2021 at 6:21 PM Marek Vasut <marex at denx.de> wrote:
> > > > > > > 
> > > > > > > On 2/27/21 8:54 AM, Jagan Teki wrote:
> > > > > > > > Hi Marek,
> > > > > > > > 
> > > > > > > > On Sat, Feb 27, 2021 at 3:44 AM Marek Vasut <marex at denx.de> wrote:
> > > > > > > > > 
> > > > > > > > > Add support for ethernet on the imx8mn-ddr4-evk.
> > > > > > > > > 
> > > > > > > > > Signed-off-by: Marek Vasut <marex at denx.de>
> > > > > > > > > Cc: Fabio Estevam <festevam at gmail.com>
> > > > > > > > > Cc: Peng Fan <peng.fan at nxp.com>
> > > > > > > > > Cc: Stefano Babic <sbabic at denx.de>
> > > > > > > > > ---
> > > > > > > > >      arch/arm/dts/imx8mn-evk.dtsi            |  1 +
> > > > > > > > >      board/freescale/imx8mn_evk/imx8mn_evk.c | 41 +++++++++++++++++++++++--
> > > > > > > > >      configs/imx8mn_ddr4_evk_defconfig       |  8 +++++
> > > > > > > > >      3 files changed, 47 insertions(+), 3 deletions(-)
> > > > > > > > > 
> > > > > > > > > diff --git a/arch/arm/dts/imx8mn-evk.dtsi b/arch/arm/dts/imx8mn-evk.dtsi
> > > > > > > > > index 76d042a4cf0..416fadb22b1 100644
> > > > > > > > > --- a/arch/arm/dts/imx8mn-evk.dtsi
> > > > > > > > > +++ b/arch/arm/dts/imx8mn-evk.dtsi
> > > > > > > > > @@ -53,6 +53,7 @@
> > > > > > > > >             pinctrl-0 = <&pinctrl_fec1>;
> > > > > > > > >             phy-mode = "rgmii-id";
> > > > > > > > >             phy-handle = <&ethphy0>;
> > > > > > > > > +       phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
> > > > > > > > 
> > > > > > > > I believe this is phy reset-gpio to be part of mdio child node. any
> > > > > > > > idea why it added in fec1 node?
> > > > > > > 
> > > > > > > Try $ git grep phy-reset drivers/net/ , that should clarify it all.
> > > > > > > In short, FEC in U-Boot still uses legacy bindings.
> > > > > > 
> > > > > > True. I think it's better to add this property on -u-boot.dtsi which
> > > > > > helps to maintain Linux bindings.
> > > > > 
> > > > > The reset GPIO is not specific to U-Boot in any way, so no.
> > > > > Instead, the Linux DT bindings should be updated too, but that's a
> > > > > separate topic.
> > > > 
> > > > Deprecated optional properties:
> > > >           To avoid these, create a phy node according to phy.txt in the same
> > > >           directory, and point the fec's "phy-handle" property to it. Then use
> > > >           the phy's reset binding, again described by phy.txt.
> > > > - phy-reset-gpios : Should specify the gpio for phy reset
> > > > - phy-reset-duration : Reset duration in milliseconds.  Should present
> > > >     only if property "phy-reset-gpios" is available.  Missing the property
> > > >     will have the duration be 1 millisecond.  Numbers greater than 1000 are
> > > > 
> > > > Jagan refer maybe that property is deprecated
> > > 
> > > See above, U-Boot does not support the per-PHY reset bindings with FEC.
> > > However, the PHY reset GPIO binding is not U-Boot specific, so it should
> > > not be hidden in -u-boot.dtsi .
> > 
> > Yes, I understand. What Jagan is proposing is the following (that you
> > can disagree) it's
> > just move deprecated part in uboot.dtsi so we can keep align dtsi from
> > linux without
> > having this problem.
> 
> What should happen is that this same thing should be fixed in Linux, i.e.
> the missing bindings should be added there, and then once a DT sync happens,
> whoever does the sync should also then update the FEC driver to handle
> per-PHY resets. But that is out of scope of this patch.
> 
> What is for certain is that if the DT sync removes the reset GPIO from DT,
> ethernet will no longer work in U-Boot and it will show up during testing.
> If there is some extra property hidden in -u-boot.dtsi, this problem will
> not trigger test failure then.

This seems like a case where the "deprecated" property needs to be
populated in the upstream dts file, even if the Linux Kernel doesn't
need it strictly because we do and we might not need / want to redesign
our driver to meet what Linux expects yet again.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210302/3f59caa5/attachment.sig>


More information about the U-Boot mailing list