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