MIPI Camera and 3.0.15 Kernel

cancel
Showing results for 
Search instead for 
Did you mean: 

MIPI Camera and 3.0.15 Kernel

3,431 Views
JeremyStashluk
Contributor III

Has anyone successfully run a MIPI camera with nitrogen/sabrelite and 3.0.15?

Should I just wait for mxc/capture to be ported for 3.4, and when would that be expected to happen?

Labels (1)
0 Kudos
14 Replies

84 Views
TomMorrison
Contributor III

Thank-you Jeremy - what tool chain are you using to build the

kernel? I currently do not have access to the Freescale build

environment, and will have to build this kernel in some external

build environment.

Tom

0 Kudos

84 Views
JeremyStashluk
Contributor III

I use the arm-linux-gnueabi- stuff that installs with apt-get on Ubuntu 12.04 for the toolchain.

To build the file system I either use Yocto/Poky on Ubuntu 12.04 or LTIB in a virtual machine on Ubuntu 10.10.

0 Kudos

84 Views
oferlivny
Contributor I

Hi Jeremy,

I am interested in capturing video with MIPI sensor on Sabrelite as well.

Did you manage to get that working?

Can you give out some information regarding your setup and the ipu/v4l drivers functionality?

Thanks

0 Kudos

84 Views
JeremyStashluk
Contributor III

Yes, I did get it working (mostly).  Using the latest Yocto/Poky fsl-community-bsp and the Boundary Devices kernel.

I can capture images and send them to the GStreamer ximagesink.

I cannot get the v4l2sink to work with L3.0.35_MX6DQ_ER_1208-Beta (LTIB) release from Freescale or the Yocto/Poky BSP.  It displays one frame, then hangs.  The videotestsrc seems to work correctly with the v4l2sink however.  I feel that there may be some conflict in the IPU DMA engine?

There are a bunch of v4l2-compliance issues that need to be fixed to get v4l2src to work.

0 Kudos

84 Views
TMain
Contributor III

Can you provide the manufacturer of the MIPI Camera you used for your development? Also, was this on the iMX51 or the iMX6?

0 Kudos

84 Views
JeremyStashluk
Contributor III

This was on the Nitrogen6X, so i.MX6 with a HiMax HM1055 sensor.

0 Kudos

84 Views
TomMorrison
Contributor III

I'm in the same boat but with the OV5642 camera - when I try to use gst-inspect mfw_v4lsrc - it has NO attributes to

view (i.e.: capture-height/width/mode)?

and of course gst-launch with the camera doesn't work too...

This is with the latest ER6-xxx (and associated uImage) from Boundary Devices.

Any help?

0 Kudos

84 Views
alisonchaiken_m
Contributor III

We have had difficulty locating MIPI cameras and displays.  Please share the source that you are using for your cameras.

Thanks,

Alison Chaiken

alison_chaiken@mentor.com

0 Kudos

84 Views
TomMorrison
Contributor III

I'm not exactly sure what you are asking Alison. The current Freescale release (ER-12-09)

has bugs around the mfw_v4lsrc. Waiting fixes from Freescale. I have used the Timesys

Free Web Factory build and have gotten past this mfw_v4lsrc. I still have other issues - but

at least I get a valid gst-inspect mfw_v4lsrc (instead of an abort).

0 Kudos

84 Views
alisonchaiken_m
Contributor III

TomMorrision, I am having trouble PURCHASING a MIPI camera and display to test with i.MX6Q and i.MX6S boards (SABRE-SD, SABRE-AI) already in my possession.      The vendors who are offering them appear to be selling large lots via pre-order.    Does anyone know a vendor who will sell a small quantity right now?   Thanks.

0 Kudos

84 Views
TomMorrison
Contributor III

why didn't you purchase the mipi camera that Boundary Devices had when you bought

the board - it is essentially made for that board...?

0 Kudos

84 Views
alisonchaiken_m
Contributor III

TomMorrison, we thought our SABRELite would arrive with a MIPI camera, but what we received is a parallel RGB unit instead.

-- Alison

0 Kudos

84 Views
JeremyStashluk
Contributor III

The driver has quite a few v4l2 compatibility issues, however these were the two issues blocking me from using my camera with v4l2src.  I've included the relevant sections of the patches, as mine also contain changes for my camera.

1)  Switch IPU from parallel to MIPI CSI-2 input:

--- a/arch/arm/mach-mx6/board-mx6q_sabrelite.c

+++ b/arch/arm/mach-mx6/board-mx6q_sabrelite.c

@@ -717,7 +717,11 @@ static void mx6q_csi0_io_init(void)

         * IPU2 CSI0 directly connect to mipi csi2,

         *      virtual channel is fixed to 2

         */

-        mxc_iomux_set_gpr_register(1, 19, 1, 1);

+       mxc_iomux_set_gpr_register(1, 19, 1, 0);

}

2) Stop driver from sending infinite standard enumeration responses.  This should allow v4l2src to proceed.

--- a/drivers/media/video/mxc/capture/mxc_v4l2_capture.c

+++ b/drivers/media/video/mxc/capture/mxc_v4l2_capture.c

@@ -2234,7 +2258,13 @@ static long mxc_v4l_do_ioctl(struct file *file,

        case VIDIOC_ENUMSTD: {

                struct v4l2_standard *e = arg;

                pr_debug("   case VIDIOC_ENUMSTD\n");

-               *e = cam->standard;

+

+               retval = -EINVAL;

+

+               if (e->index == 0) {

+                       *e = cam->standard;

+                       retval = 0;

+               }

                break;

        }

0 Kudos

84 Views
normancheung
Contributor III


Jeremy,

In the patch I wonder why the switch from  CSI-0 to CSI-2?  What is the conflict?

Thanks,

Norman

0 Kudos