1*105c3bc0SLad Prabhakar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*105c3bc0SLad Prabhakar%YAML 1.2
3*105c3bc0SLad Prabhakar---
4*105c3bc0SLad Prabhakar$id: http://devicetree.org/schemas/media/i2c/ovti,ov5645.yaml#
5*105c3bc0SLad Prabhakar$schema: http://devicetree.org/meta-schemas/core.yaml#
6*105c3bc0SLad Prabhakar
7*105c3bc0SLad Prabhakartitle: OmniVision OV5645 Image Sensor Device Tree Bindings
8*105c3bc0SLad Prabhakar
9*105c3bc0SLad Prabhakarmaintainers:
10*105c3bc0SLad Prabhakar  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
11*105c3bc0SLad Prabhakar
12*105c3bc0SLad Prabhakarproperties:
13*105c3bc0SLad Prabhakar  compatible:
14*105c3bc0SLad Prabhakar    const: ovti,ov5645
15*105c3bc0SLad Prabhakar
16*105c3bc0SLad Prabhakar  reg:
17*105c3bc0SLad Prabhakar    maxItems: 1
18*105c3bc0SLad Prabhakar
19*105c3bc0SLad Prabhakar  clocks:
20*105c3bc0SLad Prabhakar    description: XCLK Input Clock
21*105c3bc0SLad Prabhakar
22*105c3bc0SLad Prabhakar  clock-frequency:
23*105c3bc0SLad Prabhakar    description: Frequency of the xclk clock in Hz.
24*105c3bc0SLad Prabhakar
25*105c3bc0SLad Prabhakar  vdda-supply:
26*105c3bc0SLad Prabhakar    description: Analog voltage supply, 2.8 volts
27*105c3bc0SLad Prabhakar
28*105c3bc0SLad Prabhakar  vddd-supply:
29*105c3bc0SLad Prabhakar    description: Digital core voltage supply, 1.5 volts
30*105c3bc0SLad Prabhakar
31*105c3bc0SLad Prabhakar  vdddo-supply:
32*105c3bc0SLad Prabhakar    description: Digital I/O voltage supply, 1.8 volts
33*105c3bc0SLad Prabhakar
34*105c3bc0SLad Prabhakar  enable-gpios:
35*105c3bc0SLad Prabhakar    maxItems: 1
36*105c3bc0SLad Prabhakar    description:
37*105c3bc0SLad Prabhakar      Reference to the GPIO connected to the PWDNB pin, if any.
38*105c3bc0SLad Prabhakar
39*105c3bc0SLad Prabhakar  reset-gpios:
40*105c3bc0SLad Prabhakar    maxItems: 1
41*105c3bc0SLad Prabhakar    description:
42*105c3bc0SLad Prabhakar      Reference to the GPIO connected to the RESETB pin, if any.
43*105c3bc0SLad Prabhakar
44*105c3bc0SLad Prabhakar  port:
45*105c3bc0SLad Prabhakar    description: Digital Output Port
46*105c3bc0SLad Prabhakar    $ref: /schemas/graph.yaml#/$defs/port-base
47*105c3bc0SLad Prabhakar    additionalProperties: false
48*105c3bc0SLad Prabhakar
49*105c3bc0SLad Prabhakar    properties:
50*105c3bc0SLad Prabhakar      endpoint:
51*105c3bc0SLad Prabhakar        $ref: /schemas/media/video-interfaces.yaml#
52*105c3bc0SLad Prabhakar        unevaluatedProperties: false
53*105c3bc0SLad Prabhakar
54*105c3bc0SLad Prabhakar        properties:
55*105c3bc0SLad Prabhakar          data-lanes:
56*105c3bc0SLad Prabhakar            minItems: 1
57*105c3bc0SLad Prabhakar            maxItems: 2
58*105c3bc0SLad Prabhakar            items:
59*105c3bc0SLad Prabhakar              enum: [1, 2]
60*105c3bc0SLad Prabhakar
61*105c3bc0SLad Prabhakar        required:
62*105c3bc0SLad Prabhakar          - data-lanes
63*105c3bc0SLad Prabhakar
64*105c3bc0SLad Prabhakarrequired:
65*105c3bc0SLad Prabhakar  - compatible
66*105c3bc0SLad Prabhakar  - reg
67*105c3bc0SLad Prabhakar  - clocks
68*105c3bc0SLad Prabhakar  - vdddo-supply
69*105c3bc0SLad Prabhakar  - vdda-supply
70*105c3bc0SLad Prabhakar  - vddd-supply
71*105c3bc0SLad Prabhakar  - port
72*105c3bc0SLad Prabhakar
73*105c3bc0SLad PrabhakaradditionalProperties: false
74*105c3bc0SLad Prabhakar
75*105c3bc0SLad Prabhakarexamples:
76*105c3bc0SLad Prabhakar  - |
77*105c3bc0SLad Prabhakar    #include <dt-bindings/gpio/gpio.h>
78*105c3bc0SLad Prabhakar
79*105c3bc0SLad Prabhakar    i2c {
80*105c3bc0SLad Prabhakar        #address-cells = <1>;
81*105c3bc0SLad Prabhakar        #size-cells = <0>;
82*105c3bc0SLad Prabhakar
83*105c3bc0SLad Prabhakar        camera@3c {
84*105c3bc0SLad Prabhakar            compatible = "ovti,ov5645";
85*105c3bc0SLad Prabhakar            reg = <0x3c>;
86*105c3bc0SLad Prabhakar            clocks = <&clks 1>;
87*105c3bc0SLad Prabhakar            clock-frequency = <24000000>;
88*105c3bc0SLad Prabhakar            vdddo-supply = <&ov5645_vdddo_1v8>;
89*105c3bc0SLad Prabhakar            vdda-supply = <&ov5645_vdda_2v8>;
90*105c3bc0SLad Prabhakar            vddd-supply = <&ov5645_vddd_1v5>;
91*105c3bc0SLad Prabhakar            enable-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
92*105c3bc0SLad Prabhakar            reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
93*105c3bc0SLad Prabhakar            pinctrl-names = "default";
94*105c3bc0SLad Prabhakar            pinctrl-0 = <&pinctrl_ov5645>;
95*105c3bc0SLad Prabhakar
96*105c3bc0SLad Prabhakar            port {
97*105c3bc0SLad Prabhakar                ov5645_ep: endpoint {
98*105c3bc0SLad Prabhakar                    remote-endpoint = <&csi0_ep>;
99*105c3bc0SLad Prabhakar                    data-lanes = <1 2>;
100*105c3bc0SLad Prabhakar                };
101*105c3bc0SLad Prabhakar            };
102*105c3bc0SLad Prabhakar        };
103*105c3bc0SLad Prabhakar    };
104*105c3bc0SLad Prabhakar...
105