[yocto] [meta-raspberrypi][PATCH 4/5] pitft: Add basic support for PiTFT
Petter Mabäcker
petter at technux.se
Mon Jan 11 08:49:46 PST 2016
Add basic support for PiTFT display by using device-trees.
In order get it working below configurations must be active in
local.conf:
MACHINEOVERRIDES .= ":pitft"
- This will enable SPI bus and i2c device-trees, it will also setup
framebuffer for console and x server on PiTFT.
[Support #70]
Signed-off-by: Petter Mabäcker <petter at technux.se>
---
README | 29 ++++++++++++++++------
recipes-bsp/bootfiles/rpi-config_git.bb | 14 +++++++++++
.../rpi/xorg.conf.d/99-pitft.conf | 5 ++++
.../xorg-xserver/xserver-xf86-config_0.1.bbappend | 1 +
recipes-kernel/linux/linux-raspberrypi.inc | 1 +
5 files changed, 42 insertions(+), 8 deletions(-)
create mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf
diff --git a/README b/README
index 8ef4e7a..791038f 100644
--- a/README
+++ b/README
@@ -22,10 +22,11 @@ Contents:
2.H. Optional - Enable kgdb over console support
2.I. Optional - Enable SPI bus
2.J. Optional - Enable I2C
- 2.K. Images
- 2.L. Boot to U-Boot
- 2.M. Image with Initramfs
- 2.N. Device tree support
+ 2.K. Optional - Enable PiTFT support
+ 2.L. Images
+ 2.M. Boot to U-Boot
+ 2.N. Image with Initramfs
+ 2.O. Device tree support
3. Extra apps
3.A. omxplayer
4. Source code and mirrors
@@ -157,7 +158,19 @@ ENABLE_SPI_BUS = "1"
When using device tree kernels, set this variable to enable I2C
ENABLE_I2C = "1"
-2.K. Images
+2.K. Optional - Enable PiTFT support
+====================================
+Basic support for using PiTFT screens can be enabled by adding
+below in local.conf:
+
+MACHINEOVERRIDES .= ":pitft"
+ - This will enable SPI bus and i2c device-trees, it will also setup
+ framebuffer for console and x server on PiTFT.
+
+NOTE: To get this working the overlay for the PiTFT model must be build,
+ added and specified as well (dtoverlay=<driver> in config.txt)
+
+2.L. Images
===========
* rpi-hwup-image
Hardware up image
@@ -167,7 +180,7 @@ ENABLE_I2C = "1"
Image based on rpi-basic-image which includes most of the packages in this
layer and some media samples.
-2.L. Boot to U-Boot
+2.M. Boot to U-Boot
===================
To have u-boot load kernel image, set in your local.conf
KERNEL_IMAGETYPE = "uImage"
@@ -175,7 +188,7 @@ KERNEL_IMAGETYPE = "uImage"
This will make kernel.img be u-boot image which will load uImage.
By default, kernel.img is the actual kernel image (ex. Image).
-2.M. Image with Initramfs
+2.N. Image with Initramfs
=========================
To build an initramfs image :
* Set this 3 kernel variables (in linux-raspberrypi.inc for example)
@@ -188,7 +201,7 @@ To build an initramfs image :
* Set the meta-rasberrypi variable (in raspberrypi.conf for example)
- KERNEL_INITRAMFS = "-initramfs"
-2.N. Device tree support
+2.O. Device tree support
=========================
Device tree for RPi is only supported when using linux-raspberrypi 3.18+
kernels.
diff --git a/recipes-bsp/bootfiles/rpi-config_git.bb b/recipes-bsp/bootfiles/rpi-config_git.bb
index ccb9b7f..9f20352 100644
--- a/recipes-bsp/bootfiles/rpi-config_git.bb
+++ b/recipes-bsp/bootfiles/rpi-config_git.bb
@@ -80,6 +80,20 @@ do_deploy() {
fi
}
+do_deploy_append_pitft() {
+ # Add SPI BUS and I2C support if needed
+ if [ -z "${ENABLE_SPI_BUS}" ]; then
+ echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ fi
+
+ if [ -z "${ENABLE_I2C}" ]; then
+ echo "# Enable I2C" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "dtparam=i2c1=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ fi
+}
+
addtask deploy before do_package after do_install
do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf
new file mode 100644
index 0000000..0d2b36b
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf
@@ -0,0 +1,5 @@
+Section "Device"
+ Identifier "Adafruit PiTFT"
+ Driver "fbdev"
+ Option "fbdev" "/dev/fb1"
+EndSection
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
index 2cf40f8..db8e4c1 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
@@ -1,6 +1,7 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI_append_rpi = " file://xorg.conf.d/10-evdev.conf "
+SRC_URI_append_pitft = " file://xorg.conf.d/99-pitft.conf "
do_install_append_rpi () {
install -d ${D}/${sysconfdir}/X11/xorg.conf.d/
diff --git a/recipes-kernel/linux/linux-raspberrypi.inc b/recipes-kernel/linux/linux-raspberrypi.inc
index 70e8bfe..420346a 100644
--- a/recipes-kernel/linux/linux-raspberrypi.inc
+++ b/recipes-kernel/linux/linux-raspberrypi.inc
@@ -24,6 +24,7 @@ CMDLINE = "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootf
# Add the kernel debugger over console kernel command line option if enabled
CMDLINE_append = ' ${@base_conditional("ENABLE_KGDB", "1", "kgdboc=ttyAMA0,115200", "", d)}'
+CMDLINE_append_pitft = "fbcon=map:10 fbcon=font:VGA8x8"
UDEV_GE_141 ?= "1"
--
1.9.1
More information about the yocto
mailing list