[PATCH 1/2] riscv: dts: spacemit: add common board dtsi for OrangePi
Chukun Pan
amadeus at jmu.edu.cn
Fri Jan 16 02:00:00 PST 2026
The OrangePi R2S and OrangePi RV2 boards share many similarities, the
difference being that the RV2 board has more peripherals, such as HDMI
and Wi-Fi. Create a dtsi for shared parts to reduce duplication.
Signed-off-by: Chukun Pan <amadeus at jmu.edu.cn>
---
.../boot/dts/spacemit/k1-orangepi-r2s.dts | 69 +----------------
.../boot/dts/spacemit/k1-orangepi-rv2.dts | 69 +----------------
arch/riscv/boot/dts/spacemit/k1-orangepi.dtsi | 76 +++++++++++++++++++
3 files changed, 78 insertions(+), 136 deletions(-)
create mode 100644 arch/riscv/boot/dts/spacemit/k1-orangepi.dtsi
diff --git a/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts b/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts
index 58098c4a2aab..393270641b04 100644
--- a/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts
@@ -5,22 +5,11 @@
/dts-v1/;
-#include "k1.dtsi"
-#include "k1-pinctrl.dtsi"
+#include "k1-orangepi.dtsi"
/ {
model = "OrangePi R2S";
compatible = "xunlong,orangepi-r2s", "spacemit,k1";
-
- aliases {
- serial0 = &uart0;
- ethernet0 = ð0;
- ethernet1 = ð1;
- };
-
- chosen {
- stdout-path = "serial0";
- };
};
&emmc {
@@ -32,59 +21,3 @@ &emmc {
no-sdio;
status = "okay";
};
-
-ð0 {
- phy-handle = <&rgmii0>;
- phy-mode = "rgmii-id";
- pinctrl-names = "default";
- pinctrl-0 = <&gmac0_cfg>;
- rx-internal-delay-ps = <0>;
- tx-internal-delay-ps = <0>;
- status = "okay";
-
- mdio-bus {
- #address-cells = <0x1>;
- #size-cells = <0x0>;
-
- reset-gpios = <&gpio K1_GPIO(110) GPIO_ACTIVE_LOW>;
- reset-delay-us = <10000>;
- reset-post-delay-us = <100000>;
-
- rgmii0: phy at 1 {
- reg = <0x1>;
- };
- };
-};
-
-ð1 {
- phy-handle = <&rgmii1>;
- phy-mode = "rgmii-id";
- pinctrl-names = "default";
- pinctrl-0 = <&gmac1_cfg>;
- rx-internal-delay-ps = <0>;
- tx-internal-delay-ps = <250>;
- status = "okay";
-
- mdio-bus {
- #address-cells = <0x1>;
- #size-cells = <0x0>;
-
- reset-gpios = <&gpio K1_GPIO(115) GPIO_ACTIVE_LOW>;
- reset-delay-us = <10000>;
- reset-post-delay-us = <100000>;
-
- rgmii1: phy at 1 {
- reg = <0x1>;
- };
- };
-};
-
-&pdma {
- status = "okay";
-};
-
-&uart0 {
- pinctrl-names = "default";
- pinctrl-0 = <&uart0_2_cfg>;
- status = "okay";
-};
diff --git a/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts b/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts
index 41dc8e35e6eb..e53f52e27477 100644
--- a/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts
@@ -6,23 +6,12 @@
/dts-v1/;
-#include "k1.dtsi"
-#include "k1-pinctrl.dtsi"
+#include "k1-orangepi.dtsi"
/ {
model = "OrangePi RV2";
compatible = "xunlong,orangepi-rv2", "spacemit,k1";
- aliases {
- serial0 = &uart0;
- ethernet0 = ð0;
- ethernet1 = ð1;
- };
-
- chosen {
- stdout-path = "serial0";
- };
-
leds {
compatible = "gpio-leds";
@@ -34,59 +23,3 @@ led1 {
};
};
};
-
-ð0 {
- phy-handle = <&rgmii0>;
- phy-mode = "rgmii-id";
- pinctrl-names = "default";
- pinctrl-0 = <&gmac0_cfg>;
- rx-internal-delay-ps = <0>;
- tx-internal-delay-ps = <0>;
- status = "okay";
-
- mdio-bus {
- #address-cells = <0x1>;
- #size-cells = <0x0>;
-
- reset-gpios = <&gpio K1_GPIO(110) GPIO_ACTIVE_LOW>;
- reset-delay-us = <10000>;
- reset-post-delay-us = <100000>;
-
- rgmii0: phy at 1 {
- reg = <0x1>;
- };
- };
-};
-
-ð1 {
- phy-handle = <&rgmii1>;
- phy-mode = "rgmii-id";
- pinctrl-names = "default";
- pinctrl-0 = <&gmac1_cfg>;
- rx-internal-delay-ps = <0>;
- tx-internal-delay-ps = <250>;
- status = "okay";
-
- mdio-bus {
- #address-cells = <0x1>;
- #size-cells = <0x0>;
-
- reset-gpios = <&gpio K1_GPIO(115) GPIO_ACTIVE_LOW>;
- reset-delay-us = <10000>;
- reset-post-delay-us = <100000>;
-
- rgmii1: phy at 1 {
- reg = <0x1>;
- };
- };
-};
-
-&pdma {
- status = "okay";
-};
-
-&uart0 {
- pinctrl-names = "default";
- pinctrl-0 = <&uart0_2_cfg>;
- status = "okay";
-};
diff --git a/arch/riscv/boot/dts/spacemit/k1-orangepi.dtsi b/arch/riscv/boot/dts/spacemit/k1-orangepi.dtsi
new file mode 100644
index 000000000000..b4808f258adf
--- /dev/null
+++ b/arch/riscv/boot/dts/spacemit/k1-orangepi.dtsi
@@ -0,0 +1,76 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright (C) 2024 Yangyu Chen <cyy at cyyself.name>
+ * Copyright (C) 2025 Hendrik Hamerlinck <hendrik.hamerlinck at hammernet.be>
+ */
+
+#include "k1.dtsi"
+#include "k1-pinctrl.dtsi"
+
+/ {
+ aliases {
+ ethernet0 = ð0;
+ ethernet1 = ð1;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0";
+ };
+};
+
+ð0 {
+ phy-handle = <&rgmii0>;
+ phy-mode = "rgmii-id";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gmac0_cfg>;
+ rx-internal-delay-ps = <0>;
+ tx-internal-delay-ps = <0>;
+ status = "okay";
+
+ mdio-bus {
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ reset-gpios = <&gpio K1_GPIO(110) GPIO_ACTIVE_LOW>;
+ reset-delay-us = <10000>;
+ reset-post-delay-us = <100000>;
+
+ rgmii0: phy at 1 {
+ reg = <0x1>;
+ };
+ };
+};
+
+ð1 {
+ phy-handle = <&rgmii1>;
+ phy-mode = "rgmii-id";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gmac1_cfg>;
+ rx-internal-delay-ps = <0>;
+ tx-internal-delay-ps = <250>;
+ status = "okay";
+
+ mdio-bus {
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ reset-gpios = <&gpio K1_GPIO(115) GPIO_ACTIVE_LOW>;
+ reset-delay-us = <10000>;
+ reset-post-delay-us = <100000>;
+
+ rgmii1: phy at 1 {
+ reg = <0x1>;
+ };
+ };
+};
+
+&pdma {
+ status = "okay";
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_2_cfg>;
+ status = "okay";
+};
--
2.25.1
More information about the linux-riscv
mailing list