Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / media / i2c / ovti,ov8858.yaml
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
7 title: OmniVision OV8858 Image Sensor
8
9 maintainers:
10   - Jacopo Mondi <jacopo.mondi@ideasonboard.com>
11   - Nicholas Roth <nicholas@rothemail.net>
12
13 description: |
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
18 properties:
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
66 required:
67   - compatible
68   - reg
69   - clocks
70   - port
71
72 additionalProperties: false
73
74 examples:
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 ...