Skip to contentSkip to conversation

arm64: allwinner: a64: add device tree for SOPINE on Pine64 Clusterboard

PATCH In review Renze Nicolai 3 participants 3 messages Nov 19, 2022 – Nov 20, 2022

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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.

---
 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

arch/arm64/boot/dts/ renamed from arch/arm64/boot/dts/allwinner/Makefile +0 -0

allwinner/Makefile
index 6a96494a2e0a..15b011d1aaea 100644

arch/arm64/boot/dts/allwinner/Makefile +1 -0
@@ -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
(quoted diff) +0 -0

b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts new file mode 100644
index 000000000000..f75325d43d76

arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts new file +16 -0
@@ -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>;
+};
Signature · 1 line
2.38.1
#1 lore raw
Quoted 36 lines · 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.

---
 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

arch/arm64/boot/dts/ renamed from arch/arm64/boot/dts/allwinner/Makefile +0 -0

allwinner/Makefile
index 6a96494a2e0a..15b011d1aaea 100644

arch/arm64/boot/dts/allwinner/Makefile +1 -0
@@ -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
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts new file +0 -0
new file mode 100644
index 000000000000..f75325d43d76

arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts line 4

Quoted 4 lines
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts new file +4 -0
@@ -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

Quoted 12 lines
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts new file +12 -0
+
+#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 lore raw
In reply to Renze Nicolai

arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts line 16

Quoted 3 lines

+&emac {

arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-clusterboard.dts new file +2 -0
+	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