diff options
Diffstat (limited to 'bsp/meta-qcom/recipes-bsp')
5 files changed, 88 insertions, 63 deletions
diff --git a/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb b/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb index b65ac463..ecdbed94 100644 --- a/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb +++ b/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb @@ -20,36 +20,25 @@ do_compile() { do_install() { install -d ${D}${nonarch_base_libdir}/firmware/ + install -d ${D}/boot - cp -r ./proprietary-linux/* ${D}${nonarch_base_libdir}/firmware/ cp ./efs-seed/fs_image_linux.tar.gz.mbn.img ${D}/boot/modem_fsg - MTOOLS_SKIP_CHECK=1 mcopy -i ./bootloaders-linux/NON-HLOS.bin \ - ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${nonarch_base_libdir}/firmware/ + cp -r ./proprietary-linux/wlan ${D}${nonarch_base_libdir}/firmware/ - # Venus firmware have been merged in linux-firmware in a different location than - # what we've been using for now. Let's add symlinks for now, until we switch to linux-firmware - install -d ${D}${nonarch_base_libdir}/firmware/qcom/venus-1.8/ - for f in ${D}${nonarch_base_libdir}/firmware/venus.*; do - f=$(basename $f) - ln -s ${nonarch_base_libdir}/firmware/$f ${D}${nonarch_base_libdir}/firmware/qcom/venus-1.8/$f - done + 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 install -d ${D}${sysconfdir}/ install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE } -FILES_${PN} += "${nonarch_base_libdir}/firmware/*" FILES_${PN} += "/boot/modem_fsg" -INSANE_SKIP_${PN} += "arch" - -RPROVIDES_${PN} += "linux-firmware-qcom-adreno-a3xx" -RREPLACES_${PN} += "linux-firmware-qcom-adreno-a3xx" -RCONFLICTS_${PN} += "linux-firmware-qcom-adreno-a3xx" +FILES_${PN} += "${nonarch_base_libdir}/firmware/wlan/*" +FILES_${PN} += "${nonarch_base_libdir}/firmware/qcom/msm8916/*" -RPROVIDES_${PN} += "linux-firmware-qcom-venus-1.8" -RREPLACES_${PN} += "linux-firmware-qcom-venus-1.8" -RCONFLICTS_${PN} += "linux-firmware-qcom-venus-1.8" +INSANE_SKIP_${PN} += "arch" RPROVIDES_${PN} += "linux-firmware-qcom-license" RREPLACES_${PN} += "linux-firmware-qcom-license" diff --git a/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb b/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb index dc81dcd2..952f574a 100644 --- a/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb +++ b/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb @@ -18,11 +18,9 @@ do_compile() { do_install() { install -d ${D}${nonarch_base_libdir}/firmware/ - install -d ${D}${nonarch_base_libdir}/firmware/qcom/venus-4.2/ + install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/ - install -m 0444 ./proprietary-linux/a530*.* ${D}${nonarch_base_libdir}/firmware/ - install -m 0444 ./proprietary-linux/venus.* ${D}${nonarch_base_libdir}/firmware/qcom/venus-4.2/ - install -m 0444 ./proprietary-linux/adsp.* ${D}${nonarch_base_libdir}/firmware/ + install -m 0444 ./proprietary-linux/adsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/ install -d ${D}${sysconfdir}/ install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE @@ -31,14 +29,6 @@ do_install() { FILES_${PN} += "${nonarch_base_libdir}/firmware/*" INSANE_SKIP_${PN} += "arch" -RPROVIDES_${PN} += "linux-firmware-qcom-adreno-a530" -RREPLACES_${PN} += "linux-firmware-qcom-adreno-a530" -RCONFLICTS_${PN} += "linux-firmware-qcom-adreno-a530" - -RPROVIDES_${PN} += "linux-firmware-qcom-venus-4.2" -RREPLACES_${PN} += "linux-firmware-qcom-venus-4.2" -RCONFLICTS_${PN} += "linux-firmware-qcom-venus-4.2" - RPROVIDES_${PN} += "linux-firmware-qcom-license" RREPLACES_${PN} += "linux-firmware-qcom-license" RCONFLICTS_${PN} += "linux-firmware-qcom-license" diff --git a/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard845c/generate_board-2_json.sh b/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard845c/generate_board-2_json.sh new file mode 100644 index 00000000..3a1d5324 --- /dev/null +++ b/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard845c/generate_board-2_json.sh @@ -0,0 +1,23 @@ +JSON="$2" + +iter=0 +echo "[" > "${JSON}" +for file in $1/bdwlan.*; do + [[ $file == *.txt ]] && continue + + 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 + +echo " }" >> "${JSON}" +echo "]" >> "${JSON}" + diff --git a/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb b/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb new file mode 100644 index 00000000..88a1a6c3 --- /dev/null +++ b/bsp/meta-qcom/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb @@ -0,0 +1,55 @@ +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 \ + git://github.com/alimon/qca-swiss-army-knife \ + file://generate_board-2_json.sh" +SRC_URI[md5sum] = "ad69855a1275547b16d94a1b5405ac62" +SRC_URI[sha256sum] = "4289d2f2a7124b104d0274879e702aae9b1e50c42eec3747f8584c6744ef65e3" +SRCREV = "0c01a2abc3e9855b71f0fbea2c335011104d9ec0" + +COMPATIBLE_MACHINE = "(dragonboard-845c)" +PACKAGE_ARCH = "${MACHINE_ARCH}" +DEPENDS += "bash-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 + python3 git/tools/scripts/ath10k/ath10k-bdencoder -c board-2.json -o board-2.bin +} + +do_install() { + install -d ${D}${nonarch_base_libdir}/firmware/ + install -d ${D}${nonarch_base_libdir}/firmware/qcom/venus-5.2/ + 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 ./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 ./33-venus_split/venus.* ${D}${nonarch_base_libdir}/firmware/qcom/venus-5.2/ + + 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/ + + install -d ${D}${sysconfdir}/ + install -m 0644 LICENSE.qcom.txt ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE +} + +FILES_${PN} += "${nonarch_base_libdir}/firmware/*" +INSANE_SKIP_${PN} += "arch" + +RPROVIDES_${PN} += "linux-firmware-qcom-venus-5.2" +RREPLACES_${PN} += "linux-firmware-qcom-venus-5.2" +RCONFLICTS_${PN} += "linux-firmware-qcom-venus-5.2" + +RPROVIDES_${PN} += "linux-firmware-qcom-license" +RREPLACES_${PN} += "linux-firmware-qcom-license" +RCONFLICTS_${PN} += "linux-firmware-qcom-license" diff --git a/bsp/meta-qcom/recipes-bsp/wcnss-config/wcnss-config_1.13.bb b/bsp/meta-qcom/recipes-bsp/wcnss-config/wcnss-config_1.13.bb deleted file mode 100644 index 79711ad8..00000000 --- a/bsp/meta-qcom/recipes-bsp/wcnss-config/wcnss-config_1.13.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "WLAN and BT configuration files for QCOM WCN" -HOMEPAGE = "https://git.linaro.org/landing-teams/working/qualcomm/wcnss-config.git" -SECTION = "devel" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=9ffc7d99f148b53a339cd4374c5c431f" - -# TAG:debian/1.13 -SRCREV = "655a59f30915bed785d39cc90130dc06b44d7f6f" -SRC_URI = "git://git.linaro.org/landing-teams/working/qualcomm/wcnss-config.git;branch=master;protocol=https" - -S = "${WORKDIR}/git" - -inherit systemd allarch - -PACKAGES =+ "wcnss-start" - -do_install () { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/debian/wcnss-start.service ${D}${systemd_unitdir}/system - - install -d ${D}${sbindir} - install -m 0755 ${S}/wcnss-start ${D}${sbindir} -} - -# They are empty, and would break dev-pkgs image feature. -PACKAGES_remove = "${PN}-dev ${PN}-staticdev" - -FILES_wcnss-start = "${sbindir}/wcnss-start ${systemd_unitdir}/system/wcnss-start.service" - -SYSTEMD_PACKAGES = "wcnss-start" -SYSTEMD_SERVICE_wcnss-start = "wcnss-start.service" |