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

title: Lontium LT9611(UXC) 2 Port MIPI to HDMI Bridge

maintainers:
  - Vinod Koul <vkoul@kernel.org>

description: |
  The LT9611 and LT9611UXC are bridge devices which convert DSI to HDMI

properties:
  compatible:
    enum:
      - lontium,lt9611
      - lontium,lt9611uxc

  reg:
    maxItems: 1

  "#sound-dai-cells":
    const: 1

  interrupts:
    maxItems: 1

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

  vdd-supply:
    description: Regulator for 1.8V MIPI phy power.

  vcc-supply:
    description: Regulator for 3.3V IO power.

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

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

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

      port@2:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          HDMI port for HDMI output

    required:
      - port@0
      - port@2

required:
  - compatible
  - reg
  - interrupts
  - vdd-supply
  - vcc-supply
  - ports

additionalProperties: false

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

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

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

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

        vdd-supply = <&lt9611_1v8>;
        vcc-supply = <&lt9611_3v3>;

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

          port@0 {
            reg = <0>;
            lt9611_a: endpoint {
              remote-endpoint = <&dsi0_out>;
            };
          };

          port@1 {
            reg = <1>;
            lt9611_b: endpoint {
              remote-endpoint = <&dsi1_out>;
            };
          };

          port@2 {
            reg = <2>;
            lt9611_out: endpoint {
              remote-endpoint = <&hdmi_con>;
            };
          };
        };
      };
    };

...
