xref: /freebsd/sys/contrib/device-tree/Bindings/media/i2c/sony,imx290.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/sony,imx290.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Sony IMX290 1/2.8-Inch CMOS Image Sensor
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
118bab661aSEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
128bab661aSEmmanuel Vadot
138bab661aSEmmanuel Vadotdescription: |-
148bab661aSEmmanuel Vadot  The Sony IMX290 is a 1/2.8-Inch CMOS Solid-state image sensor with Square
15*fac71e4eSEmmanuel Vadot  Pixel, available in either mono or colour variants. It is programmable
16*fac71e4eSEmmanuel Vadot  through I2C and 4-wire interfaces.
17*fac71e4eSEmmanuel Vadot
18*fac71e4eSEmmanuel Vadot  The sensor output is available via CMOS logic parallel SDR output, Low voltage
19*fac71e4eSEmmanuel Vadot  LVDS DDR output and CSI-2 serial data output. The CSI-2 bus is the default.
20*fac71e4eSEmmanuel Vadot  No bindings have been defined for the other busses.
21*fac71e4eSEmmanuel Vadot
22*fac71e4eSEmmanuel Vadot  imx290lqr is the full model identifier for the colour variant. "sony,imx290"
23*fac71e4eSEmmanuel Vadot  is treated the same as this as it was the original compatible string.
24*fac71e4eSEmmanuel Vadot  imx290llr is the mono version of the sensor.
258bab661aSEmmanuel Vadot
268bab661aSEmmanuel Vadotproperties:
278bab661aSEmmanuel Vadot  compatible:
28*fac71e4eSEmmanuel Vadot    oneOf:
29*fac71e4eSEmmanuel Vadot      - enum:
30*fac71e4eSEmmanuel Vadot          - sony,imx290lqr # Colour
31*fac71e4eSEmmanuel Vadot          - sony,imx290llr # Monochrome
32*fac71e4eSEmmanuel Vadot          - sony,imx327lqr # Colour
33*fac71e4eSEmmanuel Vadot      - const: sony,imx290
34*fac71e4eSEmmanuel Vadot        deprecated: true
358bab661aSEmmanuel Vadot
368bab661aSEmmanuel Vadot  reg:
378bab661aSEmmanuel Vadot    maxItems: 1
388bab661aSEmmanuel Vadot
398bab661aSEmmanuel Vadot  clocks:
408bab661aSEmmanuel Vadot    maxItems: 1
418bab661aSEmmanuel Vadot
428bab661aSEmmanuel Vadot  clock-names:
438bab661aSEmmanuel Vadot    description: Input clock (37.125 MHz or 74.25 MHz)
448bab661aSEmmanuel Vadot    items:
458bab661aSEmmanuel Vadot      - const: xclk
468bab661aSEmmanuel Vadot
478bab661aSEmmanuel Vadot  clock-frequency:
488bab661aSEmmanuel Vadot    description: Frequency of the xclk clock in Hz
498bab661aSEmmanuel Vadot
508bab661aSEmmanuel Vadot  vdda-supply:
518bab661aSEmmanuel Vadot    description: Analog power supply (2.9V)
528bab661aSEmmanuel Vadot
538bab661aSEmmanuel Vadot  vddd-supply:
548bab661aSEmmanuel Vadot    description: Digital core power supply (1.2V)
558bab661aSEmmanuel Vadot
568bab661aSEmmanuel Vadot  vdddo-supply:
578bab661aSEmmanuel Vadot    description: Digital I/O power supply (1.8V)
588bab661aSEmmanuel Vadot
598bab661aSEmmanuel Vadot  reset-gpios:
608bab661aSEmmanuel Vadot    description: Sensor reset (XCLR) GPIO
618bab661aSEmmanuel Vadot    maxItems: 1
628bab661aSEmmanuel Vadot
638bab661aSEmmanuel Vadot  port:
648bab661aSEmmanuel Vadot    $ref: /schemas/graph.yaml#/$defs/port-base
658bab661aSEmmanuel Vadot    description: |
668bab661aSEmmanuel Vadot      Video output port
678bab661aSEmmanuel Vadot
688bab661aSEmmanuel Vadot    properties:
698bab661aSEmmanuel Vadot      endpoint:
708bab661aSEmmanuel Vadot        $ref: /schemas/media/video-interfaces.yaml#
718bab661aSEmmanuel Vadot        unevaluatedProperties: false
728bab661aSEmmanuel Vadot
738bab661aSEmmanuel Vadot        properties:
748bab661aSEmmanuel Vadot          data-lanes:
758bab661aSEmmanuel Vadot            anyOf:
768bab661aSEmmanuel Vadot              - items:
778bab661aSEmmanuel Vadot                  - const: 1
788bab661aSEmmanuel Vadot                  - const: 2
798bab661aSEmmanuel Vadot              - items:
808bab661aSEmmanuel Vadot                  - const: 1
818bab661aSEmmanuel Vadot                  - const: 2
828bab661aSEmmanuel Vadot                  - const: 3
838bab661aSEmmanuel Vadot                  - const: 4
848bab661aSEmmanuel Vadot
858bab661aSEmmanuel Vadot          link-frequencies: true
868bab661aSEmmanuel Vadot
878bab661aSEmmanuel Vadot        required:
888bab661aSEmmanuel Vadot          - data-lanes
898bab661aSEmmanuel Vadot          - link-frequencies
908bab661aSEmmanuel Vadot
918bab661aSEmmanuel Vadot    additionalProperties: false
928bab661aSEmmanuel Vadot
938bab661aSEmmanuel Vadotrequired:
948bab661aSEmmanuel Vadot  - compatible
958bab661aSEmmanuel Vadot  - reg
968bab661aSEmmanuel Vadot  - clocks
978bab661aSEmmanuel Vadot  - clock-names
988bab661aSEmmanuel Vadot  - clock-frequency
998bab661aSEmmanuel Vadot  - vdda-supply
1008bab661aSEmmanuel Vadot  - vddd-supply
1018bab661aSEmmanuel Vadot  - vdddo-supply
1028bab661aSEmmanuel Vadot  - port
1038bab661aSEmmanuel Vadot
1048bab661aSEmmanuel VadotadditionalProperties: false
1058bab661aSEmmanuel Vadot
1068bab661aSEmmanuel Vadotexamples:
1078bab661aSEmmanuel Vadot  - |
1088bab661aSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
1098bab661aSEmmanuel Vadot
1108bab661aSEmmanuel Vadot    i2c {
1118bab661aSEmmanuel Vadot        #address-cells = <1>;
1128bab661aSEmmanuel Vadot        #size-cells = <0>;
1138bab661aSEmmanuel Vadot
1148bab661aSEmmanuel Vadot        imx290: camera-sensor@1a {
115*fac71e4eSEmmanuel Vadot            compatible = "sony,imx290lqr";
1168bab661aSEmmanuel Vadot            reg = <0x1a>;
1178bab661aSEmmanuel Vadot
1188bab661aSEmmanuel Vadot            pinctrl-names = "default";
1198bab661aSEmmanuel Vadot            pinctrl-0 = <&camera_rear_default>;
1208bab661aSEmmanuel Vadot
1218bab661aSEmmanuel Vadot            clocks = <&gcc 90>;
1228bab661aSEmmanuel Vadot            clock-names = "xclk";
1238bab661aSEmmanuel Vadot            clock-frequency = <37125000>;
1248bab661aSEmmanuel Vadot
1258bab661aSEmmanuel Vadot            vdddo-supply = <&camera_vdddo_1v8>;
1268bab661aSEmmanuel Vadot            vdda-supply = <&camera_vdda_2v8>;
1278bab661aSEmmanuel Vadot            vddd-supply = <&camera_vddd_1v5>;
1288bab661aSEmmanuel Vadot
1298bab661aSEmmanuel Vadot            reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
1308bab661aSEmmanuel Vadot
1318bab661aSEmmanuel Vadot            port {
1328bab661aSEmmanuel Vadot                imx290_ep: endpoint {
1338bab661aSEmmanuel Vadot                    data-lanes = <1 2 3 4>;
1348bab661aSEmmanuel Vadot                    link-frequencies = /bits/ 64 <445500000>;
1358bab661aSEmmanuel Vadot                    remote-endpoint = <&csiphy0_ep>;
1368bab661aSEmmanuel Vadot                };
1378bab661aSEmmanuel Vadot            };
1388bab661aSEmmanuel Vadot        };
1398bab661aSEmmanuel Vadot    };
1408bab661aSEmmanuel Vadot...
141