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