[PATCH v2 2/3] arm64: dts: nuvoton: ma35d1: add display controller support

From: Joey Lu

Date: Wed Jan 28 2026 - 23:06:02 EST


Enable the Display Control Unit (DCU) for the Nuvoton MA35D1 SoC.

This patch adds the DCU node to the SoC dtsi and enables it on
the MA35D1 SOM board.

Signed-off-by: Joey Lu <a0987203069@xxxxxxxxx>
---
.../boot/dts/nuvoton/ma35d1-som-256m.dts | 56 +++++++++++++++++++
arch/arm64/boot/dts/nuvoton/ma35d1.dtsi | 14 +++++
2 files changed, 70 insertions(+)

diff --git a/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts b/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts
index f6f20a17e501..e596bb452cc9 100644
--- a/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts
+++ b/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts
@@ -98,6 +98,42 @@ pinctrl_uart16: uart16-pins {
power-source = <1>;
};
};
+
+ dcu {
+ pinctrl_display: display-pins {
+ nuvoton,pins =
+ <6 8 6>, /* VSYNC */
+ <6 9 6>, /* HSYNC */
+ <6 10 6>, /* CLK */
+ <10 4 6>, /* DE */
+ <8 8 6>, /* D0 - D23 */
+ <8 9 6>,
+ <8 10 6>,
+ <8 11 6>,
+ <8 12 6>,
+ <8 13 6>,
+ <8 14 6>,
+ <8 15 6>,
+ <7 0 6>,
+ <7 1 6>,
+ <7 2 6>,
+ <7 3 6>,
+ <7 4 6>,
+ <7 5 6>,
+ <7 6 6>,
+ <7 7 6>,
+ <2 12 6>,
+ <2 13 6>,
+ <2 14 6>,
+ <2 15 6>,
+ <7 12 6>,
+ <7 13 6>,
+ <7 14 6>,
+ <7 15 6>;
+ bias-disable;
+ power-source = <1>;
+ };
+ };
};

&uart0 {
@@ -129,3 +165,23 @@ &uart16 {
pinctrl-0 = <&pinctrl_uart16>;
status = "okay";
};
+
+&panel {
+ port {
+ panel_in: endpoint@0 {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+};
+
+&display {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_display>;
+ status = "okay";
+
+ port {
+ dpi_out: endpoint@0 {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi b/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
index e51b98f5bdce..7d9d077f12b2 100644
--- a/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
+++ b/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
@@ -379,5 +379,19 @@ uart16: serial@40880000 {
clocks = <&clk UART16_GATE>;
status = "disabled";
};
+
+ panel: panel {
+ compatible = "panel-dpi";
+ };
+
+ display: display@40260000 {
+ compatible = "nuvoton,ma35d1-dcu";
+ reg = <0x0 0x40260000 0x0 0x2000>;
+ interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk DCU_GATE>, <&clk DCUP_DIV>;
+ clock-names = "dcu_gate", "dcup_div";
+ resets = <&sys MA35D1_RESET_DISP>;
+ status = "disabled";
+ };
};
};
--
2.43.0