1932300e6SDongchun Zhu# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2932300e6SDongchun Zhu# Copyright (c) 2019 MediaTek Inc.
3932300e6SDongchun Zhu%YAML 1.2
4932300e6SDongchun Zhu---
5932300e6SDongchun Zhu$id: http://devicetree.org/schemas/media/i2c/ov8856.yaml#
6932300e6SDongchun Zhu$schema: http://devicetree.org/meta-schemas/core.yaml#
7932300e6SDongchun Zhu
8932300e6SDongchun Zhutitle: Omnivision OV8856 CMOS Sensor Device Tree Bindings
9932300e6SDongchun Zhu
10932300e6SDongchun Zhumaintainers:
11932300e6SDongchun Zhu  - Dongchun Zhu <dongchun.zhu@mediatek.com>
12932300e6SDongchun Zhu
13932300e6SDongchun Zhudescription: |-
14932300e6SDongchun Zhu  The Omnivision OV8856 is a high performance, 1/4-inch, 8 megapixel, CMOS
15932300e6SDongchun Zhu  image sensor that delivers 3264x2448 at 30fps. It provides full-frame,
16932300e6SDongchun Zhu  sub-sampled, and windowed 10-bit MIPI images in various formats via the
17932300e6SDongchun Zhu  Serial Camera Control Bus (SCCB) interface. This chip is programmable
18932300e6SDongchun Zhu  through I2C and two-wire SCCB. The sensor output is available via CSI-2
19932300e6SDongchun Zhu  serial data output (up to 4-lane).
20932300e6SDongchun Zhu
21932300e6SDongchun Zhuproperties:
22932300e6SDongchun Zhu  compatible:
23932300e6SDongchun Zhu    const: ovti,ov8856
24932300e6SDongchun Zhu
25932300e6SDongchun Zhu  reg:
26932300e6SDongchun Zhu    maxItems: 1
27932300e6SDongchun Zhu
28932300e6SDongchun Zhu  clocks:
29932300e6SDongchun Zhu    maxItems: 1
30932300e6SDongchun Zhu
31932300e6SDongchun Zhu  clock-names:
32932300e6SDongchun Zhu    description:
33932300e6SDongchun Zhu      Input clock for the sensor.
34932300e6SDongchun Zhu    items:
35932300e6SDongchun Zhu      - const: xvclk
36932300e6SDongchun Zhu
37932300e6SDongchun Zhu  clock-frequency:
38932300e6SDongchun Zhu    description:
39932300e6SDongchun Zhu      Frequency of the xvclk clock in Hertz.
40932300e6SDongchun Zhu
41932300e6SDongchun Zhu  dovdd-supply:
42932300e6SDongchun Zhu    description:
43932300e6SDongchun Zhu      Definition of the regulator used as interface power supply.
44932300e6SDongchun Zhu
45932300e6SDongchun Zhu  avdd-supply:
46932300e6SDongchun Zhu    description:
47932300e6SDongchun Zhu      Definition of the regulator used as analog power supply.
48932300e6SDongchun Zhu
49932300e6SDongchun Zhu  dvdd-supply:
50932300e6SDongchun Zhu    description:
51932300e6SDongchun Zhu      Definition of the regulator used as digital power supply.
52932300e6SDongchun Zhu
53932300e6SDongchun Zhu  reset-gpios:
54932300e6SDongchun Zhu    description:
55932300e6SDongchun Zhu      The phandle and specifier for the GPIO that controls sensor reset.
56932300e6SDongchun Zhu      This corresponds to the hardware pin XSHUTDOWN which is physically
57932300e6SDongchun Zhu      active low.
58932300e6SDongchun Zhu
59932300e6SDongchun Zhu  port:
60932300e6SDongchun Zhu    type: object
61932300e6SDongchun Zhu    additionalProperties: false
62932300e6SDongchun Zhu    description:
63932300e6SDongchun Zhu      A node containing an output port node with an endpoint definition
64932300e6SDongchun Zhu      as documented in
65932300e6SDongchun Zhu      Documentation/devicetree/bindings/media/video-interfaces.txt
66932300e6SDongchun Zhu
67932300e6SDongchun Zhu    properties:
68932300e6SDongchun Zhu      endpoint:
69932300e6SDongchun Zhu        type: object
70932300e6SDongchun Zhu
71932300e6SDongchun Zhu        properties:
72932300e6SDongchun Zhu          data-lanes:
73932300e6SDongchun Zhu            description: |-
74932300e6SDongchun Zhu              The driver only supports four-lane operation.
75932300e6SDongchun Zhu            items:
76932300e6SDongchun Zhu              - const: 1
77932300e6SDongchun Zhu              - const: 2
78932300e6SDongchun Zhu              - const: 3
79932300e6SDongchun Zhu              - const: 4
80932300e6SDongchun Zhu
81932300e6SDongchun Zhu          link-frequencies:
82932300e6SDongchun Zhu            allOf:
83932300e6SDongchun Zhu              - $ref: /schemas/types.yaml#/definitions/uint64-array
84932300e6SDongchun Zhu            description:
85932300e6SDongchun Zhu              Allowed data bus frequencies. 360000000, 180000000 Hz or both
86932300e6SDongchun Zhu              are supported by the driver.
87932300e6SDongchun Zhu
88932300e6SDongchun Zhu
89932300e6SDongchun Zhu        required:
90932300e6SDongchun Zhu          - link-frequencies
91932300e6SDongchun Zhu
92932300e6SDongchun Zhu    required:
93932300e6SDongchun Zhu      - endpoint
94932300e6SDongchun Zhu
95932300e6SDongchun Zhurequired:
96932300e6SDongchun Zhu  - compatible
97932300e6SDongchun Zhu  - reg
98932300e6SDongchun Zhu  - clocks
99932300e6SDongchun Zhu  - clock-names
100932300e6SDongchun Zhu  - clock-frequency
101932300e6SDongchun Zhu  - dovdd-supply
102932300e6SDongchun Zhu  - avdd-supply
103932300e6SDongchun Zhu  - dvdd-supply
104932300e6SDongchun Zhu  - reset-gpios
105932300e6SDongchun Zhu  - port
106932300e6SDongchun Zhu
107932300e6SDongchun ZhuadditionalProperties: false
108932300e6SDongchun Zhu
109932300e6SDongchun Zhuexamples:
110932300e6SDongchun Zhu  - |
111932300e6SDongchun Zhu    #include <dt-bindings/gpio/gpio.h>
112932300e6SDongchun Zhu
113932300e6SDongchun Zhu    i2c {
114932300e6SDongchun Zhu        #address-cells = <1>;
115932300e6SDongchun Zhu        #size-cells = <0>;
116932300e6SDongchun Zhu
117932300e6SDongchun Zhu        ov8856: camera@10 {
118932300e6SDongchun Zhu            compatible = "ovti,ov8856";
119932300e6SDongchun Zhu            reg = <0x10>;
120932300e6SDongchun Zhu
121932300e6SDongchun Zhu            reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>;
122932300e6SDongchun Zhu            pinctrl-names = "default";
123932300e6SDongchun Zhu            pinctrl-0 = <&clk_24m_cam>;
124932300e6SDongchun Zhu
125932300e6SDongchun Zhu            clocks = <&cam_osc>;
126932300e6SDongchun Zhu            clock-names = "xvclk";
127932300e6SDongchun Zhu            clock-frequency = <19200000>;
128932300e6SDongchun Zhu
129932300e6SDongchun Zhu            avdd-supply = <&mt6358_vcama2_reg>;
130932300e6SDongchun Zhu            dvdd-supply = <&mt6358_vcamd_reg>;
131932300e6SDongchun Zhu            dovdd-supply = <&mt6358_vcamio_reg>;
132932300e6SDongchun Zhu
133932300e6SDongchun Zhu            port {
134932300e6SDongchun Zhu                wcam_out: endpoint {
135932300e6SDongchun Zhu                    remote-endpoint = <&mipi_in_wcam>;
136932300e6SDongchun Zhu                    data-lanes = <1 2 3 4>;
137932300e6SDongchun Zhu                    link-frequencies = /bits/ 64 <360000000>;
138932300e6SDongchun Zhu                };
139932300e6SDongchun Zhu            };
140932300e6SDongchun Zhu        };
141932300e6SDongchun Zhu    };
142932300e6SDongchun Zhu...