notro / fbtft

Linux Framebuffer drivers for small TFT LCD display modules. Development has moved to https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/fbtft?h=staging-testing
1.86k stars 495 forks source link

Upstreaming fbtft #30

Closed Rob-Bishop closed 10 years ago

Rob-Bishop commented 11 years ago

Hi,

We would love to include the fbtft driver in the standard raspberry pi linux kernel (raspberrypi/linux) but have a policy of trying to avoid pulling in out of tree drivers.

Do you have any plans for upstreaming the driver? Once it's been upstreamed we would be happy to pick it up for inclusion.

Best,

Rob Bishop

noafterglow commented 11 years ago

Rob,

There is also an updated SPI driver which would probably be helpful. There a thread about it: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=19489. as well as code:

https://github.com/msperl/linux/commit/73afedc07e3b94d8b9d588912faf26081178d268

notro commented 11 years ago

We would love to include the fbtft driver in the standard raspberry pi linux kernel (raspberrypi/linux) but have a policy of trying to avoid pulling in out of tree drivers. Do you have any plans for upstreaming the driver? Once it's been upstreamed we would be happy to pick it up for inclusion.

The project has seen a significant increase in interest over the last 2-3 months (wiki web statistics), and I'm struggling to keep up with answering questions and moving the project forward. I'm have really been a bit lost on how to handle this "success". It has after all, for the most part, been just a one man hobby project. So maybe moving it upstream could be a way to help me handle this increased pressure, by including it in a community project, instead of being a personal one.

One issue is runtime device configuration. I have written a kernel module, fbtft_device, that can add SPI/Platform devices for the various drivers/displays. And also one for adding a device for the touch controller driver used by some of the displays. How would they fit into an upstreaming?

Device Tree could be a solution to runtime configuration. Is there any ongoing work on adding Device Tree support to the official kernel?

Would the fbtft drivers be included in the Raspbian wheezy distribution? (Have I understood it correctly that this distro uses kernels from raspberrypi/firmware?)

notro commented 11 years ago

There is also an updated SPI driver which would probably be helpful.

I have started to look into that driver. The fbtft project could possibly do 20fps on a 240x320 display with the help of a DMA capable SPI Controller driver. With the current driver this is not possible, because the driver chokes the CPU (testing shows 70-80% used by the kernel worker thread, 20-30% by mplayer). But so far I haven't been succesful in my work on this: Need help with SPI and DMA from kernel module

For me there is 3 major issues with the driver in it's current state:

Besides DMA, one advantage with this driver is that it doesn't use the deprecated API.