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
8title: Omnivision OV02A10 CMOS Sensor Device Tree Bindings
9
10maintainers:
11  - Dongchun Zhu <dongchun.zhu@mediatek.com>
12
13description: |-
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
20allOf:
21  - $ref: /schemas/media/video-interface-devices.yaml#
22
23properties:
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
104required:
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
117additionalProperties: false
118
119examples:
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...
155