media: dt-bindings: media: i2c: Add Arducam 64MP CMOS sensor binding
[platform/kernel/linux-rpi.git] / Documentation / devicetree / bindings / media / i2c / arducam,64mp.yaml
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/arducam,64mp.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Arducam 1/1.7-Inch 64Mpixel CMOS Digital Image Sensor
8
9 maintainers:
10   - Lee Jackson <info@arducam.com>
11
12 description: |-
13   The Arducam 1/1.7-Inch 64Mpixel CMOS active pixel digital image sensor
14   with an active array size of 9248 x 6944. It is programmable through
15   I2C interface. The I2C address is fixed to 0x1A as per sensor data sheet.
16   Image data is sent through MIPI CSI-2, which can be configured for operation
17   with either 2 or 4 data lanes.
18
19 properties:
20   compatible:
21     const: arducam,64mp
22
23   reg:
24     description: I2C device address
25     maxItems: 1
26
27   clocks:
28     maxItems: 1
29
30   VDIG-supply:
31     description:
32       Digital I/O voltage supply, 1.05 volts
33
34   VANA-supply:
35     description:
36       Analog voltage supply, 2.8 volts
37
38   VDDL-supply:
39     description:
40       Digital core voltage supply, 1.8 volts
41
42   reset-gpios:
43     description: |-
44       Reference to the GPIO connected to the xclr pin, if any.
45       Must be released (set high) after all supplies and INCK are applied.
46
47   # See ../video-interfaces.txt for more details
48   port:
49     type: object
50     properties:
51       endpoint:
52         type: object
53         properties:
54           data-lanes:
55             description: |-
56               The sensor supports either two-lane, or four-lane operation.
57               For two-lane operation the property must be set to <1 2>.
58             anyOf:
59               - items:
60                   - const: 1
61                   - const: 2
62               - items:
63                   - const: 1
64                   - const: 2
65                   - const: 3
66                   - const: 4
67
68           clock-noncontinuous: true
69
70           link-frequencies:
71             allOf:
72               - $ref: /schemas/types.yaml#/definitions/uint64-array
73             description:
74               Allowed data bus frequencies.
75
76         required:
77           - link-frequencies
78
79 required:
80   - compatible
81   - reg
82   - clocks
83   - VANA-supply
84   - VDIG-supply
85   - VDDL-supply
86   - port
87
88 additionalProperties: false
89
90 examples:
91   - |
92     i2c0 {
93         #address-cells = <1>;
94         #size-cells = <0>;
95
96         arducam_64mp: sensor@1a {
97             compatible = "arducam,64mp";
98             reg = <0x1a>;
99             clocks = <&arducam_64mp_clk>;
100             VANA-supply = <&arducam_64mp_vana>;   /* 2.8v */
101             VDIG-supply = <&arducam_64mp_vdig>;   /* 1.05v */
102             VDDL-supply = <&arducam_64mp_vddl>;   /* 1.8v */
103
104             port {
105                 arducam_64mp_0: endpoint {
106                     remote-endpoint = <&csi1_ep>;
107                     data-lanes = <1 2>;
108                     clock-noncontinuous;
109                     link-frequencies = /bits/ 64 <456000000>;
110                 };
111             };
112         };
113     };
114
115 ...