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

title: Analogix ANX7814 SlimPort (Full-HD Transmitter)

maintainers:
  - Enric Balletbo i Serra <enric.balletbo@collabora.com>

properties:
  compatible:
    enum:
      - analogix,anx7808
      - analogix,anx7812
      - analogix,anx7814
      - analogix,anx7818

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

  interrupts:
    maxItems: 1
    description: Should contain the INTP interrupt.

  hpd-gpios:
    deprecated: true
    maxItems: 1
    description: Which GPIO to use for hpd.

  pd-gpios:
    maxItems: 1
    description: Which GPIO to use for power down.

  reset-gpios:
    maxItems: 1
    description: Which GPIO to use for reset.

  dvdd10-supply:
    description: Regulator for 1.0V digital core power.

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: Video port for HDMI input.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for SlimPort, DisplayPort, eDP or MyDP output.

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - ports

additionalProperties: false

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

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

        anx7814: bridge@38 {
            compatible = "analogix,anx7814";
            reg = <0x38>;
            interrupt-parent = <&gpio0>;
            interrupts = <99 IRQ_TYPE_LEVEL_LOW>;   /* INTP */
            pd-gpios = <&pio 33 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&pio 98 GPIO_ACTIVE_HIGH>;

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

                port@0 {
                    reg = <0>;
                    anx7814_in: endpoint {
                        remote-endpoint = <&hdmi0_out>;
                    };
                };

                port@1 {
                    reg = <1>;
                    anx7814_out: endpoint {
                        remote-endpoint = <&edp_out>;
                    };
                };
            };
        };
    };

...
