# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/st,stm32-ltdc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics STM32 lcd-tft display controller

maintainers:
  - Philippe Cornu <philippe.cornu@foss.st.com>
  - Yannick Fertre <yannick.fertre@foss.st.com>

properties:
  compatible:
    const: st,stm32-ltdc

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: events interrupt line.
      - description: errors interrupt line.
    minItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: lcd

  resets:
    maxItems: 1

  port:
    $ref: /schemas/graph.yaml#/properties/port
    description: |
      Video port for DPI RGB output.
      ltdc has one video port with up to 2 endpoints:
      - for external dpi rgb panel or bridge, using gpios.
      - for internal dpi input of the MIPI DSI host controller.
      Note: These 2 endpoints cannot be activated simultaneously.

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - resets
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/stm32mp1-clks.h>
    #include <dt-bindings/reset/stm32mp1-resets.h>
    ltdc: display-controller@40016800 {
        compatible = "st,stm32-ltdc";
        reg = <0x5a001000 0x400>;
        interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&rcc LTDC_PX>;
        clock-names = "lcd";
        resets = <&rcc LTDC_R>;

        port {
             ltdc_out_dsi: endpoint {
                     remote-endpoint = <&dsi_in>;
             };
        };
    };

...

