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