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

title: OmniVision OV8858 Image Sensor

maintainers:
  - Jacopo Mondi <jacopo.mondi@ideasonboard.com>
  - Nicholas Roth <nicholas@rothemail.net>

description: |
  The OmniVision OV8858 is a color CMOS 8 Megapixels (3264x2448) image sensor
  controlled through an I2C-compatible SCCB bus. The sensor transmits images
  on a MIPI CSI-2 output interface with up to 4 data lanes.

properties:
  compatible:
    const: ovti,ov8858

  reg:
    maxItems: 1

  clocks:
    maxItems: 1
    description: XVCLK external clock

  clock-names:
    const: xvclk

  dvdd-supply:
    description: Digital Domain Power Supply

  avdd-supply:
    description: Analog Domain Power Supply

  dovdd-supply:
    description: I/O Domain Power Supply

  powerdown-gpios:
    description: PWDNB powerdown GPIO (active low)

  reset-gpios:
    maxItems: 1
    description: XSHUTDN reset GPIO (active low)

  port:
    description: MIPI CSI-2 transmitter port
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

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

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

        required:
          - data-lanes

required:
  - compatible
  - reg
  - clocks
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/pinctrl/rockchip.h>
    #include <dt-bindings/clock/rk3399-cru.h>
    #include <dt-bindings/gpio/gpio.h>

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

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

            clocks = <&cru SCLK_CIF_OUT>;
            clock-names = "xvclk";
            assigned-clocks = <&cru SCLK_CIF_OUT>;
            assigned-clock-rates = <24000000>;

            dovdd-supply = <&vcc1v8_dvp>;

            reset-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>;
            powerdown-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_LOW>;

            port {
                ucam_out: endpoint {
                    remote-endpoint = <&mipi_in_ucam>;
                    data-lanes = <1 2 3 4>;
                };
            };
        };
    };
...
