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

title: Omnivision OV7720/OV7725 CMOS sensor

maintainers:
  - Jacopo Mondi <jacopo@jmondi.org>

description: |
  The Omnivision OV7720/OV7725 sensor supports multiple resolutions output,
  such as VGA, QVGA, and any size scaling down from CIF to 40x30. It also can
  support the YUV422, RGB565/555/444, GRB422 or raw RGB output formats.

properties:
  compatible:
    enum:
      - ovti,ov7720
      - ovti,ov7725

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  reset-gpios:
    description: |
      Reference to the GPIO connected to the RSTB pin which is active low.
    maxItems: 1

  powerdown-gpios:
    description: |
      Reference to the GPIO connected to the PWDN pin which is active high.
    maxItems: 1

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    description: |
      Video output port.

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

        properties:
          bus-type:
            enum: [5, 6]

          bus-width:
            enum: [8, 10]
            default: 10

          data-shift:
            enum: [0, 2]
            default: 0

          hsync-active:
            enum: [0, 1]
            default: 1

          vsync-active:
            enum: [0, 1]
            default: 1

          pclk-sample:
            enum: [0, 1]
            default: 1

        allOf:
          - if:
              properties:
                bus-type:
                  const: 6
            then:
              properties:
                hsync-active: false
                vsync-active: false

          - if:
              properties:
                bus-width:
                  const: 10
            then:
              properties:
                data-shift:
                  const: 0

        required:
          - bus-type

    additionalProperties: false

required:
  - compatible
  - reg
  - clocks
  - port

additionalProperties: false

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

    i2c0 {
        #address-cells = <1>;
        #size-cells = <0>;
        ov772x: camera@21 {
            compatible = "ovti,ov7725";
            reg = <0x21>;
            reset-gpios = <&axi_gpio_0 0 GPIO_ACTIVE_LOW>;
            powerdown-gpios = <&axi_gpio_0 1 GPIO_ACTIVE_LOW>;
            clocks = <&xclk>;

            port {
                ov772x_0: endpoint {
                    bus-type = <5>;
                    vsync-active = <0>;
                    hsync-active = <0>;
                    pclk-sample = <0>;
                    bus-width = <8>;
                    data-shift = <0>;
                    remote-endpoint = <&vcap1_in0>;
                };
            };
        };
    };

...
