diff options
| author | Marc Ferland <marc.ferland@sonatest.com> | 2025-01-20 10:46:05 -0500 |
|---|---|---|
| committer | Ross Burton <ross.burton@arm.com> | 2025-01-23 12:14:29 +0000 |
| commit | bf35e82d38f2c8279799c769404ec36df0371d6a (patch) | |
| tree | 58d99dd31c49ee0ef52d446d0caa1060697a00ef | |
| parent | 86b2a17985af6a95d512da62ab7595c1999e6c21 (diff) | |
| download | poky-bf35e82d38f2c8279799c769404ec36df0371d6a.tar.gz | |
linux-firmware: split amdgpu firmwares in separate packages
This patch introduces the following packages for AMD gpu chips:
- linux-firmware-amdgpu-aldebaran
- linux-firmware-amdgpu-carrizo
- linux-firmware-amdgpu-cezanne
- linux-firmware-amdgpu-fiji
- linux-firmware-amdgpu-hawaii
- linux-firmware-amdgpu-navi10
- linux-firmware-amdgpu-navi14
- linux-firmware-amdgpu-navi21
- linux-firmware-amdgpu-navi22
- linux-firmware-amdgpu-navi23
- linux-firmware-amdgpu-navi24
- linux-firmware-amdgpu-navi31
- linux-firmware-amdgpu-navi32
- linux-firmware-amdgpu-oland
- linux-firmware-amdgpu-polaris10
- linux-firmware-amdgpu-polaris11
- linux-firmware-amdgpu-polaris12
- linux-firmware-amdgpu-raven
- linux-firmware-amdgpu-rembrandt
- linux-firmware-amdgpu-renoir
- linux-firmware-amdgpu-stoney
- linux-firmware-amdgpu-tonga
- linux-firmware-amdgpu-topaz
- linux-firmware-amdgpu-vega10
- linux-firmware-amdgpu-vega12
- linux-firmware-amdgpu-misc: catches all firmwares that are not
already included in the other -amdgpu- packages.
This list was partly inspired from:
https://wiki.gentoo.org/wiki/AMDGPU#Known_firmware_blobs
Many other firmware packages could be created out of what is in
-misc. Looking at the different commits in the linux-firmware
repository gives a very good idea of which firmware goes with each
chip.
Note: Altough this patch might break some installations that assumed
that _all_ firmwares where installed by the linux-firmware-amdgpu
package, I think it is a step in the right direction as the number of
firmwares under amdgpu is constantly increasing (currently ~103MB).
Tested with a renoir gpu.
(From OE-Core rev: 4bcb1cd5803d7b664140f177730af3c0e0b60968)
Signed-off-by: Marc Ferland <marc.ferland@sonatest.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
| -rw-r--r-- | meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb | 130 |
1 files changed, 127 insertions, 3 deletions
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb index 8211bd1eb1..6380a5303c 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb | |||
| @@ -290,6 +290,32 @@ PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ | |||
| 290 | ${PN}-mt76x-license ${PN}-mt7601u ${PN}-mt7650 ${PN}-mt76x2 \ | 290 | ${PN}-mt76x-license ${PN}-mt7601u ${PN}-mt7650 ${PN}-mt76x2 \ |
| 291 | ${PN}-radeon-license ${PN}-radeon \ | 291 | ${PN}-radeon-license ${PN}-radeon \ |
| 292 | ${PN}-amdgpu-license ${PN}-amdgpu \ | 292 | ${PN}-amdgpu-license ${PN}-amdgpu \ |
| 293 | ${PN}-amdgpu-aldebaran \ | ||
| 294 | ${PN}-amdgpu-carrizo \ | ||
| 295 | ${PN}-amdgpu-cezanne \ | ||
| 296 | ${PN}-amdgpu-fiji \ | ||
| 297 | ${PN}-amdgpu-hawaii \ | ||
| 298 | ${PN}-amdgpu-navi10 \ | ||
| 299 | ${PN}-amdgpu-navi14 \ | ||
| 300 | ${PN}-amdgpu-navi21 \ | ||
| 301 | ${PN}-amdgpu-navi22 \ | ||
| 302 | ${PN}-amdgpu-navi23 \ | ||
| 303 | ${PN}-amdgpu-navi24 \ | ||
| 304 | ${PN}-amdgpu-navi31 \ | ||
| 305 | ${PN}-amdgpu-navi32 \ | ||
| 306 | ${PN}-amdgpu-oland \ | ||
| 307 | ${PN}-amdgpu-polaris10 \ | ||
| 308 | ${PN}-amdgpu-polaris11 \ | ||
| 309 | ${PN}-amdgpu-polaris12 \ | ||
| 310 | ${PN}-amdgpu-raven \ | ||
| 311 | ${PN}-amdgpu-rembrandt \ | ||
| 312 | ${PN}-amdgpu-renoir \ | ||
| 313 | ${PN}-amdgpu-stoney \ | ||
| 314 | ${PN}-amdgpu-tonga \ | ||
| 315 | ${PN}-amdgpu-topaz \ | ||
| 316 | ${PN}-amdgpu-vega10 \ | ||
| 317 | ${PN}-amdgpu-vega12 \ | ||
| 318 | ${PN}-amdgpu-misc \ | ||
| 293 | ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \ | 319 | ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \ |
| 294 | ${PN}-mediatek-license ${PN}-mediatek \ | 320 | ${PN}-mediatek-license ${PN}-mediatek \ |
| 295 | ${PN}-microchip-license ${PN}-microchip \ | 321 | ${PN}-microchip-license ${PN}-microchip \ |
| @@ -712,13 +738,107 @@ RDEPENDS:${PN}-radeon += "${PN}-radeon-license" | |||
| 712 | # For amdgpu | 738 | # For amdgpu |
| 713 | LICENSE:${PN}-amdgpu = "Firmware-amdgpu" | 739 | LICENSE:${PN}-amdgpu = "Firmware-amdgpu" |
| 714 | LICENSE:${PN}-amdgpu-license = "Firmware-amdgpu" | 740 | LICENSE:${PN}-amdgpu-license = "Firmware-amdgpu" |
| 741 | LICENSE:${PN}-amdgpu-aldebaran = "Firmware-amdgpu" | ||
| 742 | LICENSE:${PN}-amdgpu-carrizo = "Firmware-amdgpu" | ||
| 743 | LICENSE:${PN}-amdgpu-cezanne = "Firmware-amdgpu" | ||
| 744 | LICENSE:${PN}-amdgpu-fiji = "Firmware-amdgpu" | ||
| 745 | LICENSE:${PN}-amdgpu-hawaii = "Firmware-amdgpu" | ||
| 746 | LICENSE:${PN}-amdgpu-navi10 = "Firmware-amdgpu" | ||
| 747 | LICENSE:${PN}-amdgpu-navi14 = "Firmware-amdgpu" | ||
| 748 | LICENSE:${PN}-amdgpu-navi21 = "Firmware-amdgpu" | ||
| 749 | LICENSE:${PN}-amdgpu-navi22 = "Firmware-amdgpu" | ||
| 750 | LICENSE:${PN}-amdgpu-navi23 = "Firmware-amdgpu" | ||
| 751 | LICENSE:${PN}-amdgpu-navi24 = "Firmware-amdgpu" | ||
| 752 | LICENSE:${PN}-amdgpu-navi31 = "Firmware-amdgpu" | ||
| 753 | LICENSE:${PN}-amdgpu-navi32 = "Firmware-amdgpu" | ||
| 754 | LICENSE:${PN}-amdgpu-oland = "Firmware-amdgpu" | ||
| 755 | LICENSE:${PN}-amdgpu-polaris10 = "Firmware-amdgpu" | ||
| 756 | LICENSE:${PN}-amdgpu-polaris11 = "Firmware-amdgpu" | ||
| 757 | LICENSE:${PN}-amdgpu-polaris12 = "Firmware-amdgpu" | ||
| 758 | LICENSE:${PN}-amdgpu-raven = "Firmware-amdgpu" | ||
| 759 | LICENSE:${PN}-amdgpu-rembrandt = "Firmware-amdgpu" | ||
| 760 | LICENSE:${PN}-amdgpu-renoir = "Firmware-amdgpu" | ||
| 761 | LICENSE:${PN}-amdgpu-stoney = "Firmware-amdgpu" | ||
| 762 | LICENSE:${PN}-amdgpu-tonga = "Firmware-amdgpu" | ||
| 763 | LICENSE:${PN}-amdgpu-topaz = "Firmware-amdgpu" | ||
| 764 | LICENSE:${PN}-amdgpu-vega10 = "Firmware-amdgpu" | ||
| 765 | LICENSE:${PN}-amdgpu-vega12 = "Firmware-amdgpu" | ||
| 766 | LICENSE:${PN}-amdgpu-misc = "Firmware-amdgpu" | ||
| 715 | 767 | ||
| 716 | FILES:${PN}-amdgpu-license = "${nonarch_base_libdir}/firmware/LICENSE.amdgpu" | 768 | FILES:${PN}-amdgpu-license = "${nonarch_base_libdir}/firmware/LICENSE.amdgpu" |
| 717 | FILES:${PN}-amdgpu = " \ | 769 | FILES:${PN}-amdgpu-aldebaran = "${nonarch_base_libdir}/firmware/amdgpu/aldebaran_*.bin" |
| 718 | ${nonarch_base_libdir}/firmware/amdgpu \ | 770 | FILES:${PN}-amdgpu-carrizo = "${nonarch_base_libdir}/firmware/amdgpu/carrizo_*.bin" |
| 719 | " | 771 | FILES:${PN}-amdgpu-cezanne = "${nonarch_base_libdir}/firmware/amdgpu/green_sardine_*.bin" |
| 772 | FILES:${PN}-amdgpu-fiji = "${nonarch_base_libdir}/firmware/amdgpu/fiji_*.bin" | ||
| 773 | FILES:${PN}-amdgpu-hawaii = "${nonarch_base_libdir}/firmware/amdgpu/hawaii_*.bin" | ||
| 774 | FILES:${PN}-amdgpu-navi10 = "${nonarch_base_libdir}/firmware/amdgpu/navi10_*.bin" | ||
| 775 | FILES:${PN}-amdgpu-navi14 = "${nonarch_base_libdir}/firmware/amdgpu/navi14_*.bin" | ||
| 776 | FILES:${PN}-amdgpu-navi21 = "${nonarch_base_libdir}/firmware/amdgpu/sienna_cichlid_*.bin" | ||
| 777 | FILES:${PN}-amdgpu-navi22 = "${nonarch_base_libdir}/firmware/amdgpu/navy_flounder_*.bin" | ||
| 778 | FILES:${PN}-amdgpu-navi23 = "${nonarch_base_libdir}/firmware/amdgpu/dimgrey_cavefish_*.bin" | ||
| 779 | FILES:${PN}-amdgpu-navi24 = "${nonarch_base_libdir}/firmware/amdgpu/beige_goby_*.bin" | ||
| 780 | FILES:${PN}-amdgpu-navi31 = "${nonarch_base_libdir}/firmware/amdgpu/gc_11_0_0_*.bin \ | ||
| 781 | ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_0_sos.bin \ | ||
| 782 | ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_0_ta.bin \ | ||
| 783 | ${nonarch_base_libdir}/firmware/amdgpu/smu_13_0_0.bin \ | ||
| 784 | ${nonarch_base_libdir}/firmware/amdgpu/dcn_3_2_0_dmcub.bin \ | ||
| 785 | ${nonarch_base_libdir}/firmware/amdgpu/sdma_6_0_0.bin \ | ||
| 786 | ${nonarch_base_libdir}/firmware/amdgpu/vcn_4_0_0.bin \ | ||
| 787 | " | ||
| 788 | FILES:${PN}-amdgpu-navi32 = "${nonarch_base_libdir}/firmware/amdgpu/dcn_3_2_0_dmcub.bin \ | ||
| 789 | ${nonarch_base_libdir}/firmware/amdgpu/gc_11_0_3_*.bin \ | ||
| 790 | ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_10_sos.bin \ | ||
| 791 | ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_10_ta.bin \ | ||
| 792 | ${nonarch_base_libdir}/firmware/amdgpu/sdma_6_0_3.bin \ | ||
| 793 | ${nonarch_base_libdir}/firmware/amdgpu/smu_13_0_10.bin \ | ||
| 794 | ${nonarch_base_libdir}/firmware/amdgpu/vcn_4_0_0.bin \ | ||
| 795 | " | ||
| 796 | FILES:${PN}-amdgpu-oland = "${nonarch_base_libdir}/firmware/amdgpu/oland_*.bin" | ||
| 797 | FILES:${PN}-amdgpu-polaris10 = "${nonarch_base_libdir}/firmware/amdgpu/polaris10_*.bin" | ||
| 798 | FILES:${PN}-amdgpu-polaris11 = "${nonarch_base_libdir}/firmware/amdgpu/polaris11_*.bin" | ||
| 799 | FILES:${PN}-amdgpu-polaris12 = "${nonarch_base_libdir}/firmware/amdgpu/polaris12_*.bin" | ||
| 800 | FILES:${PN}-amdgpu-raven = "${nonarch_base_libdir}/firmware/amdgpu/raven_*.bin" | ||
| 801 | FILES:${PN}-amdgpu-rembrandt = "${nonarch_base_libdir}/firmware/amdgpu/yellow_carp_*.bin" | ||
| 802 | FILES:${PN}-amdgpu-renoir = "${nonarch_base_libdir}/firmware/amdgpu/renoir_*.bin" | ||
| 803 | FILES:${PN}-amdgpu-stoney = "${nonarch_base_libdir}/firmware/amdgpu/stoney_*.bin" | ||
| 804 | FILES:${PN}-amdgpu-tonga = "${nonarch_base_libdir}/firmware/amdgpu/tonga_*.bin" | ||
| 805 | FILES:${PN}-amdgpu-topaz = "${nonarch_base_libdir}/firmware/amdgpu/topaz_*.bin" | ||
| 806 | FILES:${PN}-amdgpu-vega10 = "${nonarch_base_libdir}/firmware/amdgpu/vega10_*.bin" | ||
| 807 | FILES:${PN}-amdgpu-vega12 = "${nonarch_base_libdir}/firmware/amdgpu/vega12_*.bin" | ||
| 808 | FILES:${PN}-amdgpu-misc = "${nonarch_base_libdir}/firmware/amdgpu/*" | ||
| 809 | # -amdgpu is a virtual package that depends upon all amdgpu packages. | ||
| 810 | ALLOW_EMPTY:${PN}-amdgpu = "1" | ||
| 811 | # -amdgpu-misc is a catch all package that includes all the amdgpu | ||
| 812 | # firmwares that are not already included in other -amdgpu- packages. | ||
| 813 | ALLOW_EMPTY:${PN}-amdgpu-misc = "1" | ||
| 720 | 814 | ||
| 721 | RDEPENDS:${PN}-amdgpu += "${PN}-amdgpu-license" | 815 | RDEPENDS:${PN}-amdgpu += "${PN}-amdgpu-license" |
| 816 | RDEPENDS:${PN}-amdgpu-aldebaran += "${PN}-amdgpu-license" | ||
| 817 | RDEPENDS:${PN}-amdgpu-carrizo += "${PN}-amdgpu-license" | ||
| 818 | RDEPENDS:${PN}-amdgpu-cezanne += "${PN}-amdgpu-license" | ||
| 819 | RDEPENDS:${PN}-amdgpu-fiji += "${PN}-amdgpu-license" | ||
| 820 | RDEPENDS:${PN}-amdgpu-hawaii += "${PN}-amdgpu-license" | ||
| 821 | RDEPENDS:${PN}-amdgpu-navi10 += "${PN}-amdgpu-license" | ||
| 822 | RDEPENDS:${PN}-amdgpu-navi14 += "${PN}-amdgpu-license" | ||
| 823 | RDEPENDS:${PN}-amdgpu-navi21 += "${PN}-amdgpu-license" | ||
| 824 | RDEPENDS:${PN}-amdgpu-navi22 += "${PN}-amdgpu-license" | ||
| 825 | RDEPENDS:${PN}-amdgpu-navi23 += "${PN}-amdgpu-license" | ||
| 826 | RDEPENDS:${PN}-amdgpu-navi24 += "${PN}-amdgpu-license" | ||
| 827 | RDEPENDS:${PN}-amdgpu-navi31 += "${PN}-amdgpu-license" | ||
| 828 | RDEPENDS:${PN}-amdgpu-navi32 += "${PN}-amdgpu-license" | ||
| 829 | RDEPENDS:${PN}-amdgpu-oland += "${PN}-amdgpu-license" | ||
| 830 | RDEPENDS:${PN}-amdgpu-polaris10 += "${PN}-amdgpu-license" | ||
| 831 | RDEPENDS:${PN}-amdgpu-polaris11 += "${PN}-amdgpu-license" | ||
| 832 | RDEPENDS:${PN}-amdgpu-polaris12 += "${PN}-amdgpu-license" | ||
| 833 | RDEPENDS:${PN}-amdgpu-raven += "${PN}-amdgpu-license" | ||
| 834 | RDEPENDS:${PN}-amdgpu-rembrandt += "${PN}-amdgpu-license" | ||
| 835 | RDEPENDS:${PN}-amdgpu-renoir += "${PN}-amdgpu-license" | ||
| 836 | RDEPENDS:${PN}-amdgpu-stoney += "${PN}-amdgpu-license" | ||
| 837 | RDEPENDS:${PN}-amdgpu-tonga += "${PN}-amdgpu-license" | ||
| 838 | RDEPENDS:${PN}-amdgpu-topaz += "${PN}-amdgpu-license" | ||
| 839 | RDEPENDS:${PN}-amdgpu-vega10 += "${PN}-amdgpu-license" | ||
| 840 | RDEPENDS:${PN}-amdgpu-vega12 += "${PN}-amdgpu-license" | ||
| 841 | RDEPENDS:${PN}-amdgpu-misc += "${PN}-amdgpu-license" | ||
| 722 | 842 | ||
| 723 | # For lontium | 843 | # For lontium |
| 724 | LICENSE:${PN}-lt9611uxc = "Firmware-Lontium" | 844 | LICENSE:${PN}-lt9611uxc = "Firmware-Lontium" |
| @@ -1775,6 +1895,7 @@ RDEPENDS:${PN} += "${PN}-whence-license" | |||
| 1775 | # Make linux-firmware-ibt depend on all of the split-out ibt packages. | 1895 | # Make linux-firmware-ibt depend on all of the split-out ibt packages. |
| 1776 | # Make linux-firmware-ath10k depend on all of the split-out ath10k packages. | 1896 | # Make linux-firmware-ath10k depend on all of the split-out ath10k packages. |
| 1777 | # Make linux-firmware-ath11k depend on all of the split-out ath11k packages. | 1897 | # Make linux-firmware-ath11k depend on all of the split-out ath11k packages. |
| 1898 | # Make linux-firmware-amdgpu depend on all of the split-out amdgpu packages. | ||
| 1778 | python populate_packages:prepend () { | 1899 | python populate_packages:prepend () { |
| 1779 | firmware_pkgs = oe.utils.packages_filter_out_system(d) | 1900 | firmware_pkgs = oe.utils.packages_filter_out_system(d) |
| 1780 | d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs)) | 1901 | d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs)) |
| @@ -1790,6 +1911,9 @@ python populate_packages:prepend () { | |||
| 1790 | 1911 | ||
| 1791 | ath11k_pkgs = filter(lambda x: x.find('-ath11k-') != -1, firmware_pkgs) | 1912 | ath11k_pkgs = filter(lambda x: x.find('-ath11k-') != -1, firmware_pkgs) |
| 1792 | d.appendVar('RRECOMMENDS:linux-firmware-ath11k', ' ' + ' '.join(ath11k_pkgs)) | 1913 | d.appendVar('RRECOMMENDS:linux-firmware-ath11k', ' ' + ' '.join(ath11k_pkgs)) |
| 1914 | |||
| 1915 | amdgpu_pkgs = filter(lambda x: x.find('-amdgpu-') != -1, firmware_pkgs) | ||
| 1916 | d.appendVar('RRECOMMENDS:linux-firmware-amdgpu', ' ' + ' '.join(amdgpu_pkgs)) | ||
| 1793 | } | 1917 | } |
| 1794 | 1918 | ||
| 1795 | # Firmware files are generally not ran on the CPU, so they can be | 1919 | # Firmware files are generally not ran on the CPU, so they can be |
