On Sun, Feb 28, 2016 at 02:46:12PM +0100, Petter Mabäcker wrote: > Add basic support for PiTFT display by using device-trees. > > In order get it working below configurations must be active in > local.conf: > > MACHINE_FEATURES += "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 <pet...@technux.se> > --- > README | 29 > ++++++++++++++++------ > recipes-bsp/bootfiles/rpi-config_git.bb | 6 +++-- > .../rpi/xorg.conf.d/99-pitft.conf | 5 ++++ > .../xorg-xserver/xserver-xf86-config_0.1.bbappend | 11 ++++++-- > recipes-kernel/linux/linux-raspberrypi.inc | 6 ++++- > 5 files changed, 44 insertions(+), 13 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..6a6c398 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: > + > +MACHINE_FEATURES += "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..236a359 100644 > --- a/recipes-bsp/bootfiles/rpi-config_git.bb > +++ b/recipes-bsp/bootfiles/rpi-config_git.bb > @@ -15,6 +15,8 @@ S = "${WORKDIR}/git" > > PR = "r4" > > +PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" > + > inherit deploy > > do_deploy() { > @@ -68,12 +70,12 @@ do_deploy() { > fi > > # SPI bus support > - if [ -n "${ENABLE_SPI_BUS}" ]; then > + if [ -n "${ENABLE_SPI_BUS}" ] || [ "${PITFT}" = "1" ]; then > echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt > echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt > fi > > - if [ -n "${ENABLE_I2C}" ]; then > + if [ -n "${ENABLE_I2C}" ] || [ "${PITFT}" = "1" ]; 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 > 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..0ae2ee0 100644 > --- a/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend > +++ b/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend > @@ -1,10 +1,17 @@ > FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" > > -SRC_URI_append_rpi = " file://xorg.conf.d/10-evdev.conf " > +SRC_URI_append_rpi = " file://xorg.conf.d/10-evdev.conf \ > + file://xorg.conf.d/99-pitft.conf \ > + " > > do_install_append_rpi () { > install -d ${D}/${sysconfdir}/X11/xorg.conf.d/ > - install -m 0644 ${WORKDIR}/xorg.conf.d/* > ${D}/${sysconfdir}/X11/xorg.conf.d/ > + install -m 0644 ${WORKDIR}/xorg.conf.d/10-evdev.conf > ${D}/${sysconfdir}/X11/xorg.conf.d/ > + > + 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/ > + fi > } > > FILES_${PN}_rpi += "${sysconfdir}/X11/xorg.conf > ${sysconfdir}/X11/xorg.conf.d/*" > diff --git a/recipes-kernel/linux/linux-raspberrypi.inc > b/recipes-kernel/linux/linux-raspberrypi.inc > index 8c7c46c..e31270d 100644 > --- a/recipes-kernel/linux/linux-raspberrypi.inc > +++ b/recipes-kernel/linux/linux-raspberrypi.inc > @@ -53,7 +53,11 @@ do_install_prepend() { > do_deploy_append() { > # Deploy cmdline.txt > install -d ${DEPLOYDIR}/bcm2835-bootfiles > - echo "${CMDLINE}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt > + PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" > + if [ ${PITFT} = "1" ]; then > + PITFT_PARAMS="fbcon=map:10 fbcon=font:VGA8x8" > + fi > + echo "${CMDLINE}${PITFT_PARAMS}" > > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt > } > > do_rpiboot_mkimage() {
Merged to master. -- Andrei Gherzan -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto