# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/imx258.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sony IMX258 13 Mpixel CMOS Digital Image Sensor

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

description: |-
  IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel
  type stacked image sensor with a square pixel array of size 4208 x 3120. It
  is programmable through I2C interface.  Image data is sent through MIPI
  CSI-2.

properties:
  compatible:
    const: sony,imx258

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

  clocks:
    description:
      Clock frequency from 6 to 27 MHz.
    maxItems: 1

  reg:
    maxItems: 1

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

  vana-supply:
    description:
      Analog voltage (VANA) supply, 2.7 V

  vdig-supply:
    description:
      Digital I/O voltage (VDIG) supply, 1.2 V

  vif-supply:
    description:
      Interface voltage (VIF) supply, 1.8 V

  # See ../video-interfaces.txt for more details
  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

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

        properties:
          data-lanes:
            oneOf:
              - items:
                  - const: 1
                  - const: 2
                  - const: 3
                  - const: 4
              - items:
                  - const: 1
                  - const: 2

          link-frequencies: true

        required:
          - data-lanes
          - link-frequencies

required:
  - compatible
  - reg
  - port

additionalProperties: false

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

        sensor@6c {
            compatible = "sony,imx258";
            reg = <0x6c>;
            clocks = <&imx258_clk>;

            port {
                endpoint {
                    remote-endpoint = <&csi1_ep>;
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <320000000>;
                };
            };
        };
    };

    /* Oscillator on the camera board */
    imx258_clk: clk {
        compatible = "fixed-clock";
        #clock-cells = <0>;
        clock-frequency = <19200000>;
    };

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

        sensor@6c {
            compatible = "sony,imx258";
            reg = <0x6c>;
            clocks = <&imx258_clk>;

            assigned-clocks = <&imx258_clk>;
            assigned-clock-rates = <19200000>;

            port {
                endpoint {
                    remote-endpoint = <&csi1_ep>;
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <633600000>;
                };
            };
        };
    };
