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 Device Tree Bindings
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    type: object
48    description: MIPI CSI-2 transmitter port
49
50    properties:
51      endpoint:
52        type: object
53
54        properties:
55          remote-endpoint: true
56
57          link-frequencies:
58            $ref: /schemas/types.yaml#/definitions/uint64-array
59            description: Allowed MIPI CSI-2 link frequencies
60
61          data-lanes:
62            minItems: 1
63            maxItems: 2
64
65        required:
66          - data-lanes
67          - link-frequencies
68          - remote-endpoint
69
70    required:
71      - endpoint
72
73required:
74  - compatible
75  - reg
76  - clocks
77  - assigned-clocks
78  - assigned-clock-rates
79  - dvdd-supply
80  - dovdd-supply
81  - port
82
83additionalProperties: false
84
85examples:
86  - |
87    #include <dt-bindings/clock/sun8i-v3s-ccu.h>
88    #include <dt-bindings/gpio/gpio.h>
89
90    i2c0 {
91        #address-cells = <1>;
92        #size-cells = <0>;
93
94        ov5648: camera@36 {
95            compatible = "ovti,ov5648";
96            reg = <0x36>;
97
98            dvdd-supply = <&ov5648_dvdd>;
99            avdd-supply = <&ov5648_avdd>;
100            dovdd-supply = <&ov5648_dovdd>;
101            clocks = <&ov5648_xvclk 0>;
102            assigned-clocks = <&ov5648_xvclk 0>;
103            assigned-clock-rates = <24000000>;
104
105
106            ov5648_out: port {
107                ov5648_out_mipi_csi2: endpoint {
108                    data-lanes = <1 2>;
109                    link-frequencies = /bits/ 64 <210000000 168000000>;
110
111                    remote-endpoint = <&mipi_csi2_in_ov5648>;
112                };
113            };
114        };
115    };
116