This patch enables the following IPs on stm32mp257f-ev :
  * LTDC
  * LVDS
  * WSVGA LVDS panel (1024x600)
  * Panel backlight
  * Ilitek touchescreen

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-...@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 79 ++++++++++++++++++++++
 1 file changed, 79 insertions(+)

diff --git a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts 
b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
index 0ea8e69bfb3d..ca2da988d91c 100644
--- a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
+++ b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
@@ -29,6 +29,43 @@ memory@80000000 {
                reg = <0x0 0x80000000 0x1 0x0>;
        };
 
+       panel_lvds: panel-lvds {
+               compatible = "edt,etml0700z9ndha", "panel-lvds";
+               enable-gpios = <&gpiog 15 GPIO_ACTIVE_HIGH>;
+               backlight = <&panel_lvds_backlight>;
+               status = "okay";
+
+               width-mm = <156>;
+               height-mm = <92>;
+               data-mapping = "vesa-24";
+
+               panel-timing {
+                       clock-frequency = <54000000>;
+                       hactive = <1024>;
+                       vactive = <600>;
+                       hfront-porch = <150>;
+                       hback-porch = <150>;
+                       hsync-len = <21>;
+                       vfront-porch = <24>;
+                       vback-porch = <24>;
+                       vsync-len = <21>;
+               };
+
+               port {
+                       lvds_panel_in: endpoint {
+                               remote-endpoint = <&lvds_out0>;
+                       };
+               };
+       };
+
+       panel_lvds_backlight: panel-lvds-backlight {
+               compatible = "gpio-backlight";
+               gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
+               default-on;
+               default-brightness-level = <0>;
+               status = "okay";
+       };
+
        reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
@@ -63,6 +100,15 @@ &i2c2 {
        i2c-scl-falling-time-ns = <13>;
        clock-frequency = <400000>;
        status = "okay";
+
+       ili2511: ili2511@41 {
+               compatible = "ilitek,ili251x";
+               reg = <0x41>;
+               interrupt-parent = <&gpioi>;
+               interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+               reset-gpios = <&gpiog 14 GPIO_ACTIVE_LOW>;
+               status = "okay";
+       };
 };
 
 &i2c8 {
@@ -75,6 +121,39 @@ &i2c8 {
        status = "disabled";
 };
 
+&ltdc {
+       status = "okay";
+
+       port {
+               ltdc_ep0_out: endpoint {
+                       remote-endpoint = <&lvds_in>;
+               };
+       };
+};
+
+&lvds {
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       reg = <0>;
+                       lvds_in: endpoint {
+                               remote-endpoint = <&ltdc_ep0_out>;
+                       };
+               };
+
+               port@1 {
+                       reg = <1>;
+                       lvds_out0: endpoint {
+                               remote-endpoint = <&lvds_panel_in>;
+                       };
+               };
+       };
+};
+
 &sdmmc1 {
        pinctrl-names = "default", "opendrain", "sleep";
        pinctrl-0 = <&sdmmc1_b4_pins_a>;
-- 
2.25.1

Reply via email to