2022-11-19 13:16:03

by Renze Nicolai

[permalink] [raw]
Subject: [PATCH 2/2] arm64: allwinner: a64: add device tree for SOPINE on Pine64 Clusterboard

The Pine64 SOPINE Clusterboard is a mini-ITX sized board capable
of hosting up-to 7 SOPINE modules. It is largely compatible
with the SOPINE baseboard but it omits most of the in- and
output interfaces. Also The Clusterboard needs a tx delay
of 500ps for ethernet to work.

Add a device tree for SOPINE on the Pine64 Clusterboard.

Signed-off-by: Renze Nicolai <[email protected]>
---
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../allwinner/sun50i-a64-sopine-clusterboard.dts | 16 ++++++++++++++++
2 files changed, 17 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-
clusterboard.dts

diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/
allwinner/Makefile
index 6a96494a2e0a..15b011d1aaea 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -15,6 +15,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.2.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab-early-adopter.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-clusterboard.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts
b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts
new file mode 100644
index 000000000000..f75325d43d76
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+// Copyright (c) 2022 Renze Nicolai <[email protected]>
+
+/dts-v1/;
+
+#include "sun50i-a64-sopine-baseboard.dts"
+
+/ {
+ model = "SOPINE with clusterboard";
+ compatible = "pine64,sopine-clusterboard", "pine64,sopine",
+ "allwinner,sun50i-a64";
+};
+
+&emac {
+ allwinner,tx-delay-ps = <500>;
+};
--
2.38.1





2022-11-19 18:58:40

by Andre Przywara

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: allwinner: a64: add device tree for SOPINE on Pine64 Clusterboard

On Sat, 19 Nov 2022 13:31:59 +0100
Renze Nicolai <[email protected]> wrote:

> The Pine64 SOPINE Clusterboard is a mini-ITX sized board capable
> of hosting up-to 7 SOPINE modules. It is largely compatible
> with the SOPINE baseboard but it omits most of the in- and
> output interfaces. Also The Clusterboard needs a tx delay
> of 500ps for ethernet to work.
>
> Add a device tree for SOPINE on the Pine64 Clusterboard.
>
> Signed-off-by: Renze Nicolai <[email protected]>
> ---
> arch/arm64/boot/dts/allwinner/Makefile | 1 +
> .../allwinner/sun50i-a64-sopine-clusterboard.dts | 16 ++++++++++++++++
> 2 files changed, 17 insertions(+)
> create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-
> clusterboard.dts
>
> diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/
> allwinner/Makefile
> index 6a96494a2e0a..15b011d1aaea 100644
> --- a/arch/arm64/boot/dts/allwinner/Makefile
> +++ b/arch/arm64/boot/dts/allwinner/Makefile
> @@ -15,6 +15,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.2.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab-early-adopter.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-clusterboard.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts
> new file mode 100644
> index 000000000000..f75325d43d76
> --- /dev/null
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts
> @@ -0,0 +1,16 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +// Copyright (c) 2022 Renze Nicolai <[email protected]>
> +
> +/dts-v1/;

Since you include a complete .dts (not a .dtsi) below, you don't need
the dts-v1 tag, as this is provided by the baseboard.dts. That's the
same situation as with the Pine64 LTS.

Cheers,
Andre

> +
> +#include "sun50i-a64-sopine-baseboard.dts"
> +
> +/ {
> + model = "SOPINE with clusterboard";
> + compatible = "pine64,sopine-clusterboard", "pine64,sopine",
> + "allwinner,sun50i-a64";
> +};
> +
> +&emac {
> + allwinner,tx-delay-ps = <500>;
> +};


2022-11-21 00:20:27

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: allwinner: a64: add device tree for SOPINE on Pine64 Clusterboard

> +&emac {
> + allwinner,tx-delay-ps = <500>;
> +};

Is this direct MAC to MAC without a PHY in the middle? And RGMII?

500ps seems odd. It is normally 1000ps. And you need to specify a
delay for both Rx and Tx. I could understand

&emac {
allwinner,tx-delay-ps = <500>;
allwinner,rx-delay-ps = <500>;
};

then each end adds 1/2 the delay on both Rx and Tx.

Andrew