Documentation / devicetree / bindings / media / i2c / sony,imx258.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/sony,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. The sensor exists in two different models, a standard variant
  (IMX258) and a variant with phase detection autofocus (IMX258-PDAF).
  The camera module does not expose the model through registers, so the
  exact model needs to be specified.

properties:
  compatible:
    enum:
      - sony,imx258
      - sony,imx258-pdaf

  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:
  - |
    i2c {
        #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>;
    };

  - |
    i2c {
        #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>;
                };
            };
        };
    };