[yocto] [meta-raspberrypi][PATCH 4/5] pitft: Add basic support for PiTFT

Khem Raj raj.khem at gmail.com
Mon Jan 11 09:55:43 PST 2016


> On Jan 11, 2016, at 8:49 AM, Petter Mabäcker <petter at technux.se> wrote:
> 
> 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”

Using MACHINE_FEATURES will be more appropriate term. Effects are same.

> - 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
> 
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20160111/67872199/attachment.pgp>


More information about the yocto mailing list