summaryrefslogtreecommitdiffstats
path: root/bsp/meta-raspberrypi
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-raspberrypi')
-rw-r--r--bsp/meta-raspberrypi/README.md30
-rw-r--r--bsp/meta-raspberrypi/classes/sdcard_image-rpi.bbclass57
-rw-r--r--bsp/meta-raspberrypi/conf/layer.conf7
-rw-r--r--bsp/meta-raspberrypi/conf/machine/include/rpi-base.inc31
-rw-r--r--bsp/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc5
-rw-r--r--bsp/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc2
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi-cm.conf2
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf3
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi.conf2
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf2
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi2.conf2
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi3-64.conf6
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi3.conf7
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi4-64.conf36
-rw-r--r--bsp/meta-raspberrypi/conf/machine/raspberrypi4.conf21
-rw-r--r--bsp/meta-raspberrypi/docs/extra-build-config.md35
-rw-r--r--bsp/meta-raspberrypi/docs/layer-contents.md2
-rw-r--r--bsp/meta-raspberrypi/dynamic-layers/networking-layer/recipes-support/drbd/drbd_%.bbappend3
-rw-r--r--bsp/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend3
-rw-r--r--bsp/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend8
-rw-r--r--bsp/meta-raspberrypi/files/custom-licenses/Broadcom25
-rw-r--r--bsp/meta-raspberrypi/files/custom-licenses/Broadcom-RPi29
-rw-r--r--bsp/meta-raspberrypi/kas-poky-rpi.yml58
-rw-r--r--bsp/meta-raspberrypi/lib/oeqa/runtime/cases/parselogs_rpi.py15
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb36
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/bootfiles/bootfiles.bb (renamed from bsp/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb)10
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb162
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/common/firmware.inc11
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc10
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc9
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in1
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb2
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/u-boot/files/fw_env.config1
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/u-boot/libubootenv_%.bbappend12
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch51
-rw-r--r--bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend6
-rw-r--r--bsp/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend12
-rw-r--r--bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch13
-rw-r--r--bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb (renamed from bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_git.bb)9
-rw-r--r--bsp/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb13
-rw-r--r--bsp/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend3
-rw-r--r--bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb6
-rw-r--r--bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/can.rules1
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/pi-blaster/files/0001-pi-blaster-Include-sys-sysmacros.h-for-makedev.patch32
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb5
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/python/python3-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch (renamed from bsp/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch)0
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb (renamed from bsp/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb)2
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/python/python3-sense-hat_2.2.0.bb (renamed from bsp/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb)8
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch33
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.7.0.bb (renamed from bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb)8
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb6
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb2
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/wiringpi/files/0001-Add-initial-cross-compile-support.patch415
-rw-r--r--bsp/meta-raspberrypi/recipes-devtools/wiringpi/wiringpi_git.bb35
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/cairo/cairo_%.bbappend3
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend2
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend2
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch43
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend5
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend9
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch54
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch50
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch10
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch12
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch6
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch31
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch43
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch37
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/userland/userland_git.bb15
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc8
-rw-r--r--bsp/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend10
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb7
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch35
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch57
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch40
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch94
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/files/powersave.cfg13
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg2
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb9
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb4
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb6
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc20
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb4
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb10
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.inc12
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb11
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb11
-rw-r--r--bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.inc12
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch24
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch (renamed from bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch)14
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch (renamed from bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch)0
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch (renamed from bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch)6
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch (renamed from bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch)12
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch36
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend13
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend (renamed from bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend)2
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend3
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend7
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch4
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch8
-rw-r--r--bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb10
-rw-r--r--bsp/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend1
115 files changed, 1260 insertions, 950 deletions
diff --git a/bsp/meta-raspberrypi/README.md b/bsp/meta-raspberrypi/README.md
index b49405b2..898426d8 100644
--- a/bsp/meta-raspberrypi/README.md
+++ b/bsp/meta-raspberrypi/README.md
@@ -5,7 +5,9 @@ Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>.
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi1/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi1)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi2/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi2)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi3/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi3)
-[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/agherzan/meta-raspberrypi)
+[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi4/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi4)
+[![Documentation Status](https://readthedocs.org/projects/meta-raspberrypi/badge/?version=latest)](https://meta-raspberrypi.readthedocs.io/en/latest/?badge=latest)
+[![Matrix](https://img.shields.io/matrix/meta-raspberrypi:cub.icu.svg?server_fqdn=matrix.cub.icu)](https://matrix.to/#/#meta-raspberrypi:cub.icu)
## Quick links
@@ -48,8 +50,30 @@ This layer depends on:
2. Add this layer to bblayers.conf and the dependencies above
3. Set MACHINE in local.conf to one of the supported boards
4. bitbake core-image-base
-5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
-6. Boot your RPI.
+5. Use bmaptool to copy the generated .wic.bz2 file to the SD card
+6. Boot your RPI
+
+## Quick Start with kas
+
+1. Install kas build tool from PyPi (sudo pip3 install kas)
+2. kas build meta-raspberrypi/kas-poky-rpi.yml
+3. Use bmaptool to copy the generated .wic.bz2 file to the SD card
+4. Boot your RPI
+
+To adjust the build configuration with specific options (I2C, SPI, ...), simply add
+a section as follows:
+
+```
+local_conf_header:
+ rpi-specific: |
+ ENABLE_I2C = "1"
+ RPI_EXTRA_CONFIG = "dtoverlay=pi3-disable-bt"
+```
+
+To configure the machine, you have to update the `machine` variable.
+And the same for the `distro`.
+
+For further information, you can read more at <https://kas.readthedocs.io/en/1.0/index.html>
## Maintainers
diff --git a/bsp/meta-raspberrypi/classes/sdcard_image-rpi.bbclass b/bsp/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
index d63a2402..1d876e4a 100644
--- a/bsp/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
+++ b/bsp/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
@@ -26,7 +26,7 @@ inherit image_types
IMAGE_TYPEDEP_rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
# Set kernel and boot loader
-IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
+IMAGE_BOOTLOADER ?= "bootfiles"
# Kernel image name
SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img"
@@ -55,21 +55,16 @@ do_image_rpi_sdimg[depends] = " \
dosfstools-native:do_populate_sysroot \
virtual/kernel:do_deploy \
${IMAGE_BOOTLOADER}:do_deploy \
+ rpi-config:do_deploy \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'armstub', 'armstubs:do_deploy', '' ,d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
- ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'rpi-u-boot-scr:do_deploy', '',d)} \
+ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot-default-script:do_deploy', '',d)} \
"
do_image_rpi_sdimg[recrdeps] = "do_build"
# SD card image name
-SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.rpi-sdimg"
-
-# Compression method to apply to SDIMG after it has been created. Supported
-# compression formats are "gzip", "bzip2" or "xz". The original .rpi-sdimg file
-# is kept and a new compressed file is created if one of these compression
-# formats is chosen. If SDIMG_COMPRESSION is set to any other value it is
-# silently ignored.
-#SDIMG_COMPRESSION ?= ""
+SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.rpi-sdimg"
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
FATPAYLOAD ?= ""
@@ -119,48 +114,51 @@ IMAGE_CMD_rpi-sdimg () {
BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
rm -f ${WORKDIR}/boot.img
mkfs.vfat -F32 -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${BOOTFILES_DIR_NAME}/* ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${BOOTFILES_DIR_NAME}/* into boot.img"
+ if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} into boot.img"
+ fi
if test -n "${DTS}"; then
# Copy board device trees to root folder
for dtbf in ${@split_overlays(d, True)}; do
dtb=`basename $dtbf`
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img"
done
# Copy device tree overlays to dedicated folder
mmd -i ${WORKDIR}/boot.img overlays
for dtbf in ${@split_overlays(d, False)}; do
dtb=`basename $dtbf`
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img"
done
fi
if [ "${RPI_USE_U_BOOT}" = "1" ]; then
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE}
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/u-boot.bin into boot.img"
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/boot.scr into boot.img"
if [ ! -z "${INITRAMFS_IMAGE}" -a "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${KERNEL_IMAGETYPE}
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${KERNEL_IMAGETYPE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin into boot.img"
else
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${KERNEL_IMAGETYPE}
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${KERNEL_IMAGETYPE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} into boot.img"
fi
else
if [ ! -z "${INITRAMFS_IMAGE}" -a "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${SDIMG_KERNELIMAGE}
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin into boot.img"
else
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${SDIMG_KERNELIMAGE}
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} into boot.img"
fi
fi
- if [ -n ${FATPAYLOAD} ] ; then
+ if [ -n "${FATPAYLOAD}" ] ; then
echo "Copying payload into VFAT"
for entry in ${FATPAYLOAD} ; do
- # add the || true to stop aborting on vfat issues like not supporting .~lock files
- mcopy -i ${WORKDIR}/boot.img -s -v ${IMAGE_ROOTFS}$entry :: || true
+ # use bbwarn instead of bbfatal to stop aborting on vfat issues like not supporting .~lock files
+ mcopy -v -i ${WORKDIR}/boot.img -s ${IMAGE_ROOTFS}$entry :: || bbwarn "mcopy cannot copy ${IMAGE_ROOTFS}$entry into boot.img"
done
fi
# Add stamp file
echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
- mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
+ mcopy -v -i ${WORKDIR}/boot.img ${WORKDIR}/image-version-info :: || bbfatal "mcopy cannot copy ${WORKDIR}/image-version-info into boot.img"
# Deploy vfat partition
if [ "${SDIMG_VFAT_DEPLOY}" = "1" ]; then
@@ -177,19 +175,6 @@ IMAGE_CMD_rpi-sdimg () {
else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
fi
-
- # Optionally apply compression
- case "${SDIMG_COMPRESSION}" in
- "gzip")
- gzip -k9 "${SDIMG}"
- ;;
- "bzip2")
- bzip2 -k9 "${SDIMG}"
- ;;
- "xz")
- xz -k "${SDIMG}"
- ;;
- esac
}
ROOTFS_POSTPROCESS_COMMAND += " rpi_generate_sysctl_config ; "
diff --git a/bsp/meta-raspberrypi/conf/layer.conf b/bsp/meta-raspberrypi/conf/layer.conf
index 67eb98ff..4ed79591 100644
--- a/bsp/meta-raspberrypi/conf/layer.conf
+++ b/bsp/meta-raspberrypi/conf/layer.conf
@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9"
-LAYERSERIES_COMPAT_raspberrypi = "sumo thud"
+LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus dunfell"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
@@ -27,6 +27,11 @@ BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer
BBFILES_DYNAMIC += " \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
+ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \
+ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \
"
+
+DEFAULT_TEST_SUITES_remove_rpi = "parselogs"
+DEFAULT_TEST_SUITES_append_rpi = " parselogs_rpi"
diff --git a/bsp/meta-raspberrypi/conf/machine/include/rpi-base.inc b/bsp/meta-raspberrypi/conf/machine/include/rpi-base.inc
index 4bbd576b..47a482fb 100644
--- a/bsp/meta-raspberrypi/conf/machine/include/rpi-base.inc
+++ b/bsp/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -5,7 +5,7 @@ include conf/machine/include/rpi-default-providers.inc
SOC_FAMILY = "rpi"
include conf/machine/include/soc-family.inc
-IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
+IMAGE_FSTYPES ?= "tar.bz2 ext3 wic.bz2 wic.bmap"
WKS_FILE ?= "sdimage-raspberrypi.wks"
XSERVER = " \
@@ -16,6 +16,7 @@ XSERVER = " \
RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/at86rf233.dtbo \
+ overlays/disable-bt.dtbo \
overlays/dwc2.dtbo \
overlays/gpio-key.dtbo \
overlays/hifiberry-amp.dtbo \
@@ -25,27 +26,31 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/i2c-rtc.dtbo \
overlays/iqaudio-dac.dtbo \
overlays/iqaudio-dacplus.dtbo \
- overlays/lirc-rpi.dtbo \
- overlays/pi3-disable-bt.dtbo \
- overlays/pi3-miniuart-bt.dtbo \
+ overlays/miniuart-bt.dtbo \
+ overlays/mcp2515-can0.dtbo \
overlays/pitft22.dtbo \
overlays/pitft28-resistive.dtbo \
+ overlays/pitft28-capacitive.dtbo \
overlays/pitft35-resistive.dtbo \
overlays/pps-gpio.dtbo \
overlays/rpi-ft5406.dtbo \
overlays/rpi-poe.dtbo \
overlays/vc4-kms-v3d.dtbo \
+ overlays/vc4-fkms-v3d.dtbo \
overlays/w1-gpio-pullup.dtbo \
overlays/w1-gpio.dtbo \
+ overlays/gpio-ir.dtbo \
+ overlays/gpio-ir-tx.dtbo \
"
RPI_KERNEL_DEVICETREE ?= " \
- bcm2708-rpi-0-w.dtb \
+ bcm2708-rpi-zero-w.dtb \
bcm2708-rpi-b.dtb \
bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \
bcm2710-rpi-3-b.dtb \
bcm2710-rpi-3-b-plus.dtb \
+ bcm2711-rpi-4-b.dtb \
bcm2708-rpi-cm.dtb \
bcm2710-rpi-cm3.dtb \
"
@@ -68,12 +73,20 @@ KERNEL_IMAGETYPE_DIRECT ??= "zImage"
KERNEL_IMAGETYPE ?= "${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
'${KERNEL_IMAGETYPE_UBOOT}', '${KERNEL_IMAGETYPE_DIRECT}', d)}"
-MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
+MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio ${@bb.utils.contains('DISABLE_VC4GRAPHICS', '1', '', 'vc4graphics', d)}"
# Raspberry Pi has no hardware clock
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
-MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi"
+MACHINE_EXTRA_RRECOMMENDS += "kernel-modules udev-rules-rpi"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "${@oe.utils.conditional('ENABLE_I2C', '1', 'kernel-module-i2c-dev kernel-module-i2c-bcm2708', '', d)}"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "${@oe.utils.conditional('ENABLE_IR', '1', 'kernel-module-gpio-ir kernel-module-gpio-ir-tx', '', d)}"
+
+SERIAL_CONSOLES_CHECK ??= "${SERIAL_CONSOLES}"
+
+# The name of the deploy directory for raspberry pi boot files.
+# This variable is referred to by recipes fetching / generating the files.
+BOOTFILES_DIR_NAME ?= "bootfiles"
# Set Raspberrypi splash image
SPLASH = "psplash-raspberrypi"
@@ -101,14 +114,14 @@ def make_dtb_boot_files(d):
return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
-IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \
+IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \
${@make_dtb_boot_files(d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
'${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
'${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
"
do_image_wic[depends] += " \
- bcm2835-bootfiles:do_deploy \
+ bootfiles:do_deploy \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
"
diff --git a/bsp/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc b/bsp/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
index 5231a84e..181b9364 100644
--- a/bsp/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
+++ b/bsp/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
@@ -8,3 +8,8 @@ PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "v
PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
PREFERRED_PROVIDER_jpeg ?= "jpeg"
+
+PREFERRED_PROVIDER_virtual/libomxil ?= "userland"
+VIRTUAL-RUNTIME_libomxil = "userland"
+
+PREFERRED_PROVIDER_u-boot-default-script ??= "rpi-u-boot-scr"
diff --git a/bsp/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc b/bsp/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
index a5fe6d70..9983b61a 100644
--- a/bsp/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
+++ b/bsp/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
@@ -1,3 +1,3 @@
# RaspberryPi BSP default versions
-PREFERRED_VERSION_linux-raspberrypi ??= "4.14.%"
+PREFERRED_VERSION_linux-raspberrypi ??= "4.19.%"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi-cm.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
index 2da7d50b..f9371df6 100644
--- a/bsp/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
@@ -4,3 +4,5 @@
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
include conf/machine/raspberrypi.conf
+
+ARMSTUB ?= "armstub.bin"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
index c8677b4f..f1b81519 100644
--- a/bsp/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
@@ -6,7 +6,8 @@ DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc
-KBUILD_DEFCONFIG ?= "bcm2709_defconfig"
SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyAMA0"
+
+ARMSTUB ?= "armstub.bin"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi.conf
index e94ad867..b23687b2 100644
--- a/bsp/meta-raspberrypi/conf/machine/raspberrypi.conf
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi.conf
@@ -10,3 +10,5 @@ include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_config"
+
+ARMSTUB ?= "armstub.bin"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
index 2c4f760e..8689bca9 100644
--- a/bsp/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
@@ -14,3 +14,5 @@ MACHINE_EXTRA_RRECOMMENDS += "\
SDIMG_KERNELIMAGE ?= "kernel.img"
UBOOT_MACHINE ?= "rpi_0_w_defconfig"
SERIAL_CONSOLES ?= "115200;ttyS0"
+
+ARMSTUB ?= "armstub.bin"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi2.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi2.conf
index bd191c3f..505c6f2f 100644
--- a/bsp/meta-raspberrypi/conf/machine/raspberrypi2.conf
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi2.conf
@@ -10,3 +10,5 @@ include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_2_config"
+
+ARMSTUB ?= "armstub7.bin"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi3-64.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
index 635e4f67..65e3302c 100644
--- a/bsp/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
@@ -11,7 +11,7 @@ MACHINE_EXTRA_RRECOMMENDS += "\
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
-require conf/machine/include/arm/arch-armv8.inc
+require conf/machine/include/tune-cortexa53.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
@@ -23,7 +23,6 @@ RPI_KERNEL_DEVICETREE = " \
SERIAL_CONSOLES ?= "115200;ttyS0"
UBOOT_MACHINE = "rpi_3_config"
-MACHINE_FEATURES_append = " vc4graphics"
# When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel
@@ -31,3 +30,6 @@ KERNEL_IMAGETYPE_UBOOT ?= "Image"
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti"
+
+VC4DTBO ?= "vc4-fkms-v3d"
+ARMSTUB ?= "armstub8.bin"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi3.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi3.conf
index df64cbb7..dafb66e5 100644
--- a/bsp/meta-raspberrypi/conf/machine/raspberrypi3.conf
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi3.conf
@@ -1,6 +1,6 @@
#@TYPE: Machine
-#@NAME: RaspberryPi 3 Development Board
-#@DESCRIPTION: Machine configuration for the RaspberryPi 3
+#@NAME: RaspberryPi 3 Development Board (32bit)
+#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 32 bits mode
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc
@@ -16,3 +16,6 @@ MACHINE_EXTRA_RRECOMMENDS += "\
SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
+
+VC4DTBO ?= "vc4-fkms-v3d"
+ARMSTUB ?= "armstub7.bin"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi4-64.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi4-64.conf
new file mode 100644
index 00000000..633d1880
--- /dev/null
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi4-64.conf
@@ -0,0 +1,36 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi 4 Development Board (64bit)
+#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
+
+MACHINEOVERRIDES = "raspberrypi4:${MACHINE}"
+
+MACHINE_FEATURES += "pci"
+MACHINE_EXTRA_RRECOMMENDS += "\
+ linux-firmware-rpidistro-bcm43455 \
+ bluez-firmware-rpidistro-bcm4345c0-hcd \
+"
+
+require conf/machine/include/tune-cortexa72.inc
+include conf/machine/include/rpi-base.inc
+
+RPI_KERNEL_DEVICETREE = " \
+ broadcom/bcm2711-rpi-4-b.dtb \
+"
+
+SDIMG_KERNELIMAGE ?= "kernel8.img"
+SERIAL_CONSOLES ?= "115200;ttyS0"
+
+UBOOT_MACHINE = "rpi_4_config"
+
+VC4DTBO ?= "vc4-fkms-v3d"
+
+# When u-boot is enabled we need to use the "Image" format and the "booti"
+# command to load the kernel
+KERNEL_IMAGETYPE_UBOOT ?= "Image"
+# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
+KERNEL_IMAGETYPE_DIRECT ?= "Image"
+KERNEL_BOOTCMD ?= "booti"
+
+RPI_EXTRA_CONFIG ?= "\n# Force arm in 64bit mode. See: https://github.com/raspberrypi/firmware/issues/1193.\narm_64bit=1"
+
+ARMSTUB ?= "armstub8-gic.bin"
diff --git a/bsp/meta-raspberrypi/conf/machine/raspberrypi4.conf b/bsp/meta-raspberrypi/conf/machine/raspberrypi4.conf
new file mode 100644
index 00000000..d6b1d1bd
--- /dev/null
+++ b/bsp/meta-raspberrypi/conf/machine/raspberrypi4.conf
@@ -0,0 +1,21 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi 4 Development Board (32bit)
+#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 32 bit mode
+
+DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
+require conf/machine/include/tune-cortexa7.inc
+include conf/machine/include/rpi-base.inc
+
+MACHINE_FEATURES += "pci"
+MACHINE_EXTRA_RRECOMMENDS += "\
+ linux-firmware-rpidistro-bcm43455 \
+ bluez-firmware-rpidistro-bcm4345c0-hcd \
+"
+
+# 'l' stands for LPAE
+SDIMG_KERNELIMAGE ?= "kernel7l.img"
+UBOOT_MACHINE = "rpi_4_32b_config"
+SERIAL_CONSOLES ?= "115200;ttyS0"
+
+VC4DTBO ?= "vc4-fkms-v3d"
+ARMSTUB ?= "armstub7.bin"
diff --git a/bsp/meta-raspberrypi/docs/extra-build-config.md b/bsp/meta-raspberrypi/docs/extra-build-config.md
index 732c1020..d92cf4ee 100644
--- a/bsp/meta-raspberrypi/docs/extra-build-config.md
+++ b/bsp/meta-raspberrypi/docs/extra-build-config.md
@@ -13,9 +13,6 @@ specific to it. For the rest please check:
2. Overwrite SDIMG_ROOTFS_TYPE in local.conf
* `SDIMG_ROOTFS_TYPE = "ext3.xz"`
-3. Overwrite SDIMG_COMPRESSION in local.conf
- * `SDIMG_COMPRESSION = "xz"`
-
Accommodate the values above to your own needs (ex: ext3 / ext4).
## GPU memory
@@ -34,6 +31,10 @@ Accommodate the values above to your own needs (ex: ext3 / ext4).
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md>
+## VC4
+
+By default, each machine uses `vc4` for graphics. This will in turn sets mesa as provider for `gl` libraries. `DISABLE_VC4GRAPHICS` can be set to `1` to disable this behaviour falling back to using `userland`. Be aware that `userland` has not support for 64-bit arch. If you disable `vc4` on a 64-bit Raspberry Pi machine, expect build breakage.
+
## Add purchased license codecs
To add you own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
@@ -183,6 +184,10 @@ When using device tree kernels, set this variable to enable I2C:
ENABLE_I2C = "1"
+Furthermore, to auto-load I2C kernel modules set:
+
+ KERNEL_MODULE_AUTOLOAD_rpi += "i2c-dev i2c-bcm2708"
+
## Enable PiTFT support
Basic support for using PiTFT screens can be enabled by adding below in
@@ -203,6 +208,7 @@ modelname should be added as a MACHINE_FEATURES in local.conf like below:
List of currently supported models:
* pitft22
* pitft28r
+* pitft28c
* pitft35r
## Misc. display
@@ -222,7 +228,7 @@ needs a fixed core frequency and enable_uart wil set it to the minimum. Certain
operations - 60fps h264 decode, high quality deinterlace - which aren't
performed on the ARM may be affected, and we wouldn't want to do that to users
who don't want to use the serial port. Users who want serial console support on
-RaspberryPi3 will have to explicitly set in local.conf:
+RaspberryPi 0 Wifi or 3 will have to explicitly set in local.conf:
ENABLE_UART = "1"
@@ -246,6 +252,27 @@ When using device tree kernels, set this variable to enable the 802.15.4 hat:
See: <https://openlabs.co/OSHW/Raspberry-Pi-802.15.4-radio>
+## Enable CAN with Pican2
+
+In order to use Pican2 CAN module, set the following variables:
+
+ ENABLE_SPI_BUS = "1"
+ ENABLE_CAN = "1"
+
+See: <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html>
+
+## Enable infrared
+
+Users who want to enable infrared support, for example for using LIRC (Linux
+Infrared Remote Control), have to explicitly set in local.conf:
+
+ ENABLE_IR = "1"
+
+This will add device tree overlays gpio-ir and gpio-ir-tx to config.txt.
+Appropriate kernel modules will be also included in the image. By default the
+GPIO pin for gpio-ir is set to 18 and the pin for gpio-ir-tx is 17. Both pins
+can be easily changed by modifying variables `GPIO_IR` and `GPIO_IR_TX`.
+
## Manual additions to config.txt
The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to
diff --git a/bsp/meta-raspberrypi/docs/layer-contents.md b/bsp/meta-raspberrypi/docs/layer-contents.md
index 14e6b996..5483708d 100644
--- a/bsp/meta-raspberrypi/docs/layer-contents.md
+++ b/bsp/meta-raspberrypi/docs/layer-contents.md
@@ -8,6 +8,8 @@
* raspberrypi2
* raspberrypi3
* raspberrypi3-64 (64 bit kernel & userspace)
+* raspberrypi4
+* raspberrypi4-64 (64 bit kernel & userspace)
* raspberrypi-cm (dummy alias for raspberrypi)
* raspberrypi-cm3
diff --git a/bsp/meta-raspberrypi/dynamic-layers/networking-layer/recipes-support/drbd/drbd_%.bbappend b/bsp/meta-raspberrypi/dynamic-layers/networking-layer/recipes-support/drbd/drbd_%.bbappend
new file mode 100644
index 00000000..933aaf6c
--- /dev/null
+++ b/bsp/meta-raspberrypi/dynamic-layers/networking-layer/recipes-support/drbd/drbd_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+COMPATIBLE_MACHINE_rpi = "(null)"
diff --git a/bsp/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend b/bsp/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend
deleted file mode 100644
index 7536f390..00000000
--- a/bsp/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# remove it when we upgrade to kernel > 4.14
-#
-COMPATIBLE_HOST_rpi = "null"
diff --git a/bsp/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/bsp/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
index 58b7b471..8275c6d2 100644
--- a/bsp/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
+++ b/bsp/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -1,9 +1,10 @@
PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \
bb.utils.contains('DISTRO_FEATURES', 'opengl', 'eglfs gles2', \
'', d), d)}"
-PACKAGECONFIG_GL_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' gbm kms', '', d)}"
+PACKAGECONFIG_GL_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' kms', '', d)}"
+PACKAGECONFIG_GL_append_rpi = " gbm"
PACKAGECONFIG_FONTS_rpi = "fontconfig"
-PACKAGECONFIG_append_rpi = " libinput examples tslib xkb xkbcommon-evdev"
+PACKAGECONFIG_append_rpi = " libinput examples tslib xkb xkbcommon"
PACKAGECONFIG_remove_rpi = "tests"
OE_QTBASE_EGLFS_DEVICE_INTEGRATION_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'eglfs_brcm', d)}"
@@ -14,4 +15,5 @@ do_configure_prepend_rpi() {
echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" >> ${S}/mkspecs/oe-device-extra.pri
fi
}
-RDEPENDS_${PN}_append_rpi = " userland"
+RDEPENDS_${PN}_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
+DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
diff --git a/bsp/meta-raspberrypi/files/custom-licenses/Broadcom b/bsp/meta-raspberrypi/files/custom-licenses/Broadcom
deleted file mode 100644
index 25826816..00000000
--- a/bsp/meta-raspberrypi/files/custom-licenses/Broadcom
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (c) 2012, Broadcom Europe Ltd
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the copyright holder nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/bsp/meta-raspberrypi/files/custom-licenses/Broadcom-RPi b/bsp/meta-raspberrypi/files/custom-licenses/Broadcom-RPi
new file mode 100644
index 00000000..6f3baa0c
--- /dev/null
+++ b/bsp/meta-raspberrypi/files/custom-licenses/Broadcom-RPi
@@ -0,0 +1,29 @@
+Copyright (c) 2006, Broadcom Corporation.
+Copyright (c) 2015, Raspberry Pi (Trading) Ltd
+All rights reserved.
+
+Redistribution. Redistribution and use in binary form, without
+modification, are permitted provided that the following conditions are
+met:
+
+* This software may only be used for the purposes of developing for,
+ running or using a Raspberry Pi device.
+* Redistributions must reproduce the above copyright notice and the
+ following disclaimer in the documentation and/or other materials
+ provided with the distribution.
+* Neither the name of Broadcom Corporation nor the names of its suppliers
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
diff --git a/bsp/meta-raspberrypi/kas-poky-rpi.yml b/bsp/meta-raspberrypi/kas-poky-rpi.yml
new file mode 100644
index 00000000..2d80a57e
--- /dev/null
+++ b/bsp/meta-raspberrypi/kas-poky-rpi.yml
@@ -0,0 +1,58 @@
+header:
+ version: 8
+
+machine: raspberrypi4
+distro: poky
+target:
+ - core-image-base
+
+repos:
+ meta-raspberry:
+
+ poky:
+ url: https://git.yoctoproject.org/git/poky
+ refspec: master
+ layers:
+ meta:
+ meta-poky:
+ meta-yocto-bsp:
+
+ meta-openembedded:
+ url: http://git.openembedded.org/meta-openembedded
+ refspec: master
+ layers:
+ meta-oe:
+ meta-python:
+ meta-networking:
+ meta-perl:
+
+ meta-qt5:
+ url: https://github.com/meta-qt5/meta-qt5/
+ refspec: master
+
+bblayers_conf_header:
+ standard: |
+ POKY_BBLAYERS_CONF_VERSION = "2"
+ BBPATH = "${TOPDIR}"
+ BBFILES ?= ""
+local_conf_header:
+ reduce_diskspace: |
+ INHERIT += "rm_work_and_downloads"
+ standard: |
+ CONF_VERSION = "1"
+ PACKAGE_CLASSES = "package_rpm"
+ SDKMACHINE = "x86_64"
+ USER_CLASSES = "buildstats image-mklibs image-prelink"
+ PATCHRESOLVE = "noop"
+ debug-tweaks: |
+ EXTRA_IMAGE_FEATURES = "debug-tweaks"
+ diskmon: |
+ BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
diff --git a/bsp/meta-raspberrypi/lib/oeqa/runtime/cases/parselogs_rpi.py b/bsp/meta-raspberrypi/lib/oeqa/runtime/cases/parselogs_rpi.py
new file mode 100644
index 00000000..5cf9af17
--- /dev/null
+++ b/bsp/meta-raspberrypi/lib/oeqa/runtime/cases/parselogs_rpi.py
@@ -0,0 +1,15 @@
+from oeqa.runtime.cases.parselogs import *
+
+rpi_errors = [
+ 'bcmgenet fd580000.genet: failed to get enet-eee clock',
+ 'bcmgenet fd580000.genet: failed to get enet-wol clock',
+ 'bcmgenet fd580000.genet: failed to get enet clock',
+]
+
+ignore_errors['raspberrypi4'] = rpi_errors + common_errors
+ignore_errors['raspberrypi4-64'] = rpi_errors + common_errors
+ignore_errors['raspberrypi3'] = rpi_errors + common_errors
+ignore_errors['raspberrypi3-64'] = rpi_errors + common_errors
+
+class ParseLogsTestRpi(ParseLogsTest):
+ pass
diff --git a/bsp/meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb b/bsp/meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb
new file mode 100644
index 00000000..d8f3fe70
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "Boot strap code that the GPU puts on memory to start running the boot loader"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://armstub.S;beginline=1;endline=26;md5=9888f34ac06a676129416c952a6a521e"
+
+inherit deploy nopackages
+
+include recipes-bsp/common/raspberrypi-tools.inc
+
+COMPATIBLE_MACHINE = "^rpi$"
+
+S = "${RPITOOLS_S}/armstubs"
+
+export CC7="${CC}"
+export LD7="${LD}"
+export OBJCOPY7="${OBJCOPY}"
+export OBJDUMP7="${OBJDUMP}"
+export CC8="${CC}"
+export LD8="${LD}"
+export OBJCOPY8="${OBJCOPY}"
+export OBJDUMP8="${OBJDUMP} -maarch64"
+
+do_compile() {
+ [ -z "${ARMSTUB}" ] && bbfatal "No ARMSTUB defined for your machine."
+ oe_runmake ${ARMSTUB}
+}
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/${PN}
+ cp ${S}/armstub*.bin ${DEPLOYDIR}/${PN}
+}
+
+addtask deploy before do_build after do_install
+do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/bsp/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb b/bsp/meta-raspberrypi/recipes-bsp/bootfiles/bootfiles.bb
index 466f4438..80e226d4 100644
--- a/bsp/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb
+++ b/bsp/meta-raspberrypi/recipes-bsp/bootfiles/bootfiles.bb
@@ -1,11 +1,11 @@
-DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
-LICENSE = "Proprietary"
+DESCRIPTION = "Closed source binary files to help boot all raspberry pi devices."
+LICENSE = "Broadcom-RPi"
-LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=4a4d169737c0786fb9482bb6d30401d1"
+LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d"
inherit deploy nopackages
-include recipes-bsp/common/firmware.inc
+include recipes-bsp/common/raspberrypi-firmware.inc
INHIBIT_DEFAULT_DEPS = "1"
@@ -34,6 +34,8 @@ do_deploy() {
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
}
+do_deploy[depends] += "rpi-config:do_deploy"
+
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
diff --git a/bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
index fcc7771b..67c166a0 100644
--- a/bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
+++ b/bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
@@ -20,182 +20,214 @@ INHIBIT_DEFAULT_DEPS = "1"
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)}"
+PITFT28c="${@bb.utils.contains("MACHINE_FEATURES", "pitft28c", "1", "0", d)}"
PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"
VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
VC4DTBO ?= "vc4-kms-v3d"
+GPIO_IR ?= "18"
+GPIO_IR_TX ?= "17"
inherit deploy nopackages
do_deploy() {
- install -d ${DEPLOYDIR}/bcm2835-bootfiles
+ install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
- cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/
+ cp ${S}/config.txt ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/
if [ -n "${KEY_DECODE_MPG2}" ]; then
- sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${KEY_DECODE_WVC1}" ]; then
- sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${DISABLE_OVERSCAN}" ]; then
- sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
- if [ -n "${DISABLE_SPLASH}" ]; then
- sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ if [ "${DISABLE_SPLASH}" = "1" ]; then
+ sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Set overclocking options
if [ -n "${ARM_FREQ}" ]; then
- sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${GPU_FREQ}" ]; then
- sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${CORE_FREQ}" ]; then
- sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${SDRAM_FREQ}" ]; then
- sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${OVER_VOLTAGE}" ]; then
- sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# GPU memory
if [ -n "${GPU_MEM}" ]; then
- sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${GPU_MEM_256}" ]; then
- sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${GPU_MEM_512}" ]; then
- sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${GPU_MEM_1024}" ]; then
- sed -i '/#gpu_mem_1024=/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#gpu_mem_1024=/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Set boot delay
if [ -n "${BOOT_DELAY}" ]; then
- sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${BOOT_DELAY_MS}" ]; then
- sed -i '/#boot_delay_ms=/ c\boot_delay_ms=${BOOT_DELAY_MS}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#boot_delay_ms=/ c\boot_delay_ms=${BOOT_DELAY_MS}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Set HDMI and composite video options
if [ -n "${HDMI_FORCE_HOTPLUG}" ]; then
- sed -i '/#hdmi_force_hotplug=/ c\hdmi_force_hotplug=${HDMI_FORCE_HOTPLUG}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#hdmi_force_hotplug=/ c\hdmi_force_hotplug=${HDMI_FORCE_HOTPLUG}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${HDMI_DRIVE}" ]; then
- sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${HDMI_GROUP}" ]; then
- sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${HDMI_MODE}" ]; then
- sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${CONFIG_HDMI_BOOST}" ]; then
- sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${SDTV_MODE}" ]; then
- sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${SDTV_ASPECT}" ]; then
- sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ -n "${DISPLAY_ROTATE}" ]; then
- sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Video camera support
- if [ -n "${VIDEO_CAMERA}" ]; then
- echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ if [ "${VIDEO_CAMERA}" = "1" ]; then
+ echo "# Enable video camera" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "start_x=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Offline compositing support
- if [ -n "${DISPMANX_OFFLINE}" ]; then
- echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ if [ "${DISPMANX_OFFLINE}" = "1" ]; then
+ echo "# Enable offline compositing" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dispmanx_offline=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# SPI bus support
- 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
+ if [ "${ENABLE_SPI_BUS}" = "1" ] || [ "${PITFT}" = "1" ]; then
+ echo "# Enable SPI bus" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtparam=spi=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# I2C support
- 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
+ if [ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]; then
+ echo "# Enable I2C" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtparam=i2c1=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# PiTFT22 display support
if [ "${PITFT22}" = "1" ]; then
- echo "# Enable PITFT22 display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Enable PITFT22 display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/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
+ echo "# Enable PITFT28r display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ fi
+ if [ "${PITFT28c}" = "1" ]; then
+ echo "# Enable PITFT28c display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=pitft28-capacitive,touch-swapxy,touch-invx" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ "${PITFT35r}" = "1" ]; then
- echo "# Enable PITFT35r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Enable PITFT35r display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# UART support
if [ "${ENABLE_UART}" = "1" ]; then
- echo "# Enable UART" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "enable_uart=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Enable UART" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "enable_uart=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ fi
+
+ # Infrared support
+ if [ "${ENABLE_IR}" = "1" ]; then
+ echo "# Enable infrared" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=gpio-ir,gpio_pin=${GPIO_IR}" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=gpio-ir-tx,gpio_pin=${GPIO_IR_TX}" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# VC4 Graphics support
if [ "${VC4GRAPHICS}" = "1" ]; then
- echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=${VC4DTBO}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=${VC4DTBO}" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm)
if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then
- echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "max_usb_current=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "hdmi_group=2" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "hdmi_mode=87" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "hdmi_cvt 1024 600 60 6 0 0 0" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "hdmi_drive=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "max_usb_current=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "hdmi_group=2" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "hdmi_mode=87" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "hdmi_cvt 1024 600 60 6 0 0 0" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "hdmi_drive=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# DWC2 USB peripheral support
if [ "${ENABLE_DWC2_PERIPHERAL}" = "1" ]; then
- echo "# Enable USB peripheral mode" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Enable USB peripheral mode" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# AT86RF23X support
if [ "${ENABLE_AT86RF}" = "1" ]; then
- echo "# Enable AT86RF23X" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Enable AT86RF23X" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ fi
+
+ # ENABLE CAN
+ if [ "${ENABLE_CAN}" = "1" ]; then
+ echo "# Enable CAN" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Append extra config if the user has provided any
- printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+
+ # Handle setup with armstub file
+ if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
+ echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ case "${ARMSTUB}" in
+ *-gic.bin)
+ echo "enable_gic=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ ;;
+ esac
+ fi
}
do_deploy_append_raspberrypi3-64() {
- echo "# have a properly sized image" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "disable_overscan=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# have a properly sized image" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "disable_overscan=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
- echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtparam=audio=on" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
}
addtask deploy before do_build after do_install
-do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
+do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/bsp/meta-raspberrypi/recipes-bsp/common/firmware.inc b/bsp/meta-raspberrypi/recipes-bsp/common/firmware.inc
deleted file mode 100644
index 37cd343f..00000000
--- a/bsp/meta-raspberrypi/recipes-bsp/common/firmware.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-RPIFW_DATE ?= "20190212"
-SRCREV ?= "83977fe3b6ef54c1d29c83b0a778d330f523441f"
-RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
-RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
-
-SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[md5sum] = "5ccdb5447cbdd3ee0158a514f7b76cb9"
-SRC_URI[sha256sum] = "9a34ccc4a51695a33206cc6c8534f615ba5a30fcbce5fa3add400ecc6b80ad8a"
-
-
-PV = "${RPIFW_DATE}"
diff --git a/bsp/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/bsp/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
new file mode 100644
index 00000000..d4d2e3ca
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
@@ -0,0 +1,10 @@
+RPIFW_DATE ?= "20200713"
+SRCREV ?= "7e74bcb4f9706f36f752d1c3d3164628ccf2aae5"
+RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
+RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
+
+SRC_URI = "${RPIFW_SRC_URI}"
+SRC_URI[md5sum] = "46a19d68b81f388443394492dd6a873c"
+SRC_URI[sha256sum] = "f987cafcbc72179493673191e3e4aa8c1f18eccf871546be5d26156abbf8eff1"
+
+PV = "${RPIFW_DATE}"
diff --git a/bsp/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc b/bsp/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc
new file mode 100644
index 00000000..0d4c627c
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc
@@ -0,0 +1,9 @@
+SRCREV ?= "b0c869bc929587a7e1d20a98e2dc828a24ca396a"
+RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz"
+RPITOOLS_S ?= "${WORKDIR}/tools-${SRCREV}"
+
+SRC_URI = "${RPITOOLS_SRC_URI}"
+SRC_URI[md5sum] = "fd999aad4424088b5e8746a9d946bb56"
+SRC_URI[sha256sum] = "a0a8aff308d9302318442e6bcd2df14cbbb3b633f12ca6b9c43c4ab69bf45bb1"
+
+PV = "0.0+git${SRCREV}"
diff --git a/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in b/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in
index ad54cd06..627d1815 100644
--- a/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in
+++ b/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in
@@ -1,3 +1,4 @@
fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs
fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
+if test ! -e mmc 0:1 uboot.env; then saveenv; fi;
@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}
diff --git a/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb b/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
index 593fc903..4cb8978e 100644
--- a/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
+++ b/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
@@ -24,3 +24,5 @@ do_deploy() {
}
addtask do_deploy after do_compile before do_build
+
+PROVIDES += "u-boot-default-script"
diff --git a/bsp/meta-raspberrypi/recipes-bsp/u-boot/files/fw_env.config b/bsp/meta-raspberrypi/recipes-bsp/u-boot/files/fw_env.config
new file mode 100644
index 00000000..d00df0cb
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-bsp/u-boot/files/fw_env.config
@@ -0,0 +1 @@
+/boot/uboot.env 0x0000 0x4000
diff --git a/bsp/meta-raspberrypi/recipes-bsp/u-boot/libubootenv_%.bbappend b/bsp/meta-raspberrypi/recipes-bsp/u-boot/libubootenv_%.bbappend
new file mode 100644
index 00000000..22d1bdc4
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-bsp/u-boot/libubootenv_%.bbappend
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI_append_rpi = " \
+ file://fw_env.config \
+"
+
+DEPENDS_append_rpi = " rpi-u-boot-scr"
+
+do_install_append_rpi () {
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
+}
diff --git a/bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch b/bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch
new file mode 100644
index 00000000..996ad107
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch
@@ -0,0 +1,51 @@
+From 336d86ebd146905cf4384912f4f27699b6e37c72 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Sun, 29 Dec 2019 21:19:17 -0700
+Subject: [PATCH] dm: core: Move ofdata_to_platdata() call earlier
+
+This method is supposed to extract platform data from the device tree. It
+should be done before the device itself is probed. Move it earlier in the
+device_probe() function.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ drivers/core/device.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/core/device.c b/drivers/core/device.c
+index 4e03708..291ff4c 100644
+--- a/drivers/core/device.c
++++ b/drivers/core/device.c
+@@ -375,6 +375,13 @@ int device_probe(struct udevice *dev)
+ return 0;
+ }
+
++ if (drv->ofdata_to_platdata &&
++ (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
++ ret = drv->ofdata_to_platdata(dev);
++ if (ret)
++ goto fail;
++ }
++
+ seq = uclass_resolve_seq(dev);
+ if (seq < 0) {
+ ret = seq;
+@@ -411,13 +418,6 @@ int device_probe(struct udevice *dev)
+ goto fail;
+ }
+
+- if (drv->ofdata_to_platdata &&
+- (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
+- ret = drv->ofdata_to_platdata(dev);
+- if (ret)
+- goto fail;
+- }
+-
+ /* Only handle devices that have a valid ofnode */
+ if (dev_of_valid(dev)) {
+ /*
+--
+2.7.4
+
diff --git a/bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend b/bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
index 95015f49..40b4fc0a 100644
--- a/bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
@@ -1 +1,5 @@
-DEPENDS_append_rpi = " rpi-u-boot-scr"
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+DEPENDS_append_rpi = " u-boot-default-script"
+
+SRC_URI_append_raspberrypi-cm3 = " file://0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch"
diff --git a/bsp/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend b/bsp/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
index 6651fb8d..d1a07a46 100644
--- a/bsp/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
@@ -1,16 +1,10 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS_prepend_rpi := "${THISDIR}/${PN}:"
-BCM_BT_SOURCES = " \
+SRC_URI_append_rpi = "\
file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
file://0003-Increase-firmware-load-timeout-to-30s.patch \
file://0004-Move-the-43xx-firmware-into-lib-firmware.patch \
"
-BCM_BT_RDEPENDS = "pi-bluetooth"
-
-SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}"
-SRC_URI_append_raspberrypi3 = " ${BCM_BT_SOURCES}"
-
-RDEPENDS_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_RDEPENDS}"
-RDEPENDS_${PN}_append_raspberrypi3 = " ${BCM_BT_RDEPENDS}"
+RDEPENDS_${PN}_append_rpi = " pi-bluetooth"
diff --git a/bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch b/bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch
index 45839053..45b43c72 100644
--- a/bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch
+++ b/bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch
@@ -1,16 +1,18 @@
-From af91c96951a11f81f5cea88a0010161592c89310 Mon Sep 17 00:00:00 2001
+From a73bbed89fb049ac424c211629935b26013e2573 Mon Sep 17 00:00:00 2001
From: "Peter A. Bigot" <pab@pabigot.com>
Date: Wed, 14 Nov 2018 09:19:51 -0600
Subject: [PATCH] bthelper: correct path for hciconfig under Yocto
Upstream-Status: Inapproprate [OE-specific]
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+
---
usr/bin/bthelper | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/usr/bin/bthelper b/usr/bin/bthelper
-index 255fdeb..4e1a1a4 100755
+index af597e5..5de84f6 100755
--- a/usr/bin/bthelper
+++ b/usr/bin/bthelper
@@ -10,7 +10,7 @@ fi
@@ -18,11 +20,8 @@ index 255fdeb..4e1a1a4 100755
dev="$1"
# Need to bring hci up before looking at MAC as it can be all zeros during init
-/bin/hciconfig "$dev" up
--/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
+-/bin/hciconfig "$dev" | grep -qE "BD Address: (B8:27:EB|DC:A6:32):" || exit 0
+/usr/bin/hciconfig "$dev" up
-+/usr/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
++/usr/bin/hciconfig "$dev" | grep -qE "BD Address: (B8:27:EB|DC:A6:32):" || exit 0
/usr/bin/hcitool -i "$dev" cmd 0x3f 0x1c 0x01 0x02 0x00 0x01 0x01 > /dev/null
---
-2.17.1
-
diff --git a/bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_git.bb b/bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb
index b2401b93..ccf714ba 100644
--- a/bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_git.bb
+++ b/bsp/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb
@@ -10,8 +10,7 @@ SRC_URI = "\
git://github.com/RPi-Distro/pi-bluetooth \
file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \
"
-SRCREV = "2e1a393955910aea67bbf3c921be35a66e8a8fbe"
-PV = "1.1+git${SRCPV}"
+SRCREV = "cbdbcb66bcc5b9af05f1a9fffe2254c872bb0ace"
S = "${WORKDIR}/git"
@@ -22,8 +21,6 @@ SYSTEMD_SERVICE_${PN} = "\
bthelper@.service \
"
-inherit allarch
-
do_install() {
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${S}/lib/udev/rules.d/* ${D}${sysconfdir}/udev/rules.d
@@ -44,3 +41,7 @@ FILES_${PN} = "\
${sysconfdir} \
${systemd_unitdir}/system \
"
+
+RDEPENDS_${PN} += " \
+ udev-rules-rpi \
+"
diff --git a/bsp/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb b/bsp/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
index 91593469..87de3558 100644
--- a/bsp/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
+++ b/bsp/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
@@ -2,6 +2,8 @@ DESCRIPTION = "RaspberryPi Test Packagegroup"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
inherit packagegroup
COMPATIBLE_MACHINE = "^rpi$"
@@ -11,21 +13,18 @@ OMXPLAYER = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'omxpl
RDEPENDS_${PN} = "\
${OMXPLAYER} \
bcm2835-tests \
- wiringpi \
rpio \
rpi-gpio \
pi-blaster \
- python-rtimu \
- python-sense-hat \
+ python3-rtimu \
+ python3-sense-hat \
connman \
connman-client \
- crda \
+ wireless-regdb-static \
bluez5 \
"
RRECOMMENDS_${PN} = "\
- bigbuckbunny-1080p \
- bigbuckbunny-480p \
- bigbuckbunny-720p \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-multimedia", "bigbuckbunny-1080p bigbuckbunny-480p bigbuckbunny-720p", "", d)} \
${MACHINE_EXTRA_RRECOMMENDS} \
"
diff --git a/bsp/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend b/bsp/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend
index 09e3ec9d..41622aa5 100644
--- a/bsp/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend
@@ -1,3 +1,2 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SPLASH_IMAGES_append_rpi = " file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
-ALTERNATIVE_PRIORITY_psplash-raspberrypi[psplash] = "200"
+SPLASH_IMAGES_rpi = "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
diff --git a/bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb b/bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
index edef0db9..42cfcdd4 100644
--- a/bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
+++ b/bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
@@ -2,7 +2,10 @@ DESCRIPTION = "udev rules for Raspberry Pi Boards"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRC_URI = " file://99-com.rules"
+SRC_URI = " \
+ file://99-com.rules \
+ file://can.rules \
+ "
S = "${WORKDIR}"
@@ -11,4 +14,5 @@ INHIBIT_DEFAULT_DEPS = "1"
do_install () {
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${WORKDIR}/99-com.rules ${D}${sysconfdir}/udev/rules.d/
+ install -m 0644 ${WORKDIR}/can.rules ${D}${sysconfdir}/udev/rules.d/
}
diff --git a/bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/can.rules b/bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/can.rules
new file mode 100644
index 00000000..a47d57de
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/can.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="net", DEVPATH=="/devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.0/net/can0", RUN+="/sbin/ip link set can0 up type can bitrate 500000"
diff --git a/bsp/meta-raspberrypi/recipes-devtools/pi-blaster/files/0001-pi-blaster-Include-sys-sysmacros.h-for-makedev.patch b/bsp/meta-raspberrypi/recipes-devtools/pi-blaster/files/0001-pi-blaster-Include-sys-sysmacros.h-for-makedev.patch
deleted file mode 100644
index b4bc4b28..00000000
--- a/bsp/meta-raspberrypi/recipes-devtools/pi-blaster/files/0001-pi-blaster-Include-sys-sysmacros.h-for-makedev.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 6a6b705ff5cba960c54bdb4d4bcdaa3b00a854a2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 10:24:24 -0700
-Subject: [PATCH] pi-blaster: Include sys/sysmacros.h for makedev()
-
-In glibc 2.28+ this header is not included indirectly anymore
-
-fixes
-
-ld: pi-blaster.o: in function `mbox_open':
-pi-blaster.c:(.text+0x28): undefined reference to `makedev'
-collect2: error: ld returned 1 exit status
-
-Upstream-Status: Submitted [https://github.com/sarfata/pi-blaster/pull/100]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- pi-blaster.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/pi-blaster.c b/pi-blaster.c
-index 6cfd010..fc4e686 100644
---- a/pi-blaster.c
-+++ b/pi-blaster.c
-@@ -41,6 +41,7 @@ static char VERSION[] = "SNAPSHOT";
- #include <sys/time.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <fcntl.h>
- #include <sys/mman.h>
- #include "mailbox.h"
diff --git a/bsp/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb b/bsp/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
index 9cedf5ec..fdaf16c8 100644
--- a/bsp/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
+++ b/bsp/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
@@ -2,16 +2,15 @@ DESCRIPTION = "This project enables PWM on the GPIO pins you request of a Raspbe
HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
SECTION = "devel/libs"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README.md;beginline=244;endline=268;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
+LIC_FILES_CHKSUM = "file://README.md;beginline=268;endline=292;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
SRC_URI = "git://github.com/sarfata/pi-blaster \
file://remove-initscript-lsb-dependency.patch \
- file://0001-pi-blaster-Include-sys-sysmacros.h-for-makedev.patch \
"
S = "${WORKDIR}/git"
-SRCREV = "e981aa5d7624c75a4d4afcddcbd235f25e32ffe4"
+SRCREV = "befd8ef36e5066e4d444ef47fe4020787e541248"
inherit update-rc.d autotools
diff --git a/bsp/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch b/bsp/meta-raspberrypi/recipes-devtools/python/python3-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
index 4a93a1ce..4a93a1ce 100644
--- a/bsp/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
+++ b/bsp/meta-raspberrypi/recipes-devtools/python/python3-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
diff --git a/bsp/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb b/bsp/meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb
index 63c92b38..c0cb3110 100644
--- a/bsp/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb
+++ b/bsp/meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb
@@ -12,4 +12,4 @@ SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
S = "${WORKDIR}/git/Linux/python/"
-inherit setuptools
+inherit setuptools3
diff --git a/bsp/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb b/bsp/meta-raspberrypi/recipes-devtools/python/python3-sense-hat_2.2.0.bb
index f7c4e349..5ea00142 100644
--- a/bsp/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb
+++ b/bsp/meta-raspberrypi/recipes-devtools/python/python3-sense-hat_2.2.0.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
-inherit setuptools pypi
+inherit setuptools3 pypi
PYPI_PACKAGE = "sense-hat"
@@ -18,7 +18,7 @@ DEPENDS += " \
"
RDEPENDS_${PN} += " \
- python-numpy \
- python-rtimu \
- python-imaging \
+ ${PYTHON_PN}-numpy \
+ ${PYTHON_PN}-rtimu \
+ ${PYTHON_PN}-imaging \
"
diff --git a/bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch b/bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
index bd971793..5c94bc24 100644
--- a/bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
+++ b/bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
@@ -30,6 +30,8 @@ silence this warning
uint32_t peri_base;
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Pierre-Jean: update for version 0.7.0]
+Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
---
Upstream-Status: Submitted
@@ -37,37 +39,6 @@ Upstream-Status: Submitted
source/py_gpio.c | 135 ++++++++++++++++++++++++++++---------------------------
2 files changed, 71 insertions(+), 70 deletions(-)
-diff --git a/source/c_gpio.c b/source/c_gpio.c
-index c96a2b0..b69880f 100644
---- a/source/c_gpio.c
-+++ b/source/c_gpio.c
-@@ -61,7 +61,7 @@ int setup(void)
- {
- int mem_fd;
- uint8_t *gpio_mem;
-- uint32_t peri_base;
-+ uint32_t peri_base = 0;
- uint32_t gpio_base;
- unsigned char buf[4];
- FILE *fp;
-@@ -73,7 +73,7 @@ int setup(void)
- if ((mem_fd = open("/dev/gpiomem", O_RDWR|O_SYNC)) > 0)
- {
- gpio_map = (uint32_t *)mmap(NULL, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, 0);
-- if ((uint32_t)gpio_map < 0) {
-+ if (gpio_map == MAP_FAILED) {
- return SETUP_MMAP_FAIL;
- } else {
- return SETUP_OK;
-@@ -127,7 +127,7 @@ int setup(void)
-
- gpio_map = (uint32_t *)mmap( (void *)gpio_mem, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, mem_fd, gpio_base);
-
-- if ((uint32_t)gpio_map < 0)
-+ if (gpio_map == MAP_FAILED)
- return SETUP_MMAP_FAIL;
-
- return SETUP_OK;
diff --git a/source/py_gpio.c b/source/py_gpio.c
index d54cc7f..007bad5 100644
--- a/source/py_gpio.c
diff --git a/bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb b/bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.7.0.bb
index d0ff00af..fcce88f8 100644
--- a/bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb
+++ b/bsp/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.7.0.bb
@@ -1,14 +1,14 @@
DESCRIPTION = "A module to control Raspberry Pi GPIO channels"
-HOMEPAGE = "http://code.google.com/p/raspberry-gpio-python/"
+HOMEPAGE = "https://sourceforge.net/projects/raspberry-gpio-python/"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=9b95630a648966b142f1a0dcea001cb7"
PYPI_PACKAGE = "RPi.GPIO"
-inherit pypi distutils
+inherit pypi distutils3
SRC_URI += "file://0001-Remove-nested-functions.patch"
-SRC_URI[md5sum] = "e4abe1cfb5eacebe53078032256eb837"
-SRC_URI[sha256sum] = "a5fc0eb5e401963b6c0a03650da6b42c4005f02d962b81241d96c98d0a578516"
+SRC_URI[md5sum] = "777617f9dea9a1680f9af43db0cf150e"
+SRC_URI[sha256sum] = "7424bc6c205466764f30f666c18187a0824077daf20b295c42f08aea2cb87d3f"
COMPATIBLE_MACHINE = "^rpi$"
diff --git a/bsp/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb b/bsp/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
index c3254bcf..d5653cb0 100644
--- a/bsp/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
+++ b/bsp/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
@@ -10,13 +10,13 @@ inherit pypi
SRC_URI += "file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch"
-inherit setuptools
+inherit setuptools3
COMPATIBLE_MACHINE = "^rpi$"
RDEPENDS_${PN} = "\
- python-logging \
- python-threading \
+ python3-logging \
+ python3-threading \
"
SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4"
diff --git a/bsp/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb b/bsp/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb
index 0de775c7..02a3f558 100644
--- a/bsp/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb
+++ b/bsp/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb
@@ -8,7 +8,7 @@ COMPATIBLE_MACHINE = "^rpi$"
inherit autotools
-SRCREV = "2df7b8684e2e36b080cda315d78d5ba16f8f18b0"
+SRCREV = "4edfde183ff3ac9ed66cdc015ae25e45f3a5502d"
SRC_URI = "git://github.com/RPi-Distro/raspi-gpio.git;protocol=https;branch=master \
"
diff --git a/bsp/meta-raspberrypi/recipes-devtools/wiringpi/files/0001-Add-initial-cross-compile-support.patch b/bsp/meta-raspberrypi/recipes-devtools/wiringpi/files/0001-Add-initial-cross-compile-support.patch
deleted file mode 100644
index be3d9eeb..00000000
--- a/bsp/meta-raspberrypi/recipes-devtools/wiringpi/files/0001-Add-initial-cross-compile-support.patch
+++ /dev/null
@@ -1,415 +0,0 @@
-From 32f3cad3c41161693659a902062fa0c01c0338ed Mon Sep 17 00:00:00 2001
-From: ErikHH <erik.hoogeveen@outlook.com>
-Date: Thu, 20 Dec 2018 15:33:45 +0100
-Subject: [PATCH 1/1] Add initial cross compile support
-
-Signed-off-by: ErikHH <erik.hoogeveen@outlook.com>
----
- devLib/Makefile | 55 +++++++++++++++++++++----------------
- examples/Gertboard/Makefile | 22 +++++++++------
- examples/Makefile | 22 +++++++++------
- examples/PiFace/Makefile | 22 +++++++++------
- examples/PiGlow/Makefile | 4 +--
- examples/q2w/Makefile | 4 +--
- gpio/Makefile | 29 +++++++++----------
- wiringPi/Makefile | 47 +++++++++++++++++--------------
- 8 files changed, 119 insertions(+), 86 deletions(-)
-
-diff --git a/devLib/Makefile b/devLib/Makefile
-index cf665d6..d193a9d 100644
---- a/devLib/Makefile
-+++ b/devLib/Makefile
-@@ -22,6 +22,7 @@
- #################################################################################
-
- VERSION=$(shell cat ../VERSION)
-+DYN_VERS_MAJ=$(word 1,$(subst ., ,$(VERSION)))
- DESTDIR?=/usr
- PREFIX?=/local
-
-@@ -31,15 +32,19 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--STATIC=libwiringPiDev.a
--DYNAMIC=libwiringPiDev.so.$(VERSION)
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-
--#DEBUG = -g -O0
--DEBUG = -O2
--CC = gcc
--INCLUDE = -I.
--DEFS = -D_GNU_SOURCE
--CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
-+BASE_NAME=libwiringPiDev
-+STATIC=$(BASE_NAME).a
-+DYNAMIC=$(BASE_NAME).so.$(VERSION)
-+
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O2
-+CC ?= gcc
-+INCLUDE ?= -I.
-+DEFS ?= -D_GNU_SOURCE
-+CFLAGS ?= $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
-
- LIBS =
-
-@@ -68,16 +73,16 @@ $(STATIC): $(OBJ)
-
- $(DYNAMIC): $(OBJ)
- $Q echo "[Link (Dynamic)]"
-- $Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
-+ $Q $(CC) -shared $(LDFLAGS) -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
-
- .c.o:
- $Q echo [Compile] $<
-- $Q $(CC) -c $(CFLAGS) $< -o $@
-+ $Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
-
- .PHONY: clean
- clean:
- $Q echo "[Clean]"
-- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
-+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
-
- .PHONY: tags
- tags: $(SRC)
-@@ -88,22 +93,22 @@ tags: $(SRC)
- .PHONY: install
- install: $(DYNAMIC)
- $Q echo "[Install Headers]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
-- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
-+ $Q install -m 0755 -d $(INCLUDE_DIR)
-+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
- $Q echo "[Install Dynamic Lib]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
-- $Q install -m 0755 libwiringPiDev.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
-- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so
-- $Q $(LDCONFIG)
-+ $Q install -m 0755 -d $(LIB_DIR)
-+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
-+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
-+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
-
- .PHONY: install-static
- install-static: $(STATIC)
- $Q echo "[Install Headers]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
-- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
-+ $Q install -m 0755 -d $(INCLUDE_DIR)
-+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
- $Q echo "[Install Static Lib]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
-- $Q install -m 0755 libwiringPiDev.a $(DESTDIR)$(PREFIX)/lib
-+ $Q install -m 0755 -d $(LIB_DIR)
-+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
-
- .PHONY: install-deb
- install-deb: $(DYNAMIC)
-@@ -118,9 +123,11 @@ install-deb: $(DYNAMIC)
- .PHONY: uninstall
- uninstall:
- $Q echo "[UnInstall]"
-- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
-- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPiDev.*
-- $Q $(LDCONFIG)
-+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
-+ $Q rm -f $(LIB_DIR)/$(STATIC)
-+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
-+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
-+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
-
-
- .PHONY: depend
-diff --git a/examples/Gertboard/Makefile b/examples/Gertboard/Makefile
-index 1939ad6..98d1415 100644
---- a/examples/Gertboard/Makefile
-+++ b/examples/Gertboard/Makefile
-@@ -9,14 +9,20 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--#DEBUG = -g -O0
--DEBUG = -O3
--CC = gcc
--INCLUDE = -I/usr/local/include
--CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
--
--LDFLAGS = -L/usr/local/lib
--LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
-+DESTDIR?=/usr
-+PREFIX?=/local
-+
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O3
-+CC ?= gcc
-+INCLUDE ?= -I$(INCLUDE_DIR)
-+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-+
-+LDFLAGS ?= -L$(LIB_DIR)
-+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
-
- # Should not alter anything below this line
- ###############################################################################
-diff --git a/examples/Makefile b/examples/Makefile
-index 6d87885..8623816 100644
---- a/examples/Makefile
-+++ b/examples/Makefile
-@@ -26,14 +26,20 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--#DEBUG = -g -O0
--DEBUG = -O3
--CC = gcc
--INCLUDE = -I/usr/local/include
--CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
--
--LDFLAGS = -L/usr/local/lib
--LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
-+DESTDIR?=/usr
-+PREFIX?=/local
-+
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O3
-+CC ?= gcc
-+INCLUDE ?= -I$(INCLUDE_DIR)
-+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-+
-+LDFLAGS ?= -L$(LIB_DIR)
-+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
-
- # Should not alter anything below this line
- ###############################################################################
-diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
-index f937c14..ad030b3 100644
---- a/examples/PiFace/Makefile
-+++ b/examples/PiFace/Makefile
-@@ -26,14 +26,20 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--#DEBUG = -g -O0
--DEBUG = -O3
--CC = gcc
--INCLUDE = -I/usr/local/include
--CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
--
--LDFLAGS = -L/usr/local/lib
--LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
-+DESTDIR?=/usr
-+PREFIX?=/local
-+
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O3
-+CC ?= gcc
-+INCLUDE ?= -I$(INCLUDE_DIR)
-+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-+
-+LDFLAGS ?= -L$(LIB_DIR)
-+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
-
- # Should not alter anything below this line
- ###############################################################################
-diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
-index f182db7..d1ea74f 100644
---- a/examples/PiGlow/Makefile
-+++ b/examples/PiGlow/Makefile
-@@ -29,10 +29,10 @@ endif
- #DEBUG = -g -O0
- DEBUG = -O3
- CC = gcc
--INCLUDE = -I/usr/local/include
-+INCLUDE = -I../wiringPi -I../wiringPiDev
- CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
--LDFLAGS = -L/usr/local/lib
-+LDFLAGS = -L../wiringPi -L../wiringPiDev
- LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
-
- # Should not alter anything below this line
-diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
-index 8f773bf..14aa6e4 100644
---- a/examples/q2w/Makefile
-+++ b/examples/q2w/Makefile
-@@ -29,10 +29,10 @@ endif
- #DEBUG = -g -O0
- DEBUG = -O3
- CC = gcc
--INCLUDE = -I/usr/local/include
-+INCLUDE = -I../wiringPi -I../devLib
- CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
--LDFLAGS = -L/usr/local/lib
-+LDFLAGS = -L../wiringPi -L../devLib
- LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
-
- ###############################################################################
-diff --git a/gpio/Makefile b/gpio/Makefile
-index 9ec160d..a294242 100644
---- a/gpio/Makefile
-+++ b/gpio/Makefile
-@@ -30,13 +30,17 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--#DEBUG = -g -O0
--DEBUG = -O2
--CC = gcc
--INCLUDE = -I$(DESTDIR)$(PREFIX)/include
--CFLAGS = $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
-
--LDFLAGS = -L$(DESTDIR)$(PREFIX)/lib
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O2
-+CC ?= gcc
-+INCLUDE ?= -I$(INCLUDE_DIR)
-+CFLAGS ?= $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
-+
-+LDFLAGS ?= -L$(LIB_DIR)
- LIBS = -lwiringPi -lwiringPiDev -lpthread -lrt -lm -lcrypt
-
- # May not need to alter anything below this line
-@@ -72,13 +76,10 @@ tags: $(SRC)
- .PHONY: install
- install: gpio
- $Q echo "[Install]"
-- $Q cp gpio $(DESTDIR)$(PREFIX)/bin
--ifneq ($(WIRINGPI_SUID),0)
-- $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio
-- $Q chmod 4755 $(DESTDIR)$(PREFIX)/bin/gpio
--endif
-- $Q mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
-- $Q cp gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
-+ $Q install -d $(BIN_DIR)
-+ $Q install -m 4755 -o root -g root gpio $(BIN_DIR)
-+ $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
-+ $Q install -m 644 -o root -g root gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
-
- .PHONY: install-deb
- install-deb: gpio
-@@ -91,7 +92,7 @@ install-deb: gpio
- .PHONY: uninstall
- uninstall:
- $Q echo "[UnInstall]"
-- $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
-+ $Q rm -f $(BIN_DIR)/gpio
- $Q rm -f $(DESTDIR)$(PREFIX)/share/man/man1/gpio.1
-
- .PHONY: depend
-diff --git a/wiringPi/Makefile b/wiringPi/Makefile
-index 287fa58..3423d3f 100644
---- a/wiringPi/Makefile
-+++ b/wiringPi/Makefile
-@@ -22,25 +22,30 @@
- #################################################################################
-
- VERSION=$(shell cat ../VERSION)
-+DYN_VERS_MAJ=$(word 1,$(subst ., ,$(VERSION)))
- DESTDIR?=/usr
- PREFIX?=/local
-
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+
- LDCONFIG?=ldconfig
-
- ifneq ($V,1)
- Q ?= @
- endif
-
--STATIC=libwiringPi.a
--DYNAMIC=libwiringPi.so.$(VERSION)
-+BASE_NAME=libwiringPi
-+STATIC=$(BASE_NAME).a
-+DYNAMIC=$(BASE_NAME).so.$(VERSION)
-
--#DEBUG = -g -O0
--DEBUG = -O2
--CC = gcc
--INCLUDE = -I.
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O2
-+CC ?= gcc
-+INCLUDE ?= -I.
- DEFS = -D_GNU_SOURCE
--CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC
--#CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Wconversion -Winline $(INCLUDE) -pipe -fPIC
-+CFLAGS = $(DEBUG) $(DEFS) $(INCLUDE) -Wformat=2 -Wall -Wextra -Winline -pipe -fPIC
-+#CFLAGS = $(DEBUG) $(DEFS) $(INCLUDE) -Wformat=2 -Wall -Wextra -Wconversion -Winline -pipe -fPIC
-
- LIBS = -lm -lpthread -lrt -lcrypt
-
-@@ -75,17 +80,17 @@ static:
-
- $(DYNAMIC): $(OBJ)
- $Q echo "[Link (Dynamic)]"
-- $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) $(LIBS) $(OBJ)
-+ $Q $(CC) $(LDFLAGS) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so $(OBJ) $(LIBS)
-
- .c.o:
- $Q echo [Compile] $<
-- $Q $(CC) -c $(CFLAGS) $< -o $@
-+ $Q $(CC) $(CFLAGS) $(LIBS) -c $< -o $@
-
-
- .PHONY: clean
- clean:
- $Q echo "[Clean]"
-- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
-+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
-
- .PHONY: tags
- tags: $(SRC)
-@@ -96,13 +101,13 @@ tags: $(SRC)
- .PHONY: install
- install: $(DYNAMIC)
- $Q echo "[Install Headers]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
-- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
-+ $Q install -m 0755 -d $(INCLUDE_DIR)
-+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
- $Q echo "[Install Dynamic Lib]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
-- $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
-- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so
-- $Q $(LDCONFIG)
-+ $Q install -m 0755 -d $(LIB_DIR)
-+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
-+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
-+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
-
- .PHONY: install-deb
- install-deb: $(DYNAMIC)
-@@ -117,9 +122,11 @@ install-deb: $(DYNAMIC)
- .PHONY: uninstall
- uninstall:
- $Q echo "[UnInstall]"
-- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
-- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPi.*
-- $Q $(LDCONFIG)
-+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
-+ $Q rm -f $(LIB_DIR)/$(STATIC)
-+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
-+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
-+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
-
-
- .PHONY: depend
---
-2.19.1
-
diff --git a/bsp/meta-raspberrypi/recipes-devtools/wiringpi/wiringpi_git.bb b/bsp/meta-raspberrypi/recipes-devtools/wiringpi/wiringpi_git.bb
deleted file mode 100644
index e78c58a2..00000000
--- a/bsp/meta-raspberrypi/recipes-devtools/wiringpi/wiringpi_git.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "A library to control Raspberry Pi GPIO channels"
-HOMEPAGE = "https://projects.drogon.net/raspberry-pi/wiringpi/"
-SECTION = "devel/libs"
-LICENSE = "LGPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-DEPENDS += "virtual/crypt"
-
-# tag 2.46
-SRCREV = "8d188fa0e00bb8c6ff6eddd07bf92857e9bd533a"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://git.drogon.net/wiringPi \
- file://0001-Add-initial-cross-compile-support.patch \
- "
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-CFLAGS_prepend = "-I${S}/wiringPi -I${S}/devLib "
-
-EXTRA_OEMAKE += "'INCLUDE_DIR=${D}${includedir}' 'LIB_DIR=${D}${libdir}'"
-EXTRA_OEMAKE += "'DESTDIR=${D}/usr' 'PREFIX=""'"
-
-do_compile() {
- oe_runmake -C devLib
- oe_runmake -C wiringPi
- oe_runmake -C gpio 'LDFLAGS=${LDFLAGS} -L${S}/wiringPi -L${S}/devLib'
-}
-
-do_install() {
- oe_runmake -C devLib install
- oe_runmake -C wiringPi install
- oe_runmake -C gpio install
-}
diff --git a/bsp/meta-raspberrypi/recipes-graphics/cairo/cairo_%.bbappend b/bsp/meta-raspberrypi/recipes-graphics/cairo/cairo_%.bbappend
new file mode 100644
index 00000000..7ba13e20
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-graphics/cairo/cairo_%.bbappend
@@ -0,0 +1,3 @@
+PACKAGECONFIG_GLESV2 = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'glesv2', d)}"
+
+PACKAGECONFIG_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' egl ${PACKAGECONFIG_GLESV2}', d)}"
diff --git a/bsp/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend b/bsp/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
deleted file mode 100644
index c152bd97..00000000
--- a/bsp/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-EGLINFO_DEVICE_rpi = "raspberrypi"
-COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'null', '(.*)', d)}"
diff --git a/bsp/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend b/bsp/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
deleted file mode 100644
index 2d720baa..00000000
--- a/bsp/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-EGLINFO_DEVICE_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'generic', 'raspberrypi', d)}"
-ASNEEDED = ""
diff --git a/bsp/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch b/bsp/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch
new file mode 100644
index 00000000..0bda0145
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch
@@ -0,0 +1,43 @@
+mesa: querying dma_buf_modifiers for specific formats
+
+mesa wl_drm protocol is the backend for wayland server side which requires
+the dmabuf modifiers for some DRM formats on specific devices like RPI.
+Currently there is no support of giving any dmabuf modifiers on wl_drm protocol.
+This dma_buf modifiers allows EGL implementations to add extra attributes
+to drm_fourcc format.
+
+Upstream-Status: Pending
+
+Signed-off-by: Balaji Velmurugan <balaji.velmurugan@ltts.com>
+
+--- a/src/gallium/state_trackers/dri/dri2.c
++++ b/src/gallium/state_trackers/dri/dri2.c
+@@ -1366,14 +1366,28 @@ dri2_from_planar(__DRIimage *image, int
+ return img;
+ }
+
++static boolean
++dri2_query_dma_buf_modifiers(__DRIscreen *_screen, int fourcc, int max,
++ uint64_t *modifiers, unsigned int *external_only,
++ int *count);
+ static __DRIimage *
+ dri2_from_fds(__DRIscreen *screen, int width, int height, int fourcc,
+ int *fds, int num_fds, int *strides, int *offsets,
+ void *loaderPrivate)
+ {
++ uint64_t modifier= DRM_FORMAT_MOD_INVALID;
++ unsigned int external_only= 0;
++ int count= 0;
++ boolean result;
++ result= dri2_query_dma_buf_modifiers( screen, fourcc, 1, &modifier, &external_only, &count);
++ return dri2_create_image_from_fd(screen, width, height, fourcc,
++ modifier, fds, num_fds,
++ strides, offsets, NULL, loaderPrivate);
++ #if 0
+ return dri2_create_image_from_fd(screen, width, height, fourcc,
+ DRM_FORMAT_MOD_INVALID, fds, num_fds,
+ strides, offsets, NULL, loaderPrivate);
++ #endif
+ }
+
+ static boolean
diff --git a/bsp/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend b/bsp/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
index 7897125b..08ec1c59 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
@@ -1 +1,6 @@
PACKAGECONFIG_append_rpi = " gbm"
+PROVIDES_append_rpi = " virtual/libgbm"
+
+do_install_append_rpi() {
+ rm -rf ${D}${includedir}/KHR/khrplatform.h
+}
diff --git a/bsp/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend b/bsp/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
index 8152cc3e..d3435e72 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,7 +1,10 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
# DRI3 note:
# With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set
# as default. To state out clearly that Raspi needs dri3 and to avoid surprises
# in case oe-core changes this default, we set dri3 explicitly.
-PACKAGECONFIG_append_rpi = " gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
-GALLIUMDRIVERS_append_rpi = ",vc4"
-DRIDRIVERS_rpi = ""
+
+SRC_URI_append_rpi = " file://0001-dri2-query-dma-buf-modifiers.patch "
+
+PACKAGECONFIG_append_rpi = " gallium vc4 v3d kmsro ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
+DRIDRIVERS_class-target_rpi = ""
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
index d6b2abb2..ca39b78c 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
@@ -1,7 +1,7 @@
-From 08d56c1174e27573ae8df2a7b9e6632afd0bfe86 Mon Sep 17 00:00:00 2001
+From d0956d198ceaf611314d61a0835fb5924b8a3577 Mon Sep 17 00:00:00 2001
From: Dom Cobley <dc4@broadcom.com>
Date: Tue, 9 Jul 2013 09:26:26 -0400
-Subject: [PATCH 01/18] Allow applications to set next resource handle
+Subject: [PATCH 01/21] Allow applications to set next resource handle
This patch adds provisions in userland to
let apps callers set the next rendereing dispmanx resource.
@@ -204,5 +204,5 @@ index 8a5734c..51b3580 100644
FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
index c41cde77..d2d9b497 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
@@ -1,7 +1,7 @@
-From da60a2a34a48e2b324fceae608964814488cc8fb Mon Sep 17 00:00:00 2001
+From 75eb8ab4bec3e462607214d2e14c9f2eef73435f Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
-Subject: [PATCH 02/18] wayland: Add support for the Wayland winsys
+Subject: [PATCH 02/21] wayland: Add support for the Wayland winsys
* Adds EGL_WL_bind_wayland_display extension
* Adds wayland-egl library
@@ -69,7 +69,7 @@ index 63570f1..1459436 100644
*.mkv
+*~
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cfc8ae5..673a5ad 100644
+index fe67fc8..80337b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,6 +24,17 @@ include(makefiles/cmake/global_settings.cmake)
@@ -91,22 +91,22 @@ index cfc8ae5..673a5ad 100644
# Global include paths
diff --git a/README.md b/README.md
-index 94b93b8..50b90b1 100644
+index 404e4d4..97a6b8f 100644
--- a/README.md
+++ b/README.md
-@@ -6,3 +6,7 @@ Use buildme to build. It requires cmake to be installed and an arm cross compile
- https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
+@@ -8,3 +8,7 @@ https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linu
+ Whilst 64-bit userspace is not officially supported, some of the libraries will work for it. To cross compile, install gcc-aarch64-linux-gnu and g++-aarch64-linux-gnu first. For both native and cross compiles, add the option ```--aarch64``` to the buildme command.
- Note that this repository does not contain the source for the edid_parser and vcdbg binaries due to licensing restrictions.
+ Note that this repository does not contain the source for the edidparser and vcdbg binaries due to licensing restrictions.
+
+To build support for the Wayland winsys in EGL, execute the buildme script like this:
+
+$ BUILD_WAYLAND=1 ./buildme.
diff --git a/buildme b/buildme
-index b8fd440..a780bb6 100755
+index 9e2d405..7b8c0d6 100755
--- a/buildme
+++ b/buildme
-@@ -8,6 +8,10 @@ fi
+@@ -17,6 +17,10 @@ fi
BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`;
@@ -114,10 +114,10 @@ index b8fd440..a780bb6 100755
+ WAYLAND_VARS="-DBUILD_WAYLAND=TRUE"
+fi
+
- if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
+ if [ $ARCH = "armv6l" ] || [ $ARCH = "armv7l" ] || [ $ARCH = "aarch64" ]; then
# Native compile on the Raspberry Pi
mkdir -p build/raspberry/$BUILDSUBDIR
-@@ -32,9 +36,13 @@ elif [ "$1" = "--native" ]; then
+@@ -41,9 +45,13 @@ elif [ "$1" = "--native" ]; then
make -j `nproc` $*
else
# Cross compile on a more capable machine
@@ -127,24 +127,24 @@ index b8fd440..a780bb6 100755
+ fi
mkdir -p build/arm-linux/$BUILDSUBDIR
pushd build/arm-linux/$BUILDSUBDIR
-- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../..
-+ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE $WAYLAND_VARS ../../..
+- cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../..
++ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 $WAYLAND_VARS ../../..
make -j `nproc`
if [ "$1" != "" ]; then
diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt
-index 42636e8..d47ad55 100644
+index eb1ef7c..5aeeb2e 100644
--- a/host_applications/linux/apps/raspicam/CMakeLists.txt
+++ b/host_applications/linux/apps/raspicam/CMakeLists.txt
-@@ -33,7 +33,7 @@ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c)
+@@ -61,7 +61,7 @@ add_executable(raspivid ${COMMON_SOURCES} RaspiVid.c)
+ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c)
set (MMAL_LIBS mmal_core mmal_util mmal_vc_client)
-
--target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl)
-+target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES})
- target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host)
- target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host)
- target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host)
+-target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host ${EGL_LIBS} m dl)
++target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host ${EGL_LIBS} m dl ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES})
+ target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host m)
+ target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host m)
+ target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host m)
diff --git a/interface/khronos/CMakeLists.txt b/interface/khronos/CMakeLists.txt
index 9ad615b..95c0e11 100644
--- a/interface/khronos/CMakeLists.txt
@@ -1551,12 +1551,12 @@ index 0000000..8bafc15
+Libs: -L${libdir} -lwayland-egl
+Cflags: -I${includedir}
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index fde18da..6718215 100755
+index 4a914a7..c202204 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
-@@ -9,13 +9,24 @@ add_definitions(-fno-strict-aliasing)
-
- include_directories(${VMCS_TARGET}/vcfiled)
+@@ -7,13 +7,24 @@
+ # vc_vchi_gencmd.c has a type-punning problem in vc_gencmd_read_response
+ add_definitions(-fno-strict-aliasing)
-add_library(vchostif
- ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
@@ -1582,8 +1582,8 @@ index fde18da..6718215 100755
+add_library(vchostif ${VCHOSTIF_SOURCE})
+
#add_library(bufman vc_vchi_bufman.c )
+ set(INSTALL_TARGETS vchostif)
- # OpenMAX/IL component service
diff --git a/interface/vmcs_host/vc_dispmanx.h b/interface/vmcs_host/vc_dispmanx.h
index 37fdae1..fe3619a 100755
--- a/interface/vmcs_host/vc_dispmanx.h
@@ -1894,5 +1894,5 @@ index 0000000..ad90d30
+ set(${_sources} ${${_sources}} PARENT_SCOPE)
+endfunction()
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
index d83a9e50..59fc366e 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
@@ -1,17 +1,17 @@
-From 976cc9355fe18487cd84e313e76f397ab47a4bf8 Mon Sep 17 00:00:00 2001
+From 3b568db9460c0359e8bda8256aa2161e5aafe07c Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
-Subject: [PATCH 03/18] wayland: Add Wayland example
+Subject: [PATCH 03/21] wayland: Add Wayland example
---
.../linux/apps/hello_pi/CMakeLists.txt | 1 +
+ .../linux/apps/hello_pi/Makefile | 2 +
.../hello_pi/hello_wayland/CMakeLists.txt | 8 +
.../hello_pi/hello_wayland/Djenne_128_128.raw | 3 +
.../apps/hello_pi/hello_wayland/Makefile | 5 +
.../hello_wayland/cube_texture_and_coords.h | 100 +++
.../apps/hello_pi/hello_wayland/triangle.c | 666 ++++++++++++++++++
- .../linux/apps/hello_pi/rebuild.sh | 3 +-
- 7 files changed, 785 insertions(+), 1 deletion(-)
+ 7 files changed, 785 insertions(+)
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/Djenne_128_128.raw
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/Makefile
@@ -19,10 +19,10 @@ Subject: [PATCH 03/18] wayland: Add Wayland example
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/triangle.c
diff --git a/host_applications/linux/apps/hello_pi/CMakeLists.txt b/host_applications/linux/apps/hello_pi/CMakeLists.txt
-index f2c6aef..0df78f7 100644
+index b28a94a..2849fad 100644
--- a/host_applications/linux/apps/hello_pi/CMakeLists.txt
+++ b/host_applications/linux/apps/hello_pi/CMakeLists.txt
-@@ -21,6 +21,7 @@ add_subdirectory(hello_encode)
+@@ -25,6 +25,7 @@ add_subdirectory(hello_encode)
add_subdirectory(hello_jpeg)
add_subdirectory(hello_videocube)
add_subdirectory(hello_teapot)
@@ -30,6 +30,24 @@ index f2c6aef..0df78f7 100644
if(BUILD_FONT)
set(VGFONT_SRCS libs/vgfont/font.c libs/vgfont/vgft.c libs/vgfont/graphics.c)
+diff --git a/host_applications/linux/apps/hello_pi/Makefile b/host_applications/linux/apps/hello_pi/Makefile
+index 4c2b2ef..d2b2555 100644
+--- a/host_applications/linux/apps/hello_pi/Makefile
++++ b/host_applications/linux/apps/hello_pi/Makefile
+@@ -24,6 +24,7 @@ apps: libs/ilclient/libilclient.a libs/vgfont/libvgfont.a libs/revision/librevis
+ $(MAKE) -C hello_teapot
+ $(MAKE) -C hello_fft
+ $(MAKE) -C hello_mmal_encode
++ $(MAKE) -C hello_wayland
+
+ clean:
+ $(MAKE) -C libs/ilclient clean
+@@ -43,4 +44,5 @@ clean:
+ $(MAKE) -C hello_teapot clean
+ $(MAKE) -C hello_fft clean
+ $(MAKE) -C hello_mmal_encode clean
++ $(MAKE) -C hello_wayland clean
+
diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
new file mode 100644
index 0000000..9a2f75c
@@ -843,24 +861,6 @@ index 0000000..1a7bfc4
+ return 0;
+}
+
-diff --git a/host_applications/linux/apps/hello_pi/rebuild.sh b/host_applications/linux/apps/hello_pi/rebuild.sh
-index 8225dd5..0be6ce7 100755
---- a/host_applications/linux/apps/hello_pi/rebuild.sh
-+++ b/host_applications/linux/apps/hello_pi/rebuild.sh
-@@ -14,6 +14,7 @@ make -C hello_videocube clean
- make -C hello_teapot clean
- make -C hello_fft clean
- make -C hello_mmal_encode clean
-+make -C hello_wayland clean
-
- make -C libs/ilclient
- make -C libs/vgfont
-@@ -31,4 +32,4 @@ make -C hello_videocube
- make -C hello_teapot
- make -C hello_fft
- make -C hello_mmal_encode
--
-+make -C hello_wayland
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
index a42aa144..ac4c5135 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
@@ -1,7 +1,7 @@
-From c379bd2dc575256084d9e36fc11a347e20660130 Mon Sep 17 00:00:00 2001
+From 3ce83fc1d4974d4db15ff72b4e856a29c60dbb83 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 10 Aug 2015 02:38:27 -0700
-Subject: [PATCH 04/18] wayland-egl: Add bcm_host to dependencies
+Subject: [PATCH 04/21] wayland-egl: Add bcm_host to dependencies
It uses headers like vcos_platform_types.h but does not
depend on module which should add the required include paths
@@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644
Libs: -L${libdir} -lwayland-egl
Cflags: -I${includedir}
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
index bbaaddad..33d4a553 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
@@ -1,7 +1,7 @@
-From bd940c32878d401f311215270579ff513c2f3999 Mon Sep 17 00:00:00 2001
+From cf4d2dba7150aad7f85eb7f5df0b0cfa9389da57 Mon Sep 17 00:00:00 2001
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Date: Sat, 24 Jan 2015 22:07:19 +0100
-Subject: [PATCH 05/18] interface: remove faulty assert() to make weston happy
+Subject: [PATCH 05/21] interface: remove faulty assert() to make weston happy
at runtime
This was removed after a discussion on IRC with the weston guys
@@ -25,5 +25,5 @@ index eab146e..29e0dee 100755
}
} else {
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
index 1a5e14f0..690d51da 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
@@ -1,7 +1,7 @@
-From 466f28ce302f68ac39be750f4b55285791f43ab1 Mon Sep 17 00:00:00 2001
+From ce90048cb25a0c2c49c585ce3a4cd8c73a8ff55b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:10:47 -0800
-Subject: [PATCH 06/18] zero-out wl buffers in egl_surface_free
+Subject: [PATCH 06/21] zero-out wl buffers in egl_surface_free
origins from buildroot
@@ -29,5 +29,5 @@ index 42350bf..1f923d9 100644
#endif
}
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
index 72264e4f..d964ed5a 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
@@ -1,7 +1,7 @@
-From b4a2967513f7d0f5f3caee8cf6cbc7a7a085ebac Mon Sep 17 00:00:00 2001
+From 7f7e5b87104134b6710985c5f1c5936a59cccc98 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:11:41 -0800
-Subject: [PATCH 07/18] initialize front back wayland buffers
+Subject: [PATCH 07/21] initialize front back wayland buffers
origins from metrological wayland support
@@ -30,5 +30,5 @@ index 1f923d9..9a9582c 100644
}
#endif
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
index a100e395..d9aba5e9 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
@@ -1,7 +1,7 @@
-From 14c22987dfa9fec02794856cd15b2d64b4b81c32 Mon Sep 17 00:00:00 2001
+From 2291cf20017c297e6ed3afd56945cf8768c9901e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:09:18 -0800
-Subject: [PATCH 08/18] Remove RPC_FLUSH
+Subject: [PATCH 08/21] Remove RPC_FLUSH
Origins from buildroot
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
}
#endif
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
index 4609455a..898408b6 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
@@ -1,7 +1,7 @@
-From e510be221276d06e630ab93452ecb712d3921790 Mon Sep 17 00:00:00 2001
+From 736f489743b4a761afc928cbac197b28b3209bf1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 13:12:47 -0800
-Subject: [PATCH 09/18] fix cmake dependency race
+Subject: [PATCH 09/21] fix cmake dependency race
Fixes errors like
@@ -42,10 +42,10 @@ index 1d81ca3..d6cd415 100644
add_library (vcos SHARED ${SOURCES})
target_link_libraries (vcos pthread dl rt)
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index 6718215..c415176 100755
+index c202204..16d3184 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
-@@ -17,14 +17,6 @@ set(VCHOSTIF_SOURCE
+@@ -15,14 +15,6 @@ set(VCHOSTIF_SOURCE
# ${VMCS_TARGET}/vmcs_main.c
# vc_vchi_haud.c
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
struct wl_resource *resource;
struct wl_dispmanx *dispmanx;
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
index dd0b95ed..37f6abbf 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
@@ -1,7 +1,7 @@
-From 8e6cde08077eadfe563dc17c19995ebc48e30b97 Mon Sep 17 00:00:00 2001
+From 450341ccd98801be1c3dc648e18211177f81a60d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 29 Mar 2016 20:38:30 -0700
-Subject: [PATCH 10/18] Fix for framerate with nested composition
+Subject: [PATCH 10/21] Fix for framerate with nested composition
frame rate appears irregular and lower than expected when using nested composition.
@@ -56,5 +56,5 @@ index 03fe67b..13a110c 100644
#ifdef ANDROID
CLIENT_UNLOCK();
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
index 4bd53208..77f9ccb9 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
@@ -1,7 +1,7 @@
-From 9a97d60262999093d6ce8cb688279506c210d802 Mon Sep 17 00:00:00 2001
+From 13f2a4d1c6b6e79389ac3aa64512d78882a11b2f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:37:24 -0700
-Subject: [PATCH 11/18] build shared library for vchostif
+Subject: [PATCH 11/21] build shared library for vchostif
Fixes #149
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index c415176..d0cca1a 100755
+index 16d3184..e54f046 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
-@@ -17,7 +17,7 @@ set(VCHOSTIF_SOURCE
+@@ -15,7 +15,7 @@ set(VCHOSTIF_SOURCE
# ${VMCS_TARGET}/vmcs_main.c
# vc_vchi_haud.c
@@ -22,7 +22,7 @@ index c415176..d0cca1a 100755
+add_library(vchostif SHARED ${VCHOSTIF_SOURCE})
#add_library(bufman vc_vchi_bufman.c )
-
+ set(INSTALL_TARGETS vchostif)
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
index 9684b4cf..53403d7d 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
@@ -1,7 +1,7 @@
-From fedd7668152049c15ed58c7058e5f4a9c1fac7cb Mon Sep 17 00:00:00 2001
+From a09feea5ceb0af717c17a3a7df8a638f8e858f52 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:54:59 -0700
-Subject: [PATCH 12/18] implement buffer wrapping interface for dispmanx
+Subject: [PATCH 12/21] implement buffer wrapping interface for dispmanx
Courtesy: Zan Dobersek
@@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644
</protocol>
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
index 3052168c..d5702cbc 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
@@ -1,7 +1,7 @@
-From 65f8bca55aead676cd06fc3210aeffef1f2158c6 Mon Sep 17 00:00:00 2001
+From dd8017ebccfa9c439a4e8dd501872e2052016f10 Mon Sep 17 00:00:00 2001
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Date: Thu, 19 Jan 2017 18:56:07 +0000
-Subject: [PATCH 13/18] Implement triple buffering for wayland
+Subject: [PATCH 13/21] Implement triple buffering for wayland
Change from double to triple buffering for wayland.
This enables higher frame rates without tearing artifacts
@@ -86,5 +86,5 @@ index e328b77..58a3184 100644
back_wl_buffer
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
index 037d7083..52f03159 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
@@ -1,7 +1,7 @@
-From dc1d07d835e1fe70c957a655d6fbb8cde65775af Mon Sep 17 00:00:00 2001
+From afe3917b1a236c08b1ed01053e3da9ab283db1ec Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 10 May 2017 06:39:34 +0000
-Subject: [PATCH 14/18] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
+Subject: [PATCH 14/21] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
weston code uses these defines
Upstream-Status: Pending
@@ -31,5 +31,5 @@ index 4eacf7f..b1acc9f 100644
#ifndef GL_EXT_texture_type_2_10_10_10_REV
#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
index 02cecb83..964d0ece 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
@@ -1,7 +1,7 @@
-From b5fa294c0d8fcb6dd5bfbfb96a0885dd9f3ae609 Mon Sep 17 00:00:00 2001
+From 47972590947e5da25d77cae0ce060f7b8d022a10 Mon Sep 17 00:00:00 2001
From: Andrea Galbusera <gizero@gmail.com>
Date: Fri, 14 Jul 2017 09:52:54 +0200
-Subject: [PATCH 15/18] EGL/glplatform.h: define EGL_CAST
+Subject: [PATCH 15/21] EGL/glplatform.h: define EGL_CAST
C++ / C typecast macros for special EGL handle values: used by libepoxy code
The definition comes from the updated version of this header in mesa.
@@ -28,5 +28,5 @@ index 1f7c930..c39d425 100644
+
#endif /* __eglplatform_h */
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
index 34ad90cd..3790f80e 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
@@ -1,7 +1,7 @@
-From bff03f92c0d8bae113e0c7234c719f8385808b38 Mon Sep 17 00:00:00 2001
+From 1eb8bdb4d45e3de9582145c120b0d3ede187c7a9 Mon Sep 17 00:00:00 2001
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Date: Sat, 27 Jan 2018 12:28:31 -0500
-Subject: [PATCH 16/18] Allow multiple wayland compositor state data per
+Subject: [PATCH 16/21] Allow multiple wayland compositor state data per
process
When eglBindWaylandDisplayWL is called store the wl_global
@@ -141,5 +141,5 @@ index 9ef89cd..abd5ab3 100644
CLIENT_UNLOCK();
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
index 546cd588..c3457cde 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
@@ -1,7 +1,7 @@
-From 8efd81e96bdd3be68063a6fd32be4755225e93b2 Mon Sep 17 00:00:00 2001
+From 99a210c93019d37dd7f044102c4314c8cb988ed4 Mon Sep 17 00:00:00 2001
From: Hugo Hromic <hhromic@gmail.com>
Date: Sun, 13 May 2018 10:49:04 +0100
-Subject: [PATCH 17/18] khronos: backport typedef for
+Subject: [PATCH 17/21] khronos: backport typedef for
EGL_EXT_image_dma_buf_import
The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which
@@ -34,5 +34,5 @@ index d7e5ba7..dcc90ce 100755
#ifndef EGL_WL_bind_wayland_display
#define EGL_WL_bind_wayland_display 1
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
index f4d865e6..5317c60e 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
@@ -1,7 +1,7 @@
-From 9cfea4761ba68776fd9bfac671b74c7174f99029 Mon Sep 17 00:00:00 2001
+From 82cf4bc5623c5220dfa1c096ea192f2509837782 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 15 Jul 2018 00:48:38 -0700
-Subject: [PATCH 18/18] Add EGL_IMG_context_priority related defines
+Subject: [PATCH 18/21] Add EGL_IMG_context_priority related defines
These defines are needed for compiling weston 4.x
taken from Khronos headers
@@ -31,5 +31,5 @@ index dcc90ce..6842bf9 100755
#define EGL_KHR_vg_parent_image 1
#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */
--
-2.19.1
+2.27.0
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch
new file mode 100644
index 00000000..cd6306bb
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch
@@ -0,0 +1,31 @@
+From 1112539d9fde6428c1230b4fc9ea479623e9f968 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 25 Jul 2019 23:30:27 -0700
+Subject: [PATCH 19/21] libfdt: Undefine __wordsize if already defined
+
+glibc 2.30+ defines __wordsize, which is same so its easier to compile
+for multiple versions of glibc even ones which does not have this define
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ opensrc/helpers/libfdt/libfdt_env.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/opensrc/helpers/libfdt/libfdt_env.h b/opensrc/helpers/libfdt/libfdt_env.h
+index f4608be..5e83a27 100644
+--- a/opensrc/helpers/libfdt/libfdt_env.h
++++ b/opensrc/helpers/libfdt/libfdt_env.h
+@@ -18,6 +18,10 @@
+ #include <string.h>
+ #include <limits.h>
+
++#ifdef __bitwise
++#undef __bitwise
++#endif
++
+ #ifdef __CHECKER__
+ #define FDT_FORCE __attribute__((force))
+ #define FDT_BITWISE __attribute__((bitwise))
+--
+2.27.0
+
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch
new file mode 100644
index 00000000..e9d9da6f
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch
@@ -0,0 +1,43 @@
+From 488916a6b366bfa5da2907b5892798eb2306a17d Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@lge.com>
+Date: Wed, 13 Jun 2018 18:22:22 +0000
+Subject: [PATCH 20/21] openmaxil: add pkg-config file
+
+---
+ CMakeLists.txt | 2 +-
+ pkgconfig/openmaxil.pc.in | 10 ++++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+ create mode 100644 pkgconfig/openmaxil.pc.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 80337b2..3e3c90e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -133,7 +133,7 @@ include_directories("${PROJECT_BINARY_DIR}")
+ include(FindPkgConfig QUIET)
+ if(PKG_CONFIG_FOUND)
+ # Produce a pkg-config file
+- foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc)
++ foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc openmaxil.pc)
+ configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+diff --git a/pkgconfig/openmaxil.pc.in b/pkgconfig/openmaxil.pc.in
+new file mode 100644
+index 0000000..8793a61
+--- /dev/null
++++ b/pkgconfig/openmaxil.pc.in
+@@ -0,0 +1,10 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=${prefix}
++libdir=${exec_prefix}/lib
++includedir=${prefix}/include
++
++Name: openmaxil
++Description: Broadcom openmaxil library
++Version: 1
++Libs: -L${libdir} -lopenmaxil -lvcos -lvchiq_arm -pthread
++Cflags: -I${includedir} -I${includedir}/IL -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM
+--
+2.27.0
+
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch
new file mode 100644
index 00000000..c762a9fc
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch
@@ -0,0 +1,37 @@
+From ee842886f3c0589d6df5a0687973beb18a3be524 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 31 Mar 2020 11:51:02 -0700
+Subject: [PATCH 21/21] cmake: Disable format-overflow warning as error
+
+gcc10 complains about a check which could potentially be null
+
+build/inc/interface/vcos/vcos_logging.h:234:88: error: '%s' directive argument is null [-Werror=format-overflow=]
+ 234 | # define _VCOS_LOG_X(cat, _level, fmt...) do { if (vcos_is_log_enabled(cat,_level)) vcos_log_impl(cat,_level,fmt); } while (0)
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A potential fix would be to check for fmt not being null but lets leave
+that to experts
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ host_applications/linux/libs/bcm_host/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/host_applications/linux/libs/bcm_host/CMakeLists.txt b/host_applications/linux/libs/bcm_host/CMakeLists.txt
+index a863cb6..f358135 100644
+--- a/host_applications/linux/libs/bcm_host/CMakeLists.txt
++++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt
+@@ -3,7 +3,7 @@ if (WIN32)
+ set(VCOS_PLATFORM win32)
+ else ()
+ set(VCOS_PLATFORM pthreads)
+- add_definitions(-Wall -Werror)
++ add_definitions(-Wall -Werror -Wno-error=format-overflow)
+ endif ()
+
+ # set this as we want all the source of vchostif to be available in libbcm_host
+--
+2.27.0
+
diff --git a/bsp/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/bsp/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index f5c803e4..1138da86 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ b/bsp/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
@@ -6,17 +6,18 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196"
PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}"
+PROVIDES += "virtual/libomxil"
RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl libegl1 libglesv2-2", d)}"
COMPATIBLE_MACHINE = "^rpi$"
SRCBRANCH = "master"
SRCFORK = "raspberrypi"
-SRCREV = "d574b51a60a075baefe863670466ee24e6c4256e"
+SRCREV = "188d3bfe4a0ac36b119a2cee35a6be8d0c68e09e"
# Use the date of the above commit as the package version. Update this when
# SRCREV is changed.
-PV = "20181120"
+PV = "20200624"
SRC_URI = "\
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
@@ -38,6 +39,9 @@ SRC_URI = "\
file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch \
file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch \
file://0018-Add-EGL_IMG_context_priority-related-defines.patch \
+ file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch \
+ file://0020-openmaxil-add-pkg-config-file.patch \
+ file://0021-cmake-Disable-format-overflow-warning-as-error.patch \
"
S = "${WORKDIR}/git"
@@ -64,6 +68,7 @@ do_install_append () {
sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f}
sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f}
done
+ rm -rf ${D}${prefix}${sysconfdir}
if [ "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" = "1" ]; then
rm -rf ${D}${libdir}/libEGL*
rm -rf ${D}${libdir}/libGLES*
@@ -71,6 +76,10 @@ do_install_append () {
rm -rf ${D}${libdir}/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/glesv2.pc \
${D}${libdir}/pkgconfig/wayland-egl.pc
rm -rf ${D}${includedir}/EGL ${D}${includedir}/GLES* ${D}${includedir}/KHR
+ else
+ ln -sf brcmglesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
+ ln -sf brcmegl.pc ${D}${libdir}/pkgconfig/egl.pc
+ ln -sf brcmvg.pc ${D}${libdir}/pkgconfig/vg.pc
fi
}
@@ -88,7 +97,5 @@ FILES_${PN}-dev += "${includedir} \
FILES_${PN}-doc += "${datadir}/install"
FILES_${PN}-dbg += "${libdir}/plugins/.debug"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
RDEPENDS_${PN} += "bash"
RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl-mesa", "", d)}"
diff --git a/bsp/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc b/bsp/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
index cd0d57b2..540e2895 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
+++ b/bsp/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
@@ -1,5 +1,5 @@
DESCRIPTION = "Graphics libraries for BCM2835."
-LICENSE = "Proprietary"
+LICENSE = "Broadcom-RPi"
LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780"
@@ -8,7 +8,7 @@ COMPATIBLE_MACHINE = "^rpi$"
INHIBIT_DEFAULT_DEPS = "1"
-include recipes-bsp/common/firmware.inc
+include recipes-bsp/common/raspberrypi-firmware.inc
SRC_URI += " \
file://egl.pc \
@@ -25,9 +25,6 @@ do_install () {
install -d ${D}${bindir}
cp -R bin/* ${D}${bindir}
- install -d ${D}${sbindir}
- cp -R sbin/* ${D}${sbindir}
-
install -d ${D}${libdir}
# note: -H option to deref symlinked .so
cp -R -H lib/* ${D}${libdir}
@@ -49,7 +46,6 @@ INITSCRIPT_NAME = "vchiq.sh"
INITSCRIPT_PARAMS = "start 03 S ."
FILES_${PN} = "${bindir}/* \
- ${sbindir}/* \
${libdir}/lib*.so \
${sysconfdir}/init.d \
${libdir}/plugins"
diff --git a/bsp/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/bsp/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
index a5a6af3f..fba16321 100644
--- a/bsp/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -1,9 +1 @@
-OPENGL_PKGCFG = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
-
-# slightly modified to oe-core's default: add ${OPENGL_PKGCFG}
-PACKAGECONFIG_rpi ?= " \
- dri2 udev ${XORG_CRYPTO} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri glx ${OPENGL_PKGCFG}', '', d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "xwayland", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)} \
-"
+OPENGL_PKGCONFIGS_rpi = "dri glx ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
index 1f63c329..833f8f68 100644
--- a/bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
@@ -25,7 +25,7 @@ LICENSE = "\
"
LIC_FILES_CHKSUM = "\
file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
- file://WHENCE;md5=a9c2c217f513c20e1d16b384b3e2c12d \
+ file://WHENCE;md5=7b12b2224438186e4c97c4c7f3a5cc28 \
"
# These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -34,8 +34,9 @@ NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx-rpidistro] = "LICENCE.broadcom_bcm4
NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
-SRCREV = "b518de45ced519e8f7a499f4778100173402ae43"
-PV = "0.0+git${SRCPV}"
+
+SRCREV = "616fc2dd4df421e3974179d9e46d45e7006aeb28"
+PV = "20190114-1+rpt6"
S = "${WORKDIR}/git"
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch b/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch
new file mode 100644
index 00000000..66efde13
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch
@@ -0,0 +1,35 @@
+From 754e3030788702c1f013a88a4fc8546742d84e27 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Jun 2020 13:45:04 -0700
+Subject: [PATCH] Revert "selftests/bpf: Skip perf hw events test if the setup
+ disabled it"
+
+This reverts commit da43712a7262891317883d4b3a909fb18dac4b1d.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../selftests/bpf/prog_tests/stacktrace_build_id_nmi.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
+index 437cb93e72ac..f62aa0eb959b 100644
+--- a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
++++ b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
+@@ -49,12 +49,8 @@ void test_stacktrace_build_id_nmi(void)
+ pmu_fd = syscall(__NR_perf_event_open, &attr, -1 /* pid */,
+ 0 /* cpu 0 */, -1 /* group id */,
+ 0 /* flags */);
+- if (pmu_fd < 0 && errno == ENOENT) {
+- printf("%s:SKIP:no PERF_COUNT_HW_CPU_CYCLES\n", __func__);
+- test__skip();
+- goto close_prog;
+- }
+- if (CHECK(pmu_fd < 0, "perf_event_open", "err %d errno %d\n",
++ if (CHECK(pmu_fd < 0, "perf_event_open",
++ "err %d errno %d. Does the test host support PERF_COUNT_HW_CPU_CYCLES?\n",
+ pmu_fd, errno))
+ goto close_prog;
+
+--
+2.27.0
+
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch b/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch
new file mode 100644
index 00000000..e0e7b858
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch
@@ -0,0 +1,57 @@
+From e66a0be4fac135d67ab228a6fd1453b9e36a3644 Mon Sep 17 00:00:00 2001
+From: Changbin Du <changbin.du@gmail.com>
+Date: Tue, 28 Jan 2020 23:29:38 +0800
+Subject: [PATCH] perf: Make perf able to build with latest libbfd
+
+libbfd has changed the bfd_section_* macros to inline functions
+bfd_section_<field> since 2019-09-18. See below two commits:
+ o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
+ o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html
+
+This fix make perf able to build with both old and new libbfd.
+
+Signed-off-by: Changbin Du <changbin.du@gmail.com>
+Acked-by: Jiri Olsa <jolsa@redhat.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/util/srcline.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
+index af3f9b9f1e8b..b8e77617fdc4 100644
+--- a/tools/perf/util/srcline.c
++++ b/tools/perf/util/srcline.c
+@@ -191,16 +191,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data)
+ bfd_vma pc, vma;
+ bfd_size_type size;
+ struct a2l_data *a2l = data;
++ flagword flags;
+
+ if (a2l->found)
+ return;
+
+- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
++#ifdef bfd_get_section_flags
++ flags = bfd_get_section_flags(abfd, section);
++#else
++ flags = bfd_section_flags(section);
++#endif
++ if ((flags & SEC_ALLOC) == 0)
+ return;
+
+ pc = a2l->addr;
++#ifdef bfd_get_section_vma
+ vma = bfd_get_section_vma(abfd, section);
++#else
++ vma = bfd_section_vma(section);
++#endif
++#ifdef bfd_get_section_size
+ size = bfd_get_section_size(section);
++#else
++ size = bfd_section_size(section);
++#endif
+
+ if (pc < vma || pc >= vma + size)
+ return;
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch b/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch
new file mode 100644
index 00000000..18289348
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch
@@ -0,0 +1,40 @@
+From 4cd12df48b83cef9cc7d6b80b128afbf68746718 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 14 Mar 2020 07:31:34 -0700
+Subject: [PATCH] selftest/bpf: Use CHECK macro instead of RET_IF
+
+backporting 634efb750435d0a489dc58477d4fcb88b2692942 causes build
+failures because RET_IF is defined in 7ee0d4e97b889c0478af9c1a6e5af658b181423f
+but that is not backported
+
+Upstream-Status: Submitted
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Jakub Sitnicki <jakub@cloudflare.com>
+Cc: Alexei Starovoitov <ast@kernel.org>
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ tools/testing/selftests/bpf/test_select_reuseport.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/testing/selftests/bpf/test_select_reuseport.c b/tools/testing/selftests/bpf/test_select_reuseport.c
+index 079d0f5a2909..7e4c91f2238d 100644
+--- a/tools/testing/selftests/bpf/test_select_reuseport.c
++++ b/tools/testing/selftests/bpf/test_select_reuseport.c
+@@ -668,12 +668,12 @@ static void cleanup_per_test(void)
+
+ for (i = 0; i < NR_RESULTS; i++) {
+ err = bpf_map_update_elem(result_map, &i, &zero, BPF_ANY);
+- RET_IF(err, "reset elem in result_map",
++ CHECK(err, "reset elem in result_map",
+ "i:%u err:%d errno:%d\n", i, err, errno);
+ }
+
+ err = bpf_map_update_elem(linum_map, &zero, &zero, BPF_ANY);
+- RET_IF(err, "reset line number in linum_map", "err:%d errno:%d\n",
++ CHECK(err, "reset line number in linum_map", "err:%d errno:%d\n",
+ err, errno);
+
+ for (i = 0; i < REUSEPORT_ARRAY_SIZE; i++)
+--
+2.26.0
+
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch b/bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch
new file mode 100644
index 00000000..d18b942b
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch
@@ -0,0 +1,94 @@
+From 366487b86a8c87954fb4ab7bd88ab49a929a32f6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Apr 2020 11:25:58 -0700
+Subject: [PATCH 2/2] Revert "selftests/bpf: Fix perf_buffer test on systems w/
+ offline CPUs"
+
+This reverts commit 77bb53cb094828a31cd3c5b402899810f63073c1.
+---
+ .../selftests/bpf/prog_tests/perf_buffer.c | 29 ++++---------------
+ 1 file changed, 5 insertions(+), 24 deletions(-)
+
+diff --git a/tools/testing/selftests/bpf/prog_tests/perf_buffer.c b/tools/testing/selftests/bpf/prog_tests/perf_buffer.c
+index cf6c87936c69..3003fddc0613 100644
+--- a/tools/testing/selftests/bpf/prog_tests/perf_buffer.c
++++ b/tools/testing/selftests/bpf/prog_tests/perf_buffer.c
+@@ -4,7 +4,6 @@
+ #include <sched.h>
+ #include <sys/socket.h>
+ #include <test_progs.h>
+-#include "libbpf_internal.h"
+
+ static void on_sample(void *ctx, int cpu, void *data, __u32 size)
+ {
+@@ -20,7 +19,7 @@ static void on_sample(void *ctx, int cpu, void *data, __u32 size)
+
+ void test_perf_buffer(void)
+ {
+- int err, prog_fd, on_len, nr_on_cpus = 0, nr_cpus, i, duration = 0;
++ int err, prog_fd, nr_cpus, i, duration = 0;
+ const char *prog_name = "kprobe/sys_nanosleep";
+ const char *file = "./test_perf_buffer.o";
+ struct perf_buffer_opts pb_opts = {};
+@@ -30,27 +29,15 @@ void test_perf_buffer(void)
+ struct bpf_object *obj;
+ struct perf_buffer *pb;
+ struct bpf_link *link;
+- bool *online;
+
+ nr_cpus = libbpf_num_possible_cpus();
+ if (CHECK(nr_cpus < 0, "nr_cpus", "err %d\n", nr_cpus))
+ return;
+
+- err = parse_cpu_mask_file("/sys/devices/system/cpu/online",
+- &online, &on_len);
+- if (CHECK(err, "nr_on_cpus", "err %d\n", err))
+- return;
+-
+- for (i = 0; i < on_len; i++)
+- if (online[i])
+- nr_on_cpus++;
+-
+ /* load program */
+ err = bpf_prog_load(file, BPF_PROG_TYPE_KPROBE, &obj, &prog_fd);
+- if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno)) {
+- obj = NULL;
+- goto out_close;
+- }
++ if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno))
++ return;
+
+ prog = bpf_object__find_program_by_title(obj, prog_name);
+ if (CHECK(!prog, "find_probe", "prog '%s' not found\n", prog_name))
+@@ -77,11 +64,6 @@ void test_perf_buffer(void)
+ /* trigger kprobe on every CPU */
+ CPU_ZERO(&cpu_seen);
+ for (i = 0; i < nr_cpus; i++) {
+- if (i >= on_len || !online[i]) {
+- printf("skipping offline CPU #%d\n", i);
+- continue;
+- }
+-
+ CPU_ZERO(&cpu_set);
+ CPU_SET(i, &cpu_set);
+
+@@ -99,8 +81,8 @@ void test_perf_buffer(void)
+ if (CHECK(err < 0, "perf_buffer__poll", "err %d\n", err))
+ goto out_free_pb;
+
+- if (CHECK(CPU_COUNT(&cpu_seen) != nr_on_cpus, "seen_cpu_cnt",
+- "expect %d, seen %d\n", nr_on_cpus, CPU_COUNT(&cpu_seen)))
++ if (CHECK(CPU_COUNT(&cpu_seen) != nr_cpus, "seen_cpu_cnt",
++ "expect %d, seen %d\n", nr_cpus, CPU_COUNT(&cpu_seen)))
+ goto out_free_pb;
+
+ out_free_pb:
+@@ -109,5 +91,4 @@ void test_perf_buffer(void)
+ bpf_link__destroy(link);
+ out_close:
+ bpf_object__close(obj);
+- free(online);
+ }
+--
+2.26.0
+
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/files/powersave.cfg b/bsp/meta-raspberrypi/recipes-kernel/linux/files/powersave.cfg
new file mode 100644
index 00000000..9c48eff1
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/files/powersave.cfg
@@ -0,0 +1,13 @@
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION="/dev/mmcblk0p2"
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_ARCH_HIBERNATION_HEADER=y
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg b/bsp/meta-raspberrypi/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg
new file mode 100644
index 00000000..fd97ed71
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg
@@ -0,0 +1,2 @@
+# see emmc node
+CONFIG_MMC_SDHCI_IPROC=y
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
index 4a7db1a4..bb4a64ef 100644
--- a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
@@ -7,16 +7,17 @@ python __anonymous() {
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
-LINUX_VERSION ?= "4.16"
-LINUX_RPI_DEV_BRANCH ?= "rpi-4.16.y"
+LINUX_VERSION ?= "4.19"
+LINUX_RPI_BRANCH ?= "rpi-4.19.y"
SRCREV = "${AUTOREV}"
SRC_URI = " \
- git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_DEV_BRANCH} \
- file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
+ git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \
"
require linux-raspberrypi.inc
# Disable version check so that we don't have to edit this recipe every time
# upstream bumps the version
KERNEL_VERSION_SANITY_SKIP = "1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb
index 1a990fe0..224bc6dd 100644
--- a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb
@@ -1,6 +1,6 @@
-LINUX_VERSION ?= "4.14.81"
+LINUX_VERSION ?= "4.14.91"
-SRCREV = "acf578d07d57480674d5361df9171fe9528765cb"
+SRCREV = "0b520d5f1f580d36a742a9457a5673fa1578fff3"
SRC_URI = " \
git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y-rt \
file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb
new file mode 100644
index 00000000..2d9363f5
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb
@@ -0,0 +1,6 @@
+LINUX_VERSION ?= "4.19.71"
+LINUX_RPI_BRANCH ?= "rpi-4.19.y-rt"
+
+SRCREV = "e2e9cec6fb061ba58304fd391ef76747f2963557"
+
+require linux-raspberrypi_4.19.inc
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
index 01f2425e..f7dee770 100644
--- a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
@@ -16,9 +16,14 @@ SRC_URI += "file://rpi-kernel-misc.cfg"
KCONFIG_MODE = "--alldefconfig"
KBUILD_DEFCONFIG_raspberrypi0-wifi ?= "bcmrpi_defconfig"
KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig"
+KBUILD_DEFCONFIG_raspberrypi-cm3 ?= "bcm2709_defconfig"
KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"
KBUILD_DEFCONFIG_raspberrypi3 ?= "bcm2709_defconfig"
KBUILD_DEFCONFIG_raspberrypi3-64 ?= "bcmrpi3_defconfig"
+KBUILD_DEFCONFIG_raspberrypi4 ?= "bcm2711_defconfig"
+KBUILD_DEFCONFIG_raspberrypi4-64 ?= "bcm2711_defconfig"
+
+LINUX_VERSION_EXTENSION ?= ""
# CMDLINE for raspberrypi
SERIAL = "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}"
@@ -96,9 +101,6 @@ do_configure_prepend() {
mv -f ${B}/.config ${B}/.config.patched
CONF_SED_SCRIPT=""
- # Localversion
- kernel_configure_variable LOCALVERSION "\"\""
-
if [ "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
kernel_configure_variable OVERLAY_FS y
kernel_configure_variable SQUASHFS y
@@ -120,17 +122,19 @@ do_configure_prepend() {
rm -f ${B}/.config.patched
}
-do_compile_append_raspberrypi3-64() {
- cc_extra=$(get_cc_option)
- oe_runmake dtbs CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+do_compile_append() {
+ if [ "${SITEINFO_BITS}" = "64" ]; then
+ cc_extra=$(get_cc_option)
+ oe_runmake dtbs CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+ fi
}
do_deploy_append() {
# Deploy cmdline.txt
- install -d ${DEPLOYDIR}/bcm2835-bootfiles
+ install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
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
+ echo "${CMDLINE}${PITFT_PARAMS}" > ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/cmdline.txt
}
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
index 6563918c..03710edf 100644
--- a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
@@ -1,6 +1,6 @@
-LINUX_VERSION ?= "4.14.112"
+LINUX_VERSION ?= "4.14.114"
-SRCREV = "6b5c4a2508403839af29ef44059d04acbe0ee204"
+SRCREV = "7688b39276ff9952df381d79de63b258e73971ce"
SRC_URI = " \
git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y \
file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
new file mode 100644
index 00000000..93a29f00
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
@@ -0,0 +1,10 @@
+LINUX_VERSION ?= "4.19.126"
+LINUX_RPI_BRANCH ?= "rpi-4.19.y"
+
+SRCREV = "f6b3ac28f0a9137d4c24c0b8832e693bbd16f5b7"
+
+require linux-raspberrypi_4.19.inc
+
+SRC_URI += "file://0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch \
+ file://0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch \
+ "
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.inc b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.inc
new file mode 100644
index 00000000..d6c1223c
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.inc
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
+
+SRC_URI = " \
+ git://github.com/raspberrypi/linux.git;branch=${LINUX_RPI_BRANCH} \
+ "
+SRC_URI_append_raspberrypi4-64 = " file://rpi4-64-kernel-misc.cfg"
+
+require linux-raspberrypi.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+KERNEL_EXTRA_ARGS_append_rpi = " DTC_FLAGS='-@ -H epapr'"
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb
deleted file mode 100644
index b3f32482..00000000
--- a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
-
-LINUX_VERSION ?= "4.9.80"
-
-SRCREV = "7f9c648dad6473469b4133898fa6bb8d818ecff9"
-SRC_URI = " \
- git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y \
- file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
- "
-
-require linux-raspberrypi.inc
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb
new file mode 100644
index 00000000..e039c088
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb
@@ -0,0 +1,11 @@
+LINUX_VERSION ?= "5.4.51"
+LINUX_RPI_BRANCH ?= "rpi-5.4.y"
+
+SRCREV = "95a969f451f6ed61029741411c1c9aa44023e465"
+
+require linux-raspberrypi_5.4.inc
+
+SRC_URI += "file://0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch \
+ file://0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch \
+ file://powersave.cfg \
+ "
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.inc b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.inc
new file mode 100644
index 00000000..232f8a97
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.inc
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
+
+SRC_URI = " \
+ git://github.com/raspberrypi/linux.git;branch=${LINUX_RPI_BRANCH} \
+ "
+SRC_URI_remove = "file://rpi-kernel-misc.cfg"
+
+require linux-raspberrypi.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+KERNEL_EXTRA_ARGS_append_rpi = " DTC_FLAGS='-@ -H epapr'"
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
deleted file mode 100644
index ed8645e9..00000000
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 0d2ad639e6158c8023c157e206ef3ff7abdc089c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
-Date: Fri, 4 Dec 2015 18:39:59 +0100
-Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a
- timeout releasing the buffers taken by the egl_render out port
-
----
- omx/gstomxvideodec.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-Index: gst-omx-1.14.0/omx/gstomxvideodec.c
-===================================================================
---- gst-omx-1.14.0.orig/omx/gstomxvideodec.c
-+++ gst-omx-1.14.0/omx/gstomxvideodec.c
-@@ -2214,7 +2214,9 @@ gst_omx_video_dec_disable (GstOMXVideoDe
- return FALSE;
- if (gst_omx_port_wait_buffers_released (out_port,
- 1 * GST_SECOND) != OMX_ErrorNone)
-+#if !(defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL))
- return FALSE;
-+#endif
- if (gst_omx_video_dec_deallocate_output_buffers (self) != OMX_ErrorNone)
- return FALSE;
- if (gst_omx_port_wait_enabled (out_port, 1 * GST_SECOND) != OMX_ErrorNone)
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
index 85fea67b..c8af7da0 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
@@ -1,8 +1,10 @@
-From cfb432fcd8868c7a4f32010c61e47e2bf0ff80c6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
-Date: Mon, 25 May 2015 14:53:35 +0200
+From 160181edf5fc73288abfe99fa04de4a550cd9c65 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 11 Feb 2016 12:53:20 -0800
Subject: [PATCH] Don't try to acquire buffer when src pad isn't active
+From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
+
This solves a race condition when setting the pipeline from PAUSE to
NULL while the decoder loop is still running. Without this patch, the
thread which interacts with the decode sink pad gets blocked here:
@@ -29,11 +31,11 @@ arrive:
1 file changed, 5 insertions(+)
diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index d12ee8f..fb0100a 100644
+index abe6e30..c4dc33f 100644
--- a/omx/gstomxvideodec.c
+++ b/omx/gstomxvideodec.c
-@@ -1250,6 +1250,11 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
- GstClockTimeDiff deadline;
+@@ -1598,6 +1598,11 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
+ GstOMXAcquireBufferReturn acq_return;
OMX_ERRORTYPE err;
+ if (!gst_pad_is_active(GST_VIDEO_DECODER_SRC_PAD (self))) {
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch
index 6903c177..6903c177 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch
index 4124bccf..43423266 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch
@@ -1,4 +1,4 @@
-From 02e49cba402a783fa1b30e445b83a5c280949c1e Mon Sep 17 00:00:00 2001
+From 21f776bff596bc0bd09708efa6497f8bdcd065c0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 13 Feb 2016 11:42:29 -0800
@@ -7,10 +7,10 @@ Date: Sat, 13 Feb 2016 11:42:29 -0800
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index fb0100a..bad6335 100644
+index c4dc33f..ba5304f 100644
--- a/omx/gstomxvideodec.c
+++ b/omx/gstomxvideodec.c
-@@ -1713,9 +1713,9 @@ gst_omx_video_dec_stop (GstVideoDecoder * decoder)
+@@ -2021,9 +2021,9 @@ gst_omx_video_dec_stop (GstVideoDecoder * decoder)
g_cond_broadcast (&self->drain_cond);
g_mutex_unlock (&self->drain_lock);
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch
index 3c9dd2c8..144ced6a 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch
@@ -1,4 +1,4 @@
-From f00912f0628aff15e882bdc1619f5de1ddf5c720 Mon Sep 17 00:00:00 2001
+From 140bf8548843a98b0af2ddc1765ab59c16c8994c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
Date: Tue, 17 Nov 2015 16:51:27 +0000
Subject: [PATCH] Properly handle drain requests while flushing
@@ -10,11 +10,11 @@ the drain request, leaving the decoder input thread waiting forever.
omx/gstomx.c | 7 +++++++
1 file changed, 7 insertions(+)
-Index: gst-omx-1.14.0/omx/gstomx.c
-===================================================================
---- gst-omx-1.14.0.orig/omx/gstomx.c
-+++ gst-omx-1.14.0/omx/gstomx.c
-@@ -837,6 +837,13 @@ gst_omx_component_new (GstObject * paren
+diff --git a/omx/gstomx.c b/omx/gstomx.c
+index 038ce32..5202d33 100644
+--- a/omx/gstomx.c
++++ b/omx/gstomx.c
+@@ -1011,6 +1011,13 @@ gst_omx_component_new (GstObject * parent, const gchar * core_name,
g_mutex_lock (&comp->lock);
gst_omx_component_handle_messages (comp);
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
new file mode 100644
index 00000000..3245294e
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
@@ -0,0 +1,36 @@
+From cf6cf2060c5a7a7ddc0396a0c20c234fc56c79b6 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@gherzan.ro>
+Date: Tue, 28 May 2019 18:02:24 +0100
+Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a
+ timeout releasing the buffers taken by the egl_render out port
+
+From 0d2ad639e6158c8023c157e206ef3ff7abdc089c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?=
+<eocanha@igalia.com>
+Date: Fri, 4 Dec 2015 18:39:59 +0100
+Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a
+timeout releasing the buffers taken by the egl_render out port
+
+Upstream-status: Pending
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+---
+ omx/gstomxvideodec.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
+index ba5304f..8bd5d3d 100644
+--- a/omx/gstomxvideodec.c
++++ b/omx/gstomxvideodec.c
+@@ -2229,7 +2229,9 @@ gst_omx_video_dec_disable (GstOMXVideoDec * self)
+ return FALSE;
+ if (gst_omx_port_wait_buffers_released (out_port,
+ 1 * GST_SECOND) != OMX_ErrorNone)
++#if !(defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL))
+ return FALSE;
++#endif
+ if (!gst_omx_video_dec_deallocate_output_buffers (self))
+ return FALSE;
+ if (gst_omx_port_wait_enabled (out_port, 1 * GST_SECOND) != OMX_ErrorNone)
+--
+2.17.1
+
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
index f892c66e..a7aa8d9c 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
@@ -1,9 +1,8 @@
-DEPENDS_append_rpi = " userland"
GSTREAMER_1_0_OMX_TARGET_rpi = "rpi"
GSTREAMER_1_0_OMX_CORE_NAME_rpi = "${libdir}/libopenmaxil.so"
-# How to make this RPI specific?
-EXTRA_OECONF_append_rpi = " CFLAGS="$CFLAGS -I${STAGING_DIR_TARGET}/usr/include/IL -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux""
-#examples only build with GL but not GLES, so disable it for RPI
-EXTRA_OECONF_append_rpi = " --disable-examples"
-
-RDEPENDS_${PN}_append_rpi = " userland"
+EXTRA_OEMESON_append_rpi = " -Dheader_path=${STAGING_DIR_TARGET}/usr/include"
+CFLAGS_append_rpi = " \
+ -I${STAGING_DIR_TARGET}/usr/include/IL \
+ -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads \
+ -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux \
+"
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend
index cb7986bb..79b35c41 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend
@@ -9,4 +9,4 @@ SRC_URI_append_rpi = " \
file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \
"
-FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.14:"
+FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.16:"
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
index 899a2d40..8ab1510d 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
@@ -1 +1,2 @@
-PACKAGECONFIG_append_rpi = " hls libmms faad"
+PACKAGECONFIG_append_rpi = " hls libmms \
+ ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'faad', '', d)}"
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
index 9e86c008..bfbce49f 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
+++ b/bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
@@ -2,9 +2,8 @@ EXTRA_OECONF_append_rpi = " CPPFLAGS='-I${STAGING_INCDIR}/interface/vcos/pthread
-I${STAGING_INCDIR}/interface/vmcs_host/linux'"
# if using bcm driver enable dispmanx not when using VC4 driver
-
PACKAGECONFIG_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' dispmanx', d)}"
+DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
-PACKAGECONFIG_GL_rpi = "egl gles2"
-
-PACKAGECONFIG[dispmanx] = "--enable-dispmanx,--disable-dispmanx,userland"
+PACKAGECONFIG_GL_VC4GRAPHICS = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
+PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '${PACKAGECONFIG_GL_VC4GRAPHICS}', 'egl gles2', d)}"
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch b/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch
index 383cdf7c..d137592c 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch
+++ b/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch
@@ -20,7 +20,7 @@ Index: git/Makefile.ffmpeg
@@ -1,5 +1,7 @@
CFLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT
-+FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog
++FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT)
+
WORK=$(PWD)
@@ -29,7 +29,7 @@ Index: git/Makefile.ffmpeg
CFLAGS="$(CFLAGS) ${INCLUDES}" \
LDFLAGS="" \
./configure \
-- --extra-cflags="-mfpu=vfp -mfloat-abi=hard -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog" \
+- --extra-cflags="-mfpu=vfp -mfloat-abi=hard" \
+ --extra-cflags="$(FFMPEG_EXTRA_CFLAGS)" \
+ --extra-ldflags="$(FFMPEG_EXTRA_LDFLAGS)" \
--enable-shared \
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch b/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch
new file mode 100644
index 00000000..a8c51d5c
--- /dev/null
+++ b/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch
@@ -0,0 +1,8 @@
+--- a/Makefile 2019-06-20 15:04:53.390282996 +0200
++++ b/Makefile 2019-06-20 15:03:45.538763872 +0200
+@@ -1,4 +1,4 @@
+-CFLAGS=-pipe -mfloat-abi=hard -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -g
++CFLAGS+= -fomit-frame-pointer -mabi=aapcs-linux -Wno-psabi -g
+ CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
+
+ LDFLAGS=-L$(SDKSTAGE)/opt/vc/lib/
diff --git a/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb b/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
index aad2fed0..55e5a1c8 100644
--- a/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
+++ b/bsp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
@@ -5,13 +5,13 @@ HOMEPAGE = "https://github.com/popcornmix/omxplayer"
SECTION = "console/utils"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=00a27da7ac0f9bcd17320ec29ef4bbf6"
-DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl libssh libomxil coreutils-native curl-native userland"
+DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl libssh virtual/libomxil coreutils-native curl-native userland"
-PR = "r4"
+PR = "r5"
-SRCREV_default = "b4bbef8fac5e8c2ddafa895f98456ba715b39c6b"
+SRCREV_default = "f543a0d0e707ab56415f17b0ca6d397394ee8b63"
# omxplayer builds its own copy of ffmpeg from source instead of using the
# system's ffmpeg library. This isn't ideal but it's ok for now. We do however
@@ -33,6 +33,7 @@ SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master
file://0006-Prevent-ffmpeg-configure-compile-race-condition.patch \
file://0001-Specify-cc-cxx-and-ld-variables-from-environment.patch \
file://cross-crompile-ffmpeg.patch \
+ file://0007-Remove-Makefile-hardcoded-arch-tune.patch \
"
SRC_URI_append = "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", " file://0001-Fix-build-with-vc4-driver.patch ", "", d)}"
@@ -40,6 +41,7 @@ SRC_URI_append = "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", " file
S = "${WORKDIR}/git"
COMPATIBLE_MACHINE = "^rpi$"
+COMPATIBLE_HOST_aarch64 = "null"
def cpu(d):
for arg in (d.getVar('TUNE_CCARGS') or '').split():
diff --git a/bsp/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend b/bsp/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend
deleted file mode 100644
index a4cc96ee..00000000
--- a/bsp/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_OECMAKE_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' -DUSE_GSTREAMER_GL=OFF ', '', d)}"