diff options
| author | Peter Seiderer <ps.report@gmx.net> | 2015-01-03 21:01:47 +0100 |
|---|---|---|
| committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-01-10 15:25:31 +0100 |
| commit | 9b2bbe3422d1e96eaf1e7f09743c325b48023ac2 (patch) | |
| tree | d89935f4c784df651ecb83f43e488c390a311015 /linux | |
| parent | ce36c35c420dc9bff7d7f62490e4eb1e47d1a9dd (diff) | |
| download | buildroot-9b2bbe3422d1e96eaf1e7f09743c325b48023ac2.tar.gz buildroot-9b2bbe3422d1e96eaf1e7f09743c325b48023ac2.zip | |
linux: add fbtft kernel extension
Tested with RaspberryPi B+ and PiTFT Mini Kit - 320x240 2.8" TFT
(see [1] and [2]) and the following target configuration changes:
- cmdline.txt: add 'fbcon=map:10 fbcon=font:VGA8x8'
- add /etc/modules-load.d/fbtft.conf with 'fbtft_device'
- add /etc/modprobe.d/00-fbtft.conf with 'options fbtft_device name=adafruit28 rotate=90 gpios=dc:25'
[1] http://h65951.serverkompetenz.net/PeterSeiderer/upload/PiTFT_2_8_ct/Image9893.jpg
[2] http://h65951.serverkompetenz.net/PeterSeiderer/upload/PiTFT_2_8_ct/Image9897.jpg
[Thomas:
- Rename prompt of the Linux extension to "FB TFT drivers"
- Remove the full name of the kernel config options in the help
text. Giving their CONFIG_<foo> name is enough.
- Remove the mention of CONFIG_SPI_BCM2708, since this makes the
description RaspberryPi specific, while these drivers can work
with any SPI controller.
- Refactor the code in linux-ext-fbtft.mk to avoid duplication
between the < 3.15 and >= 3.15 cases.
- Make the fbtft package a promptless package, since there is no
point in selecting only this package, without the kernel
extension.
- Change the license to GPLv2, since it's kernel code.]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'linux')
| -rw-r--r-- | linux/Config.ext.in | 18 | ||||
| -rw-r--r-- | linux/linux-ext-fbtft.mk | 28 |
2 files changed, 46 insertions, 0 deletions
diff --git a/linux/Config.ext.in b/linux/Config.ext.in index 40c468424a..8f156874f0 100644 --- a/linux/Config.ext.in +++ b/linux/Config.ext.in @@ -42,4 +42,22 @@ config BR2_LINUX_KERNEL_EXT_RTAI_PATCH help Optionally, explicitly specify the RTAI patch to use. +# fbtft +config BR2_LINUX_KERNEL_EXT_FBTFT + bool "FB TFT drivers" + select BR2_PACKAGE_FBTFT + help + Linux Framebuffer drivers for small TFT LCD display modules, + e.g. Adafruit PiTFT displays for Raspberry Pi. + + To enable fbtft, e.g. for Adafruit 2.8 PiTFT, enable the + following kernel configurations: + - CONFIG_SPI + - CONFIG_GPIOLIB + - CONFIG_FB + - CONFIG_FB_TFT + - CONFIG_FB_TFT_ILI9341 + + https://github.com/notro/fbtft + endmenu diff --git a/linux/linux-ext-fbtft.mk b/linux/linux-ext-fbtft.mk new file mode 100644 index 0000000000..36f4fd22dd --- /dev/null +++ b/linux/linux-ext-fbtft.mk @@ -0,0 +1,28 @@ +################################################################################ +# Linux fbtft extensions +# +# Patch the linux kernel with fbtft extension +################################################################################ + +ifeq ($(BR2_LINUX_KERNEL_EXT_FBTFT),y) +# Add dependency to fbtft package (download helper for the fbtft source) +LINUX_DEPENDENCIES += fbtft + +# for linux >= 3.15 install to drivers/video/fbdev/fbtft +# for linux < 3.15 install to drivers/video/fbtft +define FBTFT_PREPARE_KERNEL + if [ -e $(LINUX_DIR)/drivers/video/fbdev ]; then \ + dest=$(LINUX_DIR)/drivers/video/fbdev ; \ + else \ + dest=$(LINUX_DIR)/drivers/video/ ; \ + fi ; \ + mkdir -p $${dest}/fbtft; \ + cp -dpfr $(FBTFT_DIR)/* $${dest}/fbtft/ ; \ + echo 'source "drivers/video/fbdev/fbtft/Kconfig"' \ + >> $${dest}/Kconfig ; \ + echo 'obj-y += fbtft/' >> $${dest}/Makefile +endef + +LINUX_PRE_PATCH_HOOKS += FBTFT_PREPARE_KERNEL + +endif #BR2_LINUX_KERNEL_EXT_FBTFT |

