Message ID | 20201229120321.17103-2-michael@walle.cc (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] dt-bindings: arm: fsl: add Kontron sl28 variant 1 | expand |
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@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@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? > +}; > + > + One newline is enough. > +&enetc_port1 { > + phy-handle = <&phy0>; > + phy-connection-type = "rgmii-id"; > + status = "okay"; > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + > + phy0: ethernet-phy@4 { > + reg = <0x4>; > + eee-broken-1000t; > + eee-broken-100tx; > + Unnecessary newline. > + qca,clk-out-frequency = <125000000>; > + qca,clk-out-strength = <AR803X_STRENGTH_FULL>; > + Ditto Shawn > + vddio-supply = <&vddh>; > + > + vddio: vddio-regulator { > + regulator-name = "VDDIO"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + vddh: vddh-regulator { > + regulator-name = "VDDH"; > + }; > + }; > + }; > +}; > -- > 2.20.1 >
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@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@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@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 >> +}; >> + >> + > > One newline is enough. > >> +&enetc_port1 { >> + phy-handle = <&phy0>; >> + phy-connection-type = "rgmii-id"; >> + status = "okay"; >> + >> + mdio { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + phy0: ethernet-phy@4 { >> + reg = <0x4>; >> + eee-broken-1000t; >> + eee-broken-100tx; >> + > > Unnecessary newline. > >> + qca,clk-out-frequency = <125000000>; >> + qca,clk-out-strength = <AR803X_STRENGTH_FULL>; >> + > > Ditto > > Shawn > >> + vddio-supply = <&vddh>; >> + >> + vddio: vddio-regulator { >> + regulator-name = "VDDIO"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + }; >> + >> + vddh: vddh-regulator { >> + regulator-name = "VDDH"; >> + }; >> + }; >> + }; >> +}; >> -- >> 2.20.1 >>
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@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@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@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? Shawn
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@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@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@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
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@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; +}; + + +&enetc_port1 { + phy-handle = <&phy0>; + phy-connection-type = "rgmii-id"; + status = "okay"; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + phy0: ethernet-phy@4 { + reg = <0x4>; + eee-broken-1000t; + eee-broken-100tx; + + qca,clk-out-frequency = <125000000>; + qca,clk-out-strength = <AR803X_STRENGTH_FULL>; + + vddio-supply = <&vddh>; + + vddio: vddio-regulator { + regulator-name = "VDDIO"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + vddh: vddh-regulator { + regulator-name = "VDDH"; + }; + }; + }; +};
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@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