AnsweredAssumed Answered

Unable to get feed from MIPI CSI2 camera

Question asked by srinivasaporam on Jan 3, 2016
Latest reply on Jan 3, 2016 by srinivasaporam

Hi,

We have got IMX6Q custom board designed based on reference Board (Wandboard). Now We are connecting MIPI CSI sensor to connector and want to get the camera feed from the sensor. The Camera that we have selected is ada fruit's spy camera (https://www.adafruit.com/products/1937 )

 

Voltage we have supplied is 1.8 V and when we are running the following command:

 

$sudo avconv -f video4linux2 -i /dev/video0 out.avi

 

then no file is being created with name out.avi  or no camera is working.

 

I have included following in the dtsi file :

 

v4l2_cap_0 {

        compatible = "fsl,imx6q-v4l2-capture";

        ipu_id = <0>;

        csi_id = <0>;

                //csi_id = <0>;

        mclk_source = <0>;

              // mipi_camera = <1>;

               //default_input = <1>;

        status = "okay";

    };

 

    v4l2_out {

        compatible = "fsl,mxc_v4l2_output";

        status = "okay";

    };

 

 

for camera :

 

&i2c1 {

    clock-frequency = <100000>;

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_i2c1_1>;

    status = "okay";

 

   ov5647_mipi@36 {

        compatible = "ovti,ov5647_mipi";

        reg = <0x36>;

        // Pi camera has its own 25MHz clock.

        clocks = <&clks 0>;

        clock-names = "csi_mclk";

        DOVDD-supply = <&reg_1p8v>;

        AVDD-supply = <&reg_2p5v>;

        DVDD-supply = <&reg_1p8v>;

        pwn-gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;

        ipu_id = <0>;

        csi_id = <0>;

                //csi_id = <1>;

        mclk = <25000000>;

        mclk_source = <0>;

       

           };

  };

 

 

 

&iomuxc {

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_hog_1>;

 

    imx6qdl-wandboard {

        pinctrl_hog_1: hoggrp-1 {

            fsl,pins = <

                             

                               MX6QDL_PAD_CSI0_DAT12__GPIO5_IO30            0x80000000

                                  

>;

        };

    };

 

 

and for mipi-csi:

 

&mipi_csi {

    ipu_id = <0>;

    csi_id = <0>;

        //csi_id = <1>;

    v_channel = <0>;

    lanes = <2>;

        //mipi_dphy_clk = <0x14>;

    status = "okay";

};

 

 

 

But, the camera is not working.

 

Since we have connected CSI0_MCLK to the Camera, We have tried as below also:

 

&i2c1 {

    clock-frequency = <100000>;

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_i2c1_1>;

    status = "okay";

 

   ov5647_mipi@36 {

        compatible = "ovti,ov5647_mipi";

        reg = <0x36>;

       

        clocks = <&clks 201>;

        clock-names = "csi_mclk";

        DOVDD-supply = <&reg_1p8v>;

        AVDD-supply = <&reg_2p5v>;

        DVDD-supply = <&reg_1p8v>;

        pwn-gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;

        ipu_id = <0>;

        csi_id = <0>;

                //csi_id = <1>;

        mclk = <24000000>;

        mclk_source = <0>;

       

           };

  };

 

 

&iomuxc {

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_hog_1>;

 

    imx6qdl-wandboard {

        pinctrl_hog_1: hoggrp-1 {

            fsl,pins = <

                             

                                //MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1        0x000b0

                                MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1                 0x80000000

                                MX6QDL_PAD_CSI0_DAT12__GPIO5_IO30            0x80000000

                                  

>;

        };

    };

 

 

in this case, camera feed is not coming. What is mistake that we are doing???? Why camera feed is not coming??? is GPU necessary for the mipi csi2 work???

 

 

Please find attached  ov5647_mipi.c (driver file) as well as schematic for the same????

Original Attachment has been moved to: ov5647_mipi.c.zip

Attachments

Outcomes