summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/media/i2c/ov8856.yaml
blob: 1956b2a32bf4361d845c48489ea137da5121322a (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
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (c) 2019 MediaTek Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ov8856.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Omnivision OV8856 CMOS Sensor Device Tree Bindings

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

description: |-
  The Omnivision OV8856 is a high performance, 1/4-inch, 8 megapixel, CMOS
  image sensor that delivers 3264x2448 at 30fps. It provides full-frame,
  sub-sampled, and windowed 10-bit MIPI images in various formats via the
  Serial Camera Control Bus (SCCB) interface. This chip is programmable
  through I2C and two-wire SCCB. The sensor output is available via CSI-2
  serial data output (up to 4-lane).

properties:
  compatible:
    const: ovti,ov8856

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    description:
      Input clock for the sensor.
    items:
      - const: xvclk

  clock-frequency:
    description:
      Frequency of the xvclk clock in Hertz.

  dovdd-supply:
    description:
      Definition of the regulator used as interface power supply.

  avdd-supply:
    description:
      Definition of the regulator used as analog power supply.

  dvdd-supply:
    description:
      Definition of the regulator used as digital power supply.

  reset-gpios:
    description:
      The phandle and specifier for the GPIO that controls sensor reset.
      This corresponds to the hardware pin XSHUTDOWN which is physically
      active low.

  port:
    type: object
    additionalProperties: false
    description:
      A node containing an output port node with an endpoint definition
      as documented in
      Documentation/devicetree/bindings/media/video-interfaces.txt

    properties:
      endpoint:
        type: object

        properties:
          data-lanes:
            description: |-
              The driver only supports four-lane operation.
            items:
              - const: 1
              - const: 2
              - const: 3
              - const: 4

          link-frequencies:
            $ref: /schemas/types.yaml#/definitions/uint64-array
            description:
              Allowed data bus frequencies. 360000000, 180000000 Hz or both
              are supported by the driver.


        required:
          - link-frequencies

    required:
      - endpoint

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

additionalProperties: false

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

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

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

            reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>;
            pinctrl-names = "default";
            pinctrl-0 = <&clk_24m_cam>;

            clocks = <&cam_osc>;
            clock-names = "xvclk";
            clock-frequency = <19200000>;

            avdd-supply = <&mt6358_vcama2_reg>;
            dvdd-supply = <&mt6358_vcamd_reg>;
            dovdd-supply = <&mt6358_vcamio_reg>;

            port {
                wcam_out: endpoint {
                    remote-endpoint = <&mipi_in_wcam>;
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <360000000>;
                };
            };
        };
    };
...