1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright (c) 2019 MediaTek Inc.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/media/i2c/ov8856.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Omnivision OV8856 CMOS Sensor Device Tree Bindings
9
10maintainers:
11  - Dongchun Zhu <dongchun.zhu@mediatek.com>
12
13description: |-
14  The Omnivision OV8856 is a high performance, 1/4-inch, 8 megapixel, CMOS
15  image sensor that delivers 3264x2448 at 30fps. It provides full-frame,
16  sub-sampled, and windowed 10-bit MIPI images in various formats via the
17  Serial Camera Control Bus (SCCB) interface. This chip is programmable
18  through I2C and two-wire SCCB. The sensor output is available via CSI-2
19  serial data output (up to 4-lane).
20
21properties:
22  compatible:
23    const: ovti,ov8856
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30
31  clock-names:
32    description:
33      Input clock for the sensor.
34    items:
35      - const: xvclk
36
37  clock-frequency:
38    description:
39      Frequency of the xvclk clock in Hertz.
40
41  dovdd-supply:
42    description:
43      Definition of the regulator used as interface power supply.
44
45  avdd-supply:
46    description:
47      Definition of the regulator used as analog power supply.
48
49  dvdd-supply:
50    description:
51      Definition of the regulator used as digital power supply.
52
53  reset-gpios:
54    description:
55      The phandle and specifier for the GPIO that controls sensor reset.
56      This corresponds to the hardware pin XSHUTDOWN which is physically
57      active low.
58
59  port:
60    type: object
61    $ref: /schemas/graph.yaml#/properties/port
62    additionalProperties: false
63
64    properties:
65      endpoint:
66        type: object
67
68        properties:
69          data-lanes:
70            description: |-
71              The driver only supports four-lane operation.
72            items:
73              - const: 1
74              - const: 2
75              - const: 3
76              - const: 4
77
78          link-frequencies:
79            $ref: /schemas/types.yaml#/definitions/uint64-array
80            description:
81              Allowed data bus frequencies. 360000000, 180000000 Hz or both
82              are supported by the driver.
83
84
85        required:
86          - link-frequencies
87
88    required:
89      - endpoint
90
91required:
92  - compatible
93  - reg
94  - clocks
95  - clock-names
96  - clock-frequency
97  - dovdd-supply
98  - avdd-supply
99  - dvdd-supply
100  - reset-gpios
101  - port
102
103additionalProperties: false
104
105examples:
106  - |
107    #include <dt-bindings/gpio/gpio.h>
108
109    i2c {
110        #address-cells = <1>;
111        #size-cells = <0>;
112
113        ov8856: camera@10 {
114            compatible = "ovti,ov8856";
115            reg = <0x10>;
116
117            reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>;
118            pinctrl-names = "default";
119            pinctrl-0 = <&clk_24m_cam>;
120
121            clocks = <&cam_osc>;
122            clock-names = "xvclk";
123            clock-frequency = <19200000>;
124
125            avdd-supply = <&mt6358_vcama2_reg>;
126            dvdd-supply = <&mt6358_vcamd_reg>;
127            dovdd-supply = <&mt6358_vcamio_reg>;
128
129            port {
130                wcam_out: endpoint {
131                    remote-endpoint = <&mipi_in_wcam>;
132                    data-lanes = <1 2 3 4>;
133                    link-frequencies = /bits/ 64 <360000000>;
134                };
135            };
136        };
137    };
138...
139
140