aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Dechesne <nicolas.dechesne@linaro.org>2018-02-27 06:51:45 +0100
committerNicolas Dechesne <nicolas.dechesne@linaro.org>2018-02-27 06:51:45 +0100
commit7f06e9f1ce105b70a4bbec836626ba534f97f0f8 (patch)
treecf9dd5e06a9db68c3696b561cf886607255af43f
parentd1499bd50a3c91de0bf331009e0beed93739a926 (diff)
downloadmeta-qcom-7f06e9f1ce105b70a4bbec836626ba534f97f0f8.tar.gz
meta-qcom-7f06e9f1ce105b70a4bbec836626ba534f97f0f8.tar.bz2
meta-qcom-7f06e9f1ce105b70a4bbec836626ba534f97f0f8.zip
firmware: use firmware from meta-qcom
Some firmware blob for APQ8016 are now included in linux-firmware, however not all of them. It creates conflicts when trying to install 'linux-firmware' and 'firmware-qcom-dragonboard410c' packages. This patch 'backports' the linux-firmware packaging for QCOM firmware which was merged in OE-core: 687d71982a linux-firmware: add packaging for QCOM firmware for APQ8016 and APQ8096 Only the bits for APQ8016 are backported, since oe-core/rocko linux-firmware recipe is still a bit too old, and does not include the APQ8096 firmware (yet). With this change some firmware are packaged twice then, and for now we want to give priority to the firmware recipe from meta-qcom, and we use RCONFLICTS/RREPLACES/RPROVIDES for that. Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c_1032.1.bb12
-rw-r--r--recipes-kernel/linux-firmware/linux-firmware_git.bbappend30
2 files changed, 42 insertions, 0 deletions
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1032.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1032.1.bb
index 15f4e31..4c60def 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1032.1.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1032.1.bb
@@ -39,3 +39,15 @@ do_install() {
FILES_${PN} += "${nonarch_base_libdir}/firmware/*"
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"
+
+RPROVIDES_${PN} += "linux-firmware-qcom-venus-1.8"
+RREPLACES_${PN} += "linux-firmware-qcom-venus-1.8"
+RCONFLICTS_${PN} += "linux-firmware-qcom-venus-1.8"
+
+RPROVIDES_${PN} += "linux-firmware-qcom-license"
+RREPLACES_${PN} += "linux-firmware-qcom-license"
+RCONFLICTS_${PN} += "linux-firmware-qcom-license"
diff --git a/recipes-kernel/linux-firmware/linux-firmware_git.bbappend b/recipes-kernel/linux-firmware/linux-firmware_git.bbappend
new file mode 100644
index 0000000..d408d07
--- /dev/null
+++ b/recipes-kernel/linux-firmware/linux-firmware_git.bbappend
@@ -0,0 +1,30 @@
+
+LICENSE += "\
+ & Firmware-qcom \
+"
+
+LIC_FILES_CHKSUM += "\
+ file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \
+"
+
+NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom"
+
+PACKAGES =+ " \
+ ${PN}-qcom-license \
+ ${PN}-qcom-venus-1.8 \
+ ${PN}-qcom-adreno-a3xx \
+"
+
+# For QCOM VPU/GPU
+LICENSE_${PN}-qcom-license = "Firmware-qcom"
+FILES_${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
+FILES_${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
+FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
+RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
+
+# For other firmwares
+# Maybe split out to separate packages when needed.
+LICENSE_${PN} += " \
+ & Firmware-qcom \
+"