Re: [PATCH 2/2] arm64: dts: freescale: sl28: add variant 1

From: Michael Walle
Date: Fri Jan 15 2021 - 04:47:03 EST


Am 2021-01-15 10:34, schrieb Shawn Guo:
On Mon, Jan 11, 2021 at 09:00:37AM +0100, Michael Walle wrote:
Am 2021-01-11 02:34, schrieb Shawn Guo:
> On Tue, Dec 29, 2020 at 01:03:21PM +0100, Michael Walle wrote:
> > There is a new variant 1 of this board available. It features up to
> > four
> > SerDes lanes for customer use. Add a new device tree which features
> > just
> > the basic peripherals. A customer will then have to modify or append
> > to
> > this device tree.
> >
> > Signed-off-by: Michael Walle <michael@xxxxxxxx>
> > ---
> > arch/arm64/boot/dts/freescale/Makefile | 1 +
> > .../fsl-ls1028a-kontron-sl28-var1.dts | 61
> > +++++++++++++++++++
> > 2 files changed, 62 insertions(+)
> > create mode 100644
> > arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts
> >
> > diff --git a/arch/arm64/boot/dts/freescale/Makefile
> > b/arch/arm64/boot/dts/freescale/Makefile
> > index 6f0777ee6cd6..79cb0025fcc6 100644
> > --- a/arch/arm64/boot/dts/freescale/Makefile
> > +++ b/arch/arm64/boot/dts/freescale/Makefile
> > @@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb
> > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb
> > dtb-$(CONFIG_ARCH_LAYERSCAPE) +=
> > fsl-ls1028a-kontron-kbox-a-230-ls.dtb
> > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28.dtb
> > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var1.dtb
> > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var2.dtb
> > dtb-$(CONFIG_ARCH_LAYERSCAPE) +=
> > fsl-ls1028a-kontron-sl28-var3-ads2.dtb
> > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb
> > diff --git
> > a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts
> > b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts
> > new file mode 100644
> > index 000000000000..52f2f3ffdce1
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts
> > @@ -0,0 +1,61 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Device Tree file for the Kontron SMARC-sAL28 board.
> > + *
> > + * This is for the network variant 1 which has one ethernet port.
> > It is
> > + * different than the base variant, which also has one port, but
> > here the
> > + * port is connected via RGMII. This port is not TSN aware.
> > + * None of the four SerDes lanes are used by the module, instead
> > they are
> > + * all led out to the carrier for customer use.
> > + *
> > + * Copyright (C) 2020 Michael Walle <michael@xxxxxxxx>
> > + *
> > + */
> > +
> > +/dts-v1/;
> > +#include "fsl-ls1028a-kontron-sl28.dts"
> > +#include <dt-bindings/net/qca-ar803x.h>
> > +
> > +/ {
> > + model = "Kontron SMARC-sAL28 (4 Lanes)";
> > + compatible = "kontron,sl28-var1", "kontron,sl28", "fsl,ls1028a";
> > +};
> > +
> > +&enetc_port0 {
> > + status = "disabled";
> > + /delete-property/ phy-handle;
> > + /delete-node/ mdio;
>
> As it's disabled anyway, why do we bother to delete the property and
> child node?

Because beneath that node is also the old phy0 label. So you'd be getting
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts:38.24-55.5:
ERROR (duplicate_label):
/soc/pcie@1f0000000/ethernet@0,1/mdio/ethernet-phy@4: Duplicate label 'phy0'
on /soc/pcie@1f0000000/ethernet@0,1/mdio/ethernet-phy@4 and
/soc/pcie@1f0000000/ethernet@0,0/mdio/ethernet-phy@5

So labelling enetc_port1 phy as 'phy1' would fix it, right?

That might fix it, but I don't want an old unused phy node in the device tree
which isn't even there. Also I don't want one board starting the labels with
phy0 and the other with phy1.

If you don't like that /delete-node/ stuff, I'd have to reorganize the
includes. var1 and var2 unfortunately isn't compatible with the base variant
fsl-ls1028a-kontron-sl28.dts regarding the phy configurations. Thus I'd
probably have to split "fsl-ls1028a-kontron-sl28.dts" into a common dtsi and
one which handles the networking.

-michael