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

title: Lontium LT9211 DSI/LVDS/DPI to DSI/LVDS/DPI bridge.

maintainers:
  - Marek Vasut <marex@denx.de>

description: |
  The LT9211 are bridge devices which convert Single/Dual-Link DSI/LVDS
  or Single DPI to Single/Dual-Link DSI/LVDS or Single DPI.

properties:
  compatible:
    enum:
      - lontium,lt9211

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1
    description: GPIO connected to active high RESET pin.

  vccio-supply:
    description: Regulator for 1.8V IO power.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Primary MIPI DSI port-1 for MIPI input or
          LVDS port-1 for LVDS input or DPI input.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Additional MIPI port-2 for MIPI input or LVDS port-2
          for LVDS input. Used in combination with primary
          port-1 to drive higher resolution displays

      port@2:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Primary MIPI DSI port-1 for MIPI output or
          LVDS port-1 for LVDS output or DPI output.

      port@3:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Additional MIPI port-2 for MIPI output or LVDS port-2
          for LVDS output. Used in combination with primary
          port-1 to drive higher resolution displays.

    required:
      - port@0
      - port@2

required:
  - compatible
  - reg
  - vccio-supply
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      hdmi-bridge@3b {
        compatible = "lontium,lt9211";
        reg = <0x3b>;

        reset-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>;
        interrupts-extended = <&tlmm 84 IRQ_TYPE_EDGE_FALLING>;

        vccio-supply = <&lt9211_1v8>;

        ports {
          #address-cells = <1>;
          #size-cells = <0>;

          port@0 {
            reg = <0>;

            endpoint {
              remote-endpoint = <&dsi0_out>;
            };
          };

          port@2 {
            reg = <2>;

            endpoint {
              remote-endpoint = <&panel_in_lvds>;
            };
          };
        };
      };
    };

...