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

title: MIPI DSI to eDP Video Format Converter Device Tree Bindings

maintainers:
  - Nicolas Boichat <drinkcat@chromium.org>
  - Enric Balletbo i Serra <enric.balletbo@collabora.com>

description: |
  The PS8640 is a low power MIPI-to-eDP video format converter supporting
  mobile devices with embedded panel resolutions up to 2048 x 1536. The
  device accepts a single channel of MIPI DSI v1.1, with up to four lanes
  plus clock, at a transmission rate up to 1.5Gbit/sec per lane. The
  device outputs eDP v1.4, one or two lanes, at a link rate of up to
  3.24Gbit/sec per lane.

properties:
  compatible:
    const: parade,ps8640

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

  powerdown-gpios:
    maxItems: 1
    description: GPIO connected to active low powerdown.

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

  vdd12-supply:
    description: Regulator for 1.2V digital core power.

  vdd33-supply:
    description: Regulator for 3.3V digital core power.

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

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

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

    required:
      - port@0

required:
  - compatible
  - reg
  - powerdown-gpios
  - reset-gpios
  - vdd12-supply
  - vdd33-supply
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c0 {
        #address-cells = <1>;
        #size-cells = <0>;

        ps8640: edp-bridge@18 {
            compatible = "parade,ps8640";
            reg = <0x18>;
            powerdown-gpios = <&pio 116 GPIO_ACTIVE_LOW>;
            reset-gpios = <&pio 115 GPIO_ACTIVE_LOW>;
            vdd12-supply = <&ps8640_fixed_1v2>;
            vdd33-supply = <&mt6397_vgp2_reg>;

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

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

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

