GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / media / i2c / ovti,ov02a10.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright (c) 2020 MediaTek Inc.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/media/i2c/ovti,ov02a10.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Omnivision OV02A10 CMOS Sensor Device Tree Bindings
9
10 maintainers:
11   - Dongchun Zhu <dongchun.zhu@mediatek.com>
12
13 description: |-
14   The Omnivision OV02A10 is a low-cost, high performance, 1/5-inch, 2 megapixel
15   image sensor, which is the latest production derived from Omnivision's CMOS
16   image sensor technology. Ihis chip supports high frame rate speeds up to 30fps
17   @ 1600x1200 (UXGA) resolution transferred over a 1-lane MIPI interface. The
18   sensor output is available via CSI-2 serial data output.
19
20 allOf:
21   - $ref: /schemas/media/video-interface-devices.yaml#
22
23 properties:
24   compatible:
25     const: ovti,ov02a10
26
27   reg:
28     maxItems: 1
29
30   clocks:
31     maxItems: 1
32
33   clock-names:
34     description:
35       External clock for the sensor.
36     items:
37       - const: eclk
38
39   clock-frequency:
40     description:
41       Frequency of the eclk clock in Hz.
42
43   dovdd-supply:
44     description:
45       Definition of the regulator used as Digital I/O voltage supply.
46
47   avdd-supply:
48     description:
49       Definition of the regulator used as Analog voltage supply.
50
51   dvdd-supply:
52     description:
53       Definition of the regulator used as Digital core voltage supply.
54
55   powerdown-gpios:
56     description:
57       Must be the device tree identifier of the GPIO connected to the
58       PD_PAD pin. This pin is used to place the OV02A10 into standby mode
59       or shutdown mode. As the line needs to be high for the powerdown mode
60       to be active, it should be marked GPIO_ACTIVE_HIGH.
61     maxItems: 1
62
63   reset-gpios:
64     description:
65       Must be the device tree identifier of the GPIO connected to the
66       RST_PD pin. If specified, it will be asserted during driver probe.
67       As the line needs to be low for the reset to be active, it should be
68       marked GPIO_ACTIVE_LOW.
69     maxItems: 1
70
71   rotation:
72     enum:
73       - 0    # Sensor Mounted Upright
74       - 180  # Sensor Mounted Upside Down
75     default: 0
76
77   port:
78     $ref: /schemas/graph.yaml#/$defs/port-base
79     additionalProperties: false
80     description:
81       Output port node, single endpoint describing the CSI-2 transmitter.
82
83     properties:
84       endpoint:
85         $ref: /schemas/media/video-interfaces.yaml#
86         unevaluatedProperties: false
87
88         properties:
89           link-frequencies: true
90           ovti,mipi-clock-voltage:
91             $ref: "/schemas/types.yaml#/definitions/uint32"
92             description:
93               Definition of MIPI clock voltage unit. This entry corresponds to
94               the link speed defined by the 'link-frequencies' property.
95               If present, the value shall be in the range of 0-4.
96             default: 4
97
98         required:
99           - link-frequencies
100
101     required:
102       - endpoint
103
104 required:
105   - compatible
106   - reg
107   - clocks
108   - clock-names
109   - clock-frequency
110   - dovdd-supply
111   - avdd-supply
112   - dvdd-supply
113   - powerdown-gpios
114   - reset-gpios
115   - port
116
117 additionalProperties: false
118
119 examples:
120   - |
121     #include <dt-bindings/gpio/gpio.h>
122
123     i2c {
124         #address-cells = <1>;
125         #size-cells = <0>;
126
127         ov02a10: camera-sensor@3d {
128             compatible = "ovti,ov02a10";
129             reg = <0x3d>;
130
131             powerdown-gpios = <&pio 107 GPIO_ACTIVE_HIGH>;
132             reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>;
133
134             clocks = <&ov02a10_clk>;
135             clock-names = "eclk";
136             clock-frequency = <24000000>;
137
138             rotation = <180>;
139
140             dovdd-supply = <&ov02a10_dovdd>;
141             avdd-supply = <&ov02a10_avdd>;
142             dvdd-supply = <&ov02a10_dvdd>;
143
144             port {
145                 wcam_out: endpoint {
146                     link-frequencies = /bits/ 64 <390000000>;
147                     ovti,mipi-clock-voltage = <3>;
148                     remote-endpoint = <&mipi_in_wcam>;
149                 };
150             };
151         };
152     };
153
154 ...