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