diff --git a/recipes-bsp/firmware-woa/files/modemr.jsn b/recipes-bsp/firmware-woa/files/modemr.jsn new file mode 100644 index 000000000..d947bf6e4 --- /dev/null +++ b/recipes-bsp/firmware-woa/files/modemr.jsn @@ -0,0 +1,21 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "modem", + "subdomain": "root_pd", + "qmi_instance_id": 180 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + } + ] +} diff --git a/recipes-bsp/firmware-woa/files/modemuw.jsn b/recipes-bsp/firmware-woa/files/modemuw.jsn new file mode 100644 index 000000000..88a400ef9 --- /dev/null +++ b/recipes-bsp/firmware-woa/files/modemuw.jsn @@ -0,0 +1,33 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "modem", + "subdomain": "wlan_pd", + "qmi_instance_id": 180 + }, + "sr_service": [ + { + "provider": "kernel", + "service": "elf_loader", + "service_data_valid": 0, + "service_data": 0 + }, + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + }, + { + "provider": "wlan", + "service": "fw", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/recipes-bsp/firmware-woa/firmware-qcom-lenovo-miix-630_200.0.6.0.bb b/recipes-bsp/firmware-woa/firmware-qcom-lenovo-miix-630_200.0.6.0.bb index 2e2d28ef2..d9c32d608 100644 --- a/recipes-bsp/firmware-woa/firmware-qcom-lenovo-miix-630_200.0.6.0.bb +++ b/recipes-bsp/firmware-woa/firmware-qcom-lenovo-miix-630_200.0.6.0.bb @@ -16,6 +16,8 @@ SRC_URI = "\ ${WOA_SRC_URI} \ file://adspr.jsn \ file://adspua.jsn \ + file://modemr.jsn \ + file://modemuw.jsn \ file://slpir.jsn \ file://slpius.jsn \ " diff --git a/recipes-bsp/firmware-woa/firmware-qcom-lenovo-yoga-c630_200.0.19.0.bb b/recipes-bsp/firmware-woa/firmware-qcom-lenovo-yoga-c630_200.0.19.0.bb index 6e766bcb4..7cd6befb1 100644 --- a/recipes-bsp/firmware-woa/firmware-qcom-lenovo-yoga-c630_200.0.19.0.bb +++ b/recipes-bsp/firmware-woa/firmware-qcom-lenovo-yoga-c630_200.0.19.0.bb @@ -10,6 +10,7 @@ WOA_CABINETS = " \ qcdx850.cab;name=dx \ qcipa850.cab;name=ipa \ qcsubsys850.cab;name=dsp \ + qcwlan850.cab;name=wlan \ " SRC_URI = " \ @@ -24,6 +25,7 @@ SRC_URI = " \ SRC_URI[dx.sha256sum] = "949f9fa256d036d829a1429451514c4f6aa3fcb228078a36a0bc4c6d569be3f9" SRC_URI[ipa.sha256sum] = "544f0b2ff642846a2bf0754600be57ef8277c4ebd9dcf72b61cb3d1f463bfec8" SRC_URI[dsp.sha256sum] = "23f8f1413ffdac6d6dfc7d0876f3cd5b840db70889d5f399e586e77ab91d89af" +SRC_URI[wlan.sha256sum] = "99f8eae5d68fa83aa7f9719dde2429f84e40c1f89833248da1aeec85d6bae1ba" SPLIT_FIRMWARE_PACKAGES = "\ linux-firmware-qcom-${FW_QCOM_NAME}-adreno \ diff --git a/recipes-bsp/firmware-woa/firmware-qcom-sc8180x_200.0.108.0.bb b/recipes-bsp/firmware-woa/firmware-qcom-sc8180x_200.0.111.0.bb similarity index 62% rename from recipes-bsp/firmware-woa/firmware-qcom-sc8180x_200.0.108.0.bb rename to recipes-bsp/firmware-woa/firmware-qcom-sc8180x_200.0.111.0.bb index 92b1c41db..a9d9310c0 100644 --- a/recipes-bsp/firmware-woa/firmware-qcom-sc8180x_200.0.108.0.bb +++ b/recipes-bsp/firmware-woa/firmware-qcom-sc8180x_200.0.111.0.bb @@ -12,6 +12,7 @@ WOA_CABINETS = " \ qcsubsys_ext_cdsp8180.cab;name=cdsp \ qcsubsys_ext_mpss8180.cab;name=mpss \ qcsubsys_ext_scss8180.cab;name=slpi \ + qcwlan8180.cab;name=wlan \ " SRC_URI = " \ @@ -25,11 +26,12 @@ SRC_URI = " \ " SRC_URI[dx.sha256sum] = "33a582149868d2a4fe3c2cded4dbb05128a29248028961438ae687c2feaa9e63" -SRC_URI[ipa.sha256sum] = "e083779b7ee99edfd0fc4a54fb562c355476cf359f29cc729052158f97c3769d" -SRC_URI[adsp.sha256sum] = "a89c65ecebcc17c58851768d69c5d28c7853c207e5cda3cf06f70e2456b1be2c" -SRC_URI[cdsp.sha256sum] = "cecfcdef349d178c53557dfe2ec00ea33b4573e9ea6934bb44a2b328ee4a2f34" -SRC_URI[mpss.sha256sum] = "099cd6f74d44de19925bba98f4f8efc2f70cac12aed9335047a8e4611e536761" -SRC_URI[slpi.sha256sum] = "7f148ef79645612355df415826a5d03aafc6813ce2e06e22b03655a1c84a4b28" +SRC_URI[ipa.sha256sum] = "41545f9dacc3112a05361817b90d5cd344fc827b7a11ee1147cff1d2c5556961" +SRC_URI[adsp.sha256sum] = "871540e5a327a524a1c6872b4a143ceb37d9851eb1e0bc58e0f8812efea0270e" +SRC_URI[cdsp.sha256sum] = "3b0393ffbe874e15e85eabda74bebbdba9096738712071849fd900a961e253e6" +SRC_URI[mpss.sha256sum] = "55930759a52af8f4d903ccaa00b394747a85169378d19ca0b1c390d57d82f76c" +SRC_URI[slpi.sha256sum] = "bf3a476607c6f1ccf13559b9527c36be04270c90536bc64205b783eb4dcb839e" +SRC_URI[wlan.sha256sum] = "3ea329906cac3e7d0c320f77f12954c9b66bcce9970ed497d7f5f9905869ac68" SPLIT_FIRMWARE_PACKAGES = "\ linux-firmware-qcom-${FW_QCOM_NAME}-adreno \ @@ -39,6 +41,7 @@ SPLIT_FIRMWARE_PACKAGES = "\ linux-firmware-qcom-${FW_QCOM_NAME}-modem \ linux-firmware-qcom-${FW_QCOM_NAME}-sensors \ linux-firmware-qcom-${FW_QCOM_NAME}-venus \ + linux-firmware-qcom-${FW_QCOM_NAME}-wifi \ " require firmware-woa.inc diff --git a/recipes-bsp/firmware-woa/firmware-qcom-x1e80100_200.0.32.0.bb b/recipes-bsp/firmware-woa/firmware-qcom-x1e80100_200.0.32.0.bb new file mode 100644 index 000000000..716fa5764 --- /dev/null +++ b/recipes-bsp/firmware-woa/firmware-qcom-x1e80100_200.0.32.0.bb @@ -0,0 +1,37 @@ +DESCRIPTION = "Qualcomm Firmware for Compute X1E80100 CRD device" + +LICENSE = "CLOSED" + +FW_QCOM_NAME = "x1e80100" +WOA_SUBDIR = "8380_CRD" + +WOA_CABINETS = " \ + qcdx8380.cab;name=dx \ + qcsubsys_ext_adsp8380.cab;name=adsp \ + qcsubsys_ext_cdsp8380.cab;name=cdsp \ + qcwlanmsl8380.cab;name=wlan \ +" + +SRC_URI = " \ + ${WOA_SRC_URI} \ +" + +SRC_URI[dx.sha256sum] = "fce26a9c95ff8f5ddbc58312dfad9d1d317bda1a9a854ea49290acb34485bbbd" +SRC_URI[adsp.sha256sum] = "872581d2b371c7b4e2ba779f8dc9899fff45ffcec2ca58e6981d76bc1113a7d8" +SRC_URI[cdsp.sha256sum] = "610af5d3ab44181ad7995576b9f064463ac9dd3c883b7105a40b14cfe36694b9" +SRC_URI[wlan.sha256sum] = "30b7a7254469be777672a1a99e1d3049f20632471378cd33df5108e8be056e99" + +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}-venus \ + linux-firmware-qcom-${FW_QCOM_NAME}-wifi \ +" + +FILES:linux-firmware-qcom-${FW_QCOM_NAME}-adreno:append = " ${FW_QCOM_PATH}/qcav1e8380.mbn" +FILES:linux-firmware-qcom-${FW_QCOM_NAME}-audio:append = " ${FW_QCOM_PATH}/adsp_dtbs.elf" +FILES:linux-firmware-qcom-${FW_QCOM_NAME}-compute:append = " ${FW_QCOM_PATH}/cdsp_dtbs.elf" +FILES:linux-firmware-qcom-${FW_QCOM_NAME}-wifi:append = " ${FW_QCOM_PATH}/wpss.mbn" + +require firmware-woa.inc diff --git a/recipes-bsp/firmware-woa/firmware-woa.inc b/recipes-bsp/firmware-woa/firmware-woa.inc index 7295a7050..243059e75 100644 --- a/recipes-bsp/firmware-woa/firmware-woa.inc +++ b/recipes-bsp/firmware-woa/firmware-woa.inc @@ -12,6 +12,7 @@ FILES:linux-firmware-qcom-${FW_QCOM_NAME}-compute += "${FW_QCOM_PATH}/qccdsp*.mb 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" +FILES:linux-firmware-qcom-${FW_QCOM_NAME}-wifi += "${FW_QCOM_PATH}/bdwlan*" do_compile:append() { for file in ${UNPACKDIR}/*cab ; do @@ -27,6 +28,7 @@ do_install:append() { install -m 0644 ${B}/*.mbn ${D}${FW_QCOM_PATH} ls ${B}/*.elf && install -m 0644 ${B}/*.elf ${D}${FW_QCOM_PATH} + ls ${B}/bdwlan.* && install -m 0644 ${B}/bdwlan.* ${D}${FW_QCOM_PATH} install -m 0644 ${UNPACKDIR}/*.jsn ${D}${FW_QCOM_PATH} } diff --git a/recipes-bsp/images/initramfs-firmware-mega-image.bb b/recipes-bsp/images/initramfs-firmware-mega-image.bb new file mode 100644 index 000000000..4df211003 --- /dev/null +++ b/recipes-bsp/images/initramfs-firmware-mega-image.bb @@ -0,0 +1,64 @@ +DESCRIPTION = "Huge image with all firmware files. This is intended to check for possible conflicts, etc." + +PACKAGE_INSTALL = " \ + linux-firmware \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wireless-regdb-static', '', d)} \ +" + +# Qualcomm Dragonboard / Robotics platforms +PACKAGE_INSTALL += " \ + packagegroup-firmware-dragonboard-apq8074 \ + packagegroup-firmware-dragonboard410c \ + packagegroup-firmware-dragonboard820c \ + packagegroup-firmware-dragonboard845c \ + packagegroup-firmware-rb1 \ + packagegroup-firmware-rb2 \ + packagegroup-firmware-rb3gen2 \ + packagegroup-firmware-rb5 \ +" + +# Qualcomm HDKs +PACKAGE_INSTALL += " \ + packagegroup-firmware-sm8150-hdk \ + packagegroup-firmware-sm8350-hdk \ + packagegroup-firmware-sm8450-hdk \ + packagegroup-firmware-sm8550-hdk \ + packagegroup-firmware-sm8650-hdk \ +" + +# Inforce / Penguin Edge devkits +PACKAGE_INSTALL += " \ + packagegroup-firmware-ifc6410 \ + packagegroup-firmware-ifc6560 \ +" + +# Google Nexus / Pixel devices +PACKAGE_INSTALL += " \ + firmware-qcom-nexus4 \ + firmware-qcom-nexus5 \ + firmware-qcom-nexus5x \ + firmware-qcom-nexus6 \ + firmware-qcom-nexus6p \ + firmware-qcom-nexus7-2013 \ + firmware-qcom-pixel \ + firmware-qcom-pixel2 \ + firmware-qcom-pixel3 \ + firmware-qcom-pixel3a \ + firmware-qcom-pixel4 \ + firmware-qcom-pixel4a \ + firmware-qcom-pixel4a-5g \ + firmware-qcom-pixel5 \ + firmware-qcom-pixel5a-5g \ +" + +# WoA devices +PACKAGE_INSTALL += " \ + packagegroup-firmware-ecs-liva-qc710 \ + packagegroup-firmware-lenovo-miix-630 \ + packagegroup-firmware-lenovo-yoga-c630 \ + packagegroup-firmware-lenovo-x13s \ + packagegroup-firmware-sc8180x \ + packagegroup-firmware-x1e80100-crd \ +" + +require initramfs-firmware-image.inc diff --git a/recipes-bsp/images/initramfs-firmware-x1e80100-crd-image.bb b/recipes-bsp/images/initramfs-firmware-x1e80100-crd-image.bb new file mode 100644 index 000000000..69085c83e --- /dev/null +++ b/recipes-bsp/images/initramfs-firmware-x1e80100-crd-image.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Tiny ramdisk image with X1E80100 CRD devices firmware files" + +PACKAGE_INSTALL += " \ + packagegroup-firmware-x1e80100-crd \ +" + +BAD_RECOMMENDATIONS = " \ + linux-firmware-qca \ + linux-firmware-qcom-x1e80100-crd-compute \ + linux-firmware-qcom-x1e80100-crd-venus \ +" + +require initramfs-firmware-image.inc diff --git a/recipes-bsp/packagegroups/packagegroup-firmware-x1e80100-crd.bb b/recipes-bsp/packagegroups/packagegroup-firmware-x1e80100-crd.bb new file mode 100644 index 000000000..7346c19a2 --- /dev/null +++ b/recipes-bsp/packagegroups/packagegroup-firmware-x1e80100-crd.bb @@ -0,0 +1,13 @@ +SUMMARY = "Firmware packages for the X1E80100 CRD devices" + +inherit packagegroup + +RRECOMMENDS:${PN} += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-x1e80100-adreno', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k linux-firmware-qcom-x1e80100-wifi', '', d)} \ + firmware-qcom-x1e80100 \ + linux-firmware-qcom-x1e80100-audio \ + linux-firmware-qcom-x1e80100-compute \ + linux-firmware-qcom-x1e80100-venus \ +"