# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/anx6345.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analogix ANX6345 eDP Transmitter Device Tree Bindings

maintainers:
  - Torsten Duwe <duwe@lst.de>

description: |
  The ANX6345 is an ultra-low power Full-HD eDP transmitter designed for
  portable devices.

properties:
  compatible:
    const: analogix,anx6345

  reg:
    maxItems: 1
    description: base I2C address of the device

  reset-gpios:
    maxItems: 1
    description: GPIO connected to active low reset

  dvdd12-supply:
    maxItems: 1
    description: Regulator for 1.2V digital core power.

  dvdd25-supply:
    maxItems: 1
    description: Regulator for 2.5V digital core power.

  ports:
    type: object

    properties:
      '#address-cells':
        const: 1

      '#size-cells':
        const: 0

      port@0:
        type: object
        description: |
          Video port for LVTTL input

      port@1:
        type: object
        description: |
          Video port for eDP output (panel or connector).
          May be omitted if EDID works reliably.

    required:
      - port@0

    additionalProperties: false

required:
  - compatible
  - reg
  - reset-gpios
  - dvdd12-supply
  - dvdd25-supply
  - ports

additionalProperties: false

examples:
  - |
    i2c0 {
      #address-cells = <1>;
      #size-cells = <0>;

      anx6345: anx6345@38 {
        compatible = "analogix,anx6345";
        reg = <0x38>;
        reset-gpios = <&pio42 1 /* GPIO_ACTIVE_LOW */>;
        dvdd25-supply = <&reg_dldo2>;
        dvdd12-supply = <&reg_fldo1>;

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

          anx6345_in: port@0 {
            reg = <0>;
            anx6345_in_tcon0: endpoint {
              remote-endpoint = <&tcon0_out_anx6345>;
            };
          };

          anx6345_out: port@1 {
            reg = <1>;
            anx6345_out_panel: endpoint {
              remote-endpoint = <&panel_in_edp>;
            };
          };
        };
      };
    };
