1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/i2c/ovti,ov8858.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: OmniVision OV8858 Image Sensor
8
9maintainers:
10  - Jacopo Mondi <jacopo.mondi@ideasonboard.com>
11  - Nicholas Roth <nicholas@rothemail.net>
12
13description: |
14  The OmniVision OV8858 is a color CMOS 8 Megapixels (3264x2448) image sensor
15  controlled through an I2C-compatible SCCB bus. The sensor transmits images
16  on a MIPI CSI-2 output interface with up to 4 data lanes.
17
18properties:
19  compatible:
20    const: ovti,ov8858
21
22  reg:
23    maxItems: 1
24
25  clocks:
26    maxItems: 1
27    description: XVCLK external clock
28
29  clock-names:
30    const: xvclk
31
32  dvdd-supply:
33    description: Digital Domain Power Supply
34
35  avdd-supply:
36    description: Analog Domain Power Supply
37
38  dovdd-supply:
39    description: I/O Domain Power Supply
40
41  powerdown-gpios:
42    description: PWDNB powerdown GPIO (active low)
43
44  reset-gpios:
45    maxItems: 1
46    description: XSHUTDN reset GPIO (active low)
47
48  port:
49    description: MIPI CSI-2 transmitter port
50    $ref: /schemas/graph.yaml#/$defs/port-base
51    additionalProperties: false
52
53    properties:
54      endpoint:
55        $ref: /schemas/media/video-interfaces.yaml#
56        unevaluatedProperties: false
57
58        properties:
59          data-lanes:
60            minItems: 1
61            maxItems: 4
62
63        required:
64          - data-lanes
65
66required:
67  - compatible
68  - reg
69  - clocks
70  - port
71
72additionalProperties: false
73
74examples:
75  - |
76    #include <dt-bindings/pinctrl/rockchip.h>
77    #include <dt-bindings/clock/rk3399-cru.h>
78    #include <dt-bindings/gpio/gpio.h>
79
80    i2c {
81        #address-cells = <1>;
82        #size-cells = <0>;
83
84        ov8858: camera@36 {
85            compatible = "ovti,ov8858";
86            reg = <0x36>;
87
88            clocks = <&cru SCLK_CIF_OUT>;
89            clock-names = "xvclk";
90            assigned-clocks = <&cru SCLK_CIF_OUT>;
91            assigned-clock-rates = <24000000>;
92
93            dovdd-supply = <&vcc1v8_dvp>;
94
95            reset-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>;
96            powerdown-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_LOW>;
97
98            port {
99                ucam_out: endpoint {
100                    remote-endpoint = <&mipi_in_ucam>;
101                    data-lanes = <1 2 3 4>;
102                };
103            };
104        };
105    };
106...
107