12 Commits

Author SHA1 Message Date
Leon Anavi
1a95484948 rpi-config: ENABLE_UART for CM5 IO Board
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>
2025-12-13 13:41:51 +00:00
Leon Anavi
4ea079d0d7 raspberrypi-cm5-io-board.conf: CM5 IO Board
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>
2025-12-13 13:41:51 +00:00
Ricardo Ungerer
95f2cefa1f README.md: Remove references to poky repository
After the work done in commit 846c119, the poky repository is no longer
a dependency for this layer. This commit removes all references to
poky in the README.md file and updates the dependency list to include
the openembedded-core and meta-yocto layers instead.

Signed-off-by: Ricardo Ungerer <ungerer.ricardo@gmail.com>
2025-12-04 09:27:44 +00:00
Khem Raj
b667e177b1 linux-raspberrypi_6.1.bb: Upgrade to 6.1.93
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-25 19:46:29 +00:00
Khem Raj
558f3ac5e6 linux-raspberrypi-6.6: Upgrade to 6.6.78
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-25 19:46:29 +00:00
Khem Raj
6f4c1d3297 linux-raspberrypi-6.12: Upgrade to 6.12.58
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-25 19:46:29 +00:00
Jan Vermaete
846c1195e4 kas: Replace poky
Inspired by
 - yocto-builder/entrypoint-build.sh: Replace Poky [1]
 - meta-arm [2]

[1] 9806b9981a
[2] https://git.yoctoproject.org/meta-arm/tree/kas/corstone1000-base.yml

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2025-11-25 19:45:27 +00:00
Gyorgy Sarvari
982bfa0670 weston: add patch to adapt to 64-bit plane ids
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>
2025-11-22 22:21:12 -08:00
Leon Anavi
df6164f7ae rpi-base.inc: vc4-kms-dsi-ili9881-5inch.dtbo
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>
2025-11-21 08:44:53 +00:00
Leon Anavi
7439575078 yocto-builder/entrypoint-yocto-check-layer.sh: Replace Poky
Following the recent major breaking change with the introduction of
bitbake-setup because of which the Poky repository master branch is
no longer being updated, the Poky git repository has to be replaced
by bitbake and openembedded-core. This fixes the GitHub workflow
with branch master of meta-raspberrypi for yocto-check-layer test.

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-11-20 14:09:11 +00:00
Leon Anavi
9806b9981a yocto-builder/entrypoint-build.sh: Replace Poky
Following the recent major breaking change with the introduction of
bitbake-setup because of which the Poky repository master branch is
no longer being updated, the Poky git repository has to be replaced
by bitbake, openembedded-core and meta-yocto which provides layers
meta-poky and meta-yocto-bsp. This fixes the GitHub workflows with
branch master of meta-raspberrypi and allows running auto checks.

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-11-20 14:09:11 +00:00
Leon Anavi
161be949b9 rpi-base.inc: Add rpi-backlight.dtbo
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>
2025-10-29 20:32:22 +01:00
12 changed files with 133 additions and 27 deletions

View File

@@ -24,7 +24,9 @@ TEMP_DIR="$(mktemp -d)"
cd "$TEMP_DIR" cd "$TEMP_DIR"
REPOS=" \ REPOS=" \
git://git.yoctoproject.org/poky.git \ git://git.openembedded.org/openembedded-core \
git://git.openembedded.org/bitbake \
git://git.yoctoproject.org/meta-yocto \
" "
for repo in $REPOS; do for repo in $REPOS; do
log "Cloning $repo on branch $BASE_REF..." log "Cloning $repo on branch $BASE_REF..."
@@ -32,7 +34,7 @@ for repo in $REPOS; do
done done
# shellcheck disable=SC1091,SC2240 # shellcheck disable=SC1091,SC2240
. ./poky/oe-init-build-env build . ./openembedded-core/oe-init-build-env build
# Build configuration # Build configuration
printf "\n# ------ ci ------\n" >> conf/local.conf printf "\n# ------ ci ------\n" >> conf/local.conf
@@ -52,6 +54,8 @@ LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
EOCONF EOCONF
# Add the BSP layer # Add the BSP layer
bitbake-layers add-layer "../meta-yocto/meta-poky"
bitbake-layers add-layer "../meta-yocto/meta-yocto-bsp"
bitbake-layers add-layer "$META_RASPBERRYPI_PATH" bitbake-layers add-layer "$META_RASPBERRYPI_PATH"
# Log configs for debugging purposes # Log configs for debugging purposes

View File

@@ -20,7 +20,8 @@ TEMP_DIR="$(mktemp -d)"
cd "$TEMP_DIR" cd "$TEMP_DIR"
REPOS=" \ REPOS=" \
git://git.yoctoproject.org/poky.git \ git://git.openembedded.org/openembedded-core \
git://git.openembedded.org/bitbake \
" "
for repo in $REPOS; do for repo in $REPOS; do
log "Cloning $repo on branch $BASE_REF..." log "Cloning $repo on branch $BASE_REF..."
@@ -28,6 +29,6 @@ for repo in $REPOS; do
done done
# shellcheck disable=SC1091,SC2240 # shellcheck disable=SC1091,SC2240
. ./poky/oe-init-build-env build . ./openembedded-core/oe-init-build-env build
yocto-check-layer --with-software-layer-signature-check --debug \ yocto-check-layer --with-software-layer-signature-check --debug \
"$GIT_REPO_PATH" "$GIT_REPO_PATH"

View File

@@ -53,14 +53,21 @@ Layers Program`. You can find details of that on the official Yocto Project
## Dependencies ## Dependencies
This layer depends on: This layer depends on:
* URI: https://git.openembedded.org/bitbake
* branch: master
* revision: HEAD
* URI: git://git.yoctoproject.org/poky * URI: https://git.openembedded.org/openembedded-core
* branch: master
* revision: HEAD
* URI: https://git.yoctoproject.org/meta-yocto
* branch: master * branch: master
* revision: HEAD * revision: HEAD
## Quick Start ## Quick Start
1. source poky/oe-init-build-env rpi-build 1. source openembedded-core/oe-init-build-env rpi-build
2. Add this layer to bblayers.conf and the dependencies above 2. Add this layer to bblayers.conf and the dependencies above
3. Set MACHINE in local.conf to one of the supported boards 3. Set MACHINE in local.conf to one of the supported boards
4. bitbake core-image-base 4. bitbake core-image-base

View File

@@ -79,6 +79,8 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/vc4-kms-v3d-pi5.dtbo \ overlays/vc4-kms-v3d-pi5.dtbo \
overlays/vc4-kms-dsi-7inch.dtbo \ overlays/vc4-kms-dsi-7inch.dtbo \
overlays/vc4-kms-dsi-ili9881-7inch.dtbo \ overlays/vc4-kms-dsi-ili9881-7inch.dtbo \
overlays/vc4-kms-dsi-ili9881-5inch.dtbo \
overlays/rpi-backlight.dtbo \
overlays/w1-gpio.dtbo \ overlays/w1-gpio.dtbo \
overlays/w1-gpio-pullup.dtbo \ overlays/w1-gpio-pullup.dtbo \
overlays/w1-gpio-pi5.dtbo \ overlays/w1-gpio-pi5.dtbo \

View File

@@ -0,0 +1,7 @@
#@TYPE: Machine
#@NAME: Raspberry Pi Compute Module 5 IO Board (64-bit)
#@DESCRIPTION: Machine configuration for the Raspberry Pi Compute Module 5 IO Board in 64 bits mode
MACHINEOVERRIDES =. "raspberrypi5:"
include conf/machine/raspberrypi5.conf

View File

@@ -9,12 +9,25 @@ target:
repos: repos:
meta-raspberry: meta-raspberry:
poky: bitbake:
url: https://git.yoctoproject.org/git/poky url: https://git.openembedded.org/bitbake
path: layers/poky path: layers/bitbake
branch: master
layers:
bitbake: disabled
openembedded-core:
url: https://git.openembedded.org/openembedded-core
path: layers/openembedded-core
branch: master branch: master
layers: layers:
meta: meta:
meta-yocto:
url: https://git.yoctoproject.org/meta-yocto
path: layers/meta-yocto
branch: master
layers:
meta-poky: meta-poky:
meta-yocto-bsp: meta-yocto-bsp:

View File

@@ -200,6 +200,12 @@ do_deploy() {
esac esac
fi fi
if [ "${ENABLE_UART}" = "1" ] && [ "${MACHINE}" = "raspberrypi-cm5-io-board" ]; then
# Enable UART on the 40-pin header of the CM5 IO Board
echo "dtoverlay=uart0" >>$CONFIG
echo "dtparam=uart0_console" >>$CONFIG
fi
# Infrared support # Infrared support
if [ "${ENABLE_IR}" = "1" ]; then if [ "${ENABLE_IR}" = "1" ]; then
echo "# Enable infrared" >>$CONFIG echo "# Enable infrared" >>$CONFIG

View File

@@ -0,0 +1,72 @@
From 845682f33511da676bfe9237102b6979efa11f93 Mon Sep 17 00:00:00 2001
From: Gyorgy Sarvari <skandigraun@gmail.com>
Date: Fri, 21 Nov 2025 18:07:00 +0100
Subject: [PATCH] Adapt weston to 64-bit plane IDs
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.
[1]: https://github.com/raspberrypi/linux/commit/8181e682d6f4ef209845ec24f0a1eb37764d6731
Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1902]
---
libweston/backend-drm/drm-internal.h | 4 ++--
libweston/backend-drm/state-propose.c | 10 +++++-----
2 files changed, 7 insertions(+), 7 deletions(-)
--- a/libweston/backend-drm/drm-internal.h
+++ b/libweston/backend-drm/drm-internal.h
@@ -296,7 +296,7 @@ struct drm_fb {
int width, height;
int fd;
- uint32_t plane_mask;
+ uint64_t plane_mask;
/* Used by gbm fbs */
struct gbm_bo *bo;
--- a/libweston/backend-drm/state-propose.c
+++ b/libweston/backend-drm/state-propose.c
@@ -412,7 +412,7 @@ drm_output_find_plane_for_view(struct dr
current_lowest_zpos_overlay;
bool view_matches_entire_output, scanout_has_view_assigned;
- uint32_t possible_plane_mask = 0;
+ uint64_t possible_plane_mask = 0;
pnode->try_view_on_plane_failure_reasons = FAILURE_REASONS_NONE;
@@ -461,7 +461,7 @@ drm_output_find_plane_for_view(struct dr
return NULL;
}
- possible_plane_mask = (1 << output->cursor_plane->plane_idx);
+ possible_plane_mask = (1UL << output->cursor_plane->plane_idx);
} else {
if (mode == DRM_OUTPUT_PROPOSE_STATE_RENDERER_ONLY) {
drm_debug(b, "\t\t\t\t[view] not assigning view %p "
@@ -474,7 +474,7 @@ drm_output_find_plane_for_view(struct dr
continue;
if (drm_paint_node_transform_supported(pnode, plane))
- possible_plane_mask |= 1 << plane->plane_idx;
+ possible_plane_mask |= 1UL << plane->plane_idx;
}
if (!possible_plane_mask) {
@@ -508,10 +508,10 @@ drm_output_find_plane_for_view(struct dr
if (possible_plane_mask == 0)
break;
- if (!(possible_plane_mask & (1 << plane->plane_idx)))
+ if (!(possible_plane_mask & (1UL << plane->plane_idx)))
continue;
- possible_plane_mask &= ~(1 << plane->plane_idx);
+ possible_plane_mask &= ~(1UL << plane->plane_idx);
mm_has_underlay =
drm_mixed_mode_check_underlay(mode, scanout_state, plane->zpos_max);

View File

@@ -1,10 +1,4 @@
PACKAGECONFIG:remove:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'fbdev', 'egl clients', d)}" PACKAGECONFIG:remove:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'egl clients', d)}"
EXTRA_OECONF:append:rpi = " \ FILESEXTRAPATHS:prepend := "${THISDIR}/weston:"
--disable-xwayland-test \ SRC_URI:append:rpi = " file://0001-Adapt-weston-to-64-bit-plane-IDs.patch"
--disable-simple-egl-clients \
${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' \
--disable-resize-optimization \
--disable-setuid-install \
', d)} \
"

View File

@@ -1,9 +1,9 @@
LINUX_VERSION ?= "6.1.77" LINUX_VERSION ?= "6.1.93"
LINUX_RPI_BRANCH ?= "rpi-6.1.y" LINUX_RPI_BRANCH ?= "rpi-6.1.y"
LINUX_RPI_KMETA_BRANCH ?= "yocto-6.1" LINUX_RPI_KMETA_BRANCH ?= "yocto-6.1"
SRCREV_machine = "77fc1fbcb5c013329af9583307dd1ff3cd4752aa" SRCREV_machine = "fbd8b3facb36ce888b1cdcf5f45a78475a8208f2"
SRCREV_meta = "43d1723dbe0ce7b341cf32feeb35ecbe6b0ce29a" SRCREV_meta = "f20e1242da5967a295bbede2779abc8fd547906d"
KMETA = "kernel-meta" KMETA = "kernel-meta"

View File

@@ -1,9 +1,9 @@
LINUX_VERSION ?= "6.12.41" LINUX_VERSION ?= "6.12.58"
LINUX_RPI_BRANCH ?= "rpi-6.12.y" LINUX_RPI_BRANCH ?= "rpi-6.12.y"
LINUX_RPI_KMETA_BRANCH ?= "yocto-6.12" LINUX_RPI_KMETA_BRANCH ?= "yocto-6.12"
SRCREV_machine = "11d5d0d30abe08fddc8a0e856d0e333ca6e22114" SRCREV_machine = "cf8f90deed1491b7ed365944b2a10799595373a6"
SRCREV_meta = "57f788e849d9b04dd6aa28b896546c56b45f69e7" SRCREV_meta = "6a551cd6cf63d4199bc51ef778692f23730dbcca"
KMETA = "kernel-meta" KMETA = "kernel-meta"

View File

@@ -1,9 +1,9 @@
LINUX_VERSION ?= "6.6.63" LINUX_VERSION ?= "6.6.78"
LINUX_RPI_BRANCH ?= "rpi-6.6.y" LINUX_RPI_BRANCH ?= "rpi-6.6.y"
LINUX_RPI_KMETA_BRANCH ?= "yocto-6.6" LINUX_RPI_KMETA_BRANCH ?= "yocto-6.6"
SRCREV_machine = "e442e5c1ab6bff5b5460b4fc949beb72aaf77970" SRCREV_machine = "bba53a117a4a5c29da892962332ff1605990e17a"
SRCREV_meta = "52ff0d75713ce61962b325a2090bd55e216f0cf3" SRCREV_meta = "2a0755715e994658c580454e1292e11e11c1cc35"
KMETA = "kernel-meta" KMETA = "kernel-meta"