GNU Linux-libre 6.1.90-gnu
[releases.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 CMOS Sensor
9
10 maintainers:
11   - Tommaso Merciai <tommaso.merciai@amarulasolutions.com>
12
13 description: |
14   The Omnivision OV5693 is a high performance, 1/4-inch, 5 megapixel, CMOS
15   image sensor that delivers 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 is controlled via I2C and two-wire Serial Camera Control Bus (SCCB).
20   The sensor output is available via CSI-2 serial data output (up to 2-lane).
21
22 allOf:
23   - $ref: /schemas/media/video-interface-devices.yaml#
24
25 properties:
26   compatible:
27     const: ovti,ov5693
28
29   reg:
30     maxItems: 1
31
32   clocks:
33     description:
34       System input clock (aka XVCLK). From 6 to 27 MHz.
35     maxItems: 1
36
37   dovdd-supply:
38     description:
39       Digital I/O voltage supply, 1.8V.
40
41   avdd-supply:
42     description:
43       Analog voltage supply, 2.8V.
44
45   dvdd-supply:
46     description:
47       Digital core voltage supply, 1.2V.
48
49   reset-gpios:
50     description:
51       The phandle and specifier for the GPIO that controls sensor reset.
52       This corresponds to the hardware pin XSHUTDN which is physically
53       active low.
54     maxItems: 1
55
56   port:
57     description: MIPI CSI-2 transmitter port
58     $ref: /schemas/graph.yaml#/$defs/port-base
59     additionalProperties: false
60
61     properties:
62       endpoint:
63         $ref: /schemas/media/video-interfaces.yaml#
64         unevaluatedProperties: false
65
66         properties:
67           link-frequencies: true
68
69           data-lanes:
70             minItems: 1
71             maxItems: 2
72
73         required:
74           - data-lanes
75           - link-frequencies
76
77 required:
78   - compatible
79   - reg
80   - clocks
81   - port
82
83 unevaluatedProperties: false
84
85 examples:
86   - |
87     #include <dt-bindings/clock/px30-cru.h>
88     #include <dt-bindings/gpio/gpio.h>
89     #include <dt-bindings/pinctrl/rockchip.h>
90
91     i2c {
92         #address-cells = <1>;
93         #size-cells = <0>;
94
95         ov5693: camera@36 {
96             compatible = "ovti,ov5693";
97             reg = <0x36>;
98
99             reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
100             pinctrl-names = "default";
101             pinctrl-0 = <&cif_clkout_m0>;
102
103             clocks = <&cru SCLK_CIF_OUT>;
104             assigned-clocks = <&cru SCLK_CIF_OUT>;
105             assigned-clock-rates = <19200000>;
106
107             avdd-supply = <&vcc_1v8>;
108             dvdd-supply = <&vcc_1v2>;
109             dovdd-supply = <&vcc_2v8>;
110
111             rotation = <90>;
112             orientation = <0>;
113
114             port {
115                 ucam_out: endpoint {
116                     remote-endpoint = <&mipi_in_ucam>;
117                     data-lanes = <1 2>;
118                     link-frequencies = /bits/ 64 <450000000>;
119                 };
120             };
121         };
122     };
123
124 ...