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