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,ov8865.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: OmniVision OV8865 Image Sensor Device Tree Bindings
8
9maintainers:
10  - Paul Kocialkowski <paul.kocialkowski@bootlin.com>
11
12properties:
13  compatible:
14    const: ovti,ov8865
15
16  reg:
17    maxItems: 1
18
19  clocks:
20    items:
21      - description: EXTCLK 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
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#/properties/port
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: 4
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  - avdd-supply
75  - dovdd-supply
76  - port
77
78additionalProperties: false
79
80examples:
81  - |
82    #include <dt-bindings/clock/sun8i-a83t-ccu.h>
83    #include <dt-bindings/gpio/gpio.h>
84
85    i2c2 {
86        #address-cells = <1>;
87        #size-cells = <0>;
88
89        ov8865: camera@36 {
90            compatible = "ovti,ov8865";
91            reg = <0x36>;
92
93            pinctrl-names = "default";
94            pinctrl-0 = <&csi_mclk_pin>;
95
96            clocks = <&ccu CLK_CSI_MCLK>;
97            assigned-clocks = <&ccu CLK_CSI_MCLK>;
98            assigned-clock-rates = <24000000>;
99
100            avdd-supply = <&reg_ov8865_avdd>;
101            dovdd-supply = <&reg_ov8865_dovdd>;
102            dvdd-supply = <&reg_ov8865_dvdd>;
103
104            powerdown-gpios = <&pio 4 17 GPIO_ACTIVE_LOW>; /* PE17 */
105            reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
106
107            port {
108                ov8865_out_mipi_csi2: endpoint {
109                    data-lanes = <1 2 3 4>;
110                    link-frequencies = /bits/ 64 <360000000>;
111
112                    remote-endpoint = <&mipi_csi2_in_ov8865>;
113                };
114            };
115        };
116    };
117
118...
119