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
