Skip to content

Commit

Permalink
Merge pull request #589 from lumag/fw-upd
Browse files Browse the repository at this point in the history
Several firmware-related fixes
  • Loading branch information
lumag committed Apr 30, 2024
2 parents 50629dd + 0de13c1 commit aeb322d
Show file tree
Hide file tree
Showing 13 changed files with 129 additions and 11 deletions.
4 changes: 4 additions & 0 deletions recipes-bsp/firmware-nexus/firmware-qcom-pixel.inc
Expand Up @@ -66,6 +66,10 @@ do_install() {

ls ${B}/firmware/*.jsn && install -m 0644 ${B}/firmware/*.jsn ${D}${FW_QCOM_PATH}

ls ${B}/firmware/bdwlan* && install -m 0644 ${B}/firmware/bdwlan* ${D}${FW_QCOM_PATH}
ls ${B}/firmware/mba.mbn && install -m 0644 ${B}/firmware/mba.mbn ${D}${FW_QCOM_PATH}
ls ${B}/firmware/wlanmdsp.mbn && install -m 0644 ${B}/firmware/wlanmdsp.mbn ${D}${FW_QCOM_PATH}

ls ${B}/firmware/a[0-9]*_gmu.bin && install -m 0644 ${B}/firmware/a[0-9]*_gmu.bin ${D}${FW_QCOM_PATH}
ls ${B}/a[0-9]*.mbn && install -m 0644 ${B}/a[0-9]*.mbn ${D}${FW_QCOM_PATH}

Expand Down
@@ -0,0 +1,34 @@
DESCRIPTION = "Qualcomm Firmware for Lenovo Yoga C630 laptop"

LICENSE = "CLOSED"

FW_QCOM_SUBDIR = "sdm850/LENOVO/81JL"
FW_QCOM_NAME = "lenovo-yoga-c630"
WOA_SUBDIR = "Lenovo/YogaC630"

SRC_URI = "\
${WOA_FW_URL}/qcdx850.cab;name=dx \
${WOA_FW_URL}/qcipa850.cab;name=ipa \
${WOA_FW_URL}/qcsubsys850.cab;name=dsp \
file://adspr.jsn \
file://adspua.jsn \
file://cdspr.jsn \
file://slpir.jsn \
file://slpius.jsn \
"

SRC_URI[dx.sha256sum] = "949f9fa256d036d829a1429451514c4f6aa3fcb228078a36a0bc4c6d569be3f9"
SRC_URI[ipa.sha256sum] = "544f0b2ff642846a2bf0754600be57ef8277c4ebd9dcf72b61cb3d1f463bfec8"
SRC_URI[dsp.sha256sum] = "23f8f1413ffdac6d6dfc7d0876f3cd5b840db70889d5f399e586e77ab91d89af"

SPLIT_FIRMWARE_PACKAGES = "\
linux-firmware-qcom-${FW_QCOM_NAME}-adreno \
linux-firmware-qcom-${FW_QCOM_NAME}-audio \
linux-firmware-qcom-${FW_QCOM_NAME}-compute \
linux-firmware-qcom-${FW_QCOM_NAME}-ipa \
linux-firmware-qcom-${FW_QCOM_NAME}-modem \
linux-firmware-qcom-${FW_QCOM_NAME}-sensors \
linux-firmware-qcom-${FW_QCOM_NAME}-venus \
"

require firmware-woa.inc
7 changes: 7 additions & 0 deletions recipes-bsp/firmware-woa/firmware-woa.inc
Expand Up @@ -3,6 +3,13 @@ require recipes-bsp/firmware/firmware-qcom.inc

WOA_FW_URL = "https://github.com/WOA-Project/Qualcomm-Reference-Drivers/raw/master/${WOA_SUBDIR}/${PV}"

FILES:linux-firmware-qcom-${FW_QCOM_NAME}-adreno += "${FW_QCOM_PATH}/qcdxkmsuc*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-audio += "${FW_QCOM_PATH}/qcadsp*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-compute += "${FW_QCOM_PATH}/qccdsp*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-modem += "${FW_QCOM_PATH}/qcmpss*.mbn ${FW_QCOM_PATH}/qcdsp*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-sensors += "${FW_QCOM_PATH}/qcslpi*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-venus += "${FW_QCOM_PATH}/qcvss*.mbn"

do_compile:append() {
for file in ${WORKDIR}/*cab ; do
cabextract $file || exit 1
Expand Down
25 changes: 25 additions & 0 deletions recipes-bsp/firmware/firmware-qcom-sm8650-hdk.bb
@@ -0,0 +1,25 @@
# Specify location of the corresponding NON-HLOS.bin file by adding
# NHLOS_URI:pn-firmware-qcom-sm8450-hdk = "..." to local.conf. Use "file://"
# if the file is provided locally.

DESCRIPTION = "QCOM Firmware for SM8650 HDK board"

LICENSE = "CLOSED"

FW_QCOM_NAME = "sm8650"

FW_QCOM_LIST = "\
adsp.mbn adsp_dtb.mbn adspr.jsn adsps.jsn adspua.jsn battmgr.jsn \
cdsp.mbn cdsp_dtb.mbn cdspr.jsn \
ipa_fws.mbn \
"

require recipes-bsp/firmware/firmware-qcom.inc
require recipes-bsp/firmware/firmware-qcom-nhlos.inc
require recipes-bsp/firmware/firmware-qcom-adreno.inc

SPLIT_FIRMWARE_PACKAGES = "\
linux-firmware-qcom-${FW_QCOM_NAME}-audio \
linux-firmware-qcom-${FW_QCOM_NAME}-compute \
linux-firmware-qcom-${FW_QCOM_NAME}-ipa \
"
14 changes: 7 additions & 7 deletions recipes-bsp/firmware/firmware-qcom.inc
Expand Up @@ -20,20 +20,20 @@ RRECOMMENDS:${PN} += "${@ ' '.join(filter(lambda p: not p.endswith('-split'), d.

# Default settings for several split packages
FILES:${PN}-dspso += "${FW_QCOM_BASE_PATH}/*/*dspso.bin"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-adreno = "${FW_QCOM_PATH}/*_zap.mbn ${FW_QCOM_PATH}/qcdxkmsuc*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-audio = "${FW_QCOM_PATH}/adsp.mbn ${FW_QCOM_PATH}/adsp*.jsn ${FW_QCOM_PATH}/battmgr*.jsn ${FW_QCOM_PATH}/qcadsp*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-adreno = "${FW_QCOM_PATH}/*_zap.mbn"
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 ${FW_QCOM_PATH}/qccdsp*.mbn"
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}-dsps = "${FW_QCOM_PATH}/dsps.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-gss = "${FW_QCOM_PATH}/gss.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-ipa = "${FW_QCOM_PATH}/ipa_fws.mbn ${FW_QCOM_PATH}/ipa_fws.elf"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-modem = "${FW_QCOM_PATH}/mba.mbn ${FW_QCOM_PATH}/modem.mbn ${FW_QCOM_PATH}/modem*.jsn ${FW_QCOM_PATH}/qcmpss*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-ipa = "${FW_QCOM_PATH}/ipa_fws.mbn"
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}-q6 = "${FW_QCOM_PATH}/q6.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-sensors = "${FW_QCOM_PATH}/slpi.mbn ${FW_QCOM_PATH}/slpi*.jsn ${FW_QCOM_PATH}/qcslpi*.mbn"
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}-venus = "${FW_QCOM_PATH}/venus.mbn ${FW_QCOM_PATH}/vidc* ${FW_QCOM_PATH}/qcvss*.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-venus = "${FW_QCOM_PATH}/venus.mbn ${FW_QCOM_PATH}/vidc*"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-wifi = "${FW_QCOM_PATH}/wcnss.mbn ${FW_QCOM_PATH}/wlanmdsp.mbn"
FILES:linux-firmware-qcom-${FW_QCOM_NAME}-wifi-split = "${FW_QCOM_PATH}/wcnss.mdt ${FW_QCOM_PATH}/wcnss.b*"

Expand Down
@@ -0,0 +1,7 @@
DESCRIPTION = "Tiny ramdisk image with Lenovo Yoga C630 firmware files"

PACKAGE_INSTALL += " \
packagegroup-firmware-lenovo-yoga-c630 \
"

require initramfs-firmware-image.inc
10 changes: 10 additions & 0 deletions recipes-bsp/images/initramfs-firmware-sm8650-hdk-image.bb
@@ -0,0 +1,10 @@
DESCRIPTION = "Tiny ramdisk image with SM8650 HDK devices firmware files"

PACKAGE_INSTALL += " \
packagegroup-firmware-sm8650-hdk \
"

BAD_RECOMMENDATIONS = " \
"

require initramfs-firmware-image.inc
@@ -0,0 +1,16 @@
SUMMARY = "Firmware packages for the Lenogo Yoga C630 laptop"

inherit packagegroup

RRECOMMENDS:${PN} += " \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a630 linux-firmware-qcom-lenovo-yoga-c630-adreno', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k', '', d)} \
firmware-qcom-lenovo-yoga-c630 \
linux-firmware-qcom-lenovo-yoga-c630-audio \
linux-firmware-qcom-lenovo-yoga-c630-compute \
linux-firmware-qcom-lenovo-yoga-c630-ipa \
linux-firmware-qcom-lenovo-yoga-c630-modem \
linux-firmware-qcom-lenovo-yoga-c630-sensors \
linux-firmware-qcom-lenovo-yoga-c630-venus \
"
Expand Up @@ -5,7 +5,7 @@ inherit packagegroup
RRECOMMENDS:${PN} += " \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a640 linux-firmware-qcom-sm8150-adreno', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k', '', d)} \
firmware-qcom-sm8150-hdk \
linux-firmware-qcom-sm8150-audio \
linux-firmware-qcom-sm8150-compute \
Expand Down
Expand Up @@ -7,6 +7,7 @@ RRECOMMENDS:${PN} += " \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k', '', d)} \
firmware-qcom-sm8350-hdk \
linux-firmware-lt9611uxc \
linux-firmware-qcom-sm8350-adreno \
linux-firmware-qcom-sm8350-audio \
linux-firmware-qcom-sm8350-compute \
Expand Down
Expand Up @@ -7,6 +7,7 @@ RRECOMMENDS:${PN} += " \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k', '', d)} \
firmware-qcom-sm8450-hdk \
linux-firmware-lt9611uxc \
linux-firmware-qcom-sm8450-audio \
linux-firmware-qcom-sm8450-compute \
linux-firmware-qcom-sm8450-modem \
Expand Down
13 changes: 13 additions & 0 deletions recipes-bsp/packagegroups/packagegroup-firmware-sm8650-hdk.bb
@@ -0,0 +1,13 @@
SUMMARY = "Firmware packages for the SM8650-HDK board"

inherit packagegroup

RRECOMMENDS:${PN} += " \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath12k', '', d)} \
firmware-qcom-sm8650-hdk \
linux-firmware-lt9611uxc \
linux-firmware-qcom-sm8650-audio \
linux-firmware-qcom-sm8650-compute \
linux-firmware-qcom-sm8650-ipa \
"
6 changes: 3 additions & 3 deletions recipes-devtools/pil-squasher/pil-squasher_git.bb
Expand Up @@ -3,11 +3,11 @@ HOMEPAGE = "https://github.com/andersson/pil-squasher.git"
SECTION = "devel"

LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://pil-squasher.c;beginline=1;endline=30;md5=632a4253d26470c9301255e9a3dc31a0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=aac743f09c3b727c9fa920ed48cc946d"

SRCREV = "e8573feaad506f5f41227d8abd905312426607c1"
SRCREV = "e25efba9b3abb16643262e9a9e3eb330c48cf9a5"
SRC_URI = " \
git://github.com/andersson/${BPN}.git;branch=master;protocol=https \
git://github.com/linux-msm/${BPN}.git;branch=master;protocol=https \
"

PV = "0.0+${SRCPV}"
Expand Down

0 comments on commit aeb322d

Please sign in to comment.