RPi Camera on i.MX6Q SABRESD

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

RPi Camera on i.MX6Q SABRESD

4,193 Views
steffendoster
Contributor IV

Hi,

 

I want to connect a Raspberry Pi Camera (RPi Camera (F) - Waveshare Wiki ) to the i.MX6 SABRESD board.

For this I want to use 3-Lane-CSI-Interface on the board, which is normally not populated. I managed to connect the camera to the three lanes (I'm pretty sure, that I connected it right) and supplied it with 3.3V. See the attached Image for details, the wire leading out of the Image connects to 3.3V.

 

But now I simply have no clue, how to activate and route the CSI Interface for the camera in device tree. I googled a lot, but did not find much. I already tried something, but (as I expected) didn't get it to work.

I attached the (decompiled) device tree to this thread. Hopefully you can read something.

 

With this device tree and the advisions here:

u-boot on the i.MX6 sabre sd platform in a few commands

Linux on the i.MX6 sabre sd platform in a few commands

https://community.nxp.com/docs/DOC-95044#comment-27229

I was able to get Debian 8 with Linux 4.5 (and even KDE) running on the SABRESD.

 

What do I need to activate the CSI-Interface in Devicetree. Do I have to patch the Kernel somehow? Or am I doing something terrible wrong?

Original Attachment has been moved to: imx6q-sabresd.dts.zip

Labels (4)
0 Kudos
4 Replies

1,716 Views
evankahn
Contributor II

I am working with Yocto, which has modular device tree definitions, but I'm not sure how to modify device tree files in mainline Linux. That being said, reading through the solid-run thread, it seems like the device tree files for the Hummingboard, here​, make the appropriate changes to the device tree that result in the ov5647 drivers being loaded. Since I have this board, I am trying to adapt the changes made by the code for the Hummingboard to use appropriate regulator/iomux settings. I haven't got it connecting as /dev/video0 yet, but I have gotten kernel debug messages that indicate that the v4l2 stack and the 5647 drivers are being loaded, if not yet correctly connected to each other. Encouragingly, changes similar to the ones that I see for the Hummingboard device tree were made in this patch (I can't remember where I found it) for a non-Yocto build of an older kernel.

Today's work for me will be reading through this thread​ and this thread​, which it looks like contains Dave McMordie's original development of the imx6 driver, to try and figure out what I should be plugging into what, and modifying my device tree accordingly.

0 Kudos

1,716 Views
evankahn
Contributor II

Hi steffendoster​-

Did you manage to make any progress on this? I am working on getting an OV5647 set up on a MIPI interface on the i.mx6 SCM kit based off the patch here:

http://www.xilka.com/kernel/3/3.14/3.14.30/source/Linux-3.14.29-ov5647-20150126.patch

And the device tree modifications here:

http://forum.solid-run.com/linux-kernel-and-bootloaders-on-cubox-i-and-hummin-f10/ov5647-driver--t17...

After having modified my dtsi file to follow the one in the examples above as much as possible, I am making progress with the device tree process but am now getting kernel errors on boot. Did you manage to get any further?

0 Kudos

1,716 Views
steffendoster
Contributor IV

Hi evan,

no, I didn't make any progress yet. I tried the Kernels

rel_imx_4.1.15_1.2.0_ga and rel_imx_3.14.52_1.1.0_ga.

But they simply won't compile. I neither use buildroot nor yocto. I already have a working system (now with mainline kernel 4.6.2). The only thing I want is a kernel with built in ov5647 support (as it seems to be available in the mentioned kernels).

But I think I give your way a try. Which Kernel did you patch? Where can I get it from?

0 Kudos

1,716 Views
igorpadykov
NXP Employee
NXP Employee

Hi Steffen

since it uses OV5647 it may be useful to look at

i.MX6 OV5647 Bayer sensor driver (ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0)

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos