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

title: Omnivision OV4689 CMOS

maintainers:
  - Mikhail Rudenko <mike.rudenko@gmail.com>

description: |
  The Omnivision OV4689 is a high performance, 1/3-inch, 4 megapixel
  image sensor. Ihis chip supports high frame rate speeds up to 90 fps
  at 2688x1520 resolution. It is programmable through an I2C
  interface, and sensor output is sent via 1/2/4 lane MIPI CSI-2
  connection.

allOf:
  - $ref: /schemas/media/video-interface-devices.yaml#

properties:
  compatible:
    const: ovti,ov4689

  reg:
    maxItems: 1

  clocks:
    description:
      External clock (XVCLK) for the sensor, 6-64 MHz
    maxItems: 1

  dovdd-supply:
    description:
      Digital I/O voltage supply, 1.7-3.0 V

  avdd-supply:
    description:
      Analog voltage supply, 2.6-3.0 V

  dvdd-supply:
    description:
      Digital core voltage supply, 1.1-1.3 V

  powerdown-gpios:
    description:
      GPIO connected to the powerdown pin (active low)

  reset-gpios:
    maxItems: 1
    description:
      GPIO connected to the reset pin (active low)

  orientation: true

  rotation: true

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false
    description:
      Output port node, single endpoint describing the CSI-2 transmitter

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

        properties:
          data-lanes:
            oneOf:
              - items:
                  - const: 1
                  - const: 2
                  - const: 3
                  - const: 4
              - items:
                  - const: 1
                  - const: 2
              - items:
                  - const: 1
          link-frequencies: true

        required:
          - data-lanes
          - link-frequencies

required:
  - compatible
  - reg
  - clocks
  - dovdd-supply
  - avdd-supply
  - dvdd-supply
  - port

additionalProperties: false

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

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

        ov4689: camera@36 {
            compatible = "ovti,ov4689";
            reg = <0x36>;

            clocks = <&ov4689_clk>;

            avdd-supply = <&ov4689_avdd>;
            dovdd-supply = <&ov4689_dovdd>;
            dvdd-supply = <&ov4689_dvdd>;

            powerdown-gpios = <&pio 107 GPIO_ACTIVE_LOW>;
            reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>;

            orientation = <2>;
            rotation = <0>;

            port {
                wcam_out: endpoint {
                    remote-endpoint = <&mipi_in_wcam>;
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <504000000>;
                };
            };
        };
    };

...
