GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / media / i2c / ovti,ov772x.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/media/i2c/ovti,ov772x.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Omnivision OV7720/OV7725 CMOS sensor
8
9 maintainers:
10   - Jacopo Mondi <jacopo@jmondi.org>
11
12 description: |
13   The Omnivision OV7720/OV7725 sensor supports multiple resolutions output,
14   such as VGA, QVGA, and any size scaling down from CIF to 40x30. It also can
15   support the YUV422, RGB565/555/444, GRB422 or raw RGB output formats.
16
17 properties:
18   compatible:
19     enum:
20       - ovti,ov7720
21       - ovti,ov7725
22
23   reg:
24     maxItems: 1
25
26   clocks:
27     maxItems: 1
28
29   reset-gpios:
30     description: |
31       Reference to the GPIO connected to the RSTB pin which is active low.
32     maxItems: 1
33
34   powerdown-gpios:
35     description: |
36       Reference to the GPIO connected to the PWDN pin which is active high.
37     maxItems: 1
38
39   port:
40     $ref: /schemas/graph.yaml#/$defs/port-base
41     description: |
42       Video output port.
43
44     properties:
45       endpoint:
46         $ref: /schemas/media/video-interfaces.yaml#
47         unevaluatedProperties: false
48
49         properties:
50           bus-type:
51             enum: [5, 6]
52
53           bus-width:
54             enum: [8, 10]
55             default: 10
56
57           data-shift:
58             enum: [0, 2]
59             default: 0
60
61           hsync-active:
62             enum: [0, 1]
63             default: 1
64
65           vsync-active:
66             enum: [0, 1]
67             default: 1
68
69           pclk-sample:
70             enum: [0, 1]
71             default: 1
72
73         allOf:
74           - if:
75               properties:
76                 bus-type:
77                   const: 6
78             then:
79               properties:
80                 hsync-active: false
81                 vsync-active: false
82
83           - if:
84               properties:
85                 bus-width:
86                   const: 10
87             then:
88               properties:
89                 data-shift:
90                   const: 0
91
92         required:
93           - bus-type
94
95     additionalProperties: false
96
97 required:
98   - compatible
99   - reg
100   - clocks
101   - port
102
103 additionalProperties: false
104
105 examples:
106   - |
107     #include <dt-bindings/gpio/gpio.h>
108
109     i2c0 {
110         #address-cells = <1>;
111         #size-cells = <0>;
112         ov772x: camera@21 {
113             compatible = "ovti,ov7725";
114             reg = <0x21>;
115             reset-gpios = <&axi_gpio_0 0 GPIO_ACTIVE_LOW>;
116             powerdown-gpios = <&axi_gpio_0 1 GPIO_ACTIVE_LOW>;
117             clocks = <&xclk>;
118
119             port {
120                 ov772x_0: endpoint {
121                     bus-type = <5>;
122                     vsync-active = <0>;
123                     hsync-active = <0>;
124                     pclk-sample = <0>;
125                     bus-width = <8>;
126                     data-shift = <0>;
127                     remote-endpoint = <&vcap1_in0>;
128                 };
129             };
130         };
131     };
132
133 ...