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