diff options
5 files changed, 58 insertions, 158 deletions
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-rb5_1.0.bb b/recipes-bsp/firmware/firmware-qcom-rb5_1.0.bb deleted file mode 100644 index b914420..0000000 --- a/recipes-bsp/firmware/firmware-qcom-rb5_1.0.bb +++ /dev/null @@ -1,117 +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" - -COMPATIBLE_MACHINE = "(sm8250)" -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..fbd7f4f --- /dev/null +++ b/recipes-bsp/firmware/firmware-qcom-rb5_20210118133815-v2.bb @@ -0,0 +1,57 @@ +# 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" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +VENUS_FW = "vpu-1.0" + +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 ./38-bdwlan_split/bdwlan.e04 ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/board.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}" diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb index 23e162e..0c4cdc1 100644 --- a/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb +++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb @@ -10,6 +10,6 @@ require recipes-kernel/linux/linux-qcom-bootimg.inc LOCALVERSION ?= "-linaro-lt-qcom" SRCBRANCH = "release/qcomlt-5.10" -SRCREV = "a58febc453b5bcbf154d3ceb3b6769956d90110b" +SRCREV = "3f30f43cd449a911c7f304078aa8464ec5eb0903" COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845|sm8250)" |