1105c3bc0SLad Prabhakar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2105c3bc0SLad Prabhakar%YAML 1.2
3105c3bc0SLad Prabhakar---
4105c3bc0SLad Prabhakar$id: http://devicetree.org/schemas/media/i2c/ovti,ov5645.yaml#
5105c3bc0SLad Prabhakar$schema: http://devicetree.org/meta-schemas/core.yaml#
6105c3bc0SLad Prabhakar
7*a612130cSKrzysztof Kozlowskititle: OmniVision OV5645 Image Sensor
8105c3bc0SLad Prabhakar
9105c3bc0SLad Prabhakarmaintainers:
10105c3bc0SLad Prabhakar  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
11105c3bc0SLad Prabhakar
12105c3bc0SLad Prabhakarproperties:
13105c3bc0SLad Prabhakar  compatible:
14105c3bc0SLad Prabhakar    const: ovti,ov5645
15105c3bc0SLad Prabhakar
16105c3bc0SLad Prabhakar  reg:
17105c3bc0SLad Prabhakar    maxItems: 1
18105c3bc0SLad Prabhakar
19105c3bc0SLad Prabhakar  clocks:
20105c3bc0SLad Prabhakar    description: XCLK Input Clock
21105c3bc0SLad Prabhakar
22105c3bc0SLad Prabhakar  clock-frequency:
23105c3bc0SLad Prabhakar    description: Frequency of the xclk clock in Hz.
24105c3bc0SLad Prabhakar
25105c3bc0SLad Prabhakar  vdda-supply:
26105c3bc0SLad Prabhakar    description: Analog voltage supply, 2.8 volts
27105c3bc0SLad Prabhakar
28105c3bc0SLad Prabhakar  vddd-supply:
29105c3bc0SLad Prabhakar    description: Digital core voltage supply, 1.5 volts
30105c3bc0SLad Prabhakar
31105c3bc0SLad Prabhakar  vdddo-supply:
32105c3bc0SLad Prabhakar    description: Digital I/O voltage supply, 1.8 volts
33105c3bc0SLad Prabhakar
34105c3bc0SLad Prabhakar  enable-gpios:
35105c3bc0SLad Prabhakar    maxItems: 1
36105c3bc0SLad Prabhakar    description:
37105c3bc0SLad Prabhakar      Reference to the GPIO connected to the PWDNB pin, if any.
38105c3bc0SLad Prabhakar
39105c3bc0SLad Prabhakar  reset-gpios:
40105c3bc0SLad Prabhakar    maxItems: 1
41105c3bc0SLad Prabhakar    description:
42105c3bc0SLad Prabhakar      Reference to the GPIO connected to the RESETB pin, if any.
43105c3bc0SLad Prabhakar
44105c3bc0SLad Prabhakar  port:
45105c3bc0SLad Prabhakar    description: Digital Output Port
46105c3bc0SLad Prabhakar    $ref: /schemas/graph.yaml#/$defs/port-base
47105c3bc0SLad Prabhakar    additionalProperties: false
48105c3bc0SLad Prabhakar
49105c3bc0SLad Prabhakar    properties:
50105c3bc0SLad Prabhakar      endpoint:
51105c3bc0SLad Prabhakar        $ref: /schemas/media/video-interfaces.yaml#
52105c3bc0SLad Prabhakar        unevaluatedProperties: false
53105c3bc0SLad Prabhakar
54105c3bc0SLad Prabhakar        properties:
55105c3bc0SLad Prabhakar          data-lanes:
56105c3bc0SLad Prabhakar            minItems: 1
57105c3bc0SLad Prabhakar            maxItems: 2
58105c3bc0SLad Prabhakar            items:
59105c3bc0SLad Prabhakar              enum: [1, 2]
60105c3bc0SLad Prabhakar
61105c3bc0SLad Prabhakar        required:
62105c3bc0SLad Prabhakar          - data-lanes
63105c3bc0SLad Prabhakar
64105c3bc0SLad Prabhakarrequired:
65105c3bc0SLad Prabhakar  - compatible
66105c3bc0SLad Prabhakar  - reg
67105c3bc0SLad Prabhakar  - clocks
68105c3bc0SLad Prabhakar  - vdddo-supply
69105c3bc0SLad Prabhakar  - vdda-supply
70105c3bc0SLad Prabhakar  - vddd-supply
71105c3bc0SLad Prabhakar  - port
72105c3bc0SLad Prabhakar
73105c3bc0SLad PrabhakaradditionalProperties: false
74105c3bc0SLad Prabhakar
75105c3bc0SLad Prabhakarexamples:
76105c3bc0SLad Prabhakar  - |
77105c3bc0SLad Prabhakar    #include <dt-bindings/gpio/gpio.h>
78105c3bc0SLad Prabhakar
79105c3bc0SLad Prabhakar    i2c {
80105c3bc0SLad Prabhakar        #address-cells = <1>;
81105c3bc0SLad Prabhakar        #size-cells = <0>;
82105c3bc0SLad Prabhakar
83105c3bc0SLad Prabhakar        camera@3c {
84105c3bc0SLad Prabhakar            compatible = "ovti,ov5645";
85105c3bc0SLad Prabhakar            reg = <0x3c>;
86105c3bc0SLad Prabhakar            clocks = <&clks 1>;
87105c3bc0SLad Prabhakar            clock-frequency = <24000000>;
88105c3bc0SLad Prabhakar            vdddo-supply = <&ov5645_vdddo_1v8>;
89105c3bc0SLad Prabhakar            vdda-supply = <&ov5645_vdda_2v8>;
90105c3bc0SLad Prabhakar            vddd-supply = <&ov5645_vddd_1v5>;
91105c3bc0SLad Prabhakar            enable-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
92105c3bc0SLad Prabhakar            reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
93105c3bc0SLad Prabhakar            pinctrl-names = "default";
94105c3bc0SLad Prabhakar            pinctrl-0 = <&pinctrl_ov5645>;
95105c3bc0SLad Prabhakar
96105c3bc0SLad Prabhakar            port {
97105c3bc0SLad Prabhakar                ov5645_ep: endpoint {
98105c3bc0SLad Prabhakar                    remote-endpoint = <&csi0_ep>;
99105c3bc0SLad Prabhakar                    data-lanes = <1 2>;
100105c3bc0SLad Prabhakar                };
101105c3bc0SLad Prabhakar            };
102105c3bc0SLad Prabhakar        };
103105c3bc0SLad Prabhakar    };
104105c3bc0SLad Prabhakar...
105