AnsweredAssumed Answered

BT1120 16bit csi0 Driver

Question asked by Jorge Soria on Jan 21, 2015

I'm trying to develop a v4l2 driver for getting data from the csi0 bus in BT1120 format.(I'm using sabrelite for testing)

I'm trying to use the sii9135 patch but the kernel version that supports it directly is very old (3.0.15 from Boundary devices).

Have you ported the patch to a newer kernel version?

Which version are you using?

I'm a little lost with this task, I hope I'm not asking any dumb question.


I share a previous discussion with Allan Mattew so everyone can access to this useful information:


Allan Matthew  hace 1 semana

Hi Jorge-
The BT1120 patch is definitely a bit tricky.  I did end up using that sii9135 patch (for mxc_v4l2_capture) and used it as a reference for my adv7610.c driver file.  Although 3.0.15 is pretty old, there aren't too many differences to 3.10.17, but you'll definitely want to go through and check everything.  Lastly, I think I mention in a couple of my posts about what settings I had to use to get the BT1120 working, I think everything I needed is noted there.

Best of luck!


Jorge Soria  hace 1 semana

Thank you Allan, i'll go though your posts and try to port the patch to 3.10.17.

I've no previous experience in kernel or driver development so this is an adventure for me


Your help is much appreciated!



Jorge Soria  hace 7 días

Hello Allan, I've been making the modifications to the kernel following the patch.

You are right, 3.0.15 and 3.10.17 aren't so different. There is one file that doesn't exist en 3.10.17 which is "board-mx6q_sabrelite.c".

Do you know where is that funcionality in modern kernels? Is it in the Device Tree or in an equivalent source file I haven't found?

Do you remember any extra modifications that I must do in the Device tree?


Thank you very much for your hints, they are very useful and I'm learning a lot!.



Allan Matthew  hace 7 días

Yes, you need to use the device tree for the newer kernel.  You'll find it in arch/arm/boot/dts/.  I had to add my decoder chip to an i2c bus and specify the pin connection format for the IPU1/CSI0 in the devicetree file.


Glad you're learning!  Btw please post this stuff publicly in the future so it can help others.  Thanks!



Is it possible to modify this driver so it doesn't use any i2c communication at all? My device will be always sending data in the same format (always the same resolution, and supposedly always on).


Original Attachment has been moved to: