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