xref: /freebsd/sys/contrib/device-tree/Bindings/media/i2c/ovti,ov02e10.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright (c) 2025 Linaro Ltd.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/media/i2c/ovti,ov02e10.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Omnivision OV02E10 CMOS Sensor
9
10maintainers:
11  - Bryan O'Donoghue <bryan.odonoghue@linaro.org>
12
13description: |
14  The Omnivision OV02E10 and OV02C10 sensors are 2 megapixel, CMOS image sensors which support:
15  - Automatic black level calibration (ABLC)
16  - Programmable controls for frame rate, mirror and flip, binning, cropping
17    and windowing
18  - OVO2C10
19    - 10 bit RAW Bayer 1920x1080 60 fps 2-lane @ 800 Mbps/lane
20    - 10 bit RAW Bayer 1920x1080 60 fps 1-lane @ 1500 Mbps/lane
21    - 10 bit RAW Bayer 1280x720 60 fps cropped 1-lane @ 960 Mbps/lane
22    - 10 bit RGB/BW 640x480 60 fps bin2 or skip2 1-lane @ 800 Mbps/lane
23    - 10 bit RGB/BW 480x270 60 fps bin4 or skip4 1-lane @ 800 Mbps/lane
24  - OV02E10
25    - 10 bit RAW Bayer 1920x1088 60 fps 2-lane @ 720 Mbps/lane
26    - 10 bit RAW Bayer 1280x1080 60 fps 2-lane @ 720 Mbps/lane
27    - 10 bit Quad Bayer 960x540 60 fps 2-lane 360 Mbps/lane
28    - 8 bit Quad Bayer 480x270 1/3/5/10 fps sub2 288 Mbps/lane
29    - 8 bit Quad Bayer 232x132 1/3/5/10 fps sub4 144 Mbps/lane
30  - Dynamic defect pixel cancellation
31  - Standard SCCB command interface
32
33allOf:
34  - $ref: /schemas/media/video-interface-devices.yaml#
35
36properties:
37  compatible:
38    enum:
39      - ovti,ov02c10
40      - ovti,ov02e10
41
42  reg:
43    maxItems: 1
44
45  clocks:
46    maxItems: 1
47
48  avdd-supply:
49    description: Analogue circuit voltage supply.
50
51  dovdd-supply:
52    description: I/O circuit voltage supply.
53
54  dvdd-supply:
55    description: Digital circuit voltage supply.
56
57  reset-gpios:
58    description: Active low GPIO connected to XSHUTDOWN pad of the sensor.
59
60  port:
61    $ref: /schemas/graph.yaml#/$defs/port-base
62    additionalProperties: false
63
64    properties:
65      endpoint:
66        $ref: /schemas/media/video-interfaces.yaml#
67        additionalProperties: false
68
69        properties:
70          data-lanes:
71            items:
72              - const: 1
73              - const: 2
74          link-frequencies: true
75          remote-endpoint: true
76
77        required:
78          - data-lanes
79          - link-frequencies
80          - remote-endpoint
81
82required:
83  - compatible
84  - reg
85  - clocks
86  - port
87
88unevaluatedProperties: false
89
90examples:
91  - |
92    #include <dt-bindings/gpio/gpio.h>
93
94    i2c {
95        #address-cells = <1>;
96        #size-cells = <0>;
97
98        ov02e10: camera@10 {
99            compatible = "ovti,ov02e10";
100            reg = <0x10>;
101
102            reset-gpios = <&tlmm 237 GPIO_ACTIVE_LOW>;
103            pinctrl-names = "default";
104            pinctrl-0 = <&cam_rgb_defaultt>;
105
106            clocks = <&ov02e10_clk>;
107
108            assigned-clocks = <&ov02e10_clk>;
109            assigned-clock-parents = <&ov02e10_clk_parent>;
110            assigned-clock-rates = <19200000>;
111
112            avdd-supply = <&vreg_l7b_2p8>;
113            dvdd-supply = <&vreg_l7b_1p8>;
114            dovdd-supply = <&vreg_l3m_1p8>;
115
116            port {
117                ov02e10_ep: endpoint {
118                    remote-endpoint = <&csiphy4_ep>;
119                    data-lanes = <1 2>;
120                    link-frequencies = /bits/ 64 <400000000>;
121                };
122            };
123        };
124
125        ov02c10: camera@36 {
126            compatible = "ovti,ov02c10";
127            reg = <0x36>;
128
129            reset-gpios = <&tlmm 237 GPIO_ACTIVE_LOW>;
130            pinctrl-names = "default";
131            pinctrl-0 = <&cam_rgb_defaultt>;
132
133            clocks = <&ov02c10_clk>;
134
135            assigned-clocks = <&ov02c10_clk>;
136            assigned-clock-parents = <&ov02c10_clk_parent>;
137            assigned-clock-rates = <19200000>;
138
139            avdd-supply = <&vreg_l7b_2p8>;
140            dvdd-supply = <&vreg_l7b_1p8>;
141            dovdd-supply = <&vreg_l3m_1p8>;
142
143            port {
144                ov02c10_ep: endpoint {
145                    remote-endpoint = <&csiphy4_ep>;
146                    data-lanes = <1 2>;
147                    link-frequencies = /bits/ 64 <400000000>;
148                };
149            };
150        };
151    };
152...
153