GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / media / i2c / sony,imx412.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (C) 2021 Intel Corporation
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/media/i2c/sony,imx412.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Sony IMX412 Sensor
9
10 maintainers:
11   - Paul J. Murphy <paul.j.murphy@intel.com>
12   - Daniele Alessandrelli <daniele.alessandrelli@intel.com>
13
14 description:
15   IMX412 sensor is a Sony CMOS active pixel digital image sensor with an active
16   array size of 4072H x 3176V. It is programmable through I2C interface. The
17   I2C client address is fixed to 0x1a as per sensor data sheet. Image data is
18   sent through MIPI CSI-2.
19
20 properties:
21   compatible:
22     const: sony,imx412
23   reg:
24     description: I2C address
25     maxItems: 1
26
27   assigned-clocks: true
28   assigned-clock-parents: true
29   assigned-clock-rates: true
30
31   clocks:
32     description: Clock frequency 6MHz, 12MHz, 18MHz, 24MHz or 27MHz
33     maxItems: 1
34
35   dovdd-supply:
36     description: Interface power supply.
37
38   avdd-supply:
39     description: Analog power supply.
40
41   dvdd-supply:
42     description: Digital power supply.
43
44   reset-gpios:
45     description: Reference to the GPIO connected to the XCLR pin, if any.
46     maxItems: 1
47
48   port:
49     additionalProperties: false
50     $ref: /schemas/graph.yaml#/$defs/port-base
51
52     properties:
53       endpoint:
54         $ref: /schemas/media/video-interfaces.yaml#
55         unevaluatedProperties: false
56
57         properties:
58           data-lanes: true
59           link-frequencies: true
60
61         required:
62           - data-lanes
63           - link-frequencies
64
65     required:
66       - endpoint
67
68 required:
69   - compatible
70   - reg
71   - clocks
72   - port
73
74 additionalProperties: false
75
76 examples:
77   - |
78     i2c0 {
79         #address-cells = <1>;
80         #size-cells = <0>;
81
82         camera@1a {
83             compatible = "sony,imx412";
84             reg = <0x1a>;
85             clocks = <&imx412_clk>;
86
87             assigned-clocks = <&imx412_clk>;
88             assigned-clock-parents = <&imx412_clk_parent>;
89             assigned-clock-rates = <24000000>;
90
91             port {
92                 imx412: endpoint {
93                     remote-endpoint = <&cam>;
94                     data-lanes = <1 2 3 4>;
95                     link-frequencies = /bits/ 64 <600000000>;
96                 };
97             };
98         };
99     };
100 ...