diff options
Diffstat (limited to 'meta-raspberrypi/recipes-kernel')
9 files changed, 143 insertions, 48 deletions
diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro/0001-Default-43455-firmware-to-standard-variant.patch b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro/0001-Default-43455-firmware-to-standard-variant.patch deleted file mode 100644 index f67d95b22c..0000000000 --- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro/0001-Default-43455-firmware-to-standard-variant.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b9db43e36ad0942d33cb4db5b394abd722862568 Mon Sep 17 00:00:00 2001 -From: Andrei Gherzan <andrei.gherzan@huawei.com> -Date: Fri, 9 Sep 2022 20:28:06 +0200 -Subject: [PATCH] Default 43455 firmware to standard variant - -The firmware for 43455 is loaded as a symlink: brcmfmac43455-sdio.bin. -This symlink is now broken as the debian package handles the right -target of this symlink through a postinstall. We don't have that logic -here so we default to the standard variant. - -Upstream-Status: Inappropriate [issue reported at https://github.com/RPi-Distro/firmware-nonfree/issues/26] -Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> ---- - debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin -index 9c39208..b914838 120000 ---- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin -+++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin -@@ -1 +1 @@ --../cypress/cyfmac43455-sdio.bin -\ No newline at end of file -+../cypress/cyfmac43455-sdio-standard.bin -\ No newline at end of file --- -2.25.1 - diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro/0002-Default-all-RPi-43455-boards-to-standard-variant.patch b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro/0002-Default-all-RPi-43455-boards-to-standard-variant.patch new file mode 100644 index 0000000000..745fdb629e --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro/0002-Default-all-RPi-43455-boards-to-standard-variant.patch @@ -0,0 +1,79 @@ +From 20741d848c32e0fb2e4841cf8bbc9ec3d198bb6b Mon Sep 17 00:00:00 2001 +From: Omri Sarig <omri.sarig@prevas.dk> +Date: Thu, 9 Jan 2025 19:00:10 +0100 +Subject: [PATCH 2/2] Default all RPi 43455 boards to standard variant + +As the patch above explains, the symlink that is being used by the +brcmfmac43455-sdio.* files is one that is created by the Debian system, +which we do not have in our implementation. Therefore, when the system +tries to load these files, an error message is generated. + +By changing the symlinks to be to the standard variant, the problem is +solved for the build. + +The code is also working without this patch - when the driver is unable +to load the board-specific file (such as +brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin), it reverts to using +the base file (brcmfmac43455-sdio.bin), which is a correct link (as it +is fixed in the patch above). However, the driver is still generating an +error message in this case, which is being solved by linking the +board-specific files to the standard variant as well. + +Upstream-Status: Inappropriate [issue reported at https://github.com/RPi-Distro/firmware-nonfree/issues/26] +Signed-off-by: Omri Sarig <omri.sarig@prevas.dk> +--- + .../brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin | 2 +- + .../brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin | 2 +- + .../brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin | 2 +- + .../brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin | 2 +- + .../brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin +index 9c39208..b914838 120000 +--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin ++++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin +@@ -1 +1 @@ +-../cypress/cyfmac43455-sdio.bin +\ No newline at end of file ++../cypress/cyfmac43455-sdio-standard.bin +\ No newline at end of file +diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin +index 9c39208..b914838 120000 +--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin ++++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin +@@ -1 +1 @@ +-../cypress/cyfmac43455-sdio.bin +\ No newline at end of file ++../cypress/cyfmac43455-sdio-standard.bin +\ No newline at end of file +diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin +index 9c39208..b914838 120000 +--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin ++++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin +@@ -1 +1 @@ +-../cypress/cyfmac43455-sdio.bin +\ No newline at end of file ++../cypress/cyfmac43455-sdio-standard.bin +\ No newline at end of file +diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin +index 9c39208..b914838 120000 +--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin ++++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin +@@ -1 +1 @@ +-../cypress/cyfmac43455-sdio.bin +\ No newline at end of file ++../cypress/cyfmac43455-sdio-standard.bin +\ No newline at end of file +diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin +index 9c39208..b914838 120000 +--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin ++++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin +@@ -1 +1 @@ +-../cypress/cyfmac43455-sdio.bin +\ No newline at end of file ++../cypress/cyfmac43455-sdio-standard.bin +\ No newline at end of file +-- +2.34.1 + diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb index 1b4305820e..df5dcd92d3 100644 --- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb +++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb @@ -7,7 +7,7 @@ SECTION = "kernel" LICENSE = "GPL-2.0-only & binary-redist-Cypress-rpidistro & Synaptics-rpidistro" LIC_FILES_CHKSUM = "\ - file://debian/copyright;md5=291ee5385b4cf74b10c5fb5a46a7bbc6 \ + file://debian/copyright;md5=454e44c688dc909e16223e4aee63568c \ " # Where these are no common licenses, set NO_GENERIC_LICENSE so that the # license files will be copied from the fetched source. @@ -16,10 +16,10 @@ NO_GENERIC_LICENSE[Synaptics-rpidistro] = "debian/copyright" LICENSE_FLAGS = "synaptics-killswitch" SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bookworm;protocol=https \ - file://0001-Default-43455-firmware-to-standard-variant.patch \ + file://0002-Default-all-RPi-43455-boards-to-standard-variant.patch \ " -SRCREV = "223ccf3a3ddb11b3ea829749fbbba4d65b380897" -PV = "20230625-2+rpt2" +SRCREV = "c9d3ae6584ab79d19a4f94ccf701e888f9f87a53" +PV = "20240709-2~bpo12+1+rpt3" S = "${WORKDIR}/git" inherit allarch @@ -27,6 +27,11 @@ inherit allarch do_configure[noexec] = "1" do_compile[noexec] = "1" +# The minimal firmware doesn't work with Raspberry Pi 5, so default to the +# standard firmware +CYFMAC43455_SDIO_FIRMWARE ??= "minimal" +CYFMAC43455_SDIO_FIRMWARE:raspberrypi5 ??= "standard" + do_install() { install -d ${D}${nonarch_base_libdir}/firmware/brcm ${D}${nonarch_base_libdir}/firmware/cypress @@ -43,8 +48,12 @@ do_install() { done cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/cypress/* ${D}${nonarch_base_libdir}/firmware/cypress/ + ln -s cyfmac43455-sdio-${CYFMAC43455_SDIO_FIRMWARE}.bin ${D}${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.bin rm ${D}${nonarch_base_libdir}/firmware/cypress/README.txt + + install -d ${D}${sysconfdir}/modprobe.d + install -m 0644 debian/rpi-brcmfmac.conf ${D}${sysconfdir}/modprobe.d/ } PACKAGES = "\ @@ -55,6 +64,7 @@ PACKAGES = "\ ${PN}-bcm43455 \ ${PN}-bcm43456 \ ${PN}-license \ + ${PN}-module-conf \ " LICENSE:${PN}-bcm43430 = "binary-redist-Cypress-rpidistro" @@ -85,13 +95,14 @@ FILES:${PN}-bcm43455 = " \ " FILES:${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*" FILES:${PN}-license = "${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro" - -RDEPENDS:${PN}-bcm43430 += "${PN}-license" -RDEPENDS:${PN}-bcm43436 += "${PN}-license" -RDEPENDS:${PN}-bcm43436s += "${PN}-license" -RDEPENDS:${PN}-bcm43439 += "${PN}-license" -RDEPENDS:${PN}-bcm43455 += "${PN}-license" -RDEPENDS:${PN}-bcm43456 += "${PN}-license" +FILES:${PN}-module-conf = "${sysconfdir}/modprobe.d" + +RDEPENDS:${PN}-bcm43430 += "${PN}-license ${PN}-module-conf" +RDEPENDS:${PN}-bcm43436 += "${PN}-license ${PN}-module-conf" +RDEPENDS:${PN}-bcm43436s += "${PN}-license ${PN}-module-conf" +RDEPENDS:${PN}-bcm43439 += "${PN}-license ${PN}-module-conf" +RDEPENDS:${PN}-bcm43455 += "${PN}-license ${PN}-module-conf" +RDEPENDS:${PN}-bcm43456 += "${PN}-license ${PN}-module-conf" RCONFLICTS:${PN}-bcm43430 = "linux-firmware-raspbian-bcm43430" RCONFLICTS:${PN}-bcm43436 = "linux-firmware-bcm43436" diff --git a/meta-raspberrypi/recipes-kernel/linux/files/android-drivers.cfg b/meta-raspberrypi/recipes-kernel/linux/files/android-drivers.cfg index f74ac0e1c7..f1259a1653 100644 --- a/meta-raspberrypi/recipes-kernel/linux/files/android-drivers.cfg +++ b/meta-raspberrypi/recipes-kernel/linux/files/android-drivers.cfg @@ -1,8 +1,3 @@ -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/meta-raspberrypi/recipes-kernel/linux/files/vc4graphics.cfg b/meta-raspberrypi/recipes-kernel/linux/files/vc4graphics.cfg index 0b4ba48434..3e5c19b7b8 100644 --- a/meta-raspberrypi/recipes-kernel/linux/files/vc4graphics.cfg +++ b/meta-raspberrypi/recipes-kernel/linux/files/vc4graphics.cfg @@ -1,4 +1,5 @@ CONFIG_I2C_BCM2835=y +CONFIG_I2C_BRCMSTB=y CONFIG_DRM=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_VC4=y diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-v7_6.12.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-v7_6.12.bb new file mode 100644 index 0000000000..f5677085c1 --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-v7_6.12.bb @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com> +# +# SPDX-License-Identifier: MIT + +require linux-raspberrypi-v7.inc +require linux-raspberrypi_6.12.bb diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc index e62ff3ff7c..036ff220c1 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc @@ -28,7 +28,7 @@ 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:raspberrypi3-64 ?= "bcm2711_defconfig" KBUILD_DEFCONFIG:raspberrypi4 ?= "bcm2711_defconfig" KBUILD_DEFCONFIG:raspberrypi4-64 ?= "bcm2711_defconfig" KBUILD_DEFCONFIG:raspberrypi-armv7 ?= "bcm2711_defconfig" diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.12.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.12.bb new file mode 100644 index 0000000000..e9b7951684 --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.12.bb @@ -0,0 +1,31 @@ +LINUX_VERSION ?= "6.12.25" +LINUX_RPI_BRANCH ?= "rpi-6.12.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-6.12" + +SRCREV_machine = "3dd2c2c507c271d411fab2e82a2b3b7e0b6d3f16" +SRCREV_meta = "1f6ab68a1d86836bf1b82b791df03da3cfeacb3f" + +KMETA = "kernel-meta" + +SRC_URI = " \ + 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 + +KERNEL_DTC_FLAGS += "-@ -H epapr" + +RDEPENDS:${KERNEL_PACKAGE_NAME}:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-base" +RDEPENDS:${KERNEL_PACKAGE_NAME}-image:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-image" +RDEPENDS:${KERNEL_PACKAGE_NAME}-dev:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dev" +RDEPENDS:${KERNEL_PACKAGE_NAME}-vmlinux:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-vmlinux" +RDEPENDS:${KERNEL_PACKAGE_NAME}-modules:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-modules" +RDEPENDS:${KERNEL_PACKAGE_NAME}-dbg:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dbg" + +DEPLOYDEP = "" +DEPLOYDEP:raspberrypi-armv7 = "${RASPBERRYPI_v7_KERNEL}:do_deploy" +do_deploy[depends] += "${DEPLOYDEP}" diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.6.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.6.bb index b4d9953e1e..3b67f16542 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.6.bb +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.6.bb @@ -1,9 +1,9 @@ -LINUX_VERSION ?= "6.6.22" +LINUX_VERSION ?= "6.6.63" LINUX_RPI_BRANCH ?= "rpi-6.6.y" LINUX_RPI_KMETA_BRANCH ?= "yocto-6.6" -SRCREV_machine = "c04af98514c26014a4f29ec87b3ece95626059bd" -SRCREV_meta = "6a24861d6504575a4a9f92366285332d47c7e111" +SRCREV_machine = "e442e5c1ab6bff5b5460b4fc949beb72aaf77970" +SRCREV_meta = "52ff0d75713ce61962b325a2090bd55e216f0cf3" KMETA = "kernel-meta" |
