[backport from Linux commit 598e5adfeb6062f5d4d352c0ef888b2b29d7e215]

The patch adds display support on the stm32f769-disco board.

Signed-off-by: Dario Binacchi <[email protected]>
---

 arch/arm/dts/stm32f769-disco-u-boot.dtsi | 34 --------------
 arch/arm/dts/stm32f769-disco.dts         | 58 ++++++++++++++++++++++++
 2 files changed, 58 insertions(+), 34 deletions(-)

diff --git a/arch/arm/dts/stm32f769-disco-u-boot.dtsi 
b/arch/arm/dts/stm32f769-disco-u-boot.dtsi
index c5ae753debe6..16a9eecd4a99 100644
--- a/arch/arm/dts/stm32f769-disco-u-boot.dtsi
+++ b/arch/arm/dts/stm32f769-disco-u-boot.dtsi
@@ -32,18 +32,6 @@
                compatible = "st,led1";
                led-gpio = <&gpioj 5 0>;
        };
-
-       panel: panel {
-               compatible = "orisetech,otm8009a";
-               reset-gpios = <&gpioj 15 1>;
-               status = "okay";
-
-               port {
-                       panel_in: endpoint {
-                               remote-endpoint = <&dsi_out>;
-                       };
-               };
-       };
 };
 
 &dsi {
@@ -52,33 +40,11 @@
                 <&clk_hse>;
        clock-names = "pclk", "px_clk", "ref";
        bootph-all;
-       status = "okay";
-
-       ports {
-               port@0 {
-                       dsi_out: endpoint {
-                               remote-endpoint = <&panel_in>;
-                       };
-               };
-               port@1 {
-                       dsi_in: endpoint {
-                               remote-endpoint = <&dp_out>;
-                       };
-               };
-       };
 };
 
 &ltdc {
        clocks = <&rcc 0 STM32F7_APB2_CLOCK(LTDC)>;
        bootph-all;
-
-       ports {
-               port@0 {
-                       dp_out: endpoint {
-                               remote-endpoint = <&dsi_in>;
-                       };
-               };
-       };
 };
 
 &fmc {
diff --git a/arch/arm/dts/stm32f769-disco.dts b/arch/arm/dts/stm32f769-disco.dts
index b4e240a8e3eb..3fd5140ec5eb 100644
--- a/arch/arm/dts/stm32f769-disco.dts
+++ b/arch/arm/dts/stm32f769-disco.dts
@@ -24,6 +24,19 @@
                reg = <0xC0000000 0x1000000>;
        };
 
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               linux,dma {
+                       compatible = "shared-dma-pool";
+                       linux,dma-default;
+                       no-map;
+                       size = <0x100000>;
+               };
+       };
+
        aliases {
                serial0 = &usart1;
        };
@@ -78,6 +91,45 @@
        clock-frequency = <25000000>;
 };
 
+&dsi {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       reg = <0>;
+                       dsi_in: endpoint {
+                               remote-endpoint = <&ltdc_out_dsi>;
+                       };
+               };
+
+               port@1 {
+                       reg = <1>;
+                       dsi_out: endpoint {
+                               remote-endpoint = <&dsi_panel_in>;
+                       };
+               };
+       };
+
+       panel0: panel@0 {
+               compatible = "orisetech,otm8009a";
+               reg = <0>; /* dsi virtual channel (0..3) */
+               reset-gpios = <&gpioj 15 GPIO_ACTIVE_LOW>;
+               power-supply = <&vcc_3v3>;
+               status = "okay";
+
+               port {
+                       dsi_panel_in: endpoint {
+                               remote-endpoint = <&dsi_out>;
+                       };
+               };
+       };
+};
+
 &i2c1 {
        pinctrl-0 = <&i2c1_pins_b>;
        pinctrl-names = "default";
@@ -88,6 +140,12 @@
 
 &ltdc {
        status = "okay";
+
+       port {
+               ltdc_out_dsi: endpoint {
+                       remote-endpoint = <&dsi_in>;
+               };
+       };
 };
 
 &rtc {
-- 
2.43.0

Reply via email to