summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Ferland <marc.ferland@sonatest.com>2025-01-27 11:24:40 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-01-29 16:16:52 +0000
commite25c5db4d08f0916ce4e411ea3903e57eb47e079 (patch)
treeb36283d4c2d82ac69bc04383542bc719ec36e772
parent484e004eb2a55d8e303391398da004abccac41f8 (diff)
downloadpoky-e25c5db4d08f0916ce4e411ea3903e57eb47e079.tar.gz
linux-firmware: split qca firmwares in separate packages
This patch introduces the following packages for firmwares under qca/: - linux-firmware-qca-qca61x4 - linux-firmware-qca-wcn3988 - linux-firmware-qca-wcn399x - linux-firmware-qca-wcn6750 - linux-firmware-qca-qca2066 - linux-firmware-qca-wcn7850 - linux-firmware-qca-misc: catches all firmwares that are not already included in the other -qca- packages (currently empty). linux-firmware-qca is now a meta package that depends on all of the split-out qca packages. Note: Content of the FILES:${PN}-qca* variables taken from WHENCE. (From OE-Core rev: 7e7a6579a49962907560b5a1bc71e1a17879415f) Signed-off-by: Marc Ferland <marc.ferland@sonatest.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb142
1 files changed, 136 insertions, 6 deletions
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb
index d2c0c7c1fd..f0b710a6cc 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb
@@ -398,6 +398,13 @@ PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \
398 ${PN}-ath12k-wcn7850 \ 398 ${PN}-ath12k-wcn7850 \
399 ${PN}-ath12k-misc \ 399 ${PN}-ath12k-misc \
400 ${PN}-qca \ 400 ${PN}-qca \
401 ${PN}-qca-qca61x4 \
402 ${PN}-qca-wcn3988 \
403 ${PN}-qca-wcn399x \
404 ${PN}-qca-wcn6750 \
405 ${PN}-qca-qca2066 \
406 ${PN}-qca-wcn7850 \
407 ${PN}-qca-misc \
401 \ 408 \
402 ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \ 409 ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \
403 \ 410 \
@@ -583,7 +590,13 @@ LICENSE:${PN}-ath12k = "Firmware-qualcommAthos_ath10k"
583LICENSE:${PN}-ath12k-qcn9274 = "Firmware-qualcommAthos_ath10k" 590LICENSE:${PN}-ath12k-qcn9274 = "Firmware-qualcommAthos_ath10k"
584LICENSE:${PN}-ath12k-wcn7850 = "Firmware-qualcommAthos_ath10k" 591LICENSE:${PN}-ath12k-wcn7850 = "Firmware-qualcommAthos_ath10k"
585LICENSE:${PN}-ath12k-misc = "Firmware-qualcommAthos_ath10k" 592LICENSE:${PN}-ath12k-misc = "Firmware-qualcommAthos_ath10k"
586LICENSE:${PN}-qca = "Firmware-qualcommAthos_ath10k" 593LICENSE:${PN}-qca-qca61x4 = "Firmware-qualcommAthos_ath10k"
594LICENSE:${PN}-qca-wcn3988 = "Firmware-qcom"
595LICENSE:${PN}-qca-wcn399x = "Firmware-qualcommAthos_ath10k"
596LICENSE:${PN}-qca-wcn6750 = "Firmware-qualcommAthos_ath10k"
597LICENSE:${PN}-qca-qca2066 = "Firmware-qualcommAthos_ath10k"
598LICENSE:${PN}-qca-wcn7850 = "Firmware-qcom"
599LICENSE:${PN}-qca-misc = "Firmware-qualcommAthos_ath10k & Firmware-qcom"
587 600
588FILES:${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k" 601FILES:${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
589FILES:${PN}-ar3k = " \ 602FILES:${PN}-ar3k = " \
@@ -631,9 +644,116 @@ ALLOW_EMPTY:${PN}-ath12k = "1"
631# firmwares that are not already included in other -ath12k- packages. 644# firmwares that are not already included in other -ath12k- packages.
632ALLOW_EMPTY:${PN}-ath12k-misc = "1" 645ALLOW_EMPTY:${PN}-ath12k-misc = "1"
633 646
634FILES:${PN}-qca = " \ 647FILES:${PN}-qca-qca61x4 = " \
635 ${nonarch_base_libdir}/firmware/qca \ 648 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000201.bin \
636" 649 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000200.bin \
650 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000300.bin \
651 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000302.bin \
652 ${nonarch_base_libdir}/firmware/qca/nvm_00130300.bin \
653 ${nonarch_base_libdir}/firmware/qca/nvm_00130302.bin \
654 ${nonarch_base_libdir}/firmware/qca/nvm_00230302.bin \
655 ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00000200.bin \
656 ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00000201.bin \
657 ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00000300.bin \
658 ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00000302.bin \
659 ${nonarch_base_libdir}/firmware/qca/rampatch_00130300.bin \
660 ${nonarch_base_libdir}/firmware/qca/rampatch_00130302.bin \
661 ${nonarch_base_libdir}/firmware/qca/rampatch_00230302.bin \
662 ${nonarch_base_libdir}/firmware/qca/nvm_00440302.bin \
663 ${nonarch_base_libdir}/firmware/qca/rampatch_00440302.bin \
664 ${nonarch_base_libdir}/firmware/qca/nvm_00440302_eu.bin \
665 ${nonarch_base_libdir}/firmware/qca/nvm_00440302_i2s_eu.bin \
666 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000302_eu.bin \
667 ${nonarch_base_libdir}/firmware/qca/htbtfw20.tlv \
668 ${nonarch_base_libdir}/firmware/qca/htnv20.bin \
669 ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00130200.bin \
670 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200.bin \
671 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0104.bin \
672 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0105.bin \
673 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0106.bin \
674 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0107.bin \
675 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0109.bin \
676 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0110.bin \
677 ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00130201.bin \
678 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201.bin \
679 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_010a.bin \
680 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_010b.bin \
681 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_0303.bin \
682 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_gf.bin \
683 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_gf_010a.bin \
684 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_gf_010b.bin \
685 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_gf_0303.bin \
686 ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00190200.bin \
687 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00190200.bin \
688 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00190200_010e.bin \
689 ${nonarch_base_libdir}/firmware/qca/nvm_usb_00190200_0112.bin \
690"
691FILES:${PN}-qca-wcn3988 = " \
692 ${nonarch_base_libdir}/firmware/qca/apbtfw10.tlv \
693 ${nonarch_base_libdir}/firmware/qca/apbtfw11.tlv \
694 ${nonarch_base_libdir}/firmware/qca/apnv10.bin \
695 ${nonarch_base_libdir}/firmware/qca/apnv11.bin \
696"
697FILES:${PN}-qca-wcn399x = " \
698 ${nonarch_base_libdir}/firmware/qca/crbtfw21.tlv \
699 ${nonarch_base_libdir}/firmware/qca/crnv21.bin \
700 ${nonarch_base_libdir}/firmware/qca/crbtfw32.tlv \
701 ${nonarch_base_libdir}/firmware/qca/crnv32.bin \
702 ${nonarch_base_libdir}/firmware/qca/crnv32u.bin \
703"
704FILES:${PN}-qca-wcn6750 = " \
705 ${nonarch_base_libdir}/firmware/qca/msbtfw11.mbn \
706 ${nonarch_base_libdir}/firmware/qca/msbtfw11.tlv \
707 ${nonarch_base_libdir}/firmware/qca/msnv11.bin \
708 ${nonarch_base_libdir}/firmware/qca/msnv11.b0a \
709 ${nonarch_base_libdir}/firmware/qca/msnv11.b09 \
710"
711FILES:${PN}-qca-qca2066 = " \
712 ${nonarch_base_libdir}/firmware/qca/hpbtfw21.tlv \
713 ${nonarch_base_libdir}/firmware/qca/hpnv21.bin \
714 ${nonarch_base_libdir}/firmware/qca/hpnv21g.bin \
715 ${nonarch_base_libdir}/firmware/qca/hpnv21.301 \
716 ${nonarch_base_libdir}/firmware/qca/hpnv21.302 \
717 ${nonarch_base_libdir}/firmware/qca/hpnv21g.301 \
718 ${nonarch_base_libdir}/firmware/qca/hpnv21g.302 \
719 ${nonarch_base_libdir}/firmware/qca/hpnv21.309 \
720 ${nonarch_base_libdir}/firmware/qca/hpnv21g.309 \
721 ${nonarch_base_libdir}/firmware/qca/hpnv21.b8c \
722 ${nonarch_base_libdir}/firmware/qca/hpnv21.b9f \
723 ${nonarch_base_libdir}/firmware/qca/hpnv21.ba0 \
724 ${nonarch_base_libdir}/firmware/qca/hpnv21.ba1 \
725 ${nonarch_base_libdir}/firmware/qca/hpnv21.ba2 \
726 ${nonarch_base_libdir}/firmware/qca/hpnv21.ba3 \
727 ${nonarch_base_libdir}/firmware/qca/hpnv21.ba4 \
728 ${nonarch_base_libdir}/firmware/qca/hpnv21.baa \
729 ${nonarch_base_libdir}/firmware/qca/hpnv21.bb8 \
730 ${nonarch_base_libdir}/firmware/qca/hpnv21.b10c \
731 ${nonarch_base_libdir}/firmware/qca/hpnv21.b111 \
732 ${nonarch_base_libdir}/firmware/qca/hpnv21g.b8c \
733 ${nonarch_base_libdir}/firmware/qca/hpnv21g.b9f \
734 ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba0 \
735 ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba1 \
736 ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba2 \
737 ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba3 \
738 ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba4 \
739 ${nonarch_base_libdir}/firmware/qca/hpnv21g.baa \
740 ${nonarch_base_libdir}/firmware/qca/hpnv21g.bb8 \
741 ${nonarch_base_libdir}/firmware/qca/hpnv21g.b10c \
742 ${nonarch_base_libdir}/firmware/qca/hpnv21g.b111 \
743"
744FILES:${PN}-qca-wcn7850 = " \
745 ${nonarch_base_libdir}/firmware/qca/hmtbtfw20.tlv \
746 ${nonarch_base_libdir}/firmware/qca/hmtnv20.b10f \
747 ${nonarch_base_libdir}/firmware/qca/hmtnv20.b112 \
748 ${nonarch_base_libdir}/firmware/qca/hmtnv20.bin \
749"
750FILES:${PN}-qca-misc = "${nonarch_base_libdir}/firmware/qca/*"
751# -qca is a virtual package that depends upon all qca packages.
752ALLOW_EMPTY:${PN}-qca = "1"
753# -qca-misc is a catch all package that includes all the qca
754# firmwares that are not already included in other -qca- packages.
755ALLOW_EMPTY:${PN}-qca-misc = "1"
756
637 757
638RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license" 758RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license"
639RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license" 759RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license"
@@ -661,8 +781,14 @@ RDEPENDS:${PN}-ath12k += "${PN}-ath10k-license"
661RDEPENDS:${PN}-ath12k-qcn9274 += "${PN}-ath10k-license" 781RDEPENDS:${PN}-ath12k-qcn9274 += "${PN}-ath10k-license"
662RDEPENDS:${PN}-ath12k-wcn7850 += "${PN}-ath10k-license" 782RDEPENDS:${PN}-ath12k-wcn7850 += "${PN}-ath10k-license"
663RDEPENDS:${PN}-ath12k-misc += "${PN}-ath10k-license" 783RDEPENDS:${PN}-ath12k-misc += "${PN}-ath10k-license"
664RDEPENDS:${PN}-qca += "${PN}-ath10k-license" 784RDEPENDS:${PN}-qca += "${PN}-ath10k-license ${PN}-qcom-license"
665 785RDEPENDS:${PN}-qca-qca61x4 += "${PN}-ath10k-license"
786RDEPENDS:${PN}-qca-wcn3988 += "${PN}-qcom-license"
787RDEPENDS:${PN}-qca-wcn399x += "${PN}-ath10k-license"
788RDEPENDS:${PN}-qca-wcn6750 += "${PN}-ath10k-license"
789RDEPENDS:${PN}-qca-qca2066 += "${PN}-ath10k-license"
790RDEPENDS:${PN}-qca-wcn7850 += "${PN}-qcom-license"
791RDEPENDS:${PN}-qca-misc += "${PN}-ath10k-license ${PN}-qcom-license"
666# For ralink 792# For ralink
667LICENSE:${PN}-ralink = "Firmware-ralink-firmware" 793LICENSE:${PN}-ralink = "Firmware-ralink-firmware"
668LICENSE:${PN}-ralink-license = "Firmware-ralink-firmware" 794LICENSE:${PN}-ralink-license = "Firmware-ralink-firmware"
@@ -1912,6 +2038,7 @@ RDEPENDS:${PN} += "${PN}-whence-license"
1912# Make linux-firmware-ath10k depend on all of the split-out ath10k packages. 2038# Make linux-firmware-ath10k depend on all of the split-out ath10k packages.
1913# Make linux-firmware-ath11k depend on all of the split-out ath11k packages. 2039# Make linux-firmware-ath11k depend on all of the split-out ath11k packages.
1914# Make linux-firmware-ath12k depend on all of the split-out ath12k packages. 2040# Make linux-firmware-ath12k depend on all of the split-out ath12k packages.
2041# Make linux-firmware-qca depend on all of the split-out qca packages.
1915# Make linux-firmware-amdgpu depend on all of the split-out amdgpu packages. 2042# Make linux-firmware-amdgpu depend on all of the split-out amdgpu packages.
1916python populate_packages:prepend () { 2043python populate_packages:prepend () {
1917 firmware_pkgs = oe.utils.packages_filter_out_system(d) 2044 firmware_pkgs = oe.utils.packages_filter_out_system(d)
@@ -1932,6 +2059,9 @@ python populate_packages:prepend () {
1932 ath12k_pkgs = filter(lambda x: x.find('-ath12k-') != -1, firmware_pkgs) 2059 ath12k_pkgs = filter(lambda x: x.find('-ath12k-') != -1, firmware_pkgs)
1933 d.appendVar('RRECOMMENDS:linux-firmware-ath12k', ' ' + ' '.join(ath12k_pkgs)) 2060 d.appendVar('RRECOMMENDS:linux-firmware-ath12k', ' ' + ' '.join(ath12k_pkgs))
1934 2061
2062 qca_pkgs = filter(lambda x: x.find('-qca-') != -1, firmware_pkgs)
2063 d.appendVar('RRECOMMENDS:linux-firmware-qca', ' ' + ' '.join(qca_pkgs))
2064
1935 amdgpu_pkgs = filter(lambda x: x.find('-amdgpu-') != -1, firmware_pkgs) 2065 amdgpu_pkgs = filter(lambda x: x.find('-amdgpu-') != -1, firmware_pkgs)
1936 d.appendVar('RRECOMMENDS:linux-firmware-amdgpu', ' ' + ' '.join(amdgpu_pkgs)) 2066 d.appendVar('RRECOMMENDS:linux-firmware-amdgpu', ' ' + ' '.join(amdgpu_pkgs))
1937} 2067}