[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260126085727.2568958-3-a0987203069@gmail.com>
Date: Mon, 26 Jan 2026 16:57:26 +0800
From: Joey Lu <a0987203069@...il.com>
To: airlied@...il.com,
simona@...ll.ch,
maarten.lankhorst@...ux.intel.com,
mripard@...nel.org,
tzimmermann@...e.de,
robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org
Cc: ychuang3@...oton.com,
schung@...oton.com,
yclu4@...oton.com,
a0987203069@...il.com,
linux-arm-kernel@...ts.infradead.org,
dri-devel@...ts.freedesktop.org,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 2/3] arm64: dts: nuvoton: ma35d1: add display controller support
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@...il.com>
---
.../boot/dts/nuvoton/ma35d1-som-256m.dts | 42 +++++++++++++++++++
arch/arm64/boot/dts/nuvoton/ma35d1.dtsi | 26 ++++++++++++
2 files changed, 68 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..406dd7998324 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,9 @@ &uart16 {
pinctrl-0 = <&pinctrl_uart16>;
status = "okay";
};
+
+&display {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_display>;
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi b/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
index e51b98f5bdce..7293b5eff046 100644
--- a/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
+++ b/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
@@ -379,5 +379,31 @@ uart16: serial@...80000 {
clocks = <&clk UART16_GATE>;
status = "disabled";
};
+
+ panel: panel {
+ compatible = "panel-dpi";
+
+ port {
+ panel_in: endpoint@0 {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+ };
+
+ display: display@...60000 {
+ 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";
+
+ port {
+ dpi_out: endpoint@0 {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
};
};
--
2.43.0
Powered by blists - more mailing lists