new camera driver



Recommended Posts

i worked on the BPI M1 Board (the first one) for quite a while now improving or more or less rewriting the A20 CSI camera driver.

there are no more artifact-ghost-frames any more.

The framerate goes from 5fps(full) to 120fps(crobbed small)

i also modified the camera-device driver for the ov5640.

disadvantage: existing camera device drivers would not be compatible any more.


maybe someone wants to give it a try and check it out.


it can be found here:

Link to post
Share on other sites

Donate and support the project!

Hi ?Alex


Yes, kernel version is 3.4.112, i guess (not having it on desk)


actual source code was:


It seems the CSI driver did not change over the last years.


If u check it out, disable the DEBUG output in the source files (forgot that)



the device driver files are all for ov5640, but different setups:

- ov5640.c = standard

the others have features like autofocus, crobbing, scaling.

so just to be be able to easy switch to explore features.


In ..docu/ there is a util "vt" to measure framerate with no output and also set resolutions.

Link to post
Share on other sites

Just as a thought....if to integrate that into mainline.....

is there any CSI support in mainline?  (if not, we put it right into the Cam driver. as no one else is using CSI-0 and 1).

plus supporting videobuf2.


I think the Clock module is there as well as the I2C.


ps. just wonder what other chips have compatible CSI port ???

Link to post
Share on other sites

Hi jiapei100,


yes i should have named it "sun4i_csi" so one can easier clone it under .../drivers/media/video/sun4i_sci...

and yes you shall have an allwinner/lemaker based kernel sourcecode on your Bananapi with its uImage being booted.

Last week i checked this one and it works:

unfortunate i found no armbian kernel on github, but this works with patches only i guess.


Under /lib/modules/..  you find the module tree for each kernel that ever resided on your system.




goto cd .../drivers/media/video/ ,  rm -r sun4i_csi  to remove the whole driver.

git clone


now u have this "ov5640-sunxi-a20"  directory under video. rename it: mv  ov5640-sunxi-a20   sun4i_csi


goback to your source root:

make modules

make modules_install



if you specified ov5640 as default camera in your fex file you are all set, else you have to modprobe the right one.


i used "guvcview" app for testing which worked fair, cheese did not.

another good test app is "qv4l2", apt-get install qv4l2  !  though video output is slow but controls work exact.


in the "docu" directory there are some scripts to easy change your camera device and also a "vt" commandline tool that also outputs video.

the other camera drivers in "device" are all ov5640 with some different setups, read first line in file.


i will update some changes shortly.




Link to post
Share on other sites

This topic is now closed to further replies.