Linux 6.9-rc1
[linux-2.6-microblaze.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     enum:
23       - sony,imx412
24       - sony,imx577
25   reg:
26     description: I2C address
27     maxItems: 1
28
29   assigned-clocks: true
30   assigned-clock-parents: true
31   assigned-clock-rates: true
32
33   clocks:
34     description: Clock frequency 6MHz, 12MHz, 18MHz, 24MHz or 27MHz
35     maxItems: 1
36
37   dovdd-supply:
38     description: Interface power supply.
39
40   avdd-supply:
41     description: Analog power supply.
42
43   dvdd-supply:
44     description: Digital power supply.
45
46   reset-gpios:
47     description: Reference to the GPIO connected to the XCLR pin, if any.
48     maxItems: 1
49
50   port:
51     additionalProperties: false
52     $ref: /schemas/graph.yaml#/$defs/port-base
53
54     properties:
55       endpoint:
56         $ref: /schemas/media/video-interfaces.yaml#
57         unevaluatedProperties: false
58
59         properties:
60           data-lanes: true
61           link-frequencies: true
62
63         required:
64           - data-lanes
65           - link-frequencies
66
67     required:
68       - endpoint
69
70 required:
71   - compatible
72   - reg
73   - clocks
74   - port
75
76 additionalProperties: false
77
78 examples:
79   - |
80     i2c {
81         #address-cells = <1>;
82         #size-cells = <0>;
83
84         camera@1a {
85             compatible = "sony,imx412";
86             reg = <0x1a>;
87             clocks = <&imx412_clk>;
88
89             assigned-clocks = <&imx412_clk>;
90             assigned-clock-parents = <&imx412_clk_parent>;
91             assigned-clock-rates = <24000000>;
92
93             port {
94                 imx412: endpoint {
95                     remote-endpoint = <&cam>;
96                     data-lanes = <1 2 3 4>;
97                     link-frequencies = /bits/ 64 <600000000>;
98                 };
99             };
100         };
101     };
102 ...