1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/media/i2c/sony,imx258.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Sony IMX258 13 Mpixel CMOS Digital Image Sensor 8 9maintainers: 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 12description: |- 13 IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel 14 type stacked image sensor with a square pixel array of size 4208 x 3120. It 15 is programmable through I2C interface. Image data is sent through MIPI 16 CSI-2. The sensor exists in two different models, a standard variant 17 (IMX258) and a variant with phase detection autofocus (IMX258-PDAF). 18 The camera module does not expose the model through registers, so the 19 exact model needs to be specified. 20 21properties: 22 compatible: 23 enum: 24 - sony,imx258 25 - sony,imx258-pdaf 26 27 clocks: 28 description: 29 Clock frequency from 6 to 27 MHz. 30 maxItems: 1 31 32 reg: 33 maxItems: 1 34 35 reset-gpios: 36 description: |- 37 Reference to the GPIO connected to the XCLR pin, if any. 38 39 vana-supply: 40 description: 41 Analog voltage (VANA) supply, 2.7 V 42 43 vdig-supply: 44 description: 45 Digital I/O voltage (VDIG) supply, 1.2 V 46 47 vif-supply: 48 description: 49 Interface voltage (VIF) supply, 1.8 V 50 51 # See ../video-interfaces.txt for more details 52 port: 53 $ref: /schemas/graph.yaml#/$defs/port-base 54 additionalProperties: false 55 56 properties: 57 endpoint: 58 $ref: /schemas/media/video-interfaces.yaml# 59 unevaluatedProperties: false 60 61 properties: 62 data-lanes: 63 oneOf: 64 - items: 65 - const: 1 66 - const: 2 67 - const: 3 68 - const: 4 69 - items: 70 - const: 1 71 - const: 2 72 73 link-frequencies: true 74 75 required: 76 - data-lanes 77 - link-frequencies 78 79required: 80 - compatible 81 - reg 82 - port 83 84additionalProperties: false 85 86examples: 87 - | 88 i2c { 89 #address-cells = <1>; 90 #size-cells = <0>; 91 92 sensor@6c { 93 compatible = "sony,imx258"; 94 reg = <0x6c>; 95 clocks = <&imx258_clk>; 96 97 port { 98 endpoint { 99 remote-endpoint = <&csi1_ep>; 100 data-lanes = <1 2 3 4>; 101 link-frequencies = /bits/ 64 <320000000>; 102 }; 103 }; 104 }; 105 }; 106 107 /* Oscillator on the camera board */ 108 imx258_clk: clk { 109 compatible = "fixed-clock"; 110 #clock-cells = <0>; 111 clock-frequency = <19200000>; 112 }; 113 114 - | 115 i2c { 116 #address-cells = <1>; 117 #size-cells = <0>; 118 119 sensor@6c { 120 compatible = "sony,imx258"; 121 reg = <0x6c>; 122 clocks = <&imx258_clk>; 123 124 port { 125 endpoint { 126 remote-endpoint = <&csi1_ep>; 127 data-lanes = <1 2 3 4>; 128 link-frequencies = /bits/ 64 <633600000>; 129 }; 130 }; 131 }; 132 }; 133