summaryrefslogtreecommitdiff
path: root/meta-raspberrypi/recipes-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'meta-raspberrypi/recipes-kernel')
-rw-r--r--meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro/0001-Default-43455-firmware-to-standard-variant.patch28
-rw-r--r--meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro/0002-Default-all-RPi-43455-boards-to-standard-variant.patch79
-rw-r--r--meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb33
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/files/android-drivers.cfg5
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/files/vc4graphics.cfg1
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-v7_6.12.bb6
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc2
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.12.bb31
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.6.bb6
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"