aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/machine/dragonboard-410c-32.conf2
-rw-r--r--conf/machine/dragonboard-410c.conf5
-rw-r--r--conf/machine/dragonboard-820c.conf7
-rw-r--r--conf/machine/dragonboard-845c.conf9
-rw-r--r--conf/machine/include/qcom-common.inc5
-rw-r--r--conf/machine/qcom-armv8a.conf21
-rw-r--r--conf/machine/qrb5165-rb5.conf10
-rw-r--r--conf/machine/sa8155p-adp.conf6
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc38
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb23
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb28
-rw-r--r--recipes-bsp/firmware/firmware-qcom-nexus7-2013.bb18
-rw-r--r--recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb15
-rw-r--r--recipes-bsp/firmware/firmware-qcom.inc42
-rw-r--r--recipes-bsp/firmware/firmware-wcn6855_git.bb41
-rw-r--r--recipes-bsp/packagegroups/packagegroup-firmware-dragonboard410c.bb9
-rw-r--r--recipes-bsp/packagegroups/packagegroup-firmware-dragonboard820c.bb11
-rw-r--r--recipes-bsp/packagegroups/packagegroup-firmware-dragonboard845c.bb13
-rw-r--r--recipes-bsp/packagegroups/packagegroup-firmware-rb5.bb14
-rw-r--r--recipes-devtools/debugcc/debugcc_git.bb26
-rw-r--r--recipes-devtools/skales/skales_git.bb2
-rw-r--r--recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch24
-rw-r--r--recipes-graphics/mesa/mesa_git.bb2
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-dev.bb2
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-dev/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch48
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.14.bb9
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb10
-rw-r--r--recipes-test/bootrr/bootrr/bootrr-auto-switch-to-using-sh.patch22
-rw-r--r--recipes-test/bootrr/bootrr_git.bb16
-rw-r--r--recipes-test/diag/diag_git.bb2
-rw-r--r--recipes-test/images/initramfs-firmware-image.bb21
-rw-r--r--recipes-test/images/initramfs-test-full-image.bb38
-rw-r--r--recipes-test/images/initramfs-test-image.bb7
-rw-r--r--recipes-test/images/initramfs-tiny-image.bb13
34 files changed, 426 insertions, 133 deletions
diff --git a/conf/machine/dragonboard-410c-32.conf b/conf/machine/dragonboard-410c-32.conf
index 930b12a..bf7b1b0 100644
--- a/conf/machine/dragonboard-410c-32.conf
+++ b/conf/machine/dragonboard-410c-32.conf
@@ -16,5 +16,5 @@ RDEPENDS:kernel-base = ""
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5-noinst-tools', '', d)} \
- firmware-qcom-dragonboard410c \
+ packagegroup-firmware-dragonboard410c \
"
diff --git a/conf/machine/dragonboard-410c.conf b/conf/machine/dragonboard-410c.conf
index 7629a8d..50de1e6 100644
--- a/conf/machine/dragonboard-410c.conf
+++ b/conf/machine/dragonboard-410c.conf
@@ -14,10 +14,9 @@ SERIAL_CONSOLE ?= "115200 ttyMSM0"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
kernel-modules \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a3xx mesa-driver-msm', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5-noinst-tools', '', d)} \
- firmware-qcom-dragonboard410c \
- linux-firmware-qcom-venus-1.8 \
+ packagegroup-firmware-dragonboard410c \
"
QCOM_BOOTIMG_ROOTFS ?= "/dev/mmcblk0p14"
diff --git a/conf/machine/dragonboard-820c.conf b/conf/machine/dragonboard-820c.conf
index 6d4a2c4..1702cc3 100644
--- a/conf/machine/dragonboard-820c.conf
+++ b/conf/machine/dragonboard-820c.conf
@@ -12,12 +12,9 @@ KERNEL_DEVICETREE ?= "qcom/apq8096-db820c.dtb"
SERIAL_CONSOLE ?= "115200 ttyMSM0"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
- firmware-qcom-dragonboard820c \
kernel-modules \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a530 mesa-driver-msm', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
- linux-firmware-qcom-venus-4.2 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+ packagegroup-firmware-dragonboard820c \
"
QCOM_BOOTIMG_ROOTFS ?= "/dev/sda1"
diff --git a/conf/machine/dragonboard-845c.conf b/conf/machine/dragonboard-845c.conf
index b6b6da4..d78ce43 100644
--- a/conf/machine/dragonboard-845c.conf
+++ b/conf/machine/dragonboard-845c.conf
@@ -13,14 +13,9 @@ KERNEL_CMDLINE_EXTRA ?= "clk_ignore_unused pd_ignore_unused"
SERIAL_CONSOLE ?= "115200 ttyMSM0"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
- firmware-qcom-dragonboard845c \
kernel-modules \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k linux-firmware-qcom-sdm845-modem', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca linux-firmware-qcom-sdm845-modem', '', d)} \
- linux-firmware-qcom-sdm845-audio \
- linux-firmware-qcom-sdm845-compute \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a630 mesa-driver-msm', '', d)} \
- linux-firmware-qcom-venus-5.2 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+ packagegroup-firmware-dragonboard845c \
"
# /dev/sda1 is 'rootfs' partition after installing the latest bootloader package from linaro
diff --git a/conf/machine/include/qcom-common.inc b/conf/machine/include/qcom-common.inc
index 4243f6a..67a0e4a 100644
--- a/conf/machine/include/qcom-common.inc
+++ b/conf/machine/include/qcom-common.inc
@@ -34,3 +34,8 @@ QCOM_BOOTIMG_PAGE_SIZE ?= "4096"
# Default serial console for QCOM devices
SERIAL_CONSOLES ?= "115200;ttyMSM0"
+
+# Increase INITRAMFS_MAXSIZE to 384 MiB to cover initramfs-kerneltest-full
+# image. All our boards (except db410c) have 2GiB and db410c has 1GiB of RAM,
+# so this image would fit.
+INITRAMFS_MAXSIZE = "393216"
diff --git a/conf/machine/qcom-armv8a.conf b/conf/machine/qcom-armv8a.conf
index a7545ee..869916b 100644
--- a/conf/machine/qcom-armv8a.conf
+++ b/conf/machine/qcom-armv8a.conf
@@ -32,19 +32,10 @@ MACHINE_EXTRA_RRECOMMENDS += " \
# Modules and firmware for all supported machines
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
kernel-modules \
- firmware-qcom-dragonboard410c \
- firmware-qcom-dragonboard820c \
- firmware-qcom-dragonboard845c \
- firmware-qcom-rb5 \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k linux-firmware-ath11k linux-firmware-qcom-sdm845-modem wireless-regdb-static', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca linux-firmware-qcom-sdm845-modem', '', d)} \
- linux-firmware-qcom-sdm845-audio \
- linux-firmware-qcom-sdm845-compute \
- linux-firmware-qcom-sm8250-audio \
- linux-firmware-qcom-sm8250-compute \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a3xx linux-firmware-qcom-adreno-a530 linux-firmware-qcom-adreno-a630 linux-firmware-qcom-adreno-a650', '', d)} \
- linux-firmware-qcom-venus-1.8 \
- linux-firmware-qcom-venus-4.2 \
- linux-firmware-qcom-venus-5.2 \
- linux-firmware-qcom-vpu-1.0 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wireless-regdb-static', '', d)} \
+ packagegroup-firmware-dragonboard410c \
+ packagegroup-firmware-dragonboard820c \
+ packagegroup-firmware-dragonboard845c \
+ packagegroup-firmware-rb5 \
"
diff --git a/conf/machine/qrb5165-rb5.conf b/conf/machine/qrb5165-rb5.conf
index 5c3a5f6..a80296f 100644
--- a/conf/machine/qrb5165-rb5.conf
+++ b/conf/machine/qrb5165-rb5.conf
@@ -14,13 +14,9 @@ SERIAL_CONSOLE ?= "115200 ttyMSM0"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
kernel-modules \
- firmware-qcom-rb5 linux-firmware-lt9611uxc \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k wireless-regdb-static', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
- linux-firmware-qcom-sm8250-audio \
- linux-firmware-qcom-sm8250-compute \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a650 mesa-driver-msm', '', d)} \
- linux-firmware-qcom-vpu-1.0 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+ packagegroup-firmware-rb5 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wireless-regdb-static', '', d)} \
"
# /dev/sda1 is 'rootfs' partition after installing the latest bootloader package from linaro
diff --git a/conf/machine/sa8155p-adp.conf b/conf/machine/sa8155p-adp.conf
index d1f9288..8ed7e06 100644
--- a/conf/machine/sa8155p-adp.conf
+++ b/conf/machine/sa8155p-adp.conf
@@ -18,8 +18,10 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
kernel-modules \
"
-# /dev/sda6 is 'userdata' partition for adp board, so wipe it and use for our build
-QCOM_BOOTIMG_ROOTFS ?= "/dev/sda6"
+# /dev/sda6 is 'system' partition for adp board, but its very small, so we
+# use 'userdata' partition here.
+# /dev/sda9 is 'userdata' partition for adp board, so wipe it and use for our build
+QCOM_BOOTIMG_ROOTFS ?= "/dev/sda9"
# UFS partitions setup with 4096 logical sector size
EXTRA_IMAGECMD:ext4 += " -b 4096 "
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc b/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
index 1e4b454..950ea0a 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
@@ -5,30 +5,50 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4d087ee0965cb059f1b2f9429e166f64"
DEPENDS += "mtools-native pil-squasher-native"
+FW_QCOM_NAME = "apq8016"
+
require recipes-bsp/firmware/firmware-qcom.inc
S = "${WORKDIR}/linux-board-support-package-r${PV}"
do_install() {
- install -d ${D}${nonarch_base_libdir}/firmware/
-
install -d ${D}/boot
cp ./efs-seed/fs_image_linux.tar.gz.mbn.img ${D}/boot/modem_fsg
- cp -r ./proprietary-linux/wlan ${D}${nonarch_base_libdir}/firmware/
+ install -d ${D}${FW_QCOM_PATH}
+
+ install -m 0644 ./proprietary-linux/wlan/prima/WCNSS_qcom_wlan_nv.bin \
+ ${D}${FW_QCOM_PATH}/WCNSS_qcom_wlan_nv_sbc.bin
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
MTOOLS_SKIP_CHECK=1 mcopy -i ./bootloaders-linux/NON-HLOS.bin \
- ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
+ ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${FW_QCOM_PATH}
- pil-squasher ${D}${nonarch_base_libdir}/firmware/qcom/msm8916/modem.mbn \
- ${D}${nonarch_base_libdir}/firmware/qcom/msm8916/modem.mdt
+ pil-squasher ${D}${FW_QCOM_PATH}/modem.mbn \
+ ${D}${FW_QCOM_PATH}/modem.mdt
- pil-squasher ${D}${nonarch_base_libdir}/firmware/qcom/msm8916/wcnss.mbn \
- ${D}${nonarch_base_libdir}/firmware/qcom/msm8916/wcnss.mdt
+ pil-squasher ${D}${FW_QCOM_PATH}/wcnss.mbn \
+ ${D}${FW_QCOM_PATH}/wcnss.mdt
install -d ${D}${sysconfdir}/
install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
+
+ # compat for Linux kernel <= 5.15
+ install -d ${D}${nonarch_base_libdir}/firmware/wlan/prima
+ install -m 0644 ./proprietary-linux/wlan/prima/WCNSS_qcom_wlan_nv.bin \
+ ${D}${nonarch_base_libdir}/firmware/wlan/prima/
+
+ install -d ${D}${FW_QCOM_BASE_PATH}/msm8916
+ for file in ${D}${FW_QCOM_PATH}/*.mbn ${D}${FW_QCOM_PATH}/*.mdt ${D}${FW_QCOM_PATH}/*.b*
+ do
+ ln -s ../apq8016/$(basename $file) ${D}${FW_QCOM_BASE_PATH}/msm8916/
+ done
}
FILES:${PN} += "/boot/modem_fsg"
+
+SPLIT_FIRMWARE_PACKAGES = " \
+ linux-firmware-qcom-${FW_QCOM_NAME}-modem \
+ linux-firmware-qcom-${FW_QCOM_NAME}-modem-split \
+ linux-firmware-qcom-${FW_QCOM_NAME}-wifi \
+ linux-firmware-qcom-${FW_QCOM_NAME}-wifi-split \
+"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
index f3ca958..7b9bf61 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
@@ -7,6 +7,8 @@ SRC_URI = "https://releases.linaro.org/96boards/dragonboard820c/qualcomm/firmwar
SRC_URI[md5sum] = "587138c5e677342db9a88d5c8747ec6c"
SRC_URI[sha256sum] = "6ee9c461b2b5dd2d3bd705bb5ea3f44b319ecb909b2772f305ce12439e089cd9"
+FW_QCOM_NAME = "apq8096"
+
require recipes-bsp/firmware/firmware-qcom.inc
DEPENDS += "pil-squasher-native qca-swiss-army-knife-native"
@@ -22,18 +24,25 @@ do_compile() {
do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/
+ install -d ${D}${FW_QCOM_PATH}/
- install -m 0444 ./proprietary-linux/adsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/
- pil-squasher ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/adsp.mbn ./proprietary-linux/adsp.mdt
+ install -m 0444 ./proprietary-linux/adsp*.* ${D}${FW_QCOM_PATH}/
+ pil-squasher ${D}${FW_QCOM_PATH}/adsp.mbn ./proprietary-linux/adsp.mdt
- install -m 0444 ./bootloaders-linux/adspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/
+ install -m 0444 ./bootloaders-linux/adspso.bin ${D}${FW_QCOM_PATH}/
install -d ${D}${nonarch_base_libdir}/firmware/ath10k/QCA6174/hw3.0/
install -m 0444 ${S}/board-2.bin ${D}${nonarch_base_libdir}/firmware/ath10k/QCA6174/hw3.0/board-2.bin
install -d ${D}${sysconfdir}/
install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
+
+ # compat for Linux kernel <= 5.15
+ install -d ${D}${FW_QCOM_BASE_PATH}/msm8996
+ for file in ${D}${FW_QCOM_PATH}/*.mbn ${D}${FW_QCOM_PATH}/*.mdt ${D}${FW_QCOM_PATH}/*.b*
+ do
+ ln -s ../apq8096/$(basename $file) ${D}${FW_QCOM_BASE_PATH}/msm8996/
+ done
}
inherit update-alternatives
@@ -41,3 +50,9 @@ inherit update-alternatives
ALTERNATIVE:${PN} = "qca6174-board2"
ALTERNATIVE_LINK_NAME[qca6174-board2] = "/lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin"
ALTERNATIVE_PRIORITY = "100"
+
+SPLIT_FIRMWARE_PACKAGES = " \
+ ${PN}-dspso \
+ linux-firmware-qcom-${FW_QCOM_NAME}-audio \
+ linux-firmware-qcom-${FW_QCOM_NAME}-audio-split \
+"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
index e23f465..54135ed 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
@@ -7,9 +7,11 @@ SRC_URI = "https://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmwar
SRC_URI[md5sum] = "ad69855a1275547b16d94a1b5405ac62"
SRC_URI[sha256sum] = "4289d2f2a7124b104d0274879e702aae9b1e50c42eec3747f8584c6744ef65e3"
+FW_QCOM_NAME = "sdm845"
+
require recipes-bsp/firmware/firmware-qcom.inc
-DEPENDS += "qca-swiss-army-knife-native"
+DEPENDS += "qca-swiss-army-knife-native pil-squasher-native"
inherit python3native
do_compile() {
@@ -20,14 +22,19 @@ do_compile() {
do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
+ install -d ${D}${FW_QCOM_PATH}
- install -m 0444 ./08-dspso/dspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
+ install -m 0444 ./08-dspso/dspso.bin ${D}${FW_QCOM_PATH}
install -m 0444 ./17-USB3-201-202-FW/K2026090.mem ${D}${nonarch_base_libdir}/firmware/renesas_usb_fw.mem
install -m 0444 ./18-adreno-fw/a630_zap*.* ${D}${nonarch_base_libdir}/firmware/qcom/
- install -m 0444 ./20-adsp_split/firmware/adsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
- install -m 0444 ./21-cdsp_split/firmware/cdsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
+ install -m 0444 ./20-adsp_split/firmware/adsp*.* ${D}${FW_QCOM_PATH}
+ install -m 0444 ./21-cdsp_split/firmware/cdsp*.* ${D}${FW_QCOM_PATH}
+
+ install -m 0444 ./39-jsn/slpi*.jsn ${D}${FW_QCOM_PATH}
+
+ pil-squasher ${D}${FW_QCOM_PATH}/slpi.mbn \
+ ./30-slpi_split/slpi.mdt
install -d ${D}${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/
install -m 0444 ./board-2.bin ${D}${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/
@@ -35,3 +42,14 @@ do_install() {
install -d ${D}${sysconfdir}/
install -m 0644 LICENSE.qcom.txt ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
}
+
+SPLIT_FIRMWARE_PACKAGES = " \
+ ${PN}-dspso \
+ linux-firmware-qcom-adreno-a630-split \
+ linux-firmware-qcom-${FW_QCOM_NAME}-audio-split \
+ linux-firmware-qcom-${FW_QCOM_NAME}-compute-split \
+ linux-firmware-qcom-${FW_QCOM_NAME}-modem-split \
+ linux-firmware-qcom-${FW_QCOM_NAME}-sensors \
+"
+
+FILES:linux-firmware-qcom-adreno-a630-split = "${FW_QCOM_BASE_PATH}/a630_zap.*"
diff --git a/recipes-bsp/firmware/firmware-qcom-nexus7-2013.bb b/recipes-bsp/firmware/firmware-qcom-nexus7-2013.bb
index a17c5ac..3d5f5df 100644
--- a/recipes-bsp/firmware/firmware-qcom-nexus7-2013.bb
+++ b/recipes-bsp/firmware/firmware-qcom-nexus7-2013.bb
@@ -9,6 +9,8 @@ SRC_URI[google.md5sum] = "5c21950c751544cc92b5fe95c6f3be37"
SRC_URI[google.sha256sum] = "1ccc740a461be8ea84369b1c13fc89cb3f26f8bc1400fedec8b3dd1f630a7994"
SRCREV_aosp = "9d9fee956a9c4c7be4f69f7a472d3fc0e759c2dd"
+FW_QCOM_NAME = "flo"
+
require recipes-bsp/firmware/firmware-qcom.inc
DEPENDS += "pil-squasher-native"
@@ -27,14 +29,14 @@ do_compile() {
}
do_install() {
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/flo
- install -m 0644 ${B}/*.mbn ${D}${nonarch_base_libdir}/firmware/qcom/flo
- install -m 0644 vendor/qcom/flo/proprietary/vidcfw.elf ${D}${nonarch_base_libdir}/firmware/qcom/flo
- install -m 0644 vendor/qcom/flo/proprietary/vidc_1080p.fw ${D}${nonarch_base_libdir}/firmware/qcom/flo
+ install -d ${D}${FW_QCOM_PATH}
+ install -m 0644 ${B}/*.mbn ${D}${FW_QCOM_PATH}
+ install -m 0644 vendor/qcom/flo/proprietary/vidcfw.elf ${D}${FW_QCOM_PATH}
+ install -m 0644 vendor/qcom/flo/proprietary/vidc_1080p.fw ${D}${FW_QCOM_PATH}
- install -m 0644 license.txt ${D}${nonarch_base_libdir}/firmware/qcom/flo
+ install -m 0644 license.txt ${D}${FW_QCOM_PATH}
- install -m 0644 ${WORKDIR}/git/WCNSS_cfg.dat ${D}${nonarch_base_libdir}/firmware/qcom/flo
- install -m 0644 ${WORKDIR}/git/WCNSS_qcom_wlan_nv_deb.bin ${D}${nonarch_base_libdir}/firmware/qcom/flo
- install -m 0644 ${WORKDIR}/git/WCNSS_qcom_wlan_nv_flo.bin ${D}${nonarch_base_libdir}/firmware/qcom/flo/WCNSS_qcom_wlan_nv.bin
+ install -m 0644 ${WORKDIR}/git/WCNSS_cfg.dat ${D}${FW_QCOM_PATH}
+ install -m 0644 ${WORKDIR}/git/WCNSS_qcom_wlan_nv_deb.bin ${D}${FW_QCOM_PATH}
+ install -m 0644 ${WORKDIR}/git/WCNSS_qcom_wlan_nv_flo.bin ${D}${FW_QCOM_PATH}/WCNSS_qcom_wlan_nv.bin
}
diff --git a/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb b/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
index 44dc7e7..6820c92 100644
--- a/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
+++ b/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
@@ -16,6 +16,8 @@ PE = "1"
DEPENDS += "qca-swiss-army-knife-native"
+FW_QCOM_NAME = "sm8250"
+
require recipes-bsp/firmware/firmware-qcom.inc
do_compile() {
@@ -25,12 +27,12 @@ do_compile() {
}
do_install() {
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
+ install -d ${D}${FW_QCOM_PATH}
- install -m 0444 ./08-dspso/dspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
+ install -m 0444 ./08-dspso/dspso.bin ${D}${FW_QCOM_PATH}
- install -m 0444 ./30-slpi_split/slpi.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
- install -m 0444 ./39-jsn/slpi*.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
+ install -m 0444 ./30-slpi_split/slpi.mbn ${D}${FW_QCOM_PATH}/
+ install -m 0444 ./39-jsn/slpi*.jsn ${D}${FW_QCOM_PATH}/
install -d ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/
install -m 0444 ${S}/board-2.bin ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/board-2.bin
@@ -44,3 +46,8 @@ inherit update-alternatives
ALTERNATIVE:${PN} = "qca6390-board2"
ALTERNATIVE_LINK_NAME[qca6390-board2] = "/lib/firmware/ath11k/QCA6390/hw2.0/board-2.bin"
ALTERNATIVE_PRIORITY = "100"
+
+SPLIT_FIRMWARE_PACKAGES = " \
+ ${PN}-dspso \
+ linux-firmware-qcom-${FW_QCOM_NAME}-sensors \
+"
diff --git a/recipes-bsp/firmware/firmware-qcom.inc b/recipes-bsp/firmware/firmware-qcom.inc
index c458878..22cb02c 100644
--- a/recipes-bsp/firmware/firmware-qcom.inc
+++ b/recipes-bsp/firmware/firmware-qcom.inc
@@ -4,6 +4,48 @@ FILES:${PN} += "${nonarch_base_libdir}/firmware/"
INSANE_SKIP:${PN} += "arch already-stripped"
+# Default settings
+# package name part in linux-firmware-qcom-...-audio
+FW_QCOM_NAME ?= "unset"
+# Subdir inside /lib/firmware/qcom. Typically it is equal to FW_QCOM_NAME but might differ in complex cases (like C630 Yoga).
+FW_QCOM_SUBDIR ?= "${FW_QCOM_NAME}"
+FW_QCOM_BASE_PATH = "${nonarch_base_libdir}/firmware/qcom"
+FW_QCOM_PATH = "${FW_QCOM_BASE_PATH}/${FW_QCOM_SUBDIR}"
+
+SPLIT_FIRMWARE_PACKAGES ?= ""
+
+PACKAGE_BEFORE_PN += "${SPLIT_FIRMWARE_PACKAGES}"
+# RRECOMMEND all non-split packages split from this recipe. Split firmware files re usually replaced with the squashed ones.
+RRECOMMENDS:${PN} += "${@ ' '.join(filter(lambda p: not p.endswith('-split'), d.getVar('SPLIT_FIRMWARE_PACKAGES').split())) }"
+
+# Default settings for several split packages
+FILES:${PN}-dspso += "${FW_QCOM_BASE_PATH}/*/*dspso.bin"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-audio = "${FW_QCOM_PATH}/adsp.mbn ${FW_QCOM_PATH}/adsp*.jsn"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-audio-split = "${FW_QCOM_PATH}/adsp.mdt ${FW_QCOM_PATH}/adsp.b*"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-compute = "${FW_QCOM_PATH}/cdsp.mbn ${FW_QCOM_PATH}/cdsp*.jsn"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-compute-split = "${FW_QCOM_PATH}/cdsp.mdt ${FW_QCOM_PATH}/cdsp.b*"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-modem = "${FW_QCOM_PATH}/mba.mbn ${FW_QCOM_PATH}/modem.mbn ${FW_QCOM_PATH}/modem*.jsn"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-modem-split = "${FW_QCOM_PATH}/modem.mdt ${FW_QCOM_PATH}/modem.b*"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-sensors = "${FW_QCOM_PATH}/slpi.mbn ${FW_QCOM_PATH}/slpi*.jsn"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-sensors-split = "${FW_QCOM_PATH}/slpi.mdt ${FW_QCOM_PATH}/slpi.b*"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-wifi = "${FW_QCOM_PATH}/wcnss.mbn"
+FILES:linux-firmware-qcom-${FW_QCOM_NAME}-wifi-split = "${FW_QCOM_PATH}/wcnss.mdt ${FW_QCOM_PATH}/wcnss.b*"
+
+python() {
+ pn = d.getVar("PN")
+ insanes = d.getVar("INSANE_SKIP:%s" % pn)
+ for pkg in d.getVar("SPLIT_FIRMWARE_PACKAGES").split():
+ # Depend on the main package to get the license file
+ d.appendVar("RDEPENDS:" + pkg, " " + pn)
+ # and append the INSANE_SKIP of the main package to pass QA
+ d.appendVar("INSANE_SKIP:" + pkg, " " + insanes)
+ # If it's a package with the split frmware, depend on non-split files (for jsn files, etc)
+ if pkg.endswith("-split"):
+ d.appendVar("RDEPENDS:" + pkg, " " + pkg[:-6])
+ if d.getVar("FW_QCOM_NAME") == "unset" and d.getVar("SPLIT_FIRMWARE_PACKAGES") != "":
+ bb.error("%s: split firmware-qcom packages engaged, but FW_QCOM_NAME is not defined" % pn)
+}
+
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_DEFAULT_DEPS = "1"
diff --git a/recipes-bsp/firmware/firmware-wcn6855_git.bb b/recipes-bsp/firmware/firmware-wcn6855_git.bb
new file mode 100644
index 0000000..fff4ef2
--- /dev/null
+++ b/recipes-bsp/firmware/firmware-wcn6855_git.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Firmware files for Qualcomm/Atheros WCN6855 SoC"
+
+LICENSE = "Firmware-qualcommAthos_ath10k"
+LIC_FILES_CHKSUM = "file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8"
+NO_GENERIC_LICENSE[Firmware-qualcommAthos_ath10k] = "LICENSE.QualcommAtheros_ath10k"
+
+SRC_URI = "git://chromium.googlesource.com/chromiumos/third_party/linux-firmware;protocol=https;branch=master"
+SRCREV = "d233ddd89abe06448070471963a58c0a7da81d79"
+
+PV = "1.1-01720.1+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+CLEANBROKEN = "1"
+
+do_compile() {
+ :
+}
+
+FWDIR = "${nonarch_base_libdir}/firmware"
+SUBDIR = "ath11k/WCN6855/hw2.0"
+
+do_install() {
+ install -d ${D}${FWDIR}/${SUBDIR}
+
+ install -m 0644 ${SUBDIR}/* ${D}${FWDIR}/${SUBDIR}
+}
+
+PACKAGE_BEFORE_PN = "${PN}-board"
+
+RDEPENDS:${PN}-board += "${PN}"
+RDEPENDS:${PN} += "linux-firmware-ath10k-license"
+
+FILES:${PN} = "${FWDIR}"
+FILES:${PN}-board = "${FWDIR}/${SUBDIR}/board*.bin ${FWDIR}/${SUBDIR}/regdb*bin"
+
+# Firmware files are generally not ran on the CPU, so they can be
+# allarch despite being architecture specific
+INSANE_SKIP = "arch"
diff --git a/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard410c.bb b/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard410c.bb
new file mode 100644
index 0000000..a142c4f
--- /dev/null
+++ b/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard410c.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Firmware packages for the DragonBoard 410c board"
+
+inherit packagegroup
+
+RRECOMMENDS:${PN} += " \
+ firmware-qcom-dragonboard410c \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a3xx', '', d)} \
+ linux-firmware-qcom-venus-1.8 \
+"
diff --git a/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard820c.bb b/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard820c.bb
new file mode 100644
index 0000000..429e7d8
--- /dev/null
+++ b/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard820c.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Firmware packages for the DragonBoard 820c board"
+
+inherit packagegroup
+
+RRECOMMENDS:${PN} += " \
+ firmware-qcom-dragonboard820c \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a530', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
+ linux-firmware-qcom-venus-4.2 \
+"
diff --git a/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard845c.bb b/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard845c.bb
new file mode 100644
index 0000000..020142e
--- /dev/null
+++ b/recipes-bsp/packagegroups/packagegroup-firmware-dragonboard845c.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Firmware packages for the DragonBoard 845c board"
+
+inherit packagegroup
+
+RRECOMMENDS:${PN} += " \
+ firmware-qcom-dragonboard845c \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a630', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k linux-firmware-qcom-sdm845-modem', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca linux-firmware-qcom-sdm845-modem', '', d)} \
+ linux-firmware-qcom-sdm845-audio \
+ linux-firmware-qcom-sdm845-compute \
+ linux-firmware-qcom-venus-5.2 \
+"
diff --git a/recipes-bsp/packagegroups/packagegroup-firmware-rb5.bb b/recipes-bsp/packagegroups/packagegroup-firmware-rb5.bb
new file mode 100644
index 0000000..d7890dd
--- /dev/null
+++ b/recipes-bsp/packagegroups/packagegroup-firmware-rb5.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Firmware packages for the RB5 Robotics platform"
+
+inherit packagegroup
+
+RRECOMMENDS:${PN} += " \
+ firmware-qcom-rb5 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a630', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
+ linux-firmware-lt9611uxc \
+ linux-firmware-qcom-sm8250-audio \
+ linux-firmware-qcom-sm8250-compute \
+ linux-firmware-qcom-vpu-1.0 \
+"
diff --git a/recipes-devtools/debugcc/debugcc_git.bb b/recipes-devtools/debugcc/debugcc_git.bb
new file mode 100644
index 0000000..55e3e9d
--- /dev/null
+++ b/recipes-devtools/debugcc/debugcc_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A tool to debug Qualcomm clock controllers."
+HOMEPAGE = "https://github.com/andersson/debugcc/"
+SECTION = "devel"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://debugcc.c;beginline=5;endline=29;md5=5598b6b886a3af944e4d19bb7d947095"
+
+SRC_URI = "\
+ git://github.com/andersson/debugcc.git;branch=master;protocol=https \
+"
+
+SRCREV = "9e99460893852fab26ab09ef25ed299f53fb1390"
+
+PV = "0.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "CC='${CC}' CPPFLAGS='${CPPFLAGS}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/debugcc ${D}${bindir}
+ for f in ${B}/*-debugcc ; do
+ ln -r -s -T ${D}${bindir}/debugcc ${D}${bindir}/`basename $f`
+ done
+}
diff --git a/recipes-devtools/skales/skales_git.bb b/recipes-devtools/skales/skales_git.bb
index 782d20c..2b04657 100644
--- a/recipes-devtools/skales/skales_git.bb
+++ b/recipes-devtools/skales/skales_git.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://mkbootimg;beginline=3;endline=29;md5=114b84083e657f38
SRCREV = "6eac9e943de53c4aaaede3697e9226a47686fe25"
PV = "1.5.0+git${SRCPV}"
-SRC_URI = "git://source.codeaurora.org/quic/kernel/skales;protocol=http \
+SRC_URI = "git://source.codeaurora.org/quic/kernel/skales;protocol=http;branch=master \
file://0002-mkbootimg-use-python3.patch \
"
diff --git a/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index 3d87c97..043217c 100644
--- a/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@
-From a9253ee295c4684e20aee6022bc9f26c5fc68856 Mon Sep 17 00:00:00 2001
+From 8f767113d5b8a2ee89cd069d54243f8b0ac9a218 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair@alistair23.me>
Date: Wed, 2 Sep 2020 15:28:50 -0500
Subject: [PATCH] meson.build: make TLS ELF optional
@@ -8,32 +8,29 @@ TLS GLX optional again" patch updated to the latest mesa.
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Alistair Francis <alistair@alistair23.me>
-
---
- meson.build | 4 +---
+ meson.build | 2 +-
meson_options.txt | 6 ++++++
- 2 files changed, 7 insertions(+), 3 deletions(-)
+ 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index 5931260dd3d..23a3cd66156 100644
+index 9b4e5e28864..15eacbe6918 100644
--- a/meson.build
+++ b/meson.build
-@@ -453,9 +453,7 @@ endif
+@@ -509,7 +509,7 @@ foreach platform : _platforms
+ endforeach
- # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
use_elf_tls = false
--if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and
-- (not with_platform_android or get_option('platform-sdk-version') >= 29) and
-- (not with_platform_windows or not with_shared_glapi))
+-if not with_platform_windows or not with_shared_glapi
+if (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls')
pre_args += '-DUSE_ELF_TLS'
use_elf_tls = true
diff --git a/meson_options.txt b/meson_options.txt
-index 54e15e9f850..118eba3914d 100644
+index fd0d99f2f9a..f994c22ac61 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -439,6 +439,12 @@ option(
+@@ -455,6 +455,12 @@ option(
value : true,
description : 'Enable direct rendering in GLX and EGL for DRI',
)
@@ -46,3 +43,6 @@ index 54e15e9f850..118eba3914d 100644
option(
'prefer-iris',
type : 'boolean',
+--
+2.34.0
+
diff --git a/recipes-graphics/mesa/mesa_git.bb b/recipes-graphics/mesa/mesa_git.bb
index f805d3a..f7e8288 100644
--- a/recipes-graphics/mesa/mesa_git.bb
+++ b/recipes-graphics/mesa/mesa_git.bb
@@ -27,7 +27,7 @@ FILES:${PN}-ci = "${bindir}/deqp-runner.sh ${datadir}/mesa/deqp-*"
do_install:append () {
install -d ${D}/${datadir}/mesa
- install -m 0644 ${S}/.gitlab-ci/deqp-all-skips.txt ${D}/${datadir}/mesa/
+ install -m 0644 ${S}/.gitlab-ci/all-skips.txt ${D}/${datadir}/mesa/
for f in ${S}/src/freedreno/ci/deqp-freedreno-*; do
install -m 0644 $f ${D}/${datadir}/mesa/
done
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb b/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
index 9aae535..e25e8b0 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
@@ -16,5 +16,7 @@ SRCBRANCH = "integration-linux-qcomlt"
# anonymous python routine and resolved when the variables are finalized.
SRCREV ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-linaro-qcomlt-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
+SRC_URI += "file://0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch"
+
LINUX_VERSION = "5.11+"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-dev/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch b/recipes-kernel/linux/linux-linaro-qcomlt-dev/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch
new file mode 100644
index 0000000..f9af132
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-dev/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch
@@ -0,0 +1,48 @@
+From 8f391e49c75b8328f2562b3f5323530e0707b46b Mon Sep 17 00:00:00 2001
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Wed, 24 Nov 2021 11:15:55 +0300
+Subject: [PATCH] Revert "kbuild: Enable DT schema checks for %.dtb targets"
+
+This reverts commit 53182e81f47d4ea0c727c49ad23cb782173ab849.
+
+There is no need to check dtb schema while building OE kernel images.
+Not to mention that supporting dtschema properly requires significant
+changes to the OE-core layer (which are still pending). With all that in
+mind revert the commit making dtschema validation mandatory when
+building individual dtb files.
+
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+---
+ Makefile | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index daf95a574b08..fdd75ef39d88 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1374,17 +1374,17 @@ endif
+
+ ifneq ($(dtstree),)
+
+-%.dtb: dt_binding_check include/config/kernel.release scripts_dtc
+- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml
++%.dtb: include/config/kernel.release scripts_dtc
++ $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+
+-%.dtbo: dt_binding_check include/config/kernel.release scripts_dtc
+- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml
++%.dtbo: include/config/kernel.release scripts_dtc
++ $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+
+ PHONY += dtbs dtbs_install dtbs_check
+ dtbs: include/config/kernel.release scripts_dtc
+ $(Q)$(MAKE) $(build)=$(dtstree)
+
+-ifneq ($(filter dtbs_check %.dtb %.dtbo, $(MAKECMDGOALS)),)
++ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
+ export CHECK_DTBS=y
+ dtbs: dt_binding_check
+ endif
+--
+2.30.2
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.14.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.14.bb
deleted file mode 100644
index 0fc0f19..0000000
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.14.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014-2020 Linaro
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require recipes-kernel/linux/linux-linaro-qcom.inc
-
-SRCBRANCH = "release/sa8155p-adp/qcomlt-5.14"
-SRCREV = "4091a5657797a2e936231eb791ad6053cbaaff16"
-
-COMPATIBLE_MACHINE = "(sa8155p)"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb
new file mode 100644
index 0000000..e953e63
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb
@@ -0,0 +1,10 @@
+# Copyright (C) 2021 Linaro
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-kernel/linux/linux-linaro-qcom.inc
+
+# SRCBRANCH set to "release/qcomlt-5.15" in linux-linaro-qcom.inc
+SRCREV = "43aa1d1f5fcf5d68f07821b0b3a9314f7c7af649"
+
+SRCBRANCH:sa8155p = "release/sa8155p-adp/qcomlt-5.15"
+SRCREV:sa8155p = "3290018e72cdf6a1b90e672710ad2a6dda9fffd6"
diff --git a/recipes-test/bootrr/bootrr/bootrr-auto-switch-to-using-sh.patch b/recipes-test/bootrr/bootrr/bootrr-auto-switch-to-using-sh.patch
new file mode 100644
index 0000000..cca2543
--- /dev/null
+++ b/recipes-test/bootrr/bootrr/bootrr-auto-switch-to-using-sh.patch
@@ -0,0 +1,22 @@
+From ef8073c29988c1cf46221e3062811f19e051b62d Mon Sep 17 00:00:00 2001
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Sat, 2 Oct 2021 16:36:47 +0300
+Subject: [PATCH] bootrr-auto: switch to using sh
+
+There is nothing bash-specific in bootrr-auto, we can safely use /bin/sh
+instead. Verified with dash and with busybox sh.
+
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+---
+ helpers/bootrr-auto | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/helpers/bootrr-auto b/helpers/bootrr-auto
+index 672c590..607be0a 100755
+--- a/helpers/bootrr-auto
++++ b/helpers/bootrr-auto
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+
+ $(pwd)/helpers/bootrr-generic-tests
diff --git a/recipes-test/bootrr/bootrr_git.bb b/recipes-test/bootrr/bootrr_git.bb
new file mode 100644
index 0000000..0d40d22
--- /dev/null
+++ b/recipes-test/bootrr/bootrr_git.bb
@@ -0,0 +1,16 @@
+SUMMARY = "simple low-level testing tool for qcom boards"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=987293312a134ab40eec5f3d446cfaff"
+
+SRCREV = "d2329902b701e0efa345628471d0d275d5a5835a"
+SRC_URI = "\
+ git://github.com/andersson/bootrr.git;branch=master;protocol=https \
+ file://bootrr-auto-switch-to-using-sh.patch \
+"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ oe_runmake install 'DESTDIR=${D}'
+}
diff --git a/recipes-test/diag/diag_git.bb b/recipes-test/diag/diag_git.bb
index a42c126..6eb16b2 100644
--- a/recipes-test/diag/diag_git.bb
+++ b/recipes-test/diag/diag_git.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/andersson/diag"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f6832ae4af693c6f31ffd931e25ef580"
-SRC_URI = "git://github.com/andersson/diag.git;protocol=https \
+SRC_URI = "git://github.com/andersson/diag.git;branch=master;protocol=https \
file://0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch \
"
diff --git a/recipes-test/images/initramfs-firmware-image.bb b/recipes-test/images/initramfs-firmware-image.bb
new file mode 100644
index 0000000..6fcb2ff
--- /dev/null
+++ b/recipes-test/images/initramfs-firmware-image.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Tiny ramdisk image with firmware files"
+
+PACKAGE_INSTALL = " \
+ packagegroup-firmware-dragonboard410c \
+ packagegroup-firmware-dragonboard820c \
+ packagegroup-firmware-dragonboard845c \
+ packagegroup-firmware-rb5 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wireless-regdb-static', '', d)} \
+"
+
+IMAGE_LINGUAS = ""
+LICENSE = "MIT"
+
+IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+inherit core-image
+
+IMAGE_ROOTFS_SIZE = "8192"
+IMAGE_ROOTFS_EXTRA_SPACE = "0"
+
+# Inhibit installing /init
+IMAGE_BUILDING_DEBUGFS = "true"
diff --git a/recipes-test/images/initramfs-test-full-image.bb b/recipes-test/images/initramfs-test-full-image.bb
index 4081688..91b8f03 100644
--- a/recipes-test/images/initramfs-test-full-image.bb
+++ b/recipes-test/images/initramfs-test-full-image.bb
@@ -1,52 +1,31 @@
-require recipes-test/images/initramfs-tiny-image.bb
+require recipes-test/images/initramfs-test-image.bb
DESCRIPTION = "Relatively larger ramdisk image for running tests (bootrr, etc)"
PACKAGE_INSTALL += " \
- bluez5 \
+ bootrr \
coreutils \
- dhcpcd \
- diag \
- e2fsprogs \
- e2fsprogs-e2fsck \
- e2fsprogs-mke2fs \
- e2fsprogs-resize2fs \
- e2fsprogs-tune2fs \
- ethtool \
- gptfdisk \
- iw \
hdparm \
kexec \
- lava-test-shell \
- libdrm-tests \
lsof \
ncurses \
ncurses-terminfo \
ncurses-terminfo-base \
- pciutils \
- pd-mapper \
- qrtr \
- rmtfs \
stress-ng \
- tqftpserv \
- usbutils \
util-linux \
util-linux-chrt \
util-linux-lsblk \
- wpa-supplicant \
"
-PACKAGE_INSTALL:append:libc-glibc += " \
+PACKAGE_INSTALL:append:libc-glibc = " \
rt-tests \
"
# We'd like to include extra packages provided by layers which we do not depend
# on. This can be handled by .bbappends, but then image recipes including this
# one would not get all these tools. So simulate dynamic bbappend here.
-PACKAGE_INSTALL_openembedded_layer += " \
+PACKAGE_INSTALL_openembedded-layer += " \
crash \
- cryptsetup \
- devmem2 \
dhrystone \
iozone3 \
libgpiod \
@@ -59,12 +38,3 @@ PACKAGE_INSTALL_openembedded_layer += " \
tiobench \
whetstone \
"
-
-PACKAGE_INSTALL_networking_layer += " \
- iperf2 \
- iperf3 \
- tcpdump \
-"
-
-PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "openembedded-layer", "${PACKAGE_INSTALL_openembedded_layer}", "", d)}"
-PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "networking-layer", "${PACKAGE_INSTALL_networking_layer}", "", d)}"
diff --git a/recipes-test/images/initramfs-test-image.bb b/recipes-test/images/initramfs-test-image.bb
index 746c8df..cabe605 100644
--- a/recipes-test/images/initramfs-test-image.bb
+++ b/recipes-test/images/initramfs-test-image.bb
@@ -28,16 +28,13 @@ PACKAGE_INSTALL += " \
# We'd like to include extra packages provided by layers which we do not depend
# on. This can be handled by .bbappends, but then image recipes including this
# one would not get all these tools. So simulate dynamic bbappend here.
-PACKAGE_INSTALL_openembedded_layer += " \
+PACKAGE_INSTALL_openembedded-layer += " \
cryptsetup \
devmem2 \
"
-PACKAGE_INSTALL_networking_layer += " \
+PACKAGE_INSTALL_networking-layer += " \
iperf2 \
iperf3 \
tcpdump \
"
-
-PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "openembedded-layer", "${PACKAGE_INSTALL_openembedded_layer}", "", d)}"
-PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "networking-layer", "${PACKAGE_INSTALL_networking_layer}", "", d)}"
diff --git a/recipes-test/images/initramfs-tiny-image.bb b/recipes-test/images/initramfs-tiny-image.bb
index c70ccee..2f72dc4 100644
--- a/recipes-test/images/initramfs-tiny-image.bb
+++ b/recipes-test/images/initramfs-tiny-image.bb
@@ -33,3 +33,16 @@ local_autologin () {
sed -i -e 's/^\(ExecStart *=.*getty \)/\1--autologin root /' ${LOCAL_GETTY}
}
ROOTFS_POSTPROCESS_COMMAND += "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'local_autologin;', '', d)}"
+
+# We'd like to include extra packages provided by layers which we do not depend
+# on. This can be handled by .bbappends, but then image recipes including this
+# one would not get all these tools. So simulate dynamic bbappend here.
+#
+# To use it define PACKAGE_INSTALL_foo-layer variable containing the list of
+# packages to be installed if (and only if) layer foo-layer is enabled.
+python() {
+ for layer in d.getVar("BBFILE_COLLECTIONS", True).split():
+ extra = d.getVar("PACKAGE_INSTALL_%s" % layer)
+ if extra:
+ d.appendVar("PACKAGE_INSTALL", " " + extra)
+}