Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / media / i2c / ovti,ov5693.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (c) 2022 Amarulasolutions
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/media/i2c/ovti,ov5693.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Omnivision OV5693/OV5695 CMOS Sensors
9
10 maintainers:
11   - Tommaso Merciai <tomm.merciai@gmail.com>
12
13 description: |
14   The Omnivision OV5693/OV5695 are high performance, 1/4-inch, 5 megapixel, CMOS
15   image sensors that deliver 2592x1944 at 30fps. It provides full-frame,
16   sub-sampled, and windowed 10-bit MIPI images in various formats via the
17   Serial Camera Control Bus (SCCB) interface.
18
19   OV5693/OV5695 are controlled via I2C and two-wire Serial Camera Control Bus
20   (SCCB). The sensor output is available via CSI-2 serial data output (up to
21   2-lane).
22
23 allOf:
24   - $ref: /schemas/media/video-interface-devices.yaml#
25   - if:
26       properties:
27         compatible:
28           contains:
29             const: ovti,ov5693
30     then:
31       properties:
32         port:
33           properties:
34             endpoint:
35               required:
36                 - link-frequencies
37
38 properties:
39   compatible:
40     enum:
41       - ovti,ov5693
42       - ovti,ov5695
43
44   reg:
45     maxItems: 1
46
47   clocks:
48     description:
49       System input clock (aka XVCLK). From 6 to 27 MHz.
50     maxItems: 1
51
52   clock-names:
53     const: xvclk
54
55   dovdd-supply:
56     description:
57       Digital I/O voltage supply, 1.8V.
58
59   avdd-supply:
60     description:
61       Analog voltage supply, 2.8V.
62
63   dvdd-supply:
64     description:
65       Digital core voltage supply, 1.2V.
66
67   reset-gpios:
68     description:
69       The phandle and specifier for the GPIO that controls sensor reset.
70       This corresponds to the hardware pin XSHUTDN which is physically
71       active low.
72     maxItems: 1
73
74   port:
75     description: MIPI CSI-2 transmitter port
76     $ref: /schemas/graph.yaml#/$defs/port-base
77     additionalProperties: false
78
79     properties:
80       endpoint:
81         $ref: /schemas/media/video-interfaces.yaml#
82         unevaluatedProperties: false
83
84         properties:
85           link-frequencies: true
86
87           data-lanes:
88             minItems: 1
89             maxItems: 2
90
91         required:
92           - data-lanes
93
94 required:
95   - compatible
96   - reg
97   - clocks
98   - port
99
100 unevaluatedProperties: false
101
102 examples:
103   - |
104     #include <dt-bindings/clock/px30-cru.h>
105     #include <dt-bindings/gpio/gpio.h>
106     #include <dt-bindings/pinctrl/rockchip.h>
107
108     i2c {
109         #address-cells = <1>;
110         #size-cells = <0>;
111
112         ov5693: camera@36 {
113             compatible = "ovti,ov5693";
114             reg = <0x36>;
115
116             reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
117             pinctrl-names = "default";
118             pinctrl-0 = <&cif_clkout_m0>;
119
120             clocks = <&cru SCLK_CIF_OUT>;
121             assigned-clocks = <&cru SCLK_CIF_OUT>;
122             assigned-clock-rates = <19200000>;
123
124             avdd-supply = <&vcc_1v8>;
125             dvdd-supply = <&vcc_1v2>;
126             dovdd-supply = <&vcc_2v8>;
127
128             rotation = <90>;
129             orientation = <0>;
130
131             port {
132                 ucam_out: endpoint {
133                     remote-endpoint = <&mipi_in_ucam>;
134                     data-lanes = <1 2>;
135                     link-frequencies = /bits/ 64 <450000000>;
136                 };
137             };
138         };
139     };
140
141 ...