| * Omnivision OV5640 MIPI CSI-2 / parallel sensor |
| |
| Required Properties: |
| - compatible: should be "ovti,ov5640" |
| - clocks: reference to the xclk input clock. |
| - clock-names: should be "xclk". |
| - DOVDD-supply: Digital I/O voltage supply, 1.8 volts |
| - AVDD-supply: Analog voltage supply, 2.8 volts |
| - DVDD-supply: Digital core voltage supply, 1.5 volts |
| |
| Optional Properties: |
| - reset-gpios: reference to the GPIO connected to the reset pin, if any. |
| This is an active low signal to the OV5640. |
| - powerdown-gpios: reference to the GPIO connected to the powerdown pin, |
| if any. This is an active high signal to the OV5640. |
| - rotation: as defined in |
| Documentation/devicetree/bindings/media/video-interfaces.txt, |
| valid values are 0 (sensor mounted upright) and 180 (sensor |
| mounted upside down). |
| |
| The device node must contain one 'port' child node for its digital output |
| video port, in accordance with the video interface bindings defined in |
| Documentation/devicetree/bindings/media/video-interfaces.txt. |
| |
| OV5640 can be connected to a MIPI CSI-2 bus or a parallel bus endpoint. |
| |
| Endpoint node required properties for CSI-2 connection are: |
| - remote-endpoint: a phandle to the bus receiver's endpoint node. |
| - clock-lanes: should be set to <0> (clock lane on hardware lane 0) |
| - data-lanes: should be set to <1> or <1 2> (one or two CSI-2 lanes supported) |
| |
| Endpoint node required properties for parallel connection are: |
| - remote-endpoint: a phandle to the bus receiver's endpoint node. |
| - bus-width: shall be set to <8> for 8 bits parallel bus |
| or <10> for 10 bits parallel bus |
| - data-shift: shall be set to <2> for 8 bits parallel bus |
| (lines 9:2 are used) or <0> for 10 bits parallel bus |
| - hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively. |
| - vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively. |
| - pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock |
| signal. |
| |
| Examples: |
| |
| &i2c1 { |
| ov5640: camera@3c { |
| compatible = "ovti,ov5640"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_ov5640>; |
| reg = <0x3c>; |
| clocks = <&clks IMX6QDL_CLK_CKO>; |
| clock-names = "xclk"; |
| DOVDD-supply = <&vgen4_reg>; /* 1.8v */ |
| AVDD-supply = <&vgen3_reg>; /* 2.8v */ |
| DVDD-supply = <&vgen2_reg>; /* 1.5v */ |
| powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>; |
| reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>; |
| rotation = <180>; |
| |
| port { |
| /* MIPI CSI-2 bus endpoint */ |
| ov5640_to_mipi_csi2: endpoint { |
| remote-endpoint = <&mipi_csi2_from_ov5640>; |
| clock-lanes = <0>; |
| data-lanes = <1 2>; |
| }; |
| }; |
| }; |
| }; |
| |
| &i2c1 { |
| ov5640: camera@3c { |
| compatible = "ovti,ov5640"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_ov5640>; |
| reg = <0x3c>; |
| clocks = <&clk_ext_camera>; |
| clock-names = "xclk"; |
| |
| port { |
| /* Parallel bus endpoint */ |
| ov5640_to_parallel: endpoint { |
| remote-endpoint = <¶llel_from_ov5640>; |
| bus-width = <8>; |
| data-shift = <2>; /* lines 9:2 are used */ |
| hsync-active = <0>; |
| vsync-active = <0>; |
| pclk-sample = <1>; |
| }; |
| }; |
| }; |
| }; |