IMX6 with OV5640 MIPI camera

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6 with OV5640 MIPI camera

2,579 Views
vsv
Contributor III

Hi all

When we use iMX6Q with OV5640 MIPI camera, we find that the camera device seems to be getting released as soon as it is opened. Here is the debug log that we are getting after enabling DEBUG:

In MVC: mxc_v4l_open                                                      
   device name is Mxc Camera                                              
End of mxc_v4l_open: v2f pix widthxheight 288 x 352                       
End of mxc_v4l_open: crop_bounds widthxheight 640 x 480                   
End of mxc_v4l_open: crop_defrect widthxheight 640 x 480                  
End of mxc_v4l_open: crop_current widthxheight 640 x 480                  
On Open: Input to ipu size is 640 x 480                                   
In MVC:mxc_v4l_ioctl                                                      
In MVC: mxc_v4l_do_ioctl 80685600                                         
   case VIDIOC_QUERYCAP                                                   
In MVC:mxc_v4l_ioctl                                                      
In MVC: mxc_v4l_do_ioctl c02c5651                                         
In MVC:mxc_v4l_close                                                      
mxc_v4l_close: release resource                                           
MVC: In mxc_free_frame_buf                                                

In MVC:mxc_free_frames

The following are the changes made by us in the Android 4 code base:

- Changed .csi field in ov5640_mipi_data structure from 0 to 1 in mx6q_sabrelite.c

static struct fsl_mxc_camera_platform_data ov5640_mipi_data = {

    .mclk = 22000000,

    .csi = 1,

    .io_init = mx6_mipi_sensor_io_init,

    .pwdn = ov5640_mipi_camera_powerdown,

};

- Changed csi_id in mipi_csi2_pdata from 0 to 1

static struct mipi_csi2_platform_data mipi_csi2_pdata = {

    .ipu_id     = 0,

    .csi_id = 1,

    .v_channel = 0,

    .lanes = 2,

    .dphy_clk = "mipi_pllref_clk",

    .pixel_clk = "emi_clk",

};

- Commented the first capture interface in board_init (Since we are using only one camera - MIPI Camera - alone)

static struct fsl_mxc_capture_platform_data capture_data[] = {

    {

        .csi = 0,

        .ipu = 0,

        .mclk_source = 0,

        .is_mipi = 0,

    }, {

        .csi = 1,

        .ipu = 0,

        .mclk_source = 0,

        .is_mipi = 1,

    },

};

imx6q_add_v4l2_output(0);

    //imx6q_add_v4l2_capture(0, &capture_data[0]);

    imx6q_add_v4l2_capture(1, &capture_data[1]);

- In mxc_v4l2_capture.c, changed CAPTURE_NUM_INPUTS to 1 from 2 since we have only one capture interface now.

Can someone throw some inputs on why the camera seems to be stopping and not working as expected?

Thanks in advance for your inputs and help.

Labels (3)
Tags (3)
0 Kudos
0 Replies