aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/media/i2c/ovti,ov02e10.yaml
blob: 03d476bcf8058173f27d1c7da6703bfa76552acd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (c) 2025 Linaro Ltd.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ovti,ov02e10.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Omnivision OV02E10 CMOS Sensor

maintainers:
  - Bryan O'Donoghue <bryan.odonoghue@linaro.org>

description: |
  The Omnivision OV02E10 and OV02C10 sensors are 2 megapixel, CMOS image sensors which support:
  - Automatic black level calibration (ABLC)
  - Programmable controls for frame rate, mirror and flip, binning, cropping
    and windowing
  - OVO2C10
    - 10 bit RAW Bayer 1920x1080 60 fps 2-lane @ 800 Mbps/lane
    - 10 bit RAW Bayer 1920x1080 60 fps 1-lane @ 1500 Mbps/lane
    - 10 bit RAW Bayer 1280x720 60 fps cropped 1-lane @ 960 Mbps/lane
    - 10 bit RGB/BW 640x480 60 fps bin2 or skip2 1-lane @ 800 Mbps/lane
    - 10 bit RGB/BW 480x270 60 fps bin4 or skip4 1-lane @ 800 Mbps/lane
  - OV02E10
    - 10 bit RAW Bayer 1920x1088 60 fps 2-lane @ 720 Mbps/lane
    - 10 bit RAW Bayer 1280x1080 60 fps 2-lane @ 720 Mbps/lane
    - 10 bit Quad Bayer 960x540 60 fps 2-lane 360 Mbps/lane
    - 8 bit Quad Bayer 480x270 1/3/5/10 fps sub2 288 Mbps/lane
    - 8 bit Quad Bayer 232x132 1/3/5/10 fps sub4 144 Mbps/lane
  - Dynamic defect pixel cancellation
  - Standard SCCB command interface

allOf:
  - $ref: /schemas/media/video-interface-devices.yaml#

properties:
  compatible:
    enum:
      - ovti,ov02c10
      - ovti,ov02e10

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  avdd-supply:
    description: Analogue circuit voltage supply.

  dovdd-supply:
    description: I/O circuit voltage supply.

  dvdd-supply:
    description: Digital circuit voltage supply.

  reset-gpios:
    description: Active low GPIO connected to XSHUTDOWN pad of the sensor.

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

    properties:
      endpoint:
        $ref: /schemas/media/video-interfaces.yaml#
        additionalProperties: false

        properties:
          data-lanes:
            items:
              - const: 1
              - const: 2
          link-frequencies: true
          remote-endpoint: true

        required:
          - data-lanes
          - link-frequencies
          - remote-endpoint

required:
  - compatible
  - reg
  - clocks
  - port

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        ov02e10: camera@10 {
            compatible = "ovti,ov02e10";
            reg = <0x10>;

            reset-gpios = <&tlmm 237 GPIO_ACTIVE_LOW>;
            pinctrl-names = "default";
            pinctrl-0 = <&cam_rgb_defaultt>;

            clocks = <&ov02e10_clk>;

            assigned-clocks = <&ov02e10_clk>;
            assigned-clock-parents = <&ov02e10_clk_parent>;
            assigned-clock-rates = <19200000>;

            avdd-supply = <&vreg_l7b_2p8>;
            dvdd-supply = <&vreg_l7b_1p8>;
            dovdd-supply = <&vreg_l3m_1p8>;

            port {
                ov02e10_ep: endpoint {
                    remote-endpoint = <&csiphy4_ep>;
                    data-lanes = <1 2>;
                    link-frequencies = /bits/ 64 <400000000>;
                };
            };
        };

        ov02c10: camera@36 {
            compatible = "ovti,ov02c10";
            reg = <0x36>;

            reset-gpios = <&tlmm 237 GPIO_ACTIVE_LOW>;
            pinctrl-names = "default";
            pinctrl-0 = <&cam_rgb_defaultt>;

            clocks = <&ov02c10_clk>;

            assigned-clocks = <&ov02c10_clk>;
            assigned-clock-parents = <&ov02c10_clk_parent>;
            assigned-clock-rates = <19200000>;

            avdd-supply = <&vreg_l7b_2p8>;
            dvdd-supply = <&vreg_l7b_1p8>;
            dovdd-supply = <&vreg_l3m_1p8>;

            port {
                ov02c10_ep: endpoint {
                    remote-endpoint = <&csiphy4_ep>;
                    data-lanes = <1 2>;
                    link-frequencies = /bits/ 64 <400000000>;
                };
            };
        };
    };
...