xref: /freebsd-src/sys/contrib/device-tree/Bindings/media/i2c/imx219.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/imx219.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Sony 1/4.0-Inch 8Mpixel CMOS Digital Image Sensor
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Dave Stevenson <dave.stevenson@raspberrypi.com>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotdescription: |-
13c66ec88fSEmmanuel Vadot  The Sony imx219 is a 1/4.0-inch CMOS active pixel digital image sensor
14c66ec88fSEmmanuel Vadot  with an active array size of 3280H x 2464V. It is programmable through
15c66ec88fSEmmanuel Vadot  I2C interface. The I2C address is fixed to 0x10 as per sensor data sheet.
16c66ec88fSEmmanuel Vadot  Image data is sent through MIPI CSI-2, which is configured as either 2 or
17c66ec88fSEmmanuel Vadot  4 data lanes.
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadotproperties:
20c66ec88fSEmmanuel Vadot  compatible:
21c66ec88fSEmmanuel Vadot    const: sony,imx219
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot  reg:
24c66ec88fSEmmanuel Vadot    description: I2C device address
25c66ec88fSEmmanuel Vadot    maxItems: 1
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot  clocks:
28c66ec88fSEmmanuel Vadot    maxItems: 1
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot  VDIG-supply:
31c66ec88fSEmmanuel Vadot    description:
32c66ec88fSEmmanuel Vadot      Digital I/O voltage supply, 1.8 volts
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot  VANA-supply:
35c66ec88fSEmmanuel Vadot    description:
36c66ec88fSEmmanuel Vadot      Analog voltage supply, 2.8 volts
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot  VDDL-supply:
39c66ec88fSEmmanuel Vadot    description:
40c66ec88fSEmmanuel Vadot      Digital core voltage supply, 1.2 volts
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  reset-gpios:
435def4c47SEmmanuel Vadot    maxItems: 1
44c66ec88fSEmmanuel Vadot    description: |-
45c66ec88fSEmmanuel Vadot      Reference to the GPIO connected to the xclr pin, if any.
46c66ec88fSEmmanuel Vadot      Must be released (set high) after all supplies are applied.
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot  port:
495def4c47SEmmanuel Vadot    $ref: /schemas/graph.yaml#/$defs/port-base
505def4c47SEmmanuel Vadot    additionalProperties: false
515def4c47SEmmanuel Vadot
52c66ec88fSEmmanuel Vadot    properties:
53c66ec88fSEmmanuel Vadot      endpoint:
545def4c47SEmmanuel Vadot        $ref: /schemas/media/video-interfaces.yaml#
555def4c47SEmmanuel Vadot        unevaluatedProperties: false
565def4c47SEmmanuel Vadot
57c66ec88fSEmmanuel Vadot        properties:
58c66ec88fSEmmanuel Vadot          data-lanes:
59c66ec88fSEmmanuel Vadot            description: |-
60c66ec88fSEmmanuel Vadot              The sensor supports either two-lane, or four-lane operation.
61c66ec88fSEmmanuel Vadot              If this property is omitted four-lane operation is assumed.
62c66ec88fSEmmanuel Vadot              For two-lane operation the property must be set to <1 2>.
63c66ec88fSEmmanuel Vadot            items:
64c66ec88fSEmmanuel Vadot              - const: 1
65c66ec88fSEmmanuel Vadot              - const: 2
66c66ec88fSEmmanuel Vadot
675def4c47SEmmanuel Vadot          clock-noncontinuous: true
685def4c47SEmmanuel Vadot          link-frequencies: true
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot        required:
71c66ec88fSEmmanuel Vadot          - link-frequencies
72c66ec88fSEmmanuel Vadot
73c66ec88fSEmmanuel Vadotrequired:
74c66ec88fSEmmanuel Vadot  - compatible
75c66ec88fSEmmanuel Vadot  - reg
76c66ec88fSEmmanuel Vadot  - clocks
77c66ec88fSEmmanuel Vadot  - VANA-supply
78c66ec88fSEmmanuel Vadot  - VDIG-supply
79c66ec88fSEmmanuel Vadot  - VDDL-supply
80c66ec88fSEmmanuel Vadot  - port
81c66ec88fSEmmanuel Vadot
82c66ec88fSEmmanuel VadotadditionalProperties: false
83c66ec88fSEmmanuel Vadot
84c66ec88fSEmmanuel Vadotexamples:
85c66ec88fSEmmanuel Vadot  - |
86*fac71e4eSEmmanuel Vadot    i2c {
87c66ec88fSEmmanuel Vadot        #address-cells = <1>;
88c66ec88fSEmmanuel Vadot        #size-cells = <0>;
89c66ec88fSEmmanuel Vadot
90c66ec88fSEmmanuel Vadot        imx219: sensor@10 {
91c66ec88fSEmmanuel Vadot            compatible = "sony,imx219";
92c66ec88fSEmmanuel Vadot            reg = <0x10>;
93c66ec88fSEmmanuel Vadot            clocks = <&imx219_clk>;
94c66ec88fSEmmanuel Vadot            VANA-supply = <&imx219_vana>;   /* 2.8v */
95c66ec88fSEmmanuel Vadot            VDIG-supply = <&imx219_vdig>;   /* 1.8v */
96c66ec88fSEmmanuel Vadot            VDDL-supply = <&imx219_vddl>;   /* 1.2v */
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadot            port {
99c66ec88fSEmmanuel Vadot                imx219_0: endpoint {
100c66ec88fSEmmanuel Vadot                    remote-endpoint = <&csi1_ep>;
101c66ec88fSEmmanuel Vadot                    data-lanes = <1 2>;
102c66ec88fSEmmanuel Vadot                    clock-noncontinuous;
103c66ec88fSEmmanuel Vadot                    link-frequencies = /bits/ 64 <456000000>;
104c66ec88fSEmmanuel Vadot                };
105c66ec88fSEmmanuel Vadot            };
106c66ec88fSEmmanuel Vadot        };
107c66ec88fSEmmanuel Vadot    };
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot...
110