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 <[email protected]>
---
 .../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

Reply via email to