1*6cbd33e7SMikhail Rudenko# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*6cbd33e7SMikhail Rudenko%YAML 1.2
3*6cbd33e7SMikhail Rudenko---
4*6cbd33e7SMikhail Rudenko$id: http://devicetree.org/schemas/media/i2c/ovti,ov4689.yaml#
5*6cbd33e7SMikhail Rudenko$schema: http://devicetree.org/meta-schemas/core.yaml#
6*6cbd33e7SMikhail Rudenko
7*6cbd33e7SMikhail Rudenkotitle: Omnivision OV4689 CMOS
8*6cbd33e7SMikhail Rudenko
9*6cbd33e7SMikhail Rudenkomaintainers:
10*6cbd33e7SMikhail Rudenko  - Mikhail Rudenko <mike.rudenko@gmail.com>
11*6cbd33e7SMikhail Rudenko
12*6cbd33e7SMikhail Rudenkodescription: |
13*6cbd33e7SMikhail Rudenko  The Omnivision OV4689 is a high performance, 1/3-inch, 4 megapixel
14*6cbd33e7SMikhail Rudenko  image sensor. Ihis chip supports high frame rate speeds up to 90 fps
15*6cbd33e7SMikhail Rudenko  at 2688x1520 resolution. It is programmable through an I2C
16*6cbd33e7SMikhail Rudenko  interface, and sensor output is sent via 1/2/4 lane MIPI CSI-2
17*6cbd33e7SMikhail Rudenko  connection.
18*6cbd33e7SMikhail Rudenko
19*6cbd33e7SMikhail RudenkoallOf:
20*6cbd33e7SMikhail Rudenko  - $ref: /schemas/media/video-interface-devices.yaml#
21*6cbd33e7SMikhail Rudenko
22*6cbd33e7SMikhail Rudenkoproperties:
23*6cbd33e7SMikhail Rudenko  compatible:
24*6cbd33e7SMikhail Rudenko    const: ovti,ov4689
25*6cbd33e7SMikhail Rudenko
26*6cbd33e7SMikhail Rudenko  reg:
27*6cbd33e7SMikhail Rudenko    maxItems: 1
28*6cbd33e7SMikhail Rudenko
29*6cbd33e7SMikhail Rudenko  clocks:
30*6cbd33e7SMikhail Rudenko    description:
31*6cbd33e7SMikhail Rudenko      External clock (XVCLK) for the sensor, 6-64 MHz
32*6cbd33e7SMikhail Rudenko    maxItems: 1
33*6cbd33e7SMikhail Rudenko
34*6cbd33e7SMikhail Rudenko  dovdd-supply:
35*6cbd33e7SMikhail Rudenko    description:
36*6cbd33e7SMikhail Rudenko      Digital I/O voltage supply, 1.7-3.0 V
37*6cbd33e7SMikhail Rudenko
38*6cbd33e7SMikhail Rudenko  avdd-supply:
39*6cbd33e7SMikhail Rudenko    description:
40*6cbd33e7SMikhail Rudenko      Analog voltage supply, 2.6-3.0 V
41*6cbd33e7SMikhail Rudenko
42*6cbd33e7SMikhail Rudenko  dvdd-supply:
43*6cbd33e7SMikhail Rudenko    description:
44*6cbd33e7SMikhail Rudenko      Digital core voltage supply, 1.1-1.3 V
45*6cbd33e7SMikhail Rudenko
46*6cbd33e7SMikhail Rudenko  powerdown-gpios:
47*6cbd33e7SMikhail Rudenko    description:
48*6cbd33e7SMikhail Rudenko      GPIO connected to the powerdown pin (active low)
49*6cbd33e7SMikhail Rudenko
50*6cbd33e7SMikhail Rudenko  reset-gpios:
51*6cbd33e7SMikhail Rudenko    maxItems: 1
52*6cbd33e7SMikhail Rudenko    description:
53*6cbd33e7SMikhail Rudenko      GPIO connected to the reset pin (active low)
54*6cbd33e7SMikhail Rudenko
55*6cbd33e7SMikhail Rudenko  orientation: true
56*6cbd33e7SMikhail Rudenko
57*6cbd33e7SMikhail Rudenko  rotation: true
58*6cbd33e7SMikhail Rudenko
59*6cbd33e7SMikhail Rudenko  port:
60*6cbd33e7SMikhail Rudenko    $ref: /schemas/graph.yaml#/$defs/port-base
61*6cbd33e7SMikhail Rudenko    additionalProperties: false
62*6cbd33e7SMikhail Rudenko    description:
63*6cbd33e7SMikhail Rudenko      Output port node, single endpoint describing the CSI-2 transmitter
64*6cbd33e7SMikhail Rudenko
65*6cbd33e7SMikhail Rudenko    properties:
66*6cbd33e7SMikhail Rudenko      endpoint:
67*6cbd33e7SMikhail Rudenko        $ref: /schemas/media/video-interfaces.yaml#
68*6cbd33e7SMikhail Rudenko        unevaluatedProperties: false
69*6cbd33e7SMikhail Rudenko
70*6cbd33e7SMikhail Rudenko        properties:
71*6cbd33e7SMikhail Rudenko          data-lanes:
72*6cbd33e7SMikhail Rudenko            oneOf:
73*6cbd33e7SMikhail Rudenko              - items:
74*6cbd33e7SMikhail Rudenko                  - const: 1
75*6cbd33e7SMikhail Rudenko                  - const: 2
76*6cbd33e7SMikhail Rudenko                  - const: 3
77*6cbd33e7SMikhail Rudenko                  - const: 4
78*6cbd33e7SMikhail Rudenko              - items:
79*6cbd33e7SMikhail Rudenko                  - const: 1
80*6cbd33e7SMikhail Rudenko                  - const: 2
81*6cbd33e7SMikhail Rudenko              - items:
82*6cbd33e7SMikhail Rudenko                  - const: 1
83*6cbd33e7SMikhail Rudenko          link-frequencies: true
84*6cbd33e7SMikhail Rudenko
85*6cbd33e7SMikhail Rudenko        required:
86*6cbd33e7SMikhail Rudenko          - data-lanes
87*6cbd33e7SMikhail Rudenko          - link-frequencies
88*6cbd33e7SMikhail Rudenko
89*6cbd33e7SMikhail Rudenkorequired:
90*6cbd33e7SMikhail Rudenko  - compatible
91*6cbd33e7SMikhail Rudenko  - reg
92*6cbd33e7SMikhail Rudenko  - clocks
93*6cbd33e7SMikhail Rudenko  - dovdd-supply
94*6cbd33e7SMikhail Rudenko  - avdd-supply
95*6cbd33e7SMikhail Rudenko  - dvdd-supply
96*6cbd33e7SMikhail Rudenko  - port
97*6cbd33e7SMikhail Rudenko
98*6cbd33e7SMikhail RudenkoadditionalProperties: false
99*6cbd33e7SMikhail Rudenko
100*6cbd33e7SMikhail Rudenkoexamples:
101*6cbd33e7SMikhail Rudenko  - |
102*6cbd33e7SMikhail Rudenko    #include <dt-bindings/gpio/gpio.h>
103*6cbd33e7SMikhail Rudenko
104*6cbd33e7SMikhail Rudenko    i2c {
105*6cbd33e7SMikhail Rudenko        #address-cells = <1>;
106*6cbd33e7SMikhail Rudenko        #size-cells = <0>;
107*6cbd33e7SMikhail Rudenko
108*6cbd33e7SMikhail Rudenko        ov4689: camera@36 {
109*6cbd33e7SMikhail Rudenko            compatible = "ovti,ov4689";
110*6cbd33e7SMikhail Rudenko            reg = <0x36>;
111*6cbd33e7SMikhail Rudenko
112*6cbd33e7SMikhail Rudenko            clocks = <&ov4689_clk>;
113*6cbd33e7SMikhail Rudenko
114*6cbd33e7SMikhail Rudenko            avdd-supply = <&ov4689_avdd>;
115*6cbd33e7SMikhail Rudenko            dovdd-supply = <&ov4689_dovdd>;
116*6cbd33e7SMikhail Rudenko            dvdd-supply = <&ov4689_dvdd>;
117*6cbd33e7SMikhail Rudenko
118*6cbd33e7SMikhail Rudenko            powerdown-gpios = <&pio 107 GPIO_ACTIVE_LOW>;
119*6cbd33e7SMikhail Rudenko            reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>;
120*6cbd33e7SMikhail Rudenko
121*6cbd33e7SMikhail Rudenko            orientation = <2>;
122*6cbd33e7SMikhail Rudenko            rotation = <0>;
123*6cbd33e7SMikhail Rudenko
124*6cbd33e7SMikhail Rudenko            port {
125*6cbd33e7SMikhail Rudenko                wcam_out: endpoint {
126*6cbd33e7SMikhail Rudenko                    remote-endpoint = <&mipi_in_wcam>;
127*6cbd33e7SMikhail Rudenko                    data-lanes = <1 2 3 4>;
128*6cbd33e7SMikhail Rudenko                    link-frequencies = /bits/ 64 <504000000>;
129*6cbd33e7SMikhail Rudenko                };
130*6cbd33e7SMikhail Rudenko            };
131*6cbd33e7SMikhail Rudenko        };
132*6cbd33e7SMikhail Rudenko    };
133*6cbd33e7SMikhail Rudenko
134*6cbd33e7SMikhail Rudenko...
135