The Raspberry Pi Compute Module 5 IO Board does not include a
dedicated UART debug connector like the Raspberry Pi 5. Although
the CM5 itself has reserved space for a JST connector, it is not
populated. To enable UART on the 40-pin header of the CM 5 IO Board
we need to add dtoverlay=uart0 and dtparam=uart0_console to
config.txt.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Add a dedicated machine configuration for the Raspberry Pi Compute
Module 5 IO Board. Although it is closely aligned with Raspberry Pi
5, several peripherals differ. Providing a separate configuration
will enable targeted support and feature implementation for those
distinct peripherals.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Add vc4-kms-dsi-ili9881-5inch.dtbo to RPI_KERNEL_DEVICETREE_OVERLAYS
for the 5" version of Raspberry Pi Touch Display 2.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
The raspberry pi kernel has changed the plane IDs in their drm
driver[1], which causes weston to crash upon mouse movement.
This patch adapts the relevant variable sizes from 32-bit to
64-bit.
Since the kernel modification hasn't been upstreamed by rpi, this patch
is deemed to be inappropriate for upstreaming to weston.
Also, clean up this bbappend: the main recipe has switched to meson
long time ago, the autotools config options are obsolete, so remove them.
Beside that the "fbdev" PACKAGECONFIG doesn't exist anymore, so drop it
from the removal list.
[1]: 8181e682d6
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Add rpi-backlight.dtbo to RPI_KERNEL_DEVICETREE_OVERLAYS. This is
a devicetree overlay for mailbox-driven Raspberry Pi DSI Display
backlight controller.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Add w1-gpio-pi5.dtbo to RPI_KERNEL_DEVICETREE_OVERLAYS to resolve
the following issue noticed in vclog --msg on Raspberry Pi 5 when
ENABLE_W1 is set to 1:
dtdebug: mapped overlay 'w1-gpio' to 'w1-gpio-pi5'
dtdebug: Failed to open overlay file 'overlays/w1-gpio-pi5.dtbo'
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Switches the Raspberry Pi 5 to use the standard cyfman43455-sdio
firmware by default. The minimal firmware on this device is unable to
connect to a WiFi access point.
This also matches the behavior of Raspberry Pi OS, which defaults to the
standard firmware
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Fix
https://github.com/agherzan/meta-raspberrypi/pull/1484
Avoid llvm runtime dependency to avoid issues in builds with meta-clang:
ERROR: Multiple .bb files are due to be built which each provide llvm:
meta-clang/recipes-devtools/clang/clang_git.bb
oe-core/meta/recipes-devtools/llvm/llvm_18.1.6.bb
A list of tasks depending on these providers is shown and may help explain where the dependency comes from.
meta-clang/recipes-devtools/clang/clang_git.bb has unique dependees:
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_prepare_recipe_sysroot
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_package
meta-atlas/meta-atlas/recipes-core/images/atlas-image-video.bb:do_populate_lic_deploy
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_collect_spdx_deps
meta-atlas/meta-atlas/recipes-core/images/atlas-image-video.bb:do_populate_interfaces_deploy
oe-core/meta/recipes-devtools/llvm/llvm_18.1.6.bb has unique dependees:
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_package_qa
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_create_runtime_spdx
It could be that one recipe provides something the other doesn't and should. The following provider and runtime provider differences may be helpful.
meta-clang/recipes-devtools/clang/clang_git.bb has unique provides:
clang
meta-clang/recipes-devtools/clang/clang_git.bb has unique rprovides:
clang-dbg
clang-libclang-cpp
liblldb
llvm-linker-tools
^clang-locale-.*
clang-libllvm
lldb
clang-format
clang
clang-dev
clang-locale
clang-lldb-python
libclang
clang-src
clang-doc
clang-staticdev
lldb-server
clang-tidy
clang-tools
oe-core/meta/recipes-devtools/llvm/llvm_18.1.6.bb has unique provides:
oe-core/meta/recipes-devtools/llvm/llvm_18.1.6.bb has unique rprovides:
llvm
llvm-dbg
llvm-libllvm
llvm-src
llvm-dev
llvm-liboptremarks
llvm-locale
llvm-llvmhello
llvm-liblto
llvm-staticdev
llvm-bugpointpasses
llvm-doc
^llvm-locale-.*
check_data_file_clashes: Package clang-libllvm wants to install file rootfs/usr/lib/libLLVM.so.18.1
But that file is already provided by package * llvm
Also avoid:
python __anonymous() {
if d.getVar('SOC_FAMILY') == 'rpi' and d.getVar("PN") == d.getVar("BPN"):
d.setVarFlag("SRC_URI", "sha256sum", "4d2b2a9e3e099d017dc8107bf1c334d27bb87d9e4aff19a0c8d856d17cd41ef0")
}
This doesn't work for multilib builds where PN != BPN (e.g. lib32-wayland-protocols)
It is easier to just add separate recipes with COMPATIBLE_MACHINE
restriction instead of modifying the recipes for all MACHINEs with
bbappend and then trying to limit it to rpi MACHINEs with overrides
(e.g. why is whole recipe duplicated in wayland-protocols bbappend
doesn't make any sense to me).
breakage like this in stable branches is bad, these bbappends are hard
to avoid (without BBMASKing them and then reintroducing the necessary
part of original mesa bbappend). Now with separate recipes people can
at least opt-out by setting P_V to original scarthgap versions:
PREFERRED_VERSION_mesa:rpi = "24.%"
PREFERRED_VERSION_wayland-protocols:rpi = "1.33"
Signed-off-by: Martin Jansa <martin2.jansa@lgepartner.com>
This patch enables the CONFIG_I2C_BRCMSTB option in vc4graphics.cfg to
ensure proper support for the `brcm,bcm2711-hdmi-i2c` device node. Without
this configuration, the I2C bus associated with HDMI on Broadcom
BCM2711-based systems may fail to probe, causing issues with HDMI
communication and display initialization.
Additionally, this resolves potential deferred probe issues observed in
the kernel logs, ensuring the correct initialization of the HDMI I2C bus.
Signed-off-by: Garrett Brown <garrett.brown@aclima.io>
This reverts commit 8c916b683d.
Change like this doesn't belong to stable branch, people who
want to use 6.12 can easily switch the P_V in their config.
As reported in:
https://github.com/agherzan/meta-raspberrypi/pull/1483
lttng-modules version in scarthgap fails to build with 6.12:
lttng-modules/2.13.12/lttng-modules-2.13.12/src/../include/wrapper/uprobes.h:28:16: error: too few arguments to function 'uprobe_register'
lttng-modules-2.13.12/src/../include/wrapper/uprobes.h:34:9: error: implicit declaration of function 'uprobe_unregister'; did you mean 'uprobe_register'? [-Werror=implicit-function-declaration]
34 | uprobe_unregister(inode, offset, uc);
| ^~~~~~~~~~~~~~~~~
Signed-off-by: Martin Jansa <martin2.jansa@lgepartner.com>
Make the upgrade bbappends conditional for Raspberry Pi to fix
issues with signatures. This way the layer passes successfully
test_signatures from:
yocto-check-layer --with-software-layer-signature-check
This work was sponsored by GOVCERT.LU.
Suggested-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Conditionally add wayland-protocols to DEPENDS and RDEPENDS if
variable DISTRO_FEATURES includes wayland.
This work was sponsored by GOVCERT.LU.
Suggested-by: Daniel F. Dickinson <daniel@d-f-d.ca>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Upgrade to release 25.1.6:
- v3dv: regression in vkAllocateMemory importing gbm bo
- Vulkan WSI (and zink) use threads on X11 even when the X
connection isn't thread-safe
- sddm-greeter-qt segfault when using nvk+zink
- [regression][bisected] [FirePro W4100]: crashing/rebooting
- Descriptor set layout with binding flags fails due to indices
not matching bindings
- piglit bindless texture tests crash
- [radeonsi] Artifacts in Team Fortress 2 (bisected)
- eglgears_wayland segfault on zink+nvk with PRIME
- vn_renderer_virtgpu.c:13:10: fatal error: 'xf86drm.h' file not
found
- brw: mad instruction printing broken on Gfx11
- radv: RGB9E5 rendering does not ignore alpha write mask
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Upgrade to release 25.1.3:
- A bug fix release which fixes bugs found since the 25.1.2 release
- Implements the OpenGL 4.6 API, but the version reported by
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver
being used. Some drivers don't support all the features required
in OpenGL 4.6. OpenGL 4.6 is only available if requested at
context creation. Compatibility contexts may report a lower
version depending on each driver.
- Implements the Vulkan 1.4 API, but the version reported by the
apiVersion property of the VkPhysicalDeviceProperties struct
depends on the particular driver being used.
For Raspberry Pi this upgrade brings the following fixes:
- v3dv: vkcube-wayland crashes on raspberry pi 5 kernel 6.12
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Increase CONFIG_SYS_BOOTM_LEN for machine raspberrypi4 (32-bit)
because the kernel size has increased. This fixes the following
issue when booting an image with U-Boot:
Image Name: Linux-6.6.63-v7l
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 8559752 Bytes = 8.2 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
Booting using the fdt blob at 0x2eff2000
Working FDT set to 2eff2000
Loading Kernel Image to 8000
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
Fixes: https://github.com/agherzan/meta-raspberrypi/issues/1306
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Add vc4-kms-dsi-ili9881-7inch.dtbo for the Raspberry Pi Touch
Display 2 to RPI_KERNEL_DEVICETREE_OVERLAYS.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Upgrade to Ubuntu 22.04 because it is compatible with the Yocto
Project release Walnascar and provides a newer Python version:
- Add --ulimit "nofile=1024:1048576" to yocto-builds.yml.
- Increase vm.max_map_count.
- Add --security-opt apparmor=unconfined to docker cmdline.
- Run docker without the default seccomp profile
This commit is backport from branch master to Scarthgap because
Ubuntu 20.04 reached its end of life (EOL) on May 31, 2025. Yocto
release Scarthgap also supports Ubuntu 22.04.
This work was sponsored by GOVCERT.LU.
Suggested-by: Martin Steegmanns <martin.steegmanns@govcert.etat.lu>
Suggested-by: Stu Westerman @stu-spp
Suggested-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Having RPI_KERNEL_DEVICETREE_OVERLAYS:append = " overlays/bcm2712d0.dtbo"
in raspberrypi5.conf is not applying when building an 64bit compatible image
with raspberrypi-armv8. Thus moving into the rpi-base.inc
This fix the boot of this image on Raspberry Pi 5 hw rev 1.1
Signed-off-by: Thomas Roos <throos@amazon.de>
CONFIG_ASHMEM has been deprecated since 5.18 by:
commit 721412ed3d819e767cac2b06646bf03aa158aaec
Author: Christoph Hellwig <hch@lst.de>
Date: Tue Mar 15 13:34:57 2022 +0100
staging: remove ashmem
The mainline replacement for ashmem is memfd, so remove the legacy
code from drivers/staging/
so has CONFIG_ANDROID since 6.1 by:
commit 1045a06724f322ed61f1ffb994427c7bdbe64647
Author: Christoph Hellwig <hch@lst.de>
Date: Wed Jun 29 17:01:02 2022 +0200
remove CONFIG_ANDROID
The ANDROID config symbol is only used to guard the binder config
symbol and to inject completely random config changes. Remove it
as it is obviously a bad idea.
As now master has 6.1 or later, both should be dropped.
Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
We need the uart dts overlays to enable a specific uart peripheral.
For example if you use the disable-bt overlay, you have to enable
the uart0 dts overlay to be able to use uart0 peripheral.
Signed-off-by: Pierrick Curt <pierrickcurt@gmail.com>
All bcm2712 are built for arm64 builds alone and rpi-base.inc is included
by 32-bit machine configs as well. Recently, kernel moved thesr dts files
into arch/arm64/boot/dts/broadcom/ folder [1]
[1] 10c77e119e
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Firmware links for model Zero 2 W were missing.
This patch sets the necessary links for brcmfmac firmware. Without the
links, the firmware cannot be loaded without causing boot messages like:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin failed with error -2
Fixesagherzan/meta-raspberrypi#1324
Signed-off-by: Matthias Klein <matthias@extraklein.de>
Similar to raspberrypi4-64.conf, we need to set KERNEL_IMAGETYPE_UBOOT to
"Image" and set KERNEL_BOOTCMD to "booti"
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
* 6.1 version was used by default since mickledore:
12a1187b01
and kirkstone for rpi5 MACHINEs since:
9dc6673d41
* scarthgap uses 6.6 by default since:
1cf3dd5e5e
* nobody is probably using 5.15 with newer release and there are issues with "iw reg" since
wireless-regdb upgrade in oe-core as well as shown in:
https://github.com/agherzan/meta-raspberrypi/pull/1317
so better to drop it from master/scarthgap together with
rpi.scc used only for 5.15 and 0001-gcc-plugins-Reorganize-gimple-includes-for-GCC-13.patch
used only by rpi.scc
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
This file is now used to fetch binary blobs used by picamera and
vc library recipes, which are only compatible with 32bit userspace
Perhaps we need to sunset these recipe as some point and repace
with alternatives like picamera2 which is built on top of libcamera
and works on both 32bit and 64 bit
rpi-bootfiles is fetching from latest firmware.
Signed-off-by: Khem Raj <raj.khem@gmail.com>