Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / media / i2c / imx258.yaml
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/imx258.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Sony IMX258 13 Mpixel CMOS Digital Image Sensor
8
9 maintainers:
10   - Krzysztof Kozlowski <krzk@kernel.org>
11
12 description: |-
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.
17
18 properties:
19   compatible:
20     const: sony,imx258
21
22   assigned-clocks: true
23   assigned-clock-parents: true
24   assigned-clock-rates: true
25
26   clocks:
27     description:
28       Clock frequency from 6 to 27 MHz.
29     maxItems: 1
30
31   reg:
32     maxItems: 1
33
34   reset-gpios:
35     description: |-
36       Reference to the GPIO connected to the XCLR pin, if any.
37
38   vana-supply:
39     description:
40       Analog voltage (VANA) supply, 2.7 V
41
42   vdig-supply:
43     description:
44       Digital I/O voltage (VDIG) supply, 1.2 V
45
46   vif-supply:
47     description:
48       Interface voltage (VIF) supply, 1.8 V
49
50   # See ../video-interfaces.txt for more details
51   port:
52     $ref: /schemas/graph.yaml#/$defs/port-base
53     additionalProperties: false
54
55     properties:
56       endpoint:
57         $ref: /schemas/media/video-interfaces.yaml#
58         unevaluatedProperties: false
59
60         properties:
61           data-lanes:
62             oneOf:
63               - items:
64                   - const: 1
65                   - const: 2
66                   - const: 3
67                   - const: 4
68               - items:
69                   - const: 1
70                   - const: 2
71
72           link-frequencies: true
73
74         required:
75           - data-lanes
76           - link-frequencies
77
78 required:
79   - compatible
80   - reg
81   - port
82
83 additionalProperties: false
84
85 examples:
86   - |
87     i2c0 {
88         #address-cells = <1>;
89         #size-cells = <0>;
90
91         sensor@6c {
92             compatible = "sony,imx258";
93             reg = <0x6c>;
94             clocks = <&imx258_clk>;
95
96             port {
97                 endpoint {
98                     remote-endpoint = <&csi1_ep>;
99                     data-lanes = <1 2 3 4>;
100                     link-frequencies = /bits/ 64 <320000000>;
101                 };
102             };
103         };
104     };
105
106     /* Oscillator on the camera board */
107     imx258_clk: clk {
108         compatible = "fixed-clock";
109         #clock-cells = <0>;
110         clock-frequency = <19200000>;
111     };
112
113   - |
114     i2c0 {
115         #address-cells = <1>;
116         #size-cells = <0>;
117
118         sensor@6c {
119             compatible = "sony,imx258";
120             reg = <0x6c>;
121             clocks = <&imx258_clk>;
122
123             assigned-clocks = <&imx258_clk>;
124             assigned-clock-rates = <19200000>;
125
126             port {
127                 endpoint {
128                     remote-endpoint = <&csi1_ep>;
129                     data-lanes = <1 2 3 4>;
130                     link-frequencies = /bits/ 64 <633600000>;
131                 };
132             };
133         };
134     };