* 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>; 
 | 
            }; 
 | 
        }; 
 | 
    }; 
 | 
}; 
 |