# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2021 Intel Corporation
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/sony,imx335.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sony IMX335 Sensor

maintainers:
  - Paul J. Murphy <paul.j.murphy@intel.com>
  - Daniele Alessandrelli <daniele.alessandrelli@intel.com>

description:
  IMX335 sensor is a Sony CMOS active pixel digital image sensor with an active
  array size of 2592H x 1944V. It is programmable through I2C interface. The
  I2C client address is fixed to 0x1a as per sensor data sheet. Image data is
  sent through MIPI CSI-2.

properties:
  compatible:
    const: sony,imx335
  reg:
    description: I2C address
    maxItems: 1

  assigned-clocks: true
  assigned-clock-parents: true
  assigned-clock-rates: true

  clocks:
    description: Clock frequency from 6 to 27 MHz, 37.125MHz, 74.25MHz
    maxItems: 1

  reset-gpios:
    description: Reference to the GPIO connected to the XCLR pin, if any.
    maxItems: 1

  port:
    additionalProperties: false
    $ref: /schemas/graph.yaml#/properties/port

    properties:
      endpoint:
        $ref: /schemas/media/video-interfaces.yaml#
        unevaluatedProperties: false

        properties:
          data-lanes: true
          link-frequencies: true

        required:
          - data-lanes
          - link-frequencies

    required:
      - endpoint

required:
  - compatible
  - reg
  - clocks
  - port

additionalProperties: false

examples:
  - |
    i2c0 {
        #address-cells = <1>;
        #size-cells = <0>;

        camera@1a {
            compatible = "sony,imx335";
            reg = <0x1a>;
            clocks = <&imx335_clk>;

            assigned-clocks = <&imx335_clk>;
            assigned-clock-parents = <&imx335_clk_parent>;
            assigned-clock-rates = <24000000>;

            port {
                imx335: endpoint {
                    remote-endpoint = <&cam>;
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <594000000>;
                };
            };
        };
    };
...
