xref: /freebsd/sys/contrib/device-tree/Bindings/media/i2c/sony,imx412.yaml (revision 3a3af6b2a160bea72509a9d5ef84e25906b0478a)
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  reset-gpios:
36    description: Reference to the GPIO connected to the XCLR pin, if any.
37    maxItems: 1
38
39  port:
40    additionalProperties: false
41    $ref: /schemas/graph.yaml#/$defs/port-base
42
43    properties:
44      endpoint:
45        $ref: /schemas/media/video-interfaces.yaml#
46        unevaluatedProperties: false
47
48        properties:
49          data-lanes: true
50          link-frequencies: true
51
52        required:
53          - data-lanes
54          - link-frequencies
55
56    required:
57      - endpoint
58
59required:
60  - compatible
61  - reg
62  - clocks
63  - port
64
65additionalProperties: false
66
67examples:
68  - |
69    i2c0 {
70        #address-cells = <1>;
71        #size-cells = <0>;
72
73        camera@1a {
74            compatible = "sony,imx412";
75            reg = <0x1a>;
76            clocks = <&imx412_clk>;
77
78            assigned-clocks = <&imx412_clk>;
79            assigned-clock-parents = <&imx412_clk_parent>;
80            assigned-clock-rates = <24000000>;
81
82            port {
83                imx412: endpoint {
84                    remote-endpoint = <&cam>;
85                    data-lanes = <1 2 3 4>;
86                    link-frequencies = /bits/ 64 <600000000>;
87                };
88            };
89        };
90    };
91...
92