1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/i2c/sony,imx290.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Sony IMX290 1/2.8-Inch CMOS Image Sensor
8
9maintainers:
10  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12
13description: |-
14  The Sony IMX290 is a 1/2.8-Inch CMOS Solid-state image sensor with Square
15  Pixel, available in either mono or colour variants. It is programmable
16  through I2C and 4-wire interfaces.
17
18  The sensor output is available via CMOS logic parallel SDR output, Low voltage
19  LVDS DDR output and CSI-2 serial data output. The CSI-2 bus is the default.
20  No bindings have been defined for the other busses.
21
22  imx290lqr is the full model identifier for the colour variant. "sony,imx290"
23  is treated the same as this as it was the original compatible string.
24  imx290llr is the mono version of the sensor.
25
26properties:
27  compatible:
28    oneOf:
29      - enum:
30          - sony,imx290lqr # Colour
31          - sony,imx290llr # Monochrome
32          - sony,imx327lqr # Colour
33      - const: sony,imx290
34        deprecated: true
35
36  reg:
37    maxItems: 1
38
39  clocks:
40    maxItems: 1
41
42  clock-names:
43    description: Input clock (37.125 MHz or 74.25 MHz)
44    items:
45      - const: xclk
46
47  clock-frequency:
48    description: Frequency of the xclk clock in Hz
49
50  vdda-supply:
51    description: Analog power supply (2.9V)
52
53  vddd-supply:
54    description: Digital core power supply (1.2V)
55
56  vdddo-supply:
57    description: Digital I/O power supply (1.8V)
58
59  reset-gpios:
60    description: Sensor reset (XCLR) GPIO
61    maxItems: 1
62
63  port:
64    $ref: /schemas/graph.yaml#/$defs/port-base
65    description: |
66      Video output port
67
68    properties:
69      endpoint:
70        $ref: /schemas/media/video-interfaces.yaml#
71        unevaluatedProperties: false
72
73        properties:
74          data-lanes:
75            anyOf:
76              - items:
77                  - const: 1
78                  - const: 2
79              - items:
80                  - const: 1
81                  - const: 2
82                  - const: 3
83                  - const: 4
84
85          link-frequencies: true
86
87        required:
88          - data-lanes
89          - link-frequencies
90
91    additionalProperties: false
92
93required:
94  - compatible
95  - reg
96  - clocks
97  - clock-names
98  - clock-frequency
99  - vdda-supply
100  - vddd-supply
101  - vdddo-supply
102  - port
103
104additionalProperties: false
105
106examples:
107  - |
108    #include <dt-bindings/gpio/gpio.h>
109
110    i2c {
111        #address-cells = <1>;
112        #size-cells = <0>;
113
114        imx290: camera-sensor@1a {
115            compatible = "sony,imx290lqr";
116            reg = <0x1a>;
117
118            pinctrl-names = "default";
119            pinctrl-0 = <&camera_rear_default>;
120
121            clocks = <&gcc 90>;
122            clock-names = "xclk";
123            clock-frequency = <37125000>;
124
125            vdddo-supply = <&camera_vdddo_1v8>;
126            vdda-supply = <&camera_vdda_2v8>;
127            vddd-supply = <&camera_vddd_1v5>;
128
129            reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
130
131            port {
132                imx290_ep: endpoint {
133                    data-lanes = <1 2 3 4>;
134                    link-frequencies = /bits/ 64 <445500000>;
135                    remote-endpoint = <&csiphy0_ep>;
136                };
137            };
138        };
139    };
140...
141