[yocto] [meta-raspberrypi][PATCH 1/4] pitft: Add support for pitft28r

Petter Mabäcker petter at technux.se
Tue Mar 29 08:04:08 PDT 2016


The support for PiTFT 28 inch resistive touchscreen is optional
and can be enabled by adding below in local.conf:

MACHINE_FEATURES += "pitft pitft28r"

Signed-off-by: Petter Mabäcker <petter at technux.se>
---
 README                                                              | 1 +
 conf/machine/include/rpi-base.inc                                   | 1 +
 recipes-bsp/bootfiles/rpi-config_git.bb                             | 6 ++++++
 .../xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf  | 5 +++++
 .../xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf         | 6 ++++++
 .../xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf  | 5 -----
 recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend      | 6 ++++--
 recipes-kernel/linux/linux-raspberrypi.inc                          | 2 ++
 8 files changed, 25 insertions(+), 7 deletions(-)
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf
 delete mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf

diff --git a/README b/README
index 536926b..54b1ac3 100644
--- a/README
+++ b/README
@@ -232,6 +232,7 @@ the modelname should be added as a MACHINE_FEATURES in local.conf like below:
 
 List of currently supported models:
     - pitft22
+    - pitft28r
 
 
 4. Extra apps
diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc
index 792150e..a9e8053 100644
--- a/conf/machine/include/rpi-base.inc
+++ b/conf/machine/include/rpi-base.inc
@@ -33,6 +33,7 @@ KERNEL_DEVICETREE ?= " \
     overlays/iqaudio-dacplus-overlay.dtb \
     overlays/lirc-rpi-overlay.dtb \
     overlays/pitft22-overlay.dtb \
+    overlays/pitft28-resistive-overlay.dtb \
     overlays/pps-gpio-overlay.dtb \
     overlays/w1-gpio-overlay.dtb \
     overlays/w1-gpio-pullup-overlay.dtb \
diff --git a/recipes-bsp/bootfiles/rpi-config_git.bb b/recipes-bsp/bootfiles/rpi-config_git.bb
index 4d41723..2941982 100644
--- a/recipes-bsp/bootfiles/rpi-config_git.bb
+++ b/recipes-bsp/bootfiles/rpi-config_git.bb
@@ -17,6 +17,7 @@ PR = "r4"
 
 PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
 PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"
+PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"
 
 inherit deploy
 
@@ -90,6 +91,11 @@ do_deploy() {
         echo "# Enable PITFT22 display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
         echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
     fi
+
+    if [ "${PITFT28r}" = "1" ]; then
+        echo "# Enable PITFT28r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+        echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+    fi
 }
 
 addtask deploy before do_package after do_install
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf
new file mode 100644
index 0000000..0d2b36b
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-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/rpi/xorg.conf.d/99-calibration.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf
new file mode 100644
index 0000000..f8b578c
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf
@@ -0,0 +1,6 @@
+Section "InputClass"
+        Identifier      "calibration"
+        MatchProduct    "stmpe-ts"
+        Option  "Calibration"   "3800 200 200 3800"
+        Option  "SwapAxes"      "1"
+EndSection
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
deleted file mode 100644
index 0d2b36b..0000000
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-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 0ae2ee0..062de2d 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
@@ -1,7 +1,8 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
 SRC_URI_append_rpi = " file://xorg.conf.d/10-evdev.conf \
-                       file://xorg.conf.d/99-pitft.conf \
+                       file://xorg.conf.d/98-pitft.conf \
+                       file://xorg.conf.d/99-calibration.conf \
                      "
 
 do_install_append_rpi () {
@@ -10,7 +11,8 @@ do_install_append_rpi () {
 
 	PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
 	if [ "${PITFT}" = "1" ]; then
-		install -m 0644 ${WORKDIR}/xorg.conf.d/99-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
+		install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
+		install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
 	fi
 }
 
diff --git a/recipes-kernel/linux/linux-raspberrypi.inc b/recipes-kernel/linux/linux-raspberrypi.inc
index 24e7fe2..142ad7f 100644
--- a/recipes-kernel/linux/linux-raspberrypi.inc
+++ b/recipes-kernel/linux/linux-raspberrypi.inc
@@ -27,6 +27,8 @@ CMDLINE_append = ' ${@base_conditional("ENABLE_KGDB", "1", "kgdboc=ttyAMA0,11520
 
 UDEV_GE_141 ?= "1"
 
+KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "stmpe-ts", "", d)}"
+
 # Set programmatically some variables during recipe parsing
 # See http://www.yoctoproject.org/docs/current/bitbake-user-manual/bitbake-user-manual.html#anonymous-python-functions
 python __anonymous () {
-- 
1.9.1




More information about the yocto mailing list