# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2019 Analogix Semiconductor, Inc.
%YAML 1.2
---
$id: "http://devicetree.org/schemas/display/bridge/analogix,anx7625.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Analogix ANX7625 SlimPort (4K Mobile HD Transmitter)

maintainers:
  - Xin Ji <xji@analogixsemi.com>

description: |
  The ANX7625 is an ultra-low power 4K Mobile HD Transmitter
  designed for portable devices.

properties:
  compatible:
    items:
      - const: analogix,anx7625

  reg:
    maxItems: 1

  interrupts:
    description: used for interrupt pin B8.
    maxItems: 1

  enable-gpios:
    description: used for power on chip control, POWER_EN pin D2.
    maxItems: 1

  reset-gpios:
    description: used for reset chip control, RESET_N pin B7.
    maxItems: 1

  vdd10-supply:
    description: Regulator that provides the supply 1.0V power.

  vdd18-supply:
    description: Regulator that provides the supply 1.8V power.

  vdd33-supply:
    description: Regulator that provides the supply 3.3V power.

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

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

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for panel or connector.

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - vdd10-supply
  - vdd18-supply
  - vdd33-supply
  - ports

additionalProperties: false

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

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

        encoder@58 {
            compatible = "analogix,anx7625";
            reg = <0x58>;
            enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
            vdd10-supply = <&pp1000_mipibrdg>;
            vdd18-supply = <&pp1800_mipibrdg>;
            vdd33-supply = <&pp3300_mipibrdg>;

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

                mipi2dp_bridge_in: port@0 {
                    reg = <0>;
                    anx7625_in: endpoint {
                        remote-endpoint = <&mipi_dsi>;
                    };
                };

                mipi2dp_bridge_out: port@1 {
                    reg = <1>;
                    anx7625_out: endpoint {
                        remote-endpoint = <&panel_in>;
                    };
                };
            };
        };
    };
