aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--classes/sdcard_image-rpi.bbclass2
-rw-r--r--conf/layer.conf4
-rw-r--r--conf/machine/include/rpi-default-settings.inc6
-rw-r--r--conf/machine/include/rpi-default-versions.inc2
-rw-r--r--docs/extra-build-config.md17
-rw-r--r--lib/oeqa/runtime/cases/parselogs_rpi.py3
-rw-r--r--recipes-bsp/bootfiles/rpi-config_git.bb8
-rw-r--r--recipes-bsp/common/raspberrypi-firmware.inc9
-rw-r--r--recipes-bsp/common/raspberrypi-tools.inc10
-rw-r--r--recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch51
-rw-r--r--recipes-bsp/u-boot/u-boot_%.bbappend3
-rw-r--r--recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb2
-rw-r--r--recipes-core/udev/udev-rules-rpi/99-com.rules8
-rw-r--r--recipes-devtools/pi-blaster/pi-blaster_git.bb2
-rw-r--r--recipes-devtools/python/python3-rtimu_git.bb4
-rw-r--r--recipes-devtools/python/rpi-gpio_0.7.0.bb4
-rw-r--r--recipes-graphics/libsdl2/libsdl2_%.bbappend5
-rw-r--r--recipes-graphics/libva/libva_%.bbappend3
-rw-r--r--recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch43
-rw-r--r--recipes-graphics/mesa/mesa_%.bbappend4
-rw-r--r--recipes-graphics/userland/userland_git.bb2
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend4
-rw-r--r--recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb2
-rw-r--r--recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb12
-rw-r--r--recipes-kernel/linux/files/android-drivers.cfg8
-rw-r--r--recipes-kernel/linux/linux-raspberrypi-dev.bb28
-rw-r--r--recipes-kernel/linux/linux-raspberrypi.inc14
-rw-r--r--recipes-kernel/linux/linux-raspberrypi_5.4.bb7
-rw-r--r--recipes-kernel/linux/linux-raspberrypi_5.4.inc5
-rw-r--r--recipes-multimedia/omxplayer/omxplayer_git.bb4
31 files changed, 182 insertions, 96 deletions
diff --git a/README.md b/README.md
index 898426d..e69b0ef 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ The core BSP part of meta-raspberrypi should work with different
OpenEmbedded/Yocto distributions and layer stacks, such as:
* Distro-less (only with OE-Core).
-* Angstrom.
+* Yoe Disto (Video and Camera Products).
* Yocto/Poky (main focus of testing).
## Dependencies
diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass
index 9bf42db..8197978 100644
--- a/classes/sdcard_image-rpi.bbclass
+++ b/classes/sdcard_image-rpi.bbclass
@@ -49,6 +49,8 @@ SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${SDIMG_ROOTFS_TYPE}"
# For the names of kernel artifacts
inherit kernel-artifact-names
+RPI_SDIMG_EXTRA_DEPENDS ?= ""
+
do_image_rpi_sdimg[depends] = " \
parted-native:do_populate_sysroot \
mtools-native:do_populate_sysroot \
diff --git a/conf/layer.conf b/conf/layer.conf
index 4ed7959..97cf46b 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -9,7 +9,9 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9"
-LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus dunfell"
+LAYERSERIES_COMPAT_raspberrypi = "dunfell"
+
+LAYERDEPENDS_raspberrypi = "core"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
diff --git a/conf/machine/include/rpi-default-settings.inc b/conf/machine/include/rpi-default-settings.inc
index 716a8bb..bb18496 100644
--- a/conf/machine/include/rpi-default-settings.inc
+++ b/conf/machine/include/rpi-default-settings.inc
@@ -1,3 +1,9 @@
# RaspberryPi BSP default settings
IMAGE_CLASSES += "sdcard_image-rpi"
+
+# RPI kernel has errors of its own which should be filtered
+# therefore use parselogs_rpi test instead of parselogs from oe-core
+#
+DEFAULT_TEST_SUITES_append_rpi = " parselogs_rpi"
+DEFAULT_TEST_SUITES_remove_rpi = " parselogs"
diff --git a/conf/machine/include/rpi-default-versions.inc b/conf/machine/include/rpi-default-versions.inc
index 9983b61..e57c702 100644
--- a/conf/machine/include/rpi-default-versions.inc
+++ b/conf/machine/include/rpi-default-versions.inc
@@ -1,3 +1,3 @@
# RaspberryPi BSP default versions
-PREFERRED_VERSION_linux-raspberrypi ??= "4.19.%"
+PREFERRED_VERSION_linux-raspberrypi ??= "5.4.%"
diff --git a/docs/extra-build-config.md b/docs/extra-build-config.md
index b881322..586ee6c 100644
--- a/docs/extra-build-config.md
+++ b/docs/extra-build-config.md
@@ -1,6 +1,6 @@
# Optional build configuration
-There are a set of ways in which a user can influence different paramenters of
+There are a set of ways in which a user can influence different parameters of
the build. We list here the ones that are closely related to this BSP or
specific to it. For the rest please check:
<http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html>
@@ -37,7 +37,7 @@ By default, each machine uses `vc4` for graphics. This will in turn sets mesa as
## Add purchased license codecs
-To add you own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
+To add your own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
local.conf. Example:
KEY_DECODE_MPG2 = "12345678"
@@ -77,7 +77,7 @@ To remove (or adjust) this delay set these variables in local.conf:
## Set overclocking options
The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo
-Mode" is officially supported by the raspbery and does not void warranty. Check
+Mode" is officially supported by the Raspberry Pi and does not void warranty. Check
the config.txt for a detailed description of options and modes. The following
variables are supported in local.conf: `ARM_FREQ`, `GPU_FREQ`, `CORE_FREQ`,
`SDRAM_FREQ` and `OVER_VOLTAGE`.
@@ -249,7 +249,7 @@ Screen LCD, HDMI interface (<http://www.waveshare.com/7inch-HDMI-LCD-C.htm>) Rev
RaspberryPi 0, 1, 2 and CM will have UART console enabled by default.
RaspberryPi 0 WiFi and 3 does not have the UART enabled by default because this
-needs a fixed core frequency and enable_uart wil set it to the minimum. Certain
+needs a fixed core frequency and enable_uart will 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
@@ -269,6 +269,15 @@ local.conf:
ENABLE_DWC2_PERIPHERAL = "1"
+## Enable USB host support
+
+By default in case of the Compute Module 4 IO Board the standard USB driver
+that usually supports host mode operations is disabled for power saving reasons.
+Users who want to use the 2 USB built-in ports or the other ports provided via
+the header extension should set the following in local.conf:
+
+ ENABLE_DWC2_HOST = "1"
+
## Enable Openlabs 802.15.4 radio module
When using device tree kernels, set this variable to enable the 802.15.4 hat:
diff --git a/lib/oeqa/runtime/cases/parselogs_rpi.py b/lib/oeqa/runtime/cases/parselogs_rpi.py
index 5cf9af1..4a94310 100644
--- a/lib/oeqa/runtime/cases/parselogs_rpi.py
+++ b/lib/oeqa/runtime/cases/parselogs_rpi.py
@@ -4,6 +4,9 @@ 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',
+ 'bcmgenet fd580000.ethernet: failed to get enet-eee clock',
+ 'bcmgenet fd580000.ethernet: failed to get enet-wol clock',
+ 'bcmgenet fd580000.ethernet: failed to get enet clock',
]
ignore_errors['raspberrypi4'] = rpi_errors + common_errors
diff --git a/recipes-bsp/bootfiles/rpi-config_git.bb b/recipes-bsp/bootfiles/rpi-config_git.bb
index 9489951..ce7ba75 100644
--- a/recipes-bsp/bootfiles/rpi-config_git.bb
+++ b/recipes-bsp/bootfiles/rpi-config_git.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
COMPATIBLE_MACHINE = "^rpi$"
SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
-SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
+SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=https;branch=master \
"
S = "${WORKDIR}/git"
@@ -194,6 +194,12 @@ do_deploy() {
echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
+ # DWC2 USB host mode support
+ if [ "${ENABLE_DWC2_HOST}" = "1" ]; then
+ echo "# Enable USB host mode" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ echo "dtoverlay=dwc2,dr_mode=host" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
+ fi
+
# AT86RF23X support
if [ "${ENABLE_AT86RF}" = "1" ]; then
echo "# Enable AT86RF23X" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
diff --git a/recipes-bsp/common/raspberrypi-firmware.inc b/recipes-bsp/common/raspberrypi-firmware.inc
index d4d2e3c..891bd1a 100644
--- a/recipes-bsp/common/raspberrypi-firmware.inc
+++ b/recipes-bsp/common/raspberrypi-firmware.inc
@@ -1,10 +1,9 @@
-RPIFW_DATE ?= "20200713"
-SRCREV ?= "7e74bcb4f9706f36f752d1c3d3164628ccf2aae5"
-RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
+RPIFW_DATE ?= "20210527"
+SRCREV ?= "1eb8921ae7158249894f89e8bb6c4bfb04ec7377"
+RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[md5sum] = "46a19d68b81f388443394492dd6a873c"
-SRC_URI[sha256sum] = "f987cafcbc72179493673191e3e4aa8c1f18eccf871546be5d26156abbf8eff1"
+SRC_URI[sha256sum] = "32fb5cc72703247622839c3cb4df2f369f91d2185770df867ac9758283bf5380"
PV = "${RPIFW_DATE}"
diff --git a/recipes-bsp/common/raspberrypi-tools.inc b/recipes-bsp/common/raspberrypi-tools.inc
index 0d4c627..93f9d7a 100644
--- a/recipes-bsp/common/raspberrypi-tools.inc
+++ b/recipes-bsp/common/raspberrypi-tools.inc
@@ -1,9 +1,9 @@
-SRCREV ?= "b0c869bc929587a7e1d20a98e2dc828a24ca396a"
-RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz"
+RPITOOLS_DATE ?= "20200803"
+SRCREV ?= "0c39cb5b5ac9851312a38c54f5aea770d976de7a"
+RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-tools-${SRCREV}.tar.gz"
RPITOOLS_S ?= "${WORKDIR}/tools-${SRCREV}"
SRC_URI = "${RPITOOLS_SRC_URI}"
-SRC_URI[md5sum] = "fd999aad4424088b5e8746a9d946bb56"
-SRC_URI[sha256sum] = "a0a8aff308d9302318442e6bcd2df14cbbb3b633f12ca6b9c43c4ab69bf45bb1"
+SRC_URI[sha256sum] = "ef56a891eef387d2278e6f9d20b462021faace14aceeb2048b5e5973069c25c0"
-PV = "0.0+git${SRCREV}"
+PV = "${RPITOOLS_DATE}"
diff --git a/recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch b/recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch
new file mode 100644
index 0000000..996ad10
--- /dev/null
+++ b/recipes-bsp/u-boot/files/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/recipes-bsp/u-boot/u-boot_%.bbappend b/recipes-bsp/u-boot/u-boot_%.bbappend
index 7f38adb..cdfe5bb 100644
--- a/recipes-bsp/u-boot/u-boot_%.bbappend
+++ b/recipes-bsp/u-boot/u-boot_%.bbappend
@@ -4,6 +4,9 @@ SRC_URI_append_rpi = " \
file://fw_env.config \
"
+# special fix for raspberrypi-cm3
+SRC_URI_append_raspberrypi-cm3 = " file://0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch"
+
DEPENDS_append_rpi = " u-boot-default-script"
do_install_append_rpi () {
diff --git a/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb b/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb
index ccf714b..6ad81c4 100644
--- a/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb
+++ b/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "\
"
SRC_URI = "\
- git://github.com/RPi-Distro/pi-bluetooth \
+ git://github.com/RPi-Distro/pi-bluetooth;branch=master;protocol=https \
file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \
"
SRCREV = "cbdbcb66bcc5b9af05f1a9fffe2254c872bb0ace"
diff --git a/recipes-core/udev/udev-rules-rpi/99-com.rules b/recipes-core/udev/udev-rules-rpi/99-com.rules
index 6bf019b..ddd1e17 100644
--- a/recipes-core/udev/udev-rules-rpi/99-com.rules
+++ b/recipes-core/udev/udev-rules-rpi/99-com.rules
@@ -1,8 +1,8 @@
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
- if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
+ if cmp -s $$ALIASES/uart0 $$ALIASES/serial0; then \
echo 0;\
- elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \
+ elif cmp -s $$ALIASES/uart0 $$ALIASES/serial1; then \
echo 1; \
else \
exit 1; \
@@ -11,9 +11,9 @@ KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
- if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \
+ if cmp -s $$ALIASES/uart1 $$ALIASES/serial0; then \
echo 0; \
- elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \
+ elif cmp -s $$ALIASES/uart1 $$ALIASES/serial1; then \
echo 1; \
else \
exit 1; \
diff --git a/recipes-devtools/pi-blaster/pi-blaster_git.bb b/recipes-devtools/pi-blaster/pi-blaster_git.bb
index fdaf16c..4b2d1ba 100644
--- a/recipes-devtools/pi-blaster/pi-blaster_git.bb
+++ b/recipes-devtools/pi-blaster/pi-blaster_git.bb
@@ -4,7 +4,7 @@ SECTION = "devel/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;beginline=268;endline=292;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
-SRC_URI = "git://github.com/sarfata/pi-blaster \
+SRC_URI = "git://github.com/sarfata/pi-blaster;branch=master;protocol=https \
file://remove-initscript-lsb-dependency.patch \
"
diff --git a/recipes-devtools/python/python3-rtimu_git.bb b/recipes-devtools/python/python3-rtimu_git.bb
index c0cb311..c9f1cec 100644
--- a/recipes-devtools/python/python3-rtimu_git.bb
+++ b/recipes-devtools/python/python3-rtimu_git.bb
@@ -5,11 +5,11 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://../../LICENSE;md5=96cdecb41125f498958e09b72faf318e"
-SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master \
+SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master;protocol=https \
file://0001-include-asm-ioctl.h-for-ioctl-define.patch;patchdir=../.. \
"
SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
-S = "${WORKDIR}/git/Linux/python/"
+S = "${WORKDIR}/git/Linux/python"
inherit setuptools3
diff --git a/recipes-devtools/python/rpi-gpio_0.7.0.bb b/recipes-devtools/python/rpi-gpio_0.7.0.bb
index fcce88f..8b13d53 100644
--- a/recipes-devtools/python/rpi-gpio_0.7.0.bb
+++ b/recipes-devtools/python/rpi-gpio_0.7.0.bb
@@ -12,3 +12,7 @@ SRC_URI[md5sum] = "777617f9dea9a1680f9af43db0cf150e"
SRC_URI[sha256sum] = "7424bc6c205466764f30f666c18187a0824077daf20b295c42f08aea2cb87d3f"
COMPATIBLE_MACHINE = "^rpi$"
+
+# ignore issues with -fno-common from gcc-10 until it's fixed in upstream:
+# https://sourceforge.net/p/raspberry-gpio-python/tickets/187/
+CFLAGS += "-fcommon"
diff --git a/recipes-graphics/libsdl2/libsdl2_%.bbappend b/recipes-graphics/libsdl2/libsdl2_%.bbappend
new file mode 100644
index 0000000..cb9c24e
--- /dev/null
+++ b/recipes-graphics/libsdl2/libsdl2_%.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
+# we explicitly delete KHR/khrplatform.h since its already coming from userland package
+DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"
diff --git a/recipes-graphics/libva/libva_%.bbappend b/recipes-graphics/libva/libva_%.bbappend
new file mode 100644
index 0000000..56ff421
--- /dev/null
+++ b/recipes-graphics/libva/libva_%.bbappend
@@ -0,0 +1,3 @@
+# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
+# we explicitly delete KHR/khrplatform.h since its already coming from userland package
+DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"
diff --git a/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch b/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch
deleted file mode 100644
index 0bda014..0000000
--- a/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-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/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend
index d3435e7..eaa46f2 100644
--- a/recipes-graphics/mesa/mesa_%.bbappend
+++ b/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,10 +1,6 @@
-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.
-
-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/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb
index 1138da8..5378cde 100644
--- a/recipes-graphics/userland/userland_git.bb
+++ b/recipes-graphics/userland/userland_git.bb
@@ -20,7 +20,7 @@ SRCREV = "188d3bfe4a0ac36b119a2cee35a6be8d0c68e09e"
PV = "20200624"
SRC_URI = "\
- git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
+ git://github.com/${SRCFORK}/userland.git;protocol=https;branch=${SRCBRANCH} \
file://0001-Allow-applications-to-set-next-resource-handle.patch \
file://0002-wayland-Add-support-for-the-Wayland-winsys.patch \
file://0003-wayland-Add-Wayland-example.patch \
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
index fba1632..9574fa5 100644
--- a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -1 +1,5 @@
OPENGL_PKGCONFIGS_rpi = "dri glx ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
+
+# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
+# we explicitly delete KHR/khrplatform.h since its already coming from userland package
+DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"
diff --git a/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb b/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
index 310d2f8..260aeb9 100644
--- a/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
+++ b/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
@@ -23,7 +23,7 @@ LIC_FILES_CHKSUM = "\
# so that the license files will be copied from fetched source
NO_GENERIC_LICENSE[Firmware-cypress-rpidistro] = "LICENCE.cypress-rpidistro"
-SRC_URI = "git://github.com/RPi-Distro/bluez-firmware"
+SRC_URI = "git://github.com/RPi-Distro/bluez-firmware;branch=master;protocol=https"
SRCREV = "96eefffcccc725425fd83be5e0704a5c32b79e54"
PV = "0.0+git${SRCPV}"
diff --git a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
index 833f8f6..71f4acf 100644
--- a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
+++ b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
@@ -33,10 +33,10 @@ LIC_FILES_CHKSUM = "\
NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx-rpidistro] = "LICENCE.broadcom_bcm43xx"
NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
-SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
+SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=buster;protocol=https"
-SRCREV = "616fc2dd4df421e3974179d9e46d45e7006aeb28"
-PV = "20190114-1+rpt6"
+SRCREV = "98e815735e2c805d65994ccc608f399595b74438"
+PV = "20190114-1+rpt8"
S = "${WORKDIR}/git"
@@ -59,6 +59,12 @@ do_install() {
for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do
install -m 0644 brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
done
+ # add compat links. Fixes errors like
+ # brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
+ ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
+ ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
+ ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
+ ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
}
PACKAGES = "\
diff --git a/recipes-kernel/linux/files/android-drivers.cfg b/recipes-kernel/linux/files/android-drivers.cfg
new file mode 100644
index 0000000..f74ac0e
--- /dev/null
+++ b/recipes-kernel/linux/files/android-drivers.cfg
@@ -0,0 +1,8 @@
+CONFIG_ANDROID=y
+
+#CONFIG_ANDROID_BINDERFS is not set
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_BINDER_DEVICES="binder"
+
+CONFIG_ASHMEM=y
+
diff --git a/recipes-kernel/linux/linux-raspberrypi-dev.bb b/recipes-kernel/linux/linux-raspberrypi-dev.bb
index bb4a64e..d6b0eec 100644
--- a/recipes-kernel/linux/linux-raspberrypi-dev.bb
+++ b/recipes-kernel/linux/linux-raspberrypi-dev.bb
@@ -5,19 +5,33 @@ python __anonymous() {
raise bb.parse.SkipRecipe(msg)
}
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
+LINUX_VERSION ?= "5.10.y"
+LINUX_RPI_BRANCH ?= "rpi-5.10.y"
+LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10"
-LINUX_VERSION ?= "4.19"
-LINUX_RPI_BRANCH ?= "rpi-4.19.y"
+# Set default SRCREVs. Both the machine and meta SRCREVs are statically set
+# to the as in 5.10 recipe, and hence prevent network access during parsing. If
+# linux-yocto-dev is the preferred provider, they will be overridden to
+# AUTOREV in following anonymous python routine and resolved when the
+# variables are finalized.
+SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-raspberrypi-dev", "${AUTOREV}", "89399e6e7e33d6260a954603ca03857df594ffd3", d)}'
+SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-raspberrypi-dev", "${AUTOREV}", "a19886b00ea7d874fdd60d8e3435894bb16e6434", d)}'
+
+KMETA = "kernel-meta"
-SRCREV = "${AUTOREV}"
SRC_URI = " \
- git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \
+ git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH};protocol=https \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \
+ file://powersave.cfg \
+ file://android-drivers.cfg \
"
+
require linux-raspberrypi.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+KERNEL_EXTRA_ARGS += "DTC_FLAGS='-@ -H epapr'"
+
# 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/recipes-kernel/linux/linux-raspberrypi.inc b/recipes-kernel/linux/linux-raspberrypi.inc
index f7dee77..3219a23 100644
--- a/recipes-kernel/linux/linux-raspberrypi.inc
+++ b/recipes-kernel/linux/linux-raspberrypi.inc
@@ -130,11 +130,13 @@ do_compile_append() {
}
do_deploy_append() {
- # Deploy cmdline.txt
- 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"
+ # Deploy cmdline.txt only for the main kernel package
+ if [ ${KERNEL_PACKAGE_NAME} = "kernel" ]; then
+ 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}/${BOOTFILES_DIR_NAME}/cmdline.txt
fi
- echo "${CMDLINE}${PITFT_PARAMS}" > ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/cmdline.txt
}
diff --git a/recipes-kernel/linux/linux-raspberrypi_5.4.bb b/recipes-kernel/linux/linux-raspberrypi_5.4.bb
index e039c08..f897f1b 100644
--- a/recipes-kernel/linux/linux-raspberrypi_5.4.bb
+++ b/recipes-kernel/linux/linux-raspberrypi_5.4.bb
@@ -1,11 +1,14 @@
-LINUX_VERSION ?= "5.4.51"
+LINUX_VERSION ?= "5.4.72"
LINUX_RPI_BRANCH ?= "rpi-5.4.y"
+LINUX_RPI_KMETA_BRANCH ?= "yocto-5.4"
-SRCREV = "95a969f451f6ed61029741411c1c9aa44023e465"
+SRCREV_machine = "154de7bbd5844a824a635d4f9e3f773c15c6ce11"
+SRCREV_meta = "5d52d9eea95fa09d404053360c2351b2b91b323b"
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 \
+ file://android-drivers.cfg \
"
diff --git a/recipes-kernel/linux/linux-raspberrypi_5.4.inc b/recipes-kernel/linux/linux-raspberrypi_5.4.inc
index 232f8a9..9ed3ae5 100644
--- a/recipes-kernel/linux/linux-raspberrypi_5.4.inc
+++ b/recipes-kernel/linux/linux-raspberrypi_5.4.inc
@@ -1,7 +1,10 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
+KMETA = "kernel-meta"
+
SRC_URI = " \
- git://github.com/raspberrypi/linux.git;branch=${LINUX_RPI_BRANCH} \
+ git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \
"
SRC_URI_remove = "file://rpi-kernel-misc.cfg"
diff --git a/recipes-multimedia/omxplayer/omxplayer_git.bb b/recipes-multimedia/omxplayer/omxplayer_git.bb
index 55e5a1c..82706a4 100644
--- a/recipes-multimedia/omxplayer/omxplayer_git.bb
+++ b/recipes-multimedia/omxplayer/omxplayer_git.bb
@@ -22,8 +22,8 @@ SRCREV_default = "f543a0d0e707ab56415f17b0ca6d397394ee8b63"
# This SRCREV corresponds to the v4.0.3 release of ffmpeg.
SRCREV_ffmpeg = "fcbd117df3077bad495e99e20f01cf93737bce76"
-SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \
- git://github.com/FFmpeg/FFmpeg;branch=release/4.0;protocol=git;depth=1;name=ffmpeg;destsuffix=git/ffmpeg \
+SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=https;branch=master \
+ git://github.com/FFmpeg/FFmpeg;branch=release/4.0;protocol=https;depth=1;name=ffmpeg;destsuffix=git/ffmpeg \
file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \
file://0003-Remove-strip-step-in-Makefile.patch \
file://0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch \