summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/media/i2c/ovti,ov02a10.yaml
blob: 1c3879ec4122d1af3131c8a1a08f8b5d188e5b7d (plain)
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
153
154
155
156
157
158
159
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (c) 2020 MediaTek Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ovti,ov02a10.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Omnivision OV02A10 CMOS Sensor Device Tree Bindings

maintainers:
  - Dongchun Zhu <dongchun.zhu@mediatek.com>

description: |-
  The Omnivision OV02A10 is a low-cost, high performance, 1/5-inch, 2 megapixel
  image sensor, which is the latest production derived from Omnivision's CMOS
  image sensor technology. Ihis chip supports high frame rate speeds up to 30fps
  @ 1600x1200 (UXGA) resolution transferred over a 1-lane MIPI interface. The
  sensor output is available via CSI-2 serial data output.

properties:
  compatible:
    const: ovti,ov02a10

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    description:
      External clock for the sensor.
    items:
      - const: eclk

  clock-frequency:
    description:
      Frequency of the eclk clock in Hz.

  dovdd-supply:
    description:
      Definition of the regulator used as Digital I/O voltage supply.

  avdd-supply:
    description:
      Definition of the regulator used as Analog voltage supply.

  dvdd-supply:
    description:
      Definition of the regulator used as Digital core voltage supply.

  powerdown-gpios:
    description:
      Must be the device tree identifier of the GPIO connected to the
      PD_PAD pin. This pin is used to place the OV02A10 into standby mode
      or shutdown mode. As the line needs to be high for the powerdown mode
      to be active, it should be marked GPIO_ACTIVE_HIGH.
    maxItems: 1

  reset-gpios:
    description:
      Must be the device tree identifier of the GPIO connected to the
      RST_PD pin. If specified, it will be asserted during driver probe.
      As the line needs to be low for the reset to be active, it should be
      marked GPIO_ACTIVE_LOW.
    maxItems: 1

  rotation:
    description:
      Definition of the sensor's placement.
    allOf:
      - $ref: "/schemas/types.yaml#/definitions/uint32"
      - enum:
          - 0    # Sensor Mounted Upright
          - 180  # Sensor Mounted Upside Down
        default: 0

  # See ../video-interfaces.txt for details
  port:
    type: object
    additionalProperties: false
    description:
      Output port node, single endpoint describing the CSI-2 transmitter.

    properties:
      endpoint:
        type: object
        additionalProperties: false

        properties:
          link-frequencies: true
          ovti,mipi-clock-voltage:
            allOf:
              - $ref: "/schemas/types.yaml#/definitions/uint32"
            description:
              Definition of MIPI clock voltage unit. This entry corresponds to
              the link speed defined by the 'link-frequencies' property.
              If present, the value shall be in the range of 0-4.
            default: 4
          remote-endpoint: true

        required:
          - link-frequencies
          - remote-endpoint

    required:
      - endpoint

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - clock-frequency
  - dovdd-supply
  - avdd-supply
  - dvdd-supply
  - powerdown-gpios
  - reset-gpios
  - port

additionalProperties: false

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

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

        ov02a10: camera-sensor@3d {
            compatible = "ovti,ov02a10";
            reg = <0x3d>;

            powerdown-gpios = <&pio 107 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>;

            clocks = <&ov02a10_clk>;
            clock-names = "eclk";
            clock-frequency = <24000000>;

            rotation = <180>;

            dovdd-supply = <&ov02a10_dovdd>;
            avdd-supply = <&ov02a10_avdd>;
            dvdd-supply = <&ov02a10_dvdd>;

            port {
                wcam_out: endpoint {
                    link-frequencies = /bits/ 64 <390000000>;
                    ovti,mipi-clock-voltage = <3>;
                    remote-endpoint = <&mipi_in_wcam>;
                };
            };
        };
    };

...