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@gmail.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@40880000 {
clocks = <&clk UART16_GATE>;
status = "disabled";
};
+
+ panel: panel {
+ compatible = "panel-dpi";
+
+ port {
+ panel_in: endpoint@0 {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+ };
+
+ 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";
+
+ port {
+ dpi_out: endpoint@0 {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
};
};
--
2.43.0