# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/isil,isl79987.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Intersil ISL79987 Analog to MIPI CSI-2 decoder

maintainers:
  - Michael Tretter <m.tretter@pengutronix.de>
  - Marek Vasut <marex@denx.de>

description:
  The Intersil ISL79987 is an analog to MIPI CSI-2 decoder which is capable of
  receiving up to four analog stream and multiplexing them into up to four MIPI
  CSI-2 virtual channels, using one MIPI clock lane and 1/2 data lanes.

properties:
  compatible:
    enum:
      - isil,isl79987

  reg:
    maxItems: 1

  reset-gpios:
    maxItems: 1
    description:
      A GPIO spec for the RSTB pin (active high)

  powerdown-gpios:
    maxItems: 1
    description:
      A GPIO spec for the Power Down pin (active high)

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: Output port

        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                minItems: 1
                maxItems: 2

            required:
              - data-lanes

    patternProperties:
      "^port@[1-4]$":
        $ref: /schemas/graph.yaml#/properties/port
        description: Input ports

    required:
      - port@0

additionalProperties: false

required:
  - compatible
  - reg
  - ports

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

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

      isl7998x_mipi@44 {
        compatible = "isil,isl79987";
        reg = <0x44>;
        powerdown-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
        reset-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;

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

          port@0 {
            reg = <0>;
            isl79987_out: endpoint {
              remote-endpoint = <&mipi_csi2_in>;
              data-lanes = <1 2>;
            };
          };

          port@1 {
            reg = <1>;
            endpoint {
              remote-endpoint = <&camera_0>;
            };
          };

          port@2 {
            reg = <2>;
            endpoint {
              remote-endpoint = <&camera_1>;
            };
          };
        };
      };
    };
