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