Merge tag 'efi-next-for-v5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / media / i2c / ov8856.yaml
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
8 title: Omnivision OV8856 CMOS Sensor Device Tree Bindings
9
10 maintainers:
11   - Dongchun Zhu <dongchun.zhu@mediatek.com>
12
13 description: |-
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
21 properties:
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     additionalProperties: false
62     description:
63       A node containing an output port node with an endpoint definition
64       as documented in
65       Documentation/devicetree/bindings/media/video-interfaces.txt
66
67     properties:
68       endpoint:
69         type: object
70
71         properties:
72           data-lanes:
73             description: |-
74               The driver only supports four-lane operation.
75             items:
76               - const: 1
77               - const: 2
78               - const: 3
79               - const: 4
80
81           link-frequencies:
82             $ref: /schemas/types.yaml#/definitions/uint64-array
83             description:
84               Allowed data bus frequencies. 360000000, 180000000 Hz or both
85               are supported by the driver.
86
87
88         required:
89           - link-frequencies
90
91     required:
92       - endpoint
93
94 required:
95   - compatible
96   - reg
97   - clocks
98   - clock-names
99   - clock-frequency
100   - dovdd-supply
101   - avdd-supply
102   - dvdd-supply
103   - reset-gpios
104   - port
105
106 additionalProperties: false
107
108 examples:
109   - |
110     #include <dt-bindings/gpio/gpio.h>
111
112     i2c {
113         #address-cells = <1>;
114         #size-cells = <0>;
115
116         ov8856: camera@10 {
117             compatible = "ovti,ov8856";
118             reg = <0x10>;
119
120             reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>;
121             pinctrl-names = "default";
122             pinctrl-0 = <&clk_24m_cam>;
123
124             clocks = <&cam_osc>;
125             clock-names = "xvclk";
126             clock-frequency = <19200000>;
127
128             avdd-supply = <&mt6358_vcama2_reg>;
129             dvdd-supply = <&mt6358_vcamd_reg>;
130             dovdd-supply = <&mt6358_vcamio_reg>;
131
132             port {
133                 wcam_out: endpoint {
134                     remote-endpoint = <&mipi_in_wcam>;
135                     data-lanes = <1 2 3 4>;
136                     link-frequencies = /bits/ 64 <360000000>;
137                 };
138             };
139         };
140     };
141 ...
142