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?
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
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.
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
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.
Can you provide the manufacturer of the MIPI Camera you used for your development? Also, was this on the iMX51 or the iMX6?
This was on the Nitrogen6X, so i.MX6 with a HiMax HM1055 sensor.
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?
We have had difficulty locating MIPI cameras and displays. Please share the source that you are using for your cameras.
Thanks,
Alison Chaiken
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).
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.
why didn't you purchase the mipi camera that Boundary Devices had when you bought
the board - it is essentially made for that board...?
TomMorrison, we thought our SABRELite would arrive with a MIPI camera, but what we received is a parallel RGB unit instead.
-- Alison
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;
}
Jeremy,
In the patch I wonder why the switch from CSI-0 to CSI-2? What is the conflict?
Thanks,
Norman