diff mbox series

[1/2] dt-bindings: arm: fsl: add Kontron sl28 variant 1

Message ID 20201229120321.17103-1-michael@walle.cc
State Superseded, archived
Headers show
Series [1/2] dt-bindings: arm: fsl: add Kontron sl28 variant 1 | expand

Checks

Context Check Description
robh/checkpatch success
robh/dt-meta-schema success
robh/dtbs-check fail build log

Commit Message

Michael Walle Dec. 29, 2020, 12:03 p.m. UTC
Add the a new variant for the Kontron SMARC-sAL28 board.

Signed-off-by: Michael Walle <michael@walle.cc>
---
 Documentation/devicetree/bindings/arm/fsl.yaml | 3 +++
 1 file changed, 3 insertions(+)

Comments

Shawn Guo Jan. 11, 2021, 1:34 a.m. UTC | #1
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
>
Michael Walle Jan. 11, 2021, 8 a.m. UTC | #2
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
>>
Shawn Guo Jan. 15, 2021, 9:34 a.m. UTC | #3
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
Michael Walle Jan. 15, 2021, 9:46 a.m. UTC | #4
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 mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 34000f7fbe02..7769a72ab9b1 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -834,10 +834,12 @@  properties:
           Kontron SMARC-sAL28 board on the SMARC Eval Carrier 2.0
         items:
           - enum:
+              - kontron,sl28-var1-ads2
               - kontron,sl28-var2-ads2
               - kontron,sl28-var3-ads2
               - kontron,sl28-var4-ads2
           - enum:
+              - kontron,sl28-var1
               - kontron,sl28-var2
               - kontron,sl28-var3
               - kontron,sl28-var4
@@ -848,6 +850,7 @@  properties:
           Kontron SMARC-sAL28 board (on a generic/undefined carrier)
         items:
           - enum:
+              - kontron,sl28-var1
               - kontron,sl28-var2
               - kontron,sl28-var3
               - kontron,sl28-var4