[PATCH 16/18] riscv: dts: zhihe: add Melon Pi V1 and V2
From: Han Gao via B4 Relay
Date: Wed Oct 21 2026 - 16:00:56 EST
From: Han Gao <gaohan@xxxxxxxxxxx>
Add Melon Pi V1 and V2 with the UART4 console on GPIO2_0 and GPIO2_1.
Use serial aliases to preserve physical UART numbering.
Signed-off-by: Han Gao <gaohan@xxxxxxxxxxx>
---
arch/riscv/boot/dts/Makefile | 1 +
arch/riscv/boot/dts/zhihe/Makefile | 2 +
arch/riscv/boot/dts/zhihe/a210-melonpi-common.dtsi | 55 ++++++++++++++++++++++
arch/riscv/boot/dts/zhihe/a210-melonpi-v1.dts | 9 ++++
arch/riscv/boot/dts/zhihe/a210-melonpi-v2.dts | 9 ++++
5 files changed, 76 insertions(+)
diff --git a/arch/riscv/boot/dts/Makefile b/arch/riscv/boot/dts/Makefile
index 69d8751fb17c..445edde8f107 100644
--- a/arch/riscv/boot/dts/Makefile
+++ b/arch/riscv/boot/dts/Makefile
@@ -12,3 +12,4 @@ subdir-y += spacemit
subdir-y += starfive
subdir-y += tenstorrent
subdir-y += thead
+subdir-y += zhihe
diff --git a/arch/riscv/boot/dts/zhihe/Makefile b/arch/riscv/boot/dts/zhihe/Makefile
new file mode 100644
index 000000000000..553102091d4f
--- /dev/null
+++ b/arch/riscv/boot/dts/zhihe/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_ZHIHE) += a210-melonpi-v1.dtb a210-melonpi-v2.dtb
diff --git a/arch/riscv/boot/dts/zhihe/a210-melonpi-common.dtsi b/arch/riscv/boot/dts/zhihe/a210-melonpi-common.dtsi
new file mode 100644
index 000000000000..7a6e6af0aa1f
--- /dev/null
+++ b/arch/riscv/boot/dts/zhihe/a210-melonpi-common.dtsi
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+
+#include "a210-som.dtsi"
+
+/ {
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ serial2 = &uart2;
+ serial3 = &uart3;
+ serial4 = &uart4;
+ serial5 = &uart5;
+ serial6 = &uart6;
+ serial7 = &uart7;
+ serial8 = &uart8;
+ serial9 = &uart9;
+ };
+
+ chosen {
+ stdout-path = "serial4:115200n8";
+ };
+};
+
+&peri2_padctrl {
+ status = "okay";
+
+ uart4_pins: uart4-0 {
+ rx-pins {
+ bias-disable;
+ drive-strength = <1>;
+ function = "uart4";
+ input-enable;
+ input-schmitt-enable;
+ pins = "GPIO2_1";
+ slew-rate = <0>;
+ };
+
+ tx-pins {
+ bias-disable;
+ drive-strength = <3>;
+ function = "uart4";
+ input-disable;
+ input-schmitt-disable;
+ pins = "GPIO2_0";
+ slew-rate = <0>;
+ };
+ };
+};
+
+&uart4 {
+ pinctrl-0 = <&uart4_pins>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
diff --git a/arch/riscv/boot/dts/zhihe/a210-melonpi-v1.dts b/arch/riscv/boot/dts/zhihe/a210-melonpi-v1.dts
new file mode 100644
index 000000000000..a88e9b949c4a
--- /dev/null
+++ b/arch/riscv/boot/dts/zhihe/a210-melonpi-v1.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/dts-v1/;
+
+#include "a210-melonpi-common.dtsi"
+
+/ {
+ compatible = "zhihe,a210-melonpi-v1", "zhihe,a210-som", "zhihe,a210";
+ model = "Melon Pi V1";
+};
diff --git a/arch/riscv/boot/dts/zhihe/a210-melonpi-v2.dts b/arch/riscv/boot/dts/zhihe/a210-melonpi-v2.dts
new file mode 100644
index 000000000000..71752471c5fb
--- /dev/null
+++ b/arch/riscv/boot/dts/zhihe/a210-melonpi-v2.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/dts-v1/;
+
+#include "a210-melonpi-common.dtsi"
+
+/ {
+ compatible = "zhihe,a210-melonpi-v2", "zhihe,a210-som", "zhihe,a210";
+ model = "Melon Pi V2";
+};
--
2.55.0