[media] dt/bindings: Add bindings for OV5640
[platform/kernel/linux-rpi.git] / Documentation / devicetree / bindings / media / i2c / ov5640.txt
1 * Omnivision OV5640 MIPI CSI-2 sensor
2
3 Required Properties:
4 - compatible: should be "ovti,ov5640"
5 - clocks: reference to the xclk input clock.
6 - clock-names: should be "xclk".
7 - DOVDD-supply: Digital I/O voltage supply, 1.8 volts
8 - AVDD-supply: Analog voltage supply, 2.8 volts
9 - DVDD-supply: Digital core voltage supply, 1.5 volts
10
11 Optional Properties:
12 - reset-gpios: reference to the GPIO connected to the reset pin, if any.
13                This is an active low signal to the OV5640.
14 - powerdown-gpios: reference to the GPIO connected to the powerdown pin,
15                    if any. This is an active high signal to the OV5640.
16
17 The device node must contain one 'port' child node for its digital output
18 video port, in accordance with the video interface bindings defined in
19 Documentation/devicetree/bindings/media/video-interfaces.txt.
20
21 Example:
22
23 &i2c1 {
24         ov5640: camera@3c {
25                 compatible = "ovti,ov5640";
26                 pinctrl-names = "default";
27                 pinctrl-0 = <&pinctrl_ov5640>;
28                 reg = <0x3c>;
29                 clocks = <&clks IMX6QDL_CLK_CKO>;
30                 clock-names = "xclk";
31                 DOVDD-supply = <&vgen4_reg>; /* 1.8v */
32                 AVDD-supply = <&vgen3_reg>;  /* 2.8v */
33                 DVDD-supply = <&vgen2_reg>;  /* 1.5v */
34                 powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
35                 reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
36
37                 port {
38                         ov5640_to_mipi_csi2: endpoint {
39                                 remote-endpoint = <&mipi_csi2_from_ov5640>;
40                                 clock-lanes = <0>;
41                                 data-lanes = <1 2>;
42                         };
43                 };
44         };
45 };