# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (c) 2022 STMicroelectronics SA.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/st,st-vgxy61.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics VGxy61 HDR Global Shutter Sensor Family

maintainers:
  - Benjamin Mugnier <benjamin.mugnier@foss.st.com>
  - Sylvain Petinot <sylvain.petinot@foss.st.com>

description: |-
  STMicroelectronics VGxy61 family has a CSI-2 output port. CSI-2 output is a
  quad lanes 800Mbps per lane.
  Supported formats are RAW8, RAW10, RAW12, RAW14 and RAW16.
  Following part number are supported
  - VG5661 and VG6661 are 1.6 Mpx (1464 x 1104) monochrome and color sensors.
  Maximum frame rate is 75 fps.
  - VG5761 and VG6761 are 2.3 Mpx (1944 x 1204) monochrome and color sensors.
  Maximum frame rate is 60 fps.

properties:
  compatible:
    const: st,st-vgxy61

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  VCORE-supply:
    description:
      Sensor digital core supply. Must be 1.2 volts.

  VDDIO-supply:
    description:
      Sensor digital IO supply. Must be 1.8 volts.

  VANA-supply:
    description:
      Sensor analog supply. Must be 2.8 volts.

  reset-gpios:
    description:
      Reference to the GPIO connected to the reset pin, if any.
      This is an active low signal to the vgxy61.

  st,strobe-gpios-polarity:
    description:
      Invert polarity of illuminator's lights strobe GPIOs.
      These GPIOs directly drive the illuminator LEDs.
    type: boolean

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

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

        properties:
          data-lanes:
            description:
              CSI lanes to use
            items:
              - const: 1
              - const: 2
              - const: 3
              - const: 4

          remote-endpoint: true

        required:
          - data-lanes

required:
  - compatible
  - clocks
  - VCORE-supply
  - VDDIO-supply
  - VANA-supply
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        vgxy61: csi2tx@10 {
            compatible = "st,st-vgxy61";
            reg = <0x10>;
            clocks = <&clk_ext_camera>;
            VCORE-supply = <&v1v2>;
            VDDIO-supply = <&v1v8>;
            VANA-supply = <&v2v8>;
            reset-gpios = <&mfxgpio 18 GPIO_ACTIVE_LOW>;
            port {
                ep0: endpoint {
                    data-lanes = <1 2 3 4>;
                    remote-endpoint = <&mipi_csi2_out>;
                };
            };
        };
    };
...
