[PATCH v2 2/2] riscv: dts: spacemit: Add OrangePi RV2 board device tree

Hendrik Hamerlinck posted 2 patches 2 months, 2 weeks ago
There is a newer version of this series
[PATCH v2 2/2] riscv: dts: spacemit: Add OrangePi RV2 board device tree
Posted by Hendrik Hamerlinck 2 months, 2 weeks ago
Add initial device tree support for the OrangePi RV2 board [1], which is
marketed as using the Ky X1 SoC but has been confirmed to be 
identical to the SpacemiT K1 [2].

The device tree is adapted from the OrangePi vendor tree [3], and similar
integration can be found in the Banana Pi kernel tree [4], confirming SoC
compatibility.

This minimal device tree enables booting into a serial console with UART
output and a blinking LED.

Link: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-RV2.html [1]
Link: https://www.spacemit.com/en/key-stone-k1 [2]
Link: https://github.com/BPI-SINOVOIP/pi-linux/blob/linux-6.6.63-k1/arch/riscv/boot/dts/spacemit/k1-x_orangepi-rv2.dts [3]
Link: https://github.com/orangepi-xunlong/linux-orangepi/tree/orange-pi-6.6-ky [4]
Signed-off-by: Hendrik Hamerlinck <hendrik.hamerlinck@hammernet.be>
---
Changes since v1:
- Added the aliases section to the device tree.
- Removed the memory section, as it is populated by the bootloader.
- Replaced unclear copyright similar to the other K1-based boards.
---
 arch/riscv/boot/dts/spacemit/Makefile         |  1 +
 .../boot/dts/spacemit/k1-orangepi-rv2.dts     | 40 +++++++++++++++++++
 2 files changed, 41 insertions(+)
 create mode 100644 arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts

diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile
index 92e13ce1c16d..152832644870 100644
--- a/arch/riscv/boot/dts/spacemit/Makefile
+++ b/arch/riscv/boot/dts/spacemit/Makefile
@@ -1,3 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0
 dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-f3.dtb
 dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb
+dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb
diff --git a/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts b/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts
new file mode 100644
index 000000000000..337240ebb7b7
--- /dev/null
+++ b/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name>
+ * Copyright (C) 2025 Hendrik Hamerlinck <hendrik.hamerlinck@hammernet.be>
+ */
+
+/dts-v1/;
+
+#include "k1.dtsi"
+#include "k1-pinctrl.dtsi"
+
+/ {
+	model = "OrangePi RV2";
+	compatible = "xunlong,orangepi-rv2", "spacemit,k1";
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led1 {
+			label = "sys-led";
+			gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "heartbeat";
+			default-state = "on";
+		};
+	};
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_2_cfg>;
+	status = "okay";
+};
-- 
2.43.0
Re: [PATCH v2 2/2] riscv: dts: spacemit: Add OrangePi RV2 board device tree
Posted by Vivian Wang 2 months, 2 weeks ago
Hi Hendrik,

On 7/18/25 16:43, Hendrik Hamerlinck wrote:
> Add initial device tree support for the OrangePi RV2 board [1], which is
> marketed as using the Ky X1 SoC but has been confirmed to be 
> identical to the SpacemiT K1 [2].
>
> The device tree is adapted from the OrangePi vendor tree [3], and similar
> integration can be found in the Banana Pi kernel tree [4], confirming SoC
> compatibility.

This isn't particularly crucial, but I wonder if we can do something
similar to a jh7110-common.dtsi arrangement, where most of the boards
sharing similar designs can also share devicetree source files.

Easier said than done, probably, but I think it should be possible by
just comparing the vendor dts files.

Again this doesn't need to block this patch.

Yixun: I'm assuming you'll be handling this. What do you think about a
k1-common.dtsi?

Vivian "dramforever" Wang

> This minimal device tree enables booting into a serial console with UART
> output and a blinking LED.
>
> Link: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-RV2.html [1]
> Link: https://www.spacemit.com/en/key-stone-k1 [2]
> Link: https://github.com/BPI-SINOVOIP/pi-linux/blob/linux-6.6.63-k1/arch/riscv/boot/dts/spacemit/k1-x_orangepi-rv2.dts [3]
> Link: https://github.com/orangepi-xunlong/linux-orangepi/tree/orange-pi-6.6-ky [4]
> Signed-off-by: Hendrik Hamerlinck <hendrik.hamerlinck@hammernet.be>
> ---
> Changes since v1:
> - Added the aliases section to the device tree.
> - Removed the memory section, as it is populated by the bootloader.
> - Replaced unclear copyright similar to the other K1-based boards.
> ---
> [...]
Re: [PATCH v2 2/2] riscv: dts: spacemit: Add OrangePi RV2 board device tree
Posted by Yixun Lan 2 months, 2 weeks ago
Hi Vivian,

On 17:10 Fri 18 Jul     , Vivian Wang wrote:
> Hi Hendrik,
> 
> On 7/18/25 16:43, Hendrik Hamerlinck wrote:
> > Add initial device tree support for the OrangePi RV2 board [1], which is
> > marketed as using the Ky X1 SoC but has been confirmed to be 
> > identical to the SpacemiT K1 [2].
> >
> > The device tree is adapted from the OrangePi vendor tree [3], and similar
> > integration can be found in the Banana Pi kernel tree [4], confirming SoC
> > compatibility.
> 
> This isn't particularly crucial, but I wonder if we can do something
> similar to a jh7110-common.dtsi arrangement, where most of the boards
> sharing similar designs can also share devicetree source files.
> 
> Easier said than done, probably, but I think it should be possible by
> just comparing the vendor dts files.
> 
> Again this doesn't need to block this patch.
> 
Sure

> Yixun: I'm assuming you'll be handling this. What do you think about a
> k1-common.dtsi?
> 

Sharing dtsi file for similar boards is generally fine, I saw a few
other SoC maintainers have done the same..

In the practical cases, we have to evaluate and plan carefully, it
should be manageable to support fixed number of boards for one file,
but would be nasty if expect one common dts file to cover all boards..

Anyhow, I think we can revisit this idea and having incremental patch
later, it's not the problem for now

Thanks for the suggestion

-- 
Yixun Lan (dlan)