# 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,imx412.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sony IMX412 Sensor

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

description:
  IMX412 sensor is a Sony CMOS active pixel digital image sensor with an active
  array size of 4072H x 3176V. 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,imx412
  reg:
    description: I2C address
    maxItems: 1

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

  clocks:
    description: Clock frequency 6MHz, 12MHz, 18MHz, 24MHz or 27MHz
    maxItems: 1

  dovdd-supply:
    description: Interface power supply.

  avdd-supply:
    description: Analog power supply.

  dvdd-supply:
    description: Digital power supply.

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

  port:
    additionalProperties: false
    $ref: /schemas/graph.yaml#/$defs/port-base

    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,imx412";
            reg = <0x1a>;
            clocks = <&imx412_clk>;

            assigned-clocks = <&imx412_clk>;
            assigned-clock-parents = <&imx412_clk_parent>;
            assigned-clock-rates = <24000000>;

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