dtbindings: media: i2c: Add IMX708 CMOS sensor binding
[platform/kernel/linux-rpi.git] / Documentation / devicetree / bindings / media / i2c / imx708.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/imx708.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Sony 1/2.3-Inch 12Mpixel CMOS Digital Image Sensor
8
9 maintainers:
10   - Naushir Patuck <naush@raspberypi.com>
11
12 description: |-
13   The Sony IMX708 is a 1/2.3-inch CMOS active pixel digital image sensor
14   with an active array size of 4608H x 2592V. 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 is configured as either 2 or
17   4 data lanes.
18
19 properties:
20   compatible:
21     const: sony,imx708
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.1 volts
33
34   VANA1-supply:
35     description:
36       Analog1 voltage supply, 2.8 volts
37
38   VANA2-supply:
39     description:
40       Analog2 voltage supply, 1.8 volts
41
42   VDDL-supply:
43     description:
44       Digital core voltage supply, 1.8 volts
45
46   reset-gpios:
47     description: |-
48       Reference to the GPIO connected to the xclr pin, if any.
49       Must be released (set high) after all supplies and INCK are applied.
50
51   # See ../video-interfaces.txt for more details
52   port:
53     type: object
54     properties:
55       endpoint:
56         type: object
57         properties:
58           data-lanes:
59             description: |-
60               The sensor supports either two-lane, or four-lane operation.
61               For two-lane operation the property must be set to <1 2>.
62             items:
63               - const: 1
64               - const: 2
65
66           clock-noncontinuous:
67             type: boolean
68             description: |-
69               MIPI CSI-2 clock is non-continuous if this property is present,
70               otherwise it's continuous.
71
72           link-frequencies:
73             allOf:
74               - $ref: /schemas/types.yaml#/definitions/uint64-array
75             description:
76               Allowed data bus frequencies.
77
78         required:
79           - link-frequencies
80
81 required:
82   - compatible
83   - reg
84   - clocks
85   - VANA1-supply
86   - VANA2-supply
87   - VDIG-supply
88   - VDDL-supply
89   - port
90
91 additionalProperties: false
92
93 examples:
94   - |
95     i2c0 {
96         #address-cells = <1>;
97         #size-cells = <0>;
98
99         imx708: sensor@1a {
100             compatible = "sony,imx708";
101             reg = <0x1a>;
102             clocks = <&imx708_clk>;
103             VANA1-supply = <&imx708_vana1>; /* 1.8v */
104             VANA2-supply = <&imx708_vana2>; /* 2.8v */
105             VDIG-supply = <&imx708_vdig>;   /* 1.1v */
106             VDDL-supply = <&imx708_vddl>;   /* 1.8v */
107
108             port {
109                 imx708_0: endpoint {
110                     remote-endpoint = <&csi1_ep>;
111                     data-lanes = <1 2>;
112                     clock-noncontinuous;
113                     link-frequencies = /bits/ 64 <450000000>;
114                 };
115             };
116         };
117     };
118
119 ...