aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/machine/dragonboard-845c.conf1
-rw-r--r--conf/machine/include/qcom-apq8016.inc3
-rw-r--r--conf/machine/include/qcom-apq8064.inc3
-rw-r--r--conf/machine/include/qcom-apq8096.inc3
-rw-r--r--conf/machine/include/qcom-common.inc4
-rw-r--r--conf/machine/include/qcom-qcs404.inc3
-rw-r--r--conf/machine/include/qcom-sdm845.inc3
-rw-r--r--conf/machine/include/qcom-sm8250.inc3
-rw-r--r--conf/machine/qcom-armv8a.conf49
-rw-r--r--conf/machine/qrb5165-rb5.conf6
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/android-tools/android-tools-conf-configfs/qcom/android-gadget-setup.machine4
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/android-tools/android-tools-conf-configfs_%.bbappend5
-rw-r--r--recipes-bsp/firmware/files/lib-firmware-modem.service19
-rw-r--r--recipes-bsp/firmware/files/lib-firmware-system.service21
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb13
-rw-r--r--recipes-bsp/firmware/firmware-qcom-rb5_1.0.bb116
-rw-r--r--recipes-bsp/firmware/firmware-qcom-rb5_20210118133815-v2.bb71
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb19
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh21
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service11
-rw-r--r--recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife/ath10k-generate-board-2_json.sh (renamed from recipes-bsp/firmware/firmware-qcom-dragonboard845c/generate_board-2_json.sh)19
-rw-r--r--recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife/ath11k-generate-board-2_json.sh23
-rw-r--r--recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife_git.bb4
-rw-r--r--recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch14
-rw-r--r--recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch16
-rw-r--r--recipes-graphics/mesa/files/fix-meson-config-compat.patch49
-rw-r--r--recipes-graphics/mesa/mesa_20.3.0-rc2.bb14
-rw-r--r--recipes-graphics/mesa/mesa_git.bb7
-rw-r--r--recipes-kernel/linux-firmware/linux-firmware_%.bbappend4
-rw-r--r--recipes-kernel/linux/linux-linaro-qcom.inc10
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb6
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.11.bb15
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb2
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb4
-rw-r--r--recipes-kernel/linux/linux-qcom-bootimg.inc139
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-lpass-add-codec-sequences-for-wsa-and-va.patch71
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-add-support-to-for-Qualcomm-RB5-Platform.patch70
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0003-ucm.conf-support-KernelModule-CardLongName.conf-path.patch28
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0004-module-add-new-symlink-for-Qualcomm-sdm845-driver.patch21
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0007-ucm2-module-add-snd_soc_sm8250-symlink.patch19
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf_%.bbappend3
-rw-r--r--recipes-support/fastrpc/fastrpc_git.bb13
-rw-r--r--recipes-support/qrtr/qrtr_git.bb4
-rw-r--r--recipes-support/rmtfs/rmtfs_git.bb2
-rw-r--r--recipes-test/images/initramfs-test-image.bb1
45 files changed, 543 insertions, 393 deletions
diff --git a/conf/machine/dragonboard-845c.conf b/conf/machine/dragonboard-845c.conf
index 8391ef6..e5f0755 100644
--- a/conf/machine/dragonboard-845c.conf
+++ b/conf/machine/dragonboard-845c.conf
@@ -8,6 +8,7 @@ MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
KERNEL_IMAGETYPE ?= "Image.gz"
KERNEL_DEVICETREE ?= "qcom/sdm845-db845c.dtb"
+KERNEL_CMDLINE_EXTRA ?= "clk_ignore_unused pd_ignore_unused"
SERIAL_CONSOLE ?= "115200 ttyMSM0"
diff --git a/conf/machine/include/qcom-apq8016.inc b/conf/machine/include/qcom-apq8016.inc
index 80e097b..a073ae7 100644
--- a/conf/machine/include/qcom-apq8016.inc
+++ b/conf/machine/include/qcom-apq8016.inc
@@ -9,3 +9,6 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS += " \
fastrpc \
"
+
+# Android boot image settings
+QCOM_BOOTIMG_PAGE_SIZE = "2048"
diff --git a/conf/machine/include/qcom-apq8064.inc b/conf/machine/include/qcom-apq8064.inc
index 96f880c..af8e87a 100644
--- a/conf/machine/include/qcom-apq8064.inc
+++ b/conf/machine/include/qcom-apq8064.inc
@@ -1,3 +1,6 @@
SOC_FAMILY = "apq8064"
require conf/machine/include/qcom-common.inc
require conf/machine/include/tune-cortexa8.inc
+
+# Android boot image settings
+QCOM_BOOTIMG_PAGE_SIZE = "2048"
diff --git a/conf/machine/include/qcom-apq8096.inc b/conf/machine/include/qcom-apq8096.inc
index 4f62b59..8038091 100644
--- a/conf/machine/include/qcom-apq8096.inc
+++ b/conf/machine/include/qcom-apq8096.inc
@@ -10,6 +10,3 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS += " \
fastrpc \
"
-
-# Android boot image settings
-QCOM_BOOTIMG_PAGE_SIZE = "4096"
diff --git a/conf/machine/include/qcom-common.inc b/conf/machine/include/qcom-common.inc
index 272ab6a..fd86574 100644
--- a/conf/machine/include/qcom-common.inc
+++ b/conf/machine/include/qcom-common.inc
@@ -22,10 +22,12 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro-qcomlt"
+PREFERRED_PROVIDER_android-tools-conf = "android-tools-conf-configfs"
+
# Fastboot expects an ext4 image, which needs to be 4096 aligned
IMAGE_FSTYPES ?= "ext4.gz"
IMAGE_ROOTFS_ALIGNMENT ?= "4096"
# Android boot image settings
QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000"
-QCOM_BOOTIMG_PAGE_SIZE ?= "2048"
+QCOM_BOOTIMG_PAGE_SIZE ?= "4096"
diff --git a/conf/machine/include/qcom-qcs404.inc b/conf/machine/include/qcom-qcs404.inc
index eacc03c..90f9acb 100644
--- a/conf/machine/include/qcom-qcs404.inc
+++ b/conf/machine/include/qcom-qcs404.inc
@@ -5,6 +5,3 @@ require conf/machine/include/arm/arch-armv8a.inc
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
qrtr \
"
-
-# Android boot image settings
-QCOM_BOOTIMG_PAGE_SIZE = "4096"
diff --git a/conf/machine/include/qcom-sdm845.inc b/conf/machine/include/qcom-sdm845.inc
index da6ff9f..d197ca6 100644
--- a/conf/machine/include/qcom-sdm845.inc
+++ b/conf/machine/include/qcom-sdm845.inc
@@ -13,6 +13,3 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS += " \
fastrpc \
"
-
-# Android boot image settings
-QCOM_BOOTIMG_PAGE_SIZE = "4096"
diff --git a/conf/machine/include/qcom-sm8250.inc b/conf/machine/include/qcom-sm8250.inc
index fbdd7cb..c557147 100644
--- a/conf/machine/include/qcom-sm8250.inc
+++ b/conf/machine/include/qcom-sm8250.inc
@@ -13,6 +13,3 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS += " \
fastrpc \
"
-
-# Android boot image settings
-QCOM_BOOTIMG_PAGE_SIZE ?= "4096"
diff --git a/conf/machine/qcom-armv8a.conf b/conf/machine/qcom-armv8a.conf
new file mode 100644
index 0000000..c171c27
--- /dev/null
+++ b/conf/machine/qcom-armv8a.conf
@@ -0,0 +1,49 @@
+require conf/machine/include/qcom-common.inc
+require conf/machine/include/arm/arch-armv8a.inc
+
+MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
+
+# UFS partitions in 820/845/RB5 setup with 4096 logical sector size
+EXTRA_IMAGECMD_ext4 += " -b 4096 "
+
+# Support for dragonboard{410, 820, 845}c, rb5
+KERNEL_IMAGETYPE ?= "Image.gz"
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+KERNEL_DEVICETREE ?= "qcom/apq8016-sbc.dtb qcom/apq8096-db820c.dtb qcom/sdm845-db845c.dtb qcom/qrb5165-rb5.dtb qcom/sm8250-rb5-dvt.dtb"
+
+QCOM_BOOTIMG_PAGE_SIZE[apq8016-sbc] = "2048"
+QCOM_BOOTIMG_ROOTFS = "/dev/sda1"
+QCOM_BOOTIMG_ROOTFS[apq8016-sbc] = "/dev/mmcblk0p14"
+QCOM_BOOTIMG_ROOTFS[qrb5165-rb5] = "PARTLABEL=userdata"
+QCOM_BOOTIMG_ROOTFS[sm8250-rb5-dvt] = "PARTLABEL=userdata"
+SD_QCOM_BOOTIMG_ROOTFS[apq8016-sbc] = "/dev/mmcblk1p7"
+KERNEL_CMDLINE_EXTRA[sdm845-db845c] = "clk_ignore_unused pd_ignore_unused"
+
+# Userspace tools
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ pd-mapper \
+ qrtr \
+ rmtfs \
+ tqftpserv \
+"
+
+MACHINE_EXTRA_RRECOMMENDS += " \
+ fastrpc \
+"
+
+# 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 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a3xx linux-firmware-qcom-adreno-a530 linux-firmware-qcom-adreno-a630', '', d)} \
+ linux-firmware-qcom-venus-1.8 \
+ linux-firmware-qcom-venus-4.2 \
+ linux-firmware-qcom-venus-5.2 \
+"
diff --git a/conf/machine/qrb5165-rb5.conf b/conf/machine/qrb5165-rb5.conf
index 8a0e11a..a15690a 100644
--- a/conf/machine/qrb5165-rb5.conf
+++ b/conf/machine/qrb5165-rb5.conf
@@ -7,14 +7,16 @@ require conf/machine/include/qcom-sm8250.inc
MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
KERNEL_IMAGETYPE ?= "Image.gz"
-KERNEL_DEVICETREE ?= "qcom/qrb5165-rb5.dtb"
+KERNEL_DEVICETREE ?= "qcom/qrb5165-rb5.dtb qcom/sm8250-rb5-dvt.dtb"
+KERNEL_CMDLINE_EXTRA ?= "pcie_pme=nomsi"
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', '', d)} \
+ lt9611uxc-upgrade \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k wireless-regdb-static', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
"
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/android-tools/android-tools-conf-configfs/qcom/android-gadget-setup.machine b/dynamic-layers/openembedded-layer/recipes-devtools/android-tools/android-tools-conf-configfs/qcom/android-gadget-setup.machine
new file mode 100644
index 0000000..37f26bb
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-devtools/android-tools/android-tools-conf-configfs/qcom/android-gadget-setup.machine
@@ -0,0 +1,4 @@
+manufacturer=Qualcomm
+model=`hostname`
+androidserial="$(sed -n -e '/androidboot.serialno/ s/.*androidboot.serialno=\([^ ]*\).*/\1/gp ' /proc/cmdline)"
+[ -n "$androidserial" ] && serial="$androidserial"
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/android-tools/android-tools-conf-configfs_%.bbappend b/dynamic-layers/openembedded-layer/recipes-devtools/android-tools/android-tools-conf-configfs_%.bbappend
new file mode 100644
index 0000000..1e314d8
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-devtools/android-tools/android-tools-conf-configfs_%.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI_append_qcom = " \
+ file://android-gadget-setup.machine \
+"
diff --git a/recipes-bsp/firmware/files/lib-firmware-modem.service b/recipes-bsp/firmware/files/lib-firmware-modem.service
deleted file mode 100644
index 9962a0d..0000000
--- a/recipes-bsp/firmware/files/lib-firmware-modem.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=Mount partition with preflashed firmware ('modem_a')
-ConditionPathExists=/lib/firmware/modem
-Before=systemd-udevd-control.socket
-After=local-fs-pre.target
-Before=local-fs.target
-Before=umount.target
-Conflicts=umount.target
-DefaultDependencies=no
-
-[Install]
-WantedBy=local-fs.target
-
-[Service]
-Type=oneshot
-RemainAfterExit=true
-# sde4 = modem_a
-ExecStart=mount -t vfat -o ro /dev/sde4 /lib/firmware/modem
-ExecStop=umount /lib/firmware/modem
diff --git a/recipes-bsp/firmware/files/lib-firmware-system.service b/recipes-bsp/firmware/files/lib-firmware-system.service
deleted file mode 100644
index c4b4e2a..0000000
--- a/recipes-bsp/firmware/files/lib-firmware-system.service
+++ /dev/null
@@ -1,21 +0,0 @@
-[Unit]
-Description=Mount partition with system root for for firmware files ('system_a')
-ConditionPathExists=/lib/firmware/system
-Before=systemd-udevd-control.socket
-After=local-fs-pre.target
-Before=local-fs.target
-Before=umount.target
-Conflicts=umount.target
-DefaultDependencies=no
-
-[Install]
-WantedBy=local-fs.target
-
-[Service]
-Type=oneshot
-RemainAfterExit=true
-# sda7:
-# - system_b with older partition scheme
-# - single system with newer partition cheme
-ExecStart=mount -t ext4 -o ro /dev/sda7 /lib/firmware/system
-ExecStop=umount /lib/firmware/system
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
index 994ff6d..dd03753 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
@@ -3,22 +3,17 @@ DESCRIPTION = "QCOM Firmware for DragonBoard 845c"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE.qcom.txt;md5=cbbe399f2c983ad51768f4561587f000"
-SRC_URI = "https://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_${PV}.zip \
- file://generate_board-2_json.sh"
+SRC_URI = "https://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_${PV}.zip;subdir=${BP}"
SRC_URI[md5sum] = "ad69855a1275547b16d94a1b5405ac62"
SRC_URI[sha256sum] = "4289d2f2a7124b104d0274879e702aae9b1e50c42eec3747f8584c6744ef65e3"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-DEPENDS += "bash-native qca-swiss-army-knife-native"
+DEPENDS += "qca-swiss-army-knife-native"
inherit python3native
-S = "${WORKDIR}"
-
do_compile() {
# Build board-2.bin needed by WiFi
- mkdir -p bdf
- cp ./38-bdwlan_split/bdwlan*.* bdf
- bash generate_board-2_json.sh bdf board-2.json
+ ath10k-generate-board-2_json.sh ./38-bdwlan_split board-2.json
python3 "${STAGING_BINDIR_NATIVE}/ath10k-bdencoder" -c board-2.json -o board-2.bin
}
@@ -26,7 +21,7 @@ do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/
install -d ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
- install -m 0444 ./17-USB3-201-202-FW/K2026090.mem ${D}${nonarch_base_libdir}/firmware/
+ 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
diff --git a/recipes-bsp/firmware/firmware-qcom-rb5_1.0.bb b/recipes-bsp/firmware/firmware-qcom-rb5_1.0.bb
deleted file mode 100644
index 6201bf0..0000000
--- a/recipes-bsp/firmware/firmware-qcom-rb5_1.0.bb
+++ /dev/null
@@ -1,116 +0,0 @@
-# Provide base URI of NHLOS_Binaries.zip and adreno_1.0_qrb5165_rb5.tar.gz
-# files. Use "file://" if those files are copied into
-# recipes-bsp/firmware/files/ directory.
-# NHLOS_URI ?= "file://"
-# ADRENO_URI ?= "file://"
-
-DESCRIPTION = "QCOM Firmware for Qualcomm Robotics RB5 platform"
-
-LICENSE = "Proprietary"
-
-# There is no license file in the archive
-#LIC_FILES_CHKSUM = "file://license.txt;md5="
-ERROR_QA_remove = "license-checksum"
-
-NHLOS_ARCHIVE = "NHLOS_Binaries.zip"
-ADRENO_ARCHIVE = "adreno_1.0_qrb5165_rb5.tar.gz"
-
-SRC_URI_NHLOS = "${NHLOS_URI}${NHLOS_ARCHIVE}"
-SRC_URI_ADRENO = "${ADRENO_URI}${ADRENO_ARCHIVE};unpack=0"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-# do_unpack is written in Python, so let's use do_compile here
-do_compile() {
- if [ -r ${WORKDIR}/${ADRENO_ARCHIVE} ] ; then
- tar xzf ${WORKDIR}/${ADRENO_ARCHIVE} .//lib/firmware
- fi
-}
-
-do_install() {
- if [ -n "${ADRENO_URI}" ] ; then
- install -d ${D}${nonarch_base_libdir}/firmware/qcom
- install -m 0444 ./lib/firmware/a650_*.* ${D}${nonarch_base_libdir}/firmware/qcom
- else
- install -d ${D}${nonarch_base_libdir}/firmware/qcom
- install -d ${D}${nonarch_base_libdir}/firmware/system
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/lib-firmware-system.service ${D}${systemd_system_unitdir}
-
- # Symlink firmware to proper paths.
- for img in a650_gmu.bin a650_sqe.fw a650_zap.mdt a650_zap.elf a650_zap.b00 a650_zap.b01 a650_zap.b02
- do
- ln -s ../system/lib/firmware/${img} ${D}${nonarch_base_libdir}/firmware/qcom
- done
- fi
-
- if [ -n "${NHLOS_URI}" ] ; then
- cd ${WORKDIR}/NHLOS_Binaries
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -m 0444 adsp.b* adsp.mdt adspr.jsn adspua.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -m 0444 cdsp.b* cdsp.mdt cdspr.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -m 0444 slpi.b* slpi.mdt ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -m 0444 venus.b* venus.mdt ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
-
- install -d ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/
- install -m 0444 bdwlan.e04 ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/board.bin
-
- install -m 0444 verinfo/Ver_Info.txt ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- cd ..
- else
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -d ${D}${nonarch_base_libdir}/firmware/modem
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/lib-firmware-modem.service ${D}${systemd_system_unitdir}
-
- # Unfortunately Qualcomm firmware partition uses different layout there, so we have to symlink firmware to proper paths.
- # Bettere be safe than sorry. Install more links that are actually present there in case firmware is changed.
- for base in adsp cdsp slpi venus
- do
- for idx in $(seq 0 20)
- do
- ln -s ../../modem/image/$base.b`printf %02d $idx` ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- done
- ln -s ../../modem/image/${base}.mdt ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- done
- for img in adspr adspua cdspr
- do
- ln -s ../../modem/image/${img}.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- done
-
- install -d ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/
- ln -s ../../../modem/image/bdwlan.e04 ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/board.bin
- fi
-}
-
-inherit systemd
-
-FILES_${PN} += "${nonarch_base_libdir}/firmware/"
-INSANE_SKIP_${PN} += "arch"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_DEFAULT_DEPS = "1"
-
-# We list firmware-qcom-rb5 in RRECOMMENDS, so we can not skip the recipe here
-# If firmware files are not provided, do not download/package anything
-python () {
- if d.getVar("NHLOS_URI") == "" and d.getVar("ADRENO_URI") == "":
- bb.warn("Not packaging RB5 firmware. Please update HNLOS_URI and ADRENO_URI")
-
- uri = d.getVar("NHLOS_URI")
- if uri != None and uri != "":
- d.appendVar("SRC_URI", " ${SRC_URI_NHLOS}")
- d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot')
- else:
- d.appendVar("SRC_URI", " file://lib-firmware-modem.service")
- d.appendVar("SYSTEMD_SERVICE_" + d.getVar("PN"), " lib-firmware-modem.service")
-
- uri = d.getVar("ADRENO_URI")
- if uri != None and uri != "":
- d.appendVar("SRC_URI", " ${SRC_URI_ADRENO}")
- else:
- d.appendVar("SRC_URI", " file://lib-firmware-system.service")
- d.appendVar("SYSTEMD_SERVICE_" + d.getVar("PN"), " lib-firmware-system.service")
-}
diff --git a/recipes-bsp/firmware/firmware-qcom-rb5_20210118133815-v2.bb b/recipes-bsp/firmware/firmware-qcom-rb5_20210118133815-v2.bb
new file mode 100644
index 0000000..da3f19b
--- /dev/null
+++ b/recipes-bsp/firmware/firmware-qcom-rb5_20210118133815-v2.bb
@@ -0,0 +1,71 @@
+# Provide base URI of NHLOS_Binaries.zip and adreno_1.0_qrb5165_rb5.tar.gz
+# files. Use "file://" if those files are copied into
+# recipes-bsp/firmware/files/ directory.
+# NHLOS_URI ?= "file://"
+# ADRENO_URI ?= "file://"
+
+DESCRIPTION = "QCOM Firmware for Qualcomm Robotics RB5 platform"
+
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://LICENSE.qcom.txt;md5=cbbe399f2c983ad51768f4561587f000"
+
+SRC_URI = " \
+ http://releases.linaro.org/96boards/rb5/qualcomm/firmware/RB5_firmware_${PV}.zip;subdir=${BP} \
+"
+SRC_URI[md5sum] = "d9289f59fe4f93ce433707294c9286ca"
+SRC_URI[sha256sum] = "9d7b42916d83c8f721258175b8d7a9ed758ebe02228d36099e6ea1a2b2a556d3"
+
+DEPENDS += "qca-swiss-army-knife-native"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+VENUS_FW = "vpu-1.0"
+
+do_compile() {
+ # Build board-2.bin needed by WiFi
+ ath11k-generate-board-2_json.sh ./38-bdwlan_split board-2.json
+ python3 "${STAGING_BINDIR_NATIVE}/ath10k-bdencoder" -m ath11k -c board-2.json -o board-2.bin
+}
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
+
+ install -m 0444 ./18-adreno-fw/a650_gmu.bin ${D}${nonarch_base_libdir}/firmware/qcom
+ install -m 0444 ./18-adreno-fw/a650_sqe.fw ${D}${nonarch_base_libdir}/firmware/qcom
+ install -m 0444 ./18-adreno-fw/a650_zap.elf ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/a650_zap.mbn
+
+ install -m 0444 ./20-adsp_split/adsp.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
+ install -m 0444 ./21-cdsp_split/cdsp.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
+ install -m 0444 ./30-slpi_split/slpi.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
+
+ install -m 0444 ./39-jsn/*.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
+
+ install -d ${D}${nonarch_base_libdir}/firmware/qcom/${VENUS_FW}
+ install -m 0444 ./33-venus_split/venus.b* ./33-venus_split/venus.mdt ${D}${nonarch_base_libdir}/firmware/qcom/${VENUS_FW}
+
+ 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
+
+ install -d ${D}${sysconfdir}/
+ install -m 0644 LICENSE.qcom.txt ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
+}
+
+FILES_${PN} += "${nonarch_base_libdir}/firmware/"
+INSANE_SKIP_${PN} += "arch"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_DEFAULT_DEPS = "1"
+
+RPROVIDES_${PN} += "linux-firmware-qcom-adreno-a650"
+RREPLACES_${PN} += "linux-firmware-qcom-adreno-a650"
+RCONFLICTS_${PN} += "linux-firmware-qcom-adreno-a650"
+
+RPROVIDES_${PN} += "linux-firmware-qcom-${VENUS_FW}"
+RREPLACES_${PN} += "linux-firmware-qcom-${VENUS_FW}"
+RCONFLICTS_${PN} += "linux-firmware-qcom-${VENUS_FW}"
+
+inherit update-alternatives
+
+ALTERNATIVE_${PN} = "qca6390-board2"
+ALTERNATIVE_LINK_NAME[qca6390-board2] = "/lib/firmware/ath11k/QCA6390/hw2.0/board-2.bin"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb
new file mode 100644
index 0000000..e6ae271
--- /dev/null
+++ b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Upgrade Lontium LT9611UXC firmware to the latest image"
+
+SRC_URI = "file://lt9611uxc.service file://lt9611uxc-upgrade.sh"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit systemd
+
+RDEPENDS_${PN} += "linux-firmware-lt9611uxc"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/lt9611uxc-upgrade.sh ${D}${bindir}
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/lt9611uxc.service ${D}${systemd_system_unitdir}
+}
+
+SYSTEMD_SERVICE_${PN} = "lt9611uxc.service"
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh
new file mode 100644
index 0000000..0886980
--- /dev/null
+++ b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+if [ ! -r /lib/firmware/lt9611uxc_fw.bin ] ; then
+ echo "LT9611UXC firmware not found"
+ exit 1
+fi
+
+if [ ! -d /sys/bus/i2c/drivers/lt9611uxc ] ; then
+ modprobe lontium-lt9611uxc
+ sleep 1
+fi
+
+for f in /sys/bus/i2c/drivers/lt9611uxc/* ; do
+ [ -L $f ] || continue
+ version=`cat $f/lt9611uxc_firmware`
+ if [ "$version" -lt "43" ] ; then
+ echo > $f/lt9611uxc_firmware
+ fi
+done
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service
new file mode 100644
index 0000000..c55e8ff
--- /dev/null
+++ b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Update LT9611UXC Firmware
+ConditionOnFirstBoot=true
+After=systemd-udev-settle.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/lt9611uxc-upgrade.sh
+
+[Install]
+WantedBy=getty.target
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard845c/generate_board-2_json.sh b/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife/ath10k-generate-board-2_json.sh
index 3a1d532..373689f 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard845c/generate_board-2_json.sh
+++ b/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife/ath10k-generate-board-2_json.sh
@@ -1,20 +1,27 @@
+#!/bin/sh
+
JSON="$2"
iter=0
echo "[" > "${JSON}"
for file in $1/bdwlan.*; do
- [[ $file == *.txt ]] && continue
+ case `basename "${file}"` in
+ *.txt)
+ continue
+ ;;
+ bdwlan.bin)
+ file_ext="ff"
+ ;;
+ bdwlan.*)
+ file_ext="$(basename "${file}" | sed -E 's:^.*\.b?0*([0-9a-f]+)$:\1:')"
+ ;;
+ esac
iter=$((iter+1))
[ $iter -ne 1 ] && echo " }," >> "${JSON}"
echo " {" >> "${JSON}"
echo " \"data\": \"$file\"," >> "${JSON}"
- if [[ $file == */bdwlan.bin ]]; then
- file_ext="ff"
- else
- file_ext="$(printf '%x\n' "$(basename "${file}" | sed -E 's:^.*\.b?([0-9a-f]*)$:0x\1:')")"
- fi
echo " \"names\": [\"bus=snoc,qmi-board-id=${file_ext}\"]" >> "${JSON}"
done
diff --git a/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife/ath11k-generate-board-2_json.sh b/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife/ath11k-generate-board-2_json.sh
new file mode 100644
index 0000000..0e3cc10
--- /dev/null
+++ b/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife/ath11k-generate-board-2_json.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+JSON="$2"
+
+iter=0
+echo "[" > "${JSON}"
+for file in $1/bdwlan.elf $1/bdwlan.e* ; do
+ iter=$((iter+1))
+ [ $iter -ne 1 ] && echo " }," >> "${JSON}"
+
+ echo " {" >> "${JSON}"
+ echo " \"data\": \"$file\"," >> "${JSON}"
+ if [ `basename $file` = "bdwlan.elf" ]; then
+ file_ext="255"
+ else
+ file_ext="$(( $(basename "${file}" | sed -E 's:^.*\.e?([0-9a-f]*)$:0x\1:') ))"
+ fi
+ echo " \"names\": [\"bus=pci,qmi-chip-id=0,qmi-board-id=${file_ext}\"]" >> "${JSON}"
+done
+
+echo " }" >> "${JSON}"
+echo "]" >> "${JSON}"
+
diff --git a/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife_git.bb b/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife_git.bb
index e3c6dca..6a31f7a 100644
--- a/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife_git.bb
+++ b/recipes-devtools/qca-swiss-army-knife/qca-swiss-army-knife_git.bb
@@ -13,6 +13,8 @@ SRC_URI = " \
file://0001-read-powers-port-to-python3.patch \
file://0002-ath10k-fwencoder-port-to-python3.patch \
file://0003-scripts-port-to-python3.patch \
+ file://ath10k-generate-board-2_json.sh \
+ file://ath11k-generate-board-2_json.sh \
"
PV = "0.0+${SRCPV}"
@@ -21,6 +23,8 @@ S = "${WORKDIR}/git"
do_install () {
install -d ${D}/${bindir}
install -m 0755 tools/scripts/*/* ${D}/${bindir}
+ install -m 0755 ${WORKDIR}/ath10k-generate-board-2_json.sh ${D}/${bindir}
+ install -m 0755 ${WORKDIR}/ath11k-generate-board-2_json.sh ${D}/${bindir}
}
BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
index 446f5ee..873cafc 100644
--- a/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
+++ b/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -1,7 +1,7 @@
-From ca1043af699f23ffe33a9f44a40f6714b925008f Mon Sep 17 00:00:00 2001
+From aae6b7833f86c3504c0c4f880da503164e25ba4a Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair@alistair23.me>
Date: Thu, 14 Nov 2019 13:04:49 -0800
-Subject: [PATCH] meson.build: check for all linux host_os combinations
+Subject: [PATCH 1/5] meson.build: check for all linux host_os combinations
Make sure that we are also looking for our host_os combinations like
linux-musl etc. when assuming support for DRM/KMS.
@@ -14,13 +14,12 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Alistair Francis <alistair@alistair23.me>
-
---
meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
-index e26ba52ba70..08a4793b63e 100644
+index 932eb136681..efc61711f4d 100644
--- a/meson.build
+++ b/meson.build
@@ -153,7 +153,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
@@ -36,8 +35,11 @@ index e26ba52ba70..08a4793b63e 100644
endif
# TODO: this is very incomplete
--if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd'].contains(host_machine.system())
-+if ['cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system()) or host_machine.system().startswith('linux')
+-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system())
++if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux')
pre_args += '-D_GNU_SOURCE'
elif host_machine.system() == 'sunos'
pre_args += '-D__EXTENSIONS__'
+--
+2.30.0
+
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 8709da3..80fd1ff 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 86ba53b592aca0dd7928f7fe5d706db385fcf6cf Mon Sep 17 00:00:00 2001
+From 3758cfb761ee0981ea8278f1c3f2f8633234d317 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,30 +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 | 2 +-
meson_options.txt | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index 08a4793b63e..70962fbb3f4 100644
+index efc61711f4d..bda122b6465 100644
--- a/meson.build
+++ b/meson.build
-@@ -450,7 +450,7 @@ endif
+@@ -448,7 +448,7 @@ endif
# Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
use_elf_tls = false
--if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
+-if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
+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
endif
diff --git a/meson_options.txt b/meson_options.txt
-index 6810602ead9..057e3bebe32 100644
+index fc73f6e1c24..d7482c0ab84 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -414,6 +414,12 @@ option(
+@@ -420,6 +420,12 @@ option(
value : true,
description : 'Enable direct rendering in GLX and EGL for DRI',
)
@@ -44,3 +43,6 @@ index 6810602ead9..057e3bebe32 100644
option(
'prefer-iris',
type : 'boolean',
+--
+2.30.0
+
diff --git a/recipes-graphics/mesa/files/fix-meson-config-compat.patch b/recipes-graphics/mesa/files/fix-meson-config-compat.patch
deleted file mode 100644
index f22f8aa..0000000
--- a/recipes-graphics/mesa/files/fix-meson-config-compat.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From f0794ab48d95d570077ece0f01c4ea5d15fc8e62 Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Wed, 2 Sep 2020 15:37:55 -0500
-Subject: [PATCH] mesa: adapt meson script to restore compatibility with
-
- release one
-
-During this development cycle meson script was changed to stop accepting
-empty values. This causes issues using some build options from OE-core's
-mesa.inc. Restore this compatibility by patching in support for empty
-values.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-
----
- meson_options.txt | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/meson_options.txt b/meson_options.txt
-index eb8eaa84b08..77c1494ec95 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -51,7 +51,7 @@ option(
- 'dri-drivers',
- type : 'array',
- value : ['auto'],
-- choices : ['auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'],
-+ choices : ['', 'auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'],
- description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
- )
- option(
-@@ -71,7 +71,7 @@ option(
- type : 'array',
- value : ['auto'],
- choices : [
-- 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
-+ '', 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
- 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
- 'swr', 'panfrost', 'iris', 'lima', 'zink', 'd3d12'
- ],
-@@ -184,7 +184,7 @@ option(
- 'vulkan-drivers',
- type : 'array',
- value : ['auto'],
-- choices : ['auto', 'amd', 'broadcom', 'freedreno', 'intel', 'swrast'],
-+ choices : ['', 'auto', 'amd', 'broadcom', 'freedreno', 'intel', 'swrast'],
- description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
- )
- option(
diff --git a/recipes-graphics/mesa/mesa_20.3.0-rc2.bb b/recipes-graphics/mesa/mesa_20.3.0-rc2.bb
deleted file mode 100644
index 188dd63..0000000
--- a/recipes-graphics/mesa/mesa_20.3.0-rc2.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-graphics/mesa/mesa.inc
-
-FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-graphics/mesa/files:"
-
-SRC_URI[sha256sum] = "671bfc98724ca04ccda3255d9aa7fe3c730b10477446983a708305d00e9f5b5b"
-
-SRC_URI_remove = " \
- file://0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch \
- file://0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch \
-"
-
-# Do not select this version by default
-DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_sm8250 = "1"
diff --git a/recipes-graphics/mesa/mesa_git.bb b/recipes-graphics/mesa/mesa_git.bb
index bd737a5..871d560 100644
--- a/recipes-graphics/mesa/mesa_git.bb
+++ b/recipes-graphics/mesa/mesa_git.bb
@@ -6,11 +6,10 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/mesa.git;protocol=https \
file://0003-Allow-enable-DRI-without-DRI-drivers.patch \
file://0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch \
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
- file://fix-meson-config-compat.patch \
"
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9aa1bc48c9826ad9fdb16661f6930496"
-SRCREV = "533f6debb17b02ee9f92f51c19a2da9c0700bca1"
+SRCREV = "13f92183c7dbff9d76a83656862d0b2c2536e25d"
#SRCREV_sm8250 = "${AUTOREV}"
PLATFORMS_remove = "drm surfaceless"
@@ -28,8 +27,8 @@ 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-default-skips.txt ${D}/${datadir}/mesa/
- for f in ${S}/.gitlab-ci/deqp-freedreno-*; do
+ install -m 0644 ${S}/ci-expects/default/deqp-default-skips.txt ${D}/${datadir}/mesa/
+ for f in ${S}/ci-expects/freedreno/deqp-freedreno-*; do
install -m 0644 $f ${D}/${datadir}/mesa/
done
diff --git a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
new file mode 100644
index 0000000..3679a64
--- /dev/null
+++ b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
@@ -0,0 +1,4 @@
+inherit update-alternatives
+
+ALTERNATIVE_${PN}-ath11k = "qca6390-board2"
+ALTERNATIVE_LINK_NAME[qca6390-board2] = "/lib/firmware/ath11k/QCA6390/hw2.0/board-2.bin"
diff --git a/recipes-kernel/linux/linux-linaro-qcom.inc b/recipes-kernel/linux/linux-linaro-qcom.inc
index f1d5795..4e78597 100644
--- a/recipes-kernel/linux/linux-linaro-qcom.inc
+++ b/recipes-kernel/linux/linux-linaro-qcom.inc
@@ -81,13 +81,3 @@ do_configure_prepend() {
yes '' | oe_runmake -C ${S} O=${B} oldconfig
oe_runmake -C ${S} O=${B} savedefconfig && cp ${B}/defconfig ${WORKDIR}/defconfig.saved
}
-
-# append DTB
-do_compile_append() {
- if ! [ -e ${B}/arch/${ARCH}/boot/dts/${KERNEL_DEVICETREE} ] ; then
- oe_runmake ${KERNEL_DEVICETREE}
- fi
- cp arch/${ARCH}/boot/${KERNEL_IMAGETYPE} arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup
- cat arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup arch/${ARCH}/boot/dts/${KERNEL_DEVICETREE} > arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
- rm -f arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup
-}
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
index 6c66d8e..01a4502 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
@@ -9,7 +9,7 @@ require recipes-kernel/linux/linux-qcom-bootimg.inc
LOCALVERSION ?= "-linaro-lt-qcom"
-SRCBRANCH = "release/rb5/qcomlt-5.10"
-SRCREV = "59db0bbc0b0399254e4a1a08566bed91b0bdc45a"
+SRCBRANCH = "release/qcomlt-5.10"
+SRCREV = "9ab492e76768cd1bd9f2da52004ed537c8b329f3"
-COMPATIBLE_MACHINE = "(sm8250)"
+COMPATIBLE_MACHINE = "(qcom)"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.11.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.11.bb
new file mode 100644
index 0000000..9ff0647
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.11.bb
@@ -0,0 +1,15 @@
+# Copyright (C) 2014-2020 Linaro
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Linaro Qualcomm Landing team 5.11 Kernel"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+require recipes-kernel/linux/linux-linaro-qcom.inc
+require recipes-kernel/linux/linux-qcom-bootimg.inc
+
+LOCALVERSION ?= "-linaro-lt-qcom"
+
+SRCBRANCH = "release/rb5/qcomlt-5.11"
+SRCREV = "84882774d77f1f841b01142219eea531b135655c"
+
+COMPATIBLE_MACHINE = "(sm8250)"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
index d59db58..88b33be 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
@@ -23,7 +23,7 @@ LOCALVERSION ?= "-linaro-lt-qcom"
SRCBRANCH ?= "release/qcomlt-5.7"
SRCREV ?= "4af49ea41ecf17e5e6243f3ac81dfc2f84d8a3a1"
-COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845|sm8250)"
+COMPATIBLE_MACHINE = "(qcom)"
# Wifi firmware has a recognizable arch :(
ERROR_QA_remove = "arch"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
index afc22b0..118ff78 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
@@ -10,9 +10,9 @@ require recipes-kernel/linux/linux-qcom-bootimg.inc
LOCALVERSION ?= "-linaro-lt-qcom"
SRCBRANCH ?= "release/qcomlt-5.9"
-SRCREV ?= "dfc69bfc93c0d2f943d21340e55a61c391794a71"
+SRCREV ?= "b5ff44498a19a685aa10a07ec67e3d12bc95a33a"
SRCBRANCH_sm8250 = "release/rb5/qcomlt-5.9"
SRCREV_sm8250 = "6d5a9a5da79684f69e4c66a7cf9108ab4e77025f"
-COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845|sm8250)"
+COMPATIBLE_MACHINE = "(qcom)"
diff --git a/recipes-kernel/linux/linux-qcom-bootimg.inc b/recipes-kernel/linux/linux-qcom-bootimg.inc
index 8a8a407..15b3397 100644
--- a/recipes-kernel/linux/linux-qcom-bootimg.inc
+++ b/recipes-kernel/linux/linux-qcom-bootimg.inc
@@ -1,49 +1,104 @@
-DEPENDS += "skales-native"
-
-QCOM_BOOTIMG_ROOTFS ?= "undefined"
-SD_QCOM_BOOTIMG_ROOTFS ?= "undefined"
-
-# set output file names
-BOOT_IMAGE_BASE_NAME = "boot-${KERNEL_IMAGE_NAME}"
-BOOT_IMAGE_SYMLINK_NAME = "boot-${KERNEL_IMAGE_LINK_NAME}"
-SD_BOOT_IMAGE_BASE_NAME = "boot-sd${KERNEL_IMAGE_NAME}"
-SD_BOOT_IMAGE_SYMLINK_NAME = "boot-sd-${KERNEL_IMAGE_LINK_NAME}"
-KERNEL_CMDLINE = "root=${1} rw rootwait console=${ttydev},${baudrate}n8"
-KERNEL_CMDLINE_append_dragonboard-845c = " clk_ignore_unused pd_ignore_unused"
-KERNEL_CMDLINE_append_qrb5165-rb5 = " pcie_pme=nomsi"
-
-# param ${1} partition where rootfs is located
-# param ${2} output boot image file name
-priv_make_image() {
- ${STAGING_BINDIR_NATIVE}/skales/mkbootimg --kernel ${B}/arch/${ARCH}/boot/${KERNEL_IMAGETYPE} \
- --ramdisk ${B}/initrd.img \
- --output ${DEPLOYDIR}/${2}.img \
- --pagesize ${QCOM_BOOTIMG_PAGE_SIZE} \
- --base ${QCOM_BOOTIMG_KERNEL_BASE} \
- --cmdline "${KERNEL_CMDLINE}"
-}
+QIMG_DEPLOYDIR = "${WORKDIR}/qcom_deploy-${PN}"
+
+python do_qcom_img_deploy() {
+ import shutil
+ import subprocess
+
+ subdir = d.getVar("KERNEL_DEPLOYSUBDIR")
+ if subdir is not None:
+ qcom_deploy_dir = os.path.join(d.getVar("QIMG_DEPLOYDIR"), subdir)
+ image_dir = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), subdir)
+ else:
+ qcom_deploy_dir = d.getVar("QIMG_DEPLOYDIR")
+ image_dir = d.getVar("DEPLOY_DIR_IMAGE")
+
+ B = d.getVar("B")
+ D = d.getVar("D")
+ kernel_output_dir = d.getVar("KERNEL_OUTPUT_DIR")
+ kernel_imagedest = d.getVar("KERNEL_IMAGEDEST")
+ kernel = os.path.join(B, "kernel-dtb")
+ definitrd = os.path.join(B, "initrd.img")
+ mkbootimg = os.path.join(d.getVar("STAGING_BINDIR_NATIVE"), "skales", "mkbootimg")
+ kernel_image_name = d.getVar("KERNEL_IMAGE_NAME")
+ kernel_link_name = d.getVar("KERNEL_IMAGE_LINK_NAME")
+ output_img = os.path.join(qcom_deploy_dir, "boot-%s.img" % (kernel_link_name))
+ output_sd_img = os.path.join(qcom_deploy_dir, "boot-sd-%s.img" % (kernel_link_name))
+
+ arch = d.getVar("ARCH")
+ if arch is "arm":
+ kernel_name = "zImage"
+ elif arch is "arm64":
+ kernel_name = "Image.gz"
+ else:
+ bb.fatal("Unuspported ARCH %s" % arch)
+
+ if os.path.exists(output_img):
+ os.unlink(output_img)
+ if os.path.exists(output_sd_img):
+ os.unlink(output_sd_img)
+
+ with open(definitrd, "w") as f:
+ f.write("This is not an initrd\n")
-do_deploy_append() {
+ for dtbf in d.getVar("KERNEL_DEVICETREE").split():
+ dtb = os.path.basename(dtbf)
+ dtb_name = dtb.rsplit('.', 1)[0]
- tmp="${SERIAL_CONSOLES}"
- baudrate=`echo $tmp | sed 's/\;.*//'`
- ttydev=`echo $tmp | sed -e 's/^[0-9]*\;//' -e 's/\s.*//' -e 's/\;.*//'`
+ def getVarDTB(name):
+ return d.getVarFlag(name, dtb_name) or d.getVar(name)
+
+ def make_image(template, rootfs):
+ output = os.path.join(qcom_deploy_dir, template % (dtb_name, kernel_image_name))
+ output_link = os.path.join(qcom_deploy_dir, template % (dtb_name, kernel_link_name))
+ subprocess.check_call([mkbootimg,
+ "--kernel", kernel,
+ "--ramdisk", definitrd,
+ "--output", output,
+ "--pagesize", getVarDTB("QCOM_BOOTIMG_PAGE_SIZE"),
+ "--base", getVarDTB("QCOM_BOOTIMG_KERNEL_BASE"),
+ "--cmdline", "root=%s rw rootwait %s %s" % (rootfs, consoles, getVarDTB("KERNEL_CMDLINE_EXTRA") or "")])
+ if os.path.exists(output_link):
+ os.unlink(output_link)
+ os.symlink(os.path.basename(output), output_link)
+ return output
+
+ consoles = ' '.join(map(lambda c: "console=%(tty)s,%(rate)sn8" % dict(zip(("rate", "tty"), c.split(';'))), getVarDTB("SERIAL_CONSOLES").split()))
+
+ # prepare kernel image with appended dtb
+ with open(kernel, 'wb') as wfd:
+ with open(os.path.join(kernel_output_dir, kernel_name), 'rb') as rfd:
+ shutil.copyfileobj(rfd, wfd)
+ with open(os.path.join(D, kernel_imagedest, dtb), 'rb') as rfd:
+ shutil.copyfileobj(rfd, wfd)
+
+ rootfs = getVarDTB("QCOM_BOOTIMG_ROOTFS")
+ if not rootfs or rootfs is "":
+ bb.fatal("QCOM_BOOTIMG_ROOTFS is undefined")
+
+ output = make_image("boot-%s-%s.img", rootfs)
+ if not os.path.exists(output_img):
+ os.symlink(os.path.basename(output), output_img)
+
+ sd_rootfs = getVarDTB("SD_QCOM_BOOTIMG_ROOTFS")
+ if sd_rootfs:
+ output = make_image("boot-sd-%s-%s.img", sd_rootfs)
+ if not os.path.exists(output_sd_img):
+ os.symlink(os.path.basename(output), output_sd_img)
+}
- # mkbootimg requires an initrd file, make fake one that will be ignored
- # during boot
- echo "This is not an initrd" > ${B}/initrd.img
+do_qcom_img_deploy[depends] += "skales-native:do_populate_sysroot"
- # don't build bootimg if rootfs partition is not defined
- if [ "${QCOM_BOOTIMG_ROOTFS}" = "undefined" ]; then
- bbfatal "Rootfs partition must be defined"
- fi
+addtask qcom_img_deploy after do_populate_sysroot do_packagedata bundle_initramfs before do_deploy
- priv_make_image ${QCOM_BOOTIMG_ROOTFS} ${BOOT_IMAGE_BASE_NAME}
- ln -sf ${BOOT_IMAGE_BASE_NAME}.img ${DEPLOYDIR}/${BOOT_IMAGE_SYMLINK_NAME}.img
+# Setup sstate, see deploy.bbclass
+SSTATETASKS += "do_qcom_img_deploy"
+do_qcom_img_deploy[sstate-inputdirs] = "${QIMG_DEPLOYDIR}"
+do_qcom_img_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
- # build sd boot image only for machines supporting it.
- if [ "${SD_QCOM_BOOTIMG_ROOTFS}" != "undefined" ]; then
- priv_make_image ${SD_QCOM_BOOTIMG_ROOTFS} ${SD_BOOT_IMAGE_BASE_NAME}
- ln -sf ${SD_BOOT_IMAGE_BASE_NAME}.img ${DEPLOYDIR}/${SD_BOOT_IMAGE_SYMLINK_NAME}.img
- fi
+python do_qcom_img_deploy_setscene () {
+ sstate_setscene(d)
}
+addtask do_qcom_img_deploy_setscene
+do_qcom_img_deploy[dirs] = "${QIMG_DEPLOYDIR} ${B}"
+do_qcom_img_deploy[cleandirs] = "${QIMG_DEPLOYDIR}"
+do_qcom_img_deploy[stamp-extra-info] = "${MACHINE_ARCH}"
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-lpass-add-codec-sequences-for-wsa-and-va.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-lpass-add-codec-sequences-for-wsa-and-va.patch
index 8e109d0..7f664b1 100644
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-lpass-add-codec-sequences-for-wsa-and-va.patch
+++ b/recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-lpass-add-codec-sequences-for-wsa-and-va.patch
@@ -21,50 +21,55 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
diff --git a/ucm2/codecs/lpass/va-macro/DMIC0DisableSeq.conf b/ucm2/codecs/lpass/va-macro/DMIC0DisableSeq.conf
new file mode 100644
-index 000000000000..457344e71e1b
+index 0000000..ec3f45a
--- /dev/null
+++ b/ucm2/codecs/lpass/va-macro/DMIC0DisableSeq.conf
-@@ -0,0 +1,3 @@
-+cset "name='VA DMIC MUX0' ZERO"
-+cset "name='VA_DEC0 Volume' 0"
-+cset "name='VA_AIF1_CAP Mixer DEC0' 0"
+@@ -0,0 +1,5 @@
++DisableSequence [
++ cset "name='VA DMIC MUX0' ZERO"
++ cset "name='VA_DEC0 Volume' 0"
++ cset "name='VA_AIF1_CAP Mixer DEC0' 0"
++]
diff --git a/ucm2/codecs/lpass/va-macro/DMIC0EnableSeq.conf b/ucm2/codecs/lpass/va-macro/DMIC0EnableSeq.conf
new file mode 100644
-index 000000000000..11b428f868ac
+index 0000000..bd6e8f5
--- /dev/null
+++ b/ucm2/codecs/lpass/va-macro/DMIC0EnableSeq.conf
-@@ -0,0 +1,3 @@
-+cset "name='VA DMIC MUX0' DMIC0"
-+cset "name='VA_AIF1_CAP Mixer DEC0' 1"
-+cset "name='VA_DEC0 Volume' 100"
+@@ -0,0 +1,5 @@
++EnableSequence [
++ cset "name='VA DMIC MUX0' DMIC0"
++ cset "name='VA_AIF1_CAP Mixer DEC0' 1"
++ cset "name='VA_DEC0 Volume' 100"
++]
diff --git a/ucm2/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf b/ucm2/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf
new file mode 100644
-index 000000000000..d84463e751fa
+index 0000000..1f27d4c
--- /dev/null
+++ b/ucm2/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf
-@@ -0,0 +1,8 @@
-+cset "name='WSA_RX0 Digital Volume' 0"
-+cset "name='WSA_RX1 Digital Volume' 0"
-+cset "name='WSA_COMP1 Switch' 0"
-+cset "name='WSA_COMP2 Switch' 0"
-+cset "name='WSA_RX0 INP0' ZERO"
-+cset "name='WSA_RX1 INP0' ZERO"
-+cset "name='WSA RX0 MUX' ZERO"
-+cset "name='WSA RX1 MUX' ZERO"
+@@ -0,0 +1,10 @@
++DisableSequence [
++ cset "name='WSA_RX0 Digital Volume' 0"
++ cset "name='WSA_RX1 Digital Volume' 0"
++ cset "name='WSA_COMP1 Switch' 0"
++ cset "name='WSA_COMP2 Switch' 0"
++ cset "name='WSA_RX0 INP0' ZERO"
++ cset "name='WSA_RX1 INP0' ZERO"
++ cset "name='WSA RX0 MUX' ZERO"
++ cset "name='WSA RX1 MUX' ZERO"
++]
diff --git a/ucm2/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf b/ucm2/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf
new file mode 100644
-index 000000000000..4e9faceab70b
+index 0000000..618bab4
--- /dev/null
+++ b/ucm2/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf
-@@ -0,0 +1,8 @@
-+cset "name='WSA RX0 MUX' AIF1_PB"
-+cset "name='WSA RX1 MUX' AIF1_PB"
-+cset "name='WSA_RX0 INP0' RX0"
-+cset "name='WSA_RX1 INP0' RX1"
-+cset "name='WSA_COMP1 Switch' 1"
-+cset "name='WSA_COMP2 Switch' 1"
-+cset "name='WSA_RX0 Digital Volume' 68"
-+cset "name='WSA_RX1 Digital Volume' 68"
---
-2.29.2
-
+@@ -0,0 +1,10 @@
++EnableSequence [
++ cset "name='WSA RX0 MUX' AIF1_PB"
++ cset "name='WSA RX1 MUX' AIF1_PB"
++ cset "name='WSA_RX0 INP0' RX0"
++ cset "name='WSA_RX1 INP0' RX1"
++ cset "name='WSA_COMP1 Switch' 1"
++ cset "name='WSA_COMP2 Switch' 1"
++ cset "name='WSA_RX0 Digital Volume' 68"
++ cset "name='WSA_RX1 Digital Volume' 68"
++]
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-add-support-to-for-Qualcomm-RB5-Platform.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-add-support-to-for-Qualcomm-RB5-Platform.patch
index 58a508d..452128e 100644
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-add-support-to-for-Qualcomm-RB5-Platform.patch
+++ b/recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-add-support-to-for-Qualcomm-RB5-Platform.patch
@@ -9,19 +9,19 @@ Onboard DMIC audio input.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
- ucm2/sm8250/HDMI.conf | 26 +++++++++++++
- ucm2/sm8250/HiFi.conf | 37 +++++++++++++++++++
- .../Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf | 11 ++++++
- 3 files changed, 74 insertions(+)
- create mode 100644 ucm2/sm8250/HDMI.conf
- create mode 100644 ucm2/sm8250/HiFi.conf
- create mode 100644 ucm2/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
+ ucm2/Qualcomm/sm8250/HDMI.conf | 26 ++++++++++++
+ ucm2/Qualcomm/sm8250/HiFi.conf | 46 ++++++++++++++++++++++
+ .../Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf | 11 ++++++
+ 3 files changed, 83 insertions(+)
+ create mode 100644 ucm2/Qualcomm/sm8250/HDMI.conf
+ create mode 100644 ucm2/Qualcomm/sm8250/HiFi.conf
+ create mode 100644 ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
-diff --git a/ucm2/sm8250/HDMI.conf b/ucm2/sm8250/HDMI.conf
+diff --git a/ucm2/Qualcomm/sm8250/HDMI.conf b/ucm2/Qualcomm/sm8250/HDMI.conf
new file mode 100644
-index 000000000000..a9594fd94af2
+index 0000000..a9594fd
--- /dev/null
-+++ b/ucm2/sm8250/HDMI.conf
++++ b/ucm2/Qualcomm/sm8250/HDMI.conf
@@ -0,0 +1,26 @@
+# Use case configuration for RB5 board.
+# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
@@ -49,12 +49,12 @@ index 000000000000..a9594fd94af2
+ PlaybackPriority 200
+ }
+}
-diff --git a/ucm2/sm8250/HiFi.conf b/ucm2/sm8250/HiFi.conf
+diff --git a/ucm2/Qualcomm/sm8250/HiFi.conf b/ucm2/Qualcomm/sm8250/HiFi.conf
new file mode 100644
-index 000000000000..484bb49057e7
+index 0000000..a310402
--- /dev/null
-+++ b/ucm2/sm8250/HiFi.conf
-@@ -0,0 +1,37 @@
++++ b/ucm2/Qualcomm/sm8250/HiFi.conf
+@@ -0,0 +1,46 @@
+# Use case configuration for Qualcomm RB5.
+# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+
@@ -62,11 +62,14 @@ index 000000000000..484bb49057e7
+
+ EnableSequence [
+ cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia2' 1"
-+ <codecs/wsa881x/DefaultEnableSeq.conf>
++ cset "name='MultiMedia3 Mixer VA_CODEC_DMA_TX_0' 1"
+ ]
+
++ Include.wsae.File "/codecs/wsa881x/DefaultEnableSeq.conf"
++
+ DisableSequence [
+ cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia2' 0"
++ cset "name='MultiMedia3 Mixer VA_CODEC_DMA_TX_0' 0"
+ ]
+
+ Value {
@@ -77,38 +80,41 @@ index 000000000000..484bb49057e7
+SectionDevice."Speaker" {
+ Comment "Speaker playback"
+
-+ EnableSequence [
-+ <codecs/lpass/wsa-macro/SpeakerEnableSeq.conf>
-+ <codecs/wsa881x/SpeakerEnableSeq.conf>
-+ ]
-+
-+ DisableSequence [
-+ <codecs/wsa881x/SpeakerDisableSeq.conf>
-+ <codecs/lpass/wsa-macro/SpeakerDisableSeq.conf>
-+ ]
++ Include.lpasswsae.File "/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf"
++ Include.wsae.File "/codecs/wsa881x/SpeakerEnableSeq.conf"
++ Include.wsad.File "/codecs/wsa881x/SpeakerDisableSeq.conf"
++ Include.lpasswsad.File "/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf"
+
+ Value {
+ PlaybackPriority 100
+ PlaybackPCM "hw:${CardId},1"
+ }
+}
-diff --git a/ucm2/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf b/ucm2/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
++
++SectionDevice."Mic" {
++ Comment "Mic"
++ Include.lpassvad.File "/codecs/lpass/va-macro/DMIC0EnableSeq.conf"
++ Include.lpassvad.File "/codecs/lpass/va-macro/DMIC0DisableSeq.conf"
++
++ Value {
++ CapturePriority 100
++ CapturePCM "hw:${CardId},2"
++ }
++}
+diff --git a/ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf b/ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
new file mode 100644
-index 000000000000..be2aea7aab22
+index 0000000..2fbca31
--- /dev/null
-+++ b/ucm2/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
++++ b/ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
@@ -0,0 +1,11 @@
+Syntax 3
+
+SectionUseCase."HiFi" {
-+ File "/sm8250/HiFi.conf"
++ File "/Qualcomm/sm8250/HiFi.conf"
+ Comment "HiFi quality Music."
+}
+
+SectionUseCase."HDMI" {
-+ File "/sm8250/HDMI.conf"
++ File "/Qualcomm/sm8250/HDMI.conf"
+ Comment "HDMI output."
+}
---
-2.29.2
-
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0003-ucm.conf-support-KernelModule-CardLongName.conf-path.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0003-ucm.conf-support-KernelModule-CardLongName.conf-path.patch
new file mode 100644
index 0000000..49f02b0
--- /dev/null
+++ b/recipes-multimedia/alsa/alsa-ucm-conf/0003-ucm.conf-support-KernelModule-CardLongName.conf-path.patch
@@ -0,0 +1,28 @@
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Fri, 29 Jan 2021 15:31:35 +0300
+Subject: ucm.conf: support KernelModule/CardLongName.conf paths
+
+Add support for 'ucm2/module/${KernelModule}/${CardLongName}.conf'
+paths.
+
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Change-Id: Ib006691e4b384543f97897c03fe575f8278e66f5
+---
+ ucm2/ucm.conf | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ucm2/ucm.conf b/ucm2/ucm.conf
+index 9e78df1..a9613a2 100644
+--- a/ucm2/ucm.conf
++++ b/ucm2/ucm.conf
+@@ -53,6 +53,10 @@ If.driver {
+ False {
+ Define.KernelModulePath "class/sound/card${CardNumber}/device/driver/module"
+ Define.KernelModule "$${sys:$KernelModulePath}"
++ UseCasePath.modulelongname {
++ Directory "module/${var:KernelModule}"
++ File "${CardLongName}.conf"
++ }
+ UseCasePath.module {
+ Directory "module"
+ File "${var:KernelModule}.conf"
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0004-module-add-new-symlink-for-Qualcomm-sdm845-driver.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0004-module-add-new-symlink-for-Qualcomm-sdm845-driver.patch
new file mode 100644
index 0000000..6d46996
--- /dev/null
+++ b/recipes-multimedia/alsa/alsa-ucm-conf/0004-module-add-new-symlink-for-Qualcomm-sdm845-driver.patch
@@ -0,0 +1,21 @@
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Fri, 29 Jan 2021 15:32:06 +0300
+Subject: module: add new symlink for Qualcomm/sdm845 driver
+
+Add module/snd_soc_sdm845 -> Qualcomm/sdm845 link.
+
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Change-Id: I5325033f47ee131499ed406ec56284bbf2f58b8d
+---
+ ucm2/module/snd_soc_sdm845 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 120000 ucm2/module/snd_soc_sdm845
+
+diff --git a/ucm2/module/snd_soc_sdm845 b/ucm2/module/snd_soc_sdm845
+new file mode 120000
+index 0000000..6800b66
+--- /dev/null
++++ b/ucm2/module/snd_soc_sdm845
+@@ -0,0 +1 @@
++../Qualcomm/sdm845
+\ No newline at end of file
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0007-ucm2-module-add-snd_soc_sm8250-symlink.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0007-ucm2-module-add-snd_soc_sm8250-symlink.patch
new file mode 100644
index 0000000..30d61c4
--- /dev/null
+++ b/recipes-multimedia/alsa/alsa-ucm-conf/0007-ucm2-module-add-snd_soc_sm8250-symlink.patch
@@ -0,0 +1,19 @@
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Fri, 29 Jan 2021 15:41:39 +0300
+Subject: ucm2/module: add snd_soc_sm8250 symlink
+
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Change-Id: I9818a19ef812d715d65345ea3733f635d5505c2e
+---
+ ucm2/module/snd_soc_sm8250 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 120000 ucm2/module/snd_soc_sm8250
+
+diff --git a/ucm2/module/snd_soc_sm8250 b/ucm2/module/snd_soc_sm8250
+new file mode 120000
+index 0000000..faf64f1
+--- /dev/null
++++ b/ucm2/module/snd_soc_sm8250
+@@ -0,0 +1 @@
++../Qualcomm/sm8250
+\ No newline at end of file
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf_%.bbappend b/recipes-multimedia/alsa/alsa-ucm-conf_%.bbappend
index 58b32f2..d2b6180 100644
--- a/recipes-multimedia/alsa/alsa-ucm-conf_%.bbappend
+++ b/recipes-multimedia/alsa/alsa-ucm-conf_%.bbappend
@@ -3,4 +3,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
SRC_URI_append_sm8250 = "\
file://0001-ucm2-codecs-lpass-add-codec-sequences-for-wsa-and-va.patch \
file://0002-ucm2-add-support-to-for-Qualcomm-RB5-Platform.patch \
+ file://0003-ucm.conf-support-KernelModule-CardLongName.conf-path.patch \
+ file://0004-module-add-new-symlink-for-Qualcomm-sdm845-driver.patch \
+ file://0007-ucm2-module-add-snd_soc_sm8250-symlink.patch \
"
diff --git a/recipes-support/fastrpc/fastrpc_git.bb b/recipes-support/fastrpc/fastrpc_git.bb
index 3aa67a7..875bea5 100644
--- a/recipes-support/fastrpc/fastrpc_git.bb
+++ b/recipes-support/fastrpc/fastrpc_git.bb
@@ -5,7 +5,7 @@ SECTION = "devel"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://src/fastrpc_apps_user.c;beginline=1;endline=29;md5=f94f3a7beba14ae2f59f817e9634f891"
-SRCREV = "388d868b3146fa7ccbeb6aa8c71485ebbbf5e1b9"
+SRCREV = "bc36c705c9b057ca880a423021d3c19f02edeadd"
SRC_URI = "git://git.linaro.org/landing-teams/working/qualcomm/fastrpc.git;branch=automake;protocol=https"
PV = "0.0+${SRCPV}"
@@ -13,3 +13,14 @@ PV = "0.0+${SRCPV}"
S = "${WORKDIR}/git"
inherit autotools
+
+FILES_${PN} += " \
+ ${libdir}/libadsp_default_listener.so \
+ ${libdir}/libcdsp_default_listener.so \
+"
+
+FILES_${PN}-dev_remove = "${FILES_SOLIBSDEV}"
+FILES_${PN}-dev += " \
+ ${libdir}/libadsprpc.so \
+ ${libdir}/libcdsprpc.so \
+"
diff --git a/recipes-support/qrtr/qrtr_git.bb b/recipes-support/qrtr/qrtr_git.bb
index 9daf6ba..def23be 100644
--- a/recipes-support/qrtr/qrtr_git.bb
+++ b/recipes-support/qrtr/qrtr_git.bb
@@ -7,10 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=15329706fbfcb5fc5edcc1bc7c139da5"
inherit systemd
-SRCREV = "983b223423f3ec36f231455b6a93bc2a10921794"
+SRCREV = "9dc7a88548c27983e06465d3fbba2ba27d4bc050"
SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https"
-PV = "0.0+${SRCPV}"
+PV = "0.3+${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/recipes-support/rmtfs/rmtfs_git.bb b/recipes-support/rmtfs/rmtfs_git.bb
index 08169fc..249e21e 100644
--- a/recipes-support/rmtfs/rmtfs_git.bb
+++ b/recipes-support/rmtfs/rmtfs_git.bb
@@ -11,7 +11,7 @@ SRCREV = "1cc12d3dc1f251f6d3151970621a06fdd013a1d0"
SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https"
DEPENDS = "qmic-native qrtr udev"
-PV = "0.0+${SRCPV}"
+PV = "0.2+${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/recipes-test/images/initramfs-test-image.bb b/recipes-test/images/initramfs-test-image.bb
index d7b49ac..fd03d70 100644
--- a/recipes-test/images/initramfs-test-image.bb
+++ b/recipes-test/images/initramfs-test-image.bb
@@ -14,6 +14,7 @@ PACKAGE_INSTALL = " \
e2fsprogs-tune2fs \
ethtool \
gptfdisk \
+ iw \
lava-test-shell \
packagegroup-core-boot \
pciutils \