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
8a612130cSKrzysztof Kozlowskititle: Omnivision OV8856 CMOS Sensor
9932300e6SDongchun Zhu
10932300e6SDongchun Zhumaintainers:
11*c8f30770SSakari Ailus  - Sakari Ailus <sakari.ailus@linux.intel.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:
60066a94e2SRob Herring    $ref: /schemas/graph.yaml#/$defs/port-base
61932300e6SDongchun Zhu    additionalProperties: false
62932300e6SDongchun Zhu
63932300e6SDongchun Zhu    properties:
64932300e6SDongchun Zhu      endpoint:
65066a94e2SRob Herring        $ref: /schemas/media/video-interfaces.yaml#
66066a94e2SRob Herring        unevaluatedProperties: false
67932300e6SDongchun Zhu
68932300e6SDongchun Zhu        properties:
69932300e6SDongchun Zhu          data-lanes:
70932300e6SDongchun Zhu            description: |-
71932300e6SDongchun Zhu              The driver only supports four-lane operation.
72932300e6SDongchun Zhu            items:
73932300e6SDongchun Zhu              - const: 1
74932300e6SDongchun Zhu              - const: 2
75932300e6SDongchun Zhu              - const: 3
76932300e6SDongchun Zhu              - const: 4
77932300e6SDongchun Zhu
78932300e6SDongchun Zhu          link-frequencies:
79066a94e2SRob Herring            description: Frequencies listed are driver, not h/w limitations.
80066a94e2SRob Herring            maxItems: 2
81066a94e2SRob Herring            items:
82066a94e2SRob Herring              enum: [ 360000000, 180000000 ]
83932300e6SDongchun Zhu
84932300e6SDongchun Zhu        required:
85932300e6SDongchun Zhu          - link-frequencies
86932300e6SDongchun Zhu
87932300e6SDongchun Zhurequired:
88932300e6SDongchun Zhu  - compatible
89932300e6SDongchun Zhu  - reg
90932300e6SDongchun Zhu  - clocks
91932300e6SDongchun Zhu  - clock-names
92932300e6SDongchun Zhu  - clock-frequency
93932300e6SDongchun Zhu  - dovdd-supply
94932300e6SDongchun Zhu  - avdd-supply
95932300e6SDongchun Zhu  - dvdd-supply
96932300e6SDongchun Zhu  - reset-gpios
97932300e6SDongchun Zhu  - port
98932300e6SDongchun Zhu
99932300e6SDongchun ZhuadditionalProperties: false
100932300e6SDongchun Zhu
101932300e6SDongchun Zhuexamples:
102932300e6SDongchun Zhu  - |
103932300e6SDongchun Zhu    #include <dt-bindings/gpio/gpio.h>
104932300e6SDongchun Zhu
105932300e6SDongchun Zhu    i2c {
106932300e6SDongchun Zhu        #address-cells = <1>;
107932300e6SDongchun Zhu        #size-cells = <0>;
108932300e6SDongchun Zhu
109932300e6SDongchun Zhu        ov8856: camera@10 {
110932300e6SDongchun Zhu            compatible = "ovti,ov8856";
111932300e6SDongchun Zhu            reg = <0x10>;
112932300e6SDongchun Zhu
113932300e6SDongchun Zhu            reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>;
114932300e6SDongchun Zhu            pinctrl-names = "default";
115932300e6SDongchun Zhu            pinctrl-0 = <&clk_24m_cam>;
116932300e6SDongchun Zhu
117932300e6SDongchun Zhu            clocks = <&cam_osc>;
118932300e6SDongchun Zhu            clock-names = "xvclk";
119932300e6SDongchun Zhu            clock-frequency = <19200000>;
120932300e6SDongchun Zhu
121932300e6SDongchun Zhu            avdd-supply = <&mt6358_vcama2_reg>;
122932300e6SDongchun Zhu            dvdd-supply = <&mt6358_vcamd_reg>;
123932300e6SDongchun Zhu            dovdd-supply = <&mt6358_vcamio_reg>;
124932300e6SDongchun Zhu
125932300e6SDongchun Zhu            port {
126932300e6SDongchun Zhu                wcam_out: endpoint {
127932300e6SDongchun Zhu                    remote-endpoint = <&mipi_in_wcam>;
128932300e6SDongchun Zhu                    data-lanes = <1 2 3 4>;
129932300e6SDongchun Zhu                    link-frequencies = /bits/ 64 <360000000>;
130932300e6SDongchun Zhu                };
131932300e6SDongchun Zhu            };
132932300e6SDongchun Zhu        };
133932300e6SDongchun Zhu    };
134932300e6SDongchun Zhu...
135