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
8title: Sony IMX412 Sensor
9
10maintainers:
11  - Paul J. Murphy <paul.j.murphy@intel.com>
12  - Daniele Alessandrelli <daniele.alessandrelli@intel.com>
13
14description:
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
20properties:
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
68required:
69  - compatible
70  - reg
71  - clocks
72  - port
73
74additionalProperties: false
75
76examples:
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...
101