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 for Color Cameras. It is programmable through I2C and 4-wire
16  interfaces. The sensor output is available via CMOS logic parallel SDR
17  output, Low voltage LVDS DDR output and CSI-2 serial data output. The CSI-2
18  bus is the default. No bindings have been defined for the other busses.
19
20properties:
21  compatible:
22    enum:
23      - sony,imx290
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30
31  clock-names:
32    description: Input clock (37.125 MHz or 74.25 MHz)
33    items:
34      - const: xclk
35
36  clock-frequency:
37    description: Frequency of the xclk clock in Hz
38
39  vdda-supply:
40    description: Analog power supply (2.9V)
41
42  vddd-supply:
43    description: Digital core power supply (1.2V)
44
45  vdddo-supply:
46    description: Digital I/O power supply (1.8V)
47
48  reset-gpios:
49    description: Sensor reset (XCLR) GPIO
50    maxItems: 1
51
52  port:
53    $ref: /schemas/graph.yaml#/$defs/port-base
54    description: |
55      Video output port
56
57    properties:
58      endpoint:
59        $ref: /schemas/media/video-interfaces.yaml#
60        unevaluatedProperties: false
61
62        properties:
63          data-lanes:
64            anyOf:
65              - items:
66                  - const: 1
67                  - const: 2
68              - items:
69                  - const: 1
70                  - const: 2
71                  - const: 3
72                  - const: 4
73
74          link-frequencies: true
75
76        required:
77          - data-lanes
78          - link-frequencies
79
80    additionalProperties: false
81
82required:
83  - compatible
84  - reg
85  - clocks
86  - clock-names
87  - clock-frequency
88  - vdda-supply
89  - vddd-supply
90  - vdddo-supply
91  - port
92
93additionalProperties: false
94
95examples:
96  - |
97    #include <dt-bindings/gpio/gpio.h>
98
99    i2c {
100        #address-cells = <1>;
101        #size-cells = <0>;
102
103        imx290: camera-sensor@1a {
104            compatible = "sony,imx290";
105            reg = <0x1a>;
106
107            pinctrl-names = "default";
108            pinctrl-0 = <&camera_rear_default>;
109
110            clocks = <&gcc 90>;
111            clock-names = "xclk";
112            clock-frequency = <37125000>;
113
114            vdddo-supply = <&camera_vdddo_1v8>;
115            vdda-supply = <&camera_vdda_2v8>;
116            vddd-supply = <&camera_vddd_1v5>;
117
118            reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
119
120            port {
121                imx290_ep: endpoint {
122                    data-lanes = <1 2 3 4>;
123                    link-frequencies = /bits/ 64 <445500000>;
124                    remote-endpoint = <&csiphy0_ep>;
125                };
126            };
127        };
128    };
129...
130