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

Michael Walle michael at walle.cc
Fri Jan 15 04:46:10 EST 2021


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 at walle.cc>
>> > > ---
>> > >  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 at walle.cc>
>> > > + *
>> > > + */
>> > > +
>> > > +/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 at 1f0000000/ethernet at 0,1/mdio/ethernet-phy at 4: Duplicate label 
>> 'phy0'
>> on /soc/pcie at 1f0000000/ethernet at 0,1/mdio/ethernet-phy at 4 and
>> /soc/pcie at 1f0000000/ethernet at 0,0/mdio/ethernet-phy at 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



More information about the linux-arm-kernel mailing list