1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/i2c/ovti,ov5648.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: OmniVision OV5648 Image Sensor
8
9maintainers:
10  - Paul Kocialkowski <paul.kocialkowski@bootlin.com>
11
12properties:
13  compatible:
14    const: ovti,ov5648
15
16  reg:
17    maxItems: 1
18
19  clocks:
20    items:
21      - description: XVCLK Clock
22
23  assigned-clocks:
24    maxItems: 1
25
26  assigned-clock-rates:
27    maxItems: 1
28
29  dvdd-supply:
30    description: Digital Domain Power Supply
31
32  avdd-supply:
33    description: Analog Domain Power Supply (internal AVDD is used if missing)
34
35  dovdd-supply:
36    description: I/O Domain Power Supply
37
38  powerdown-gpios:
39    maxItems: 1
40    description: Power Down Pin GPIO Control (active low)
41
42  reset-gpios:
43    maxItems: 1
44    description: Reset Pin GPIO Control (active low)
45
46  port:
47    description: MIPI CSI-2 transmitter port
48    $ref: /schemas/graph.yaml#/$defs/port-base
49    additionalProperties: false
50
51    properties:
52      endpoint:
53        $ref: /schemas/media/video-interfaces.yaml#
54        unevaluatedProperties: false
55
56        properties:
57          link-frequencies: true
58
59          data-lanes:
60            minItems: 1
61            maxItems: 2
62
63        required:
64          - data-lanes
65          - link-frequencies
66
67required:
68  - compatible
69  - reg
70  - clocks
71  - assigned-clocks
72  - assigned-clock-rates
73  - dvdd-supply
74  - dovdd-supply
75  - port
76
77additionalProperties: false
78
79examples:
80  - |
81    #include <dt-bindings/clock/sun8i-v3s-ccu.h>
82    #include <dt-bindings/gpio/gpio.h>
83
84    i2c {
85        #address-cells = <1>;
86        #size-cells = <0>;
87
88        ov5648: camera@36 {
89            compatible = "ovti,ov5648";
90            reg = <0x36>;
91
92            dvdd-supply = <&ov5648_dvdd>;
93            avdd-supply = <&ov5648_avdd>;
94            dovdd-supply = <&ov5648_dovdd>;
95            clocks = <&ov5648_xvclk 0>;
96            assigned-clocks = <&ov5648_xvclk 0>;
97            assigned-clock-rates = <24000000>;
98
99
100            ov5648_out: port {
101                ov5648_out_mipi_csi2: endpoint {
102                    data-lanes = <1 2>;
103                    link-frequencies = /bits/ 64 <210000000 168000000>;
104
105                    remote-endpoint = <&mipi_csi2_in_ov5648>;
106                };
107            };
108        };
109    };
110