1################################################################################ 2# 3# linux-firmware 4# 5################################################################################ 6 7LINUX_FIRMWARE_VERSION = 20210919 8LINUX_FIRMWARE_SOURCE = linux-firmware-$(LINUX_FIRMWARE_VERSION).tar.xz 9LINUX_FIRMWARE_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/firmware 10LINUX_FIRMWARE_INSTALL_IMAGES = YES 11 12LINUX_FIRMWARE_CPE_ID_VENDOR = kernel 13 14# Intel SST DSP 15ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_SST_DSP),y) 16LINUX_FIRMWARE_FILES += intel/fw_sst_0f28.bin-48kHz_i2s_master 17LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.fw_sst_0f28 18endif 19 20ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AMDGPU),y) 21LINUX_FIRMWARE_DIRS += amdgpu 22LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.amdgpu 23endif 24 25ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_I915),y) 26LINUX_FIRMWARE_DIRS += i915 27LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.i915 28endif 29 30ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RADEON),y) 31LINUX_FIRMWARE_DIRS += radeon 32LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.radeon 33endif 34 35ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QCOM_VENUS),y) 36LINUX_FIRMWARE_DIRS += qcom/venus-1.8 qcom/venus-4.2 37LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt 38endif 39 40ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO),y) 41LINUX_FIRMWARE_FILES += qcom/a* 42LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt 43endif 44 45ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8),y) 46LINUX_FIRMWARE_FILES += \ 47 s5p-mfc.fw \ 48 s5p-mfc-v6.fw \ 49 s5p-mfc-v6-v2.fw \ 50 s5p-mfc-v7.fw \ 51 s5p-mfc-v8.fw 52# No license file; the license is in the file WHENCE 53# which is installed unconditionally 54endif 55 56# Intel Wireless Bluetooth 57ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IBT),y) 58LINUX_FIRMWARE_FILES += intel/ibt-* 59LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ibt_firmware 60endif 61 62# Qualcomm Atheros Rome 6174A Bluetooth 63ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT),y) 64LINUX_FIRMWARE_FILES += qca/rampatch_usb_00000302.bin qca/nvm_usb_00000302.bin 65LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom 66endif 67 68# Realtek 87xx Bluetooth 69ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT),y) 70LINUX_FIRMWARE_FILES += \ 71 rtl_bt/rtl8723a_fw.bin rtl_bt/rtl8723b_fw.bin \ 72 rtl_bt/rtl8723bs_config-OBDA8723.bin \ 73 rtl_bt/rtl8723bs_fw.bin rtl_bt/rtl8723d_config.bin \ 74 rtl_bt/rtl8723d_fw.bin rtl_bt/rtl8761a_fw.bin 75LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt 76endif 77 78# Realtek 88xx Bluetooth 79ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT),y) 80LINUX_FIRMWARE_FILES += \ 81 rtl_bt/rtl8812ae_fw.bin rtl_bt/rtl8821a_fw.bin \ 82 rtl_bt/rtl8821c_config.bin rtl_bt/rtl8821c_fw.bin \ 83 rtl_bt/rtl8822b_config.bin rtl_bt/rtl8822b_fw.bin \ 84 rtl_bt/rtl8822cs_config.bin rtl_bt/rtl8822cs_fw.bin \ 85 rtl_bt/rtl8822cu_config.bin rtl_bt/rtl8822cu_fw.bin 86LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt 87endif 88 89# rt2501/rt61 90ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y) 91LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin 92LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt 93endif 94 95# rt73 96ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73),y) 97LINUX_FIRMWARE_FILES += rt73.bin 98LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt 99endif 100 101# rt2xx 102ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y) 103LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3071.bin 104LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt 105endif 106 107# rtl81xx 108ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y) 109LINUX_FIRMWARE_FILES += \ 110 rtlwifi/rtl8192cfw.bin \ 111 rtlwifi/rtl8192cfwU.bin \ 112 rtlwifi/rtl8192cfwU_B.bin \ 113 rtlwifi/rtl8192cufw.bin \ 114 rtlwifi/rtl8192defw.bin \ 115 rtlwifi/rtl8192sefw.bin \ 116 rtlwifi/rtl8188efw.bin \ 117 rtlwifi/rtl8188eufw.bin \ 118 rtlwifi/rtl8192cufw_A.bin \ 119 rtlwifi/rtl8192cufw_B.bin \ 120 rtlwifi/rtl8192cufw_TMSC.bin \ 121 rtlwifi/rtl8192eu_ap_wowlan.bin \ 122 rtlwifi/rtl8192eu_nic.bin \ 123 rtlwifi/rtl8192eu_wowlan.bin 124LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt 125endif 126 127# rtl87xx 128ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y) 129LINUX_FIRMWARE_FILES += \ 130 rtlwifi/rtl8712u.bin \ 131 rtlwifi/rtl8723fw.bin \ 132 rtlwifi/rtl8723fw_B.bin \ 133 rtlwifi/rtl8723befw.bin \ 134 rtlwifi/rtl8723aufw_A.bin \ 135 rtlwifi/rtl8723aufw_B.bin \ 136 rtlwifi/rtl8723aufw_B_NoBT.bin \ 137 rtlwifi/rtl8723befw.bin \ 138 rtlwifi/rtl8723bs_bt.bin \ 139 rtlwifi/rtl8723bu_ap_wowlan.bin \ 140 rtlwifi/rtl8723bu_nic.bin \ 141 rtlwifi/rtl8723bu_wowlan.bin 142LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt 143endif 144 145# rtl88xx 146ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX),y) 147LINUX_FIRMWARE_FILES += \ 148 rtlwifi/rtl8821aefw.bin \ 149 rtlwifi/rtl8821aefw_wowlan.bin \ 150 rtlwifi/rtl8821aefw_29.bin rtlwifi/rtl8822befw.bin 151LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt 152endif 153 154# rtw88 155ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_RTW88),y) 156LINUX_FIRMWARE_FILES += \ 157 rtw88/rtw8723d_fw.bin \ 158 rtw88/rtw8822b_fw.bin \ 159 rtw88/rtw8822c_fw.bin 160LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt 161endif 162 163# ar3011 164ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AR3011),y) 165LINUX_FIRMWARE_FILES += ath3k-1.fw 166LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 167endif 168 169# ar3012 170ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AR3012_USB),y) 171LINUX_FIRMWARE_FILES += \ 172 ar3k/AthrBT_0x01020001.dfu \ 173 ar3k/ramps_0x01020001_26.dfu \ 174 ar3k/AthrBT_0x01020200.dfu \ 175 ar3k/ramps_0x01020200_26.dfu \ 176 ar3k/ramps_0x01020200_40.dfu \ 177 ar3k/AthrBT_0x31010000.dfu \ 178 ar3k/ramps_0x31010000_40.dfu \ 179 ar3k/AthrBT_0x11020000.dfu \ 180 ar3k/ramps_0x11020000_40.dfu \ 181 ar3k/ramps_0x01020201_26.dfu \ 182 ar3k/ramps_0x01020201_40.dfu \ 183 ar3k/AthrBT_0x41020000.dfu \ 184 ar3k/ramps_0x41020000_40.dfu \ 185 ar3k/AthrBT_0x11020100.dfu \ 186 ar3k/ramps_0x11020100_40.dfu \ 187 ar3k/AthrBT_0x31010100.dfu \ 188 ar3k/ramps_0x31010100_40.dfu \ 189 ar3k/AthrBT_0x01020201.dfu 190LINUX_FIRMWARE_ALL_LICENSE_FILES += \ 191 LICENCE.atheros_firmware LICENSE.QualcommAtheros_ar3k 192endif 193 194# ar6002 195ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002),y) 196LINUX_FIRMWARE_FILES += ath6k/AR6002 197LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 198endif 199 200# ar6003 201ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003),y) 202LINUX_FIRMWARE_FILES += ath6k/AR6003 203LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 204endif 205 206# ar6004 207ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004),y) 208LINUX_FIRMWARE_FILES += ath6k/AR6004 209LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 210endif 211 212# ar7010 213ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010),y) 214LINUX_FIRMWARE_FILES += ar7010.fw ar7010_1_1.fw htc_7010.fw ath9k_htc/htc_7010-1.4.0.fw 215LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 216endif 217 218# ar9170 219ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170),y) 220LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw carl9170-1.fw 221LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 222endif 223 224# ar9271 225ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271),y) 226LINUX_FIRMWARE_FILES += ar9271.fw htc_9271.fw ath9k_htc/htc_9271-1.4.0.fw 227LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 228endif 229 230# ath10k 231ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA9377),y) 232LINUX_FIRMWARE_FILES += ath10k/QCA9377/hw1.0/board-2.bin \ 233 ath10k/QCA9377/hw1.0/board.bin \ 234 ath10k/QCA9377/hw1.0/firmware-5.bin \ 235 ath10k/QCA9377/hw1.0/firmware-6.bin \ 236 ath10k/QCA9377/hw1.0/firmware-sdio-5.bin 237LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 238endif 239 240ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X),y) 241LINUX_FIRMWARE_FILES += ath10k/QCA988X/hw2.0/board.bin \ 242 ath10k/QCA988X/hw2.0/firmware-4.bin \ 243 ath10k/QCA988X/hw2.0/firmware-5.bin 244LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware 245endif 246 247# sd8686 v8 248ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y) 249LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin 250LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 251endif 252 253# sd8686 v9 254ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9),y) 255LINUX_FIRMWARE_FILES += libertas/sd8686_v9.bin libertas/sd8686_v9_helper.bin 256LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 257endif 258 259# sd8688 260ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688),y) 261LINUX_FIRMWARE_FILES += mrvl/sd8688.bin mrvl/sd8688_helper.bin 262LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 263endif 264 265# usb8388 v9 266ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB8388_V9),y) 267LINUX_FIRMWARE_FILES += libertas/usb8388_v9.bin 268LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 269endif 270 271# usb8388 olpc 272ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB8388_OLPC),y) 273LINUX_FIRMWARE_FILES += libertas/usb8388_olpc.bin 274LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 275endif 276 277# lbtf usb 278ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB_THINFIRM),y) 279LINUX_FIRMWARE_FILES += lbtf_usb.bin 280LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 281endif 282 283# sd8787 284ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787),y) 285LINUX_FIRMWARE_FILES += mrvl/sd8787_uapsta.bin 286LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 287endif 288 289# sd8797 290ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797),y) 291LINUX_FIRMWARE_FILES += mrvl/sd8797_uapsta.bin 292LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 293endif 294 295# usb8797 296ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797),y) 297LINUX_FIRMWARE_FILES += mrvl/usb8797_uapsta.bin 298LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 299endif 300 301# usb8801 302ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801),y) 303LINUX_FIRMWARE_FILES += mrvl/usb8801_uapsta.bin 304LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 305endif 306 307# sd8887 308ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887),y) 309LINUX_FIRMWARE_FILES += mrvl/sd8887_uapsta.bin 310LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 311endif 312 313# sd8897 314ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897),y) 315LINUX_FIRMWARE_FILES += mrvl/sd8897_uapsta.bin 316LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 317endif 318 319# usb8897 320ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897),y) 321LINUX_FIRMWARE_FILES += mrvl/usb8897_uapsta.bin 322LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 323endif 324 325# pcie8897 326ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897),y) 327LINUX_FIRMWARE_FILES += mrvl/pcie8897_uapsta.bin 328LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 329endif 330 331# pcieuart8997 332ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIEUART8997),y) 333LINUX_FIRMWARE_FILES += mrvl/pcieuart8997_combo_v4.bin 334LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 335endif 336 337# pcieusb8997 338ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIEUSB8997),y) 339LINUX_FIRMWARE_FILES += mrvl/pcieusb8997_combo_v4.bin 340LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell 341endif 342 343# MT7601 344ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U),y) 345LINUX_FIRMWARE_FILES += mt7601u.bin 346LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware 347endif 348 349# MT7610 350ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7610E),y) 351LINUX_FIRMWARE_FILES += mediatek/mt7610e.bin 352LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware 353endif 354 355# MT7650 356ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7650),y) 357LINUX_FIRMWARE_FILES += mt7650.bin 358LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware 359endif 360 361# MT76x2e 362ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT76X2E),y) 363LINUX_FIRMWARE_FILES += mt7662.bin mt7662_rom_patch.bin 364LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware 365endif 366 367# qca6174 368ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174),y) 369LINUX_FIRMWARE_FILES += ath10k/QCA6174 370LINUX_FIRMWARE_ALL_LICENSE_FILES += \ 371 LICENSE.QualcommAtheros_ath10k \ 372 ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \ 373 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \ 374 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt 375endif 376 377# CC2560(A) 378ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560),y) 379LINUX_FIRMWARE_FILES += \ 380 ti-connectivity/TIInit_6.2.31.bts \ 381 ti-connectivity/TIInit_6.6.15.bts 382LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity 383endif 384 385# wl127x 386ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y) 387LINUX_FIRMWARE_FILES += \ 388 ti-connectivity/wl1271-fw-2.bin \ 389 ti-connectivity/wl1271-fw-ap.bin \ 390 ti-connectivity/wl1271-fw.bin \ 391 ti-connectivity/wl127x-fw-3.bin \ 392 ti-connectivity/wl127x-fw-plt-3.bin \ 393 ti-connectivity/wl127x-nvs.bin \ 394 ti-connectivity/wl127x-fw-4-mr.bin \ 395 ti-connectivity/wl127x-fw-4-plt.bin \ 396 ti-connectivity/wl127x-fw-4-sr.bin \ 397 ti-connectivity/wl127x-fw-5-mr.bin \ 398 ti-connectivity/wl127x-fw-5-plt.bin \ 399 ti-connectivity/wl127x-fw-5-sr.bin \ 400 ti-connectivity/TIInit_7.2.31.bts 401LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity 402endif 403 404# wl128x 405ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y) 406LINUX_FIRMWARE_FILES += \ 407 ti-connectivity/wl128x-fw-3.bin \ 408 ti-connectivity/wl128x-fw-ap.bin \ 409 ti-connectivity/wl128x-fw-plt-3.bin \ 410 ti-connectivity/wl128x-fw.bin \ 411 ti-connectivity/wl128x-nvs.bin \ 412 ti-connectivity/wl127x-nvs.bin \ 413 ti-connectivity/wl128x-fw-4-mr.bin \ 414 ti-connectivity/wl128x-fw-4-plt.bin \ 415 ti-connectivity/wl128x-fw-4-sr.bin \ 416 ti-connectivity/wl128x-fw-5-mr.bin \ 417 ti-connectivity/wl128x-fw-5-plt.bin \ 418 ti-connectivity/wl128x-fw-5-sr.bin \ 419 ti-connectivity/TIInit_7.2.31.bts 420LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity 421endif 422 423# wl18xx 424ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y) 425LINUX_FIRMWARE_FILES += \ 426 ti-connectivity/wl18xx-fw.bin \ 427 ti-connectivity/wl18xx-fw-2.bin \ 428 ti-connectivity/wl18xx-fw-3.bin \ 429 ti-connectivity/wl18xx-fw-4.bin \ 430 ti-connectivity/wl127x-nvs.bin \ 431 ti-connectivity/TIInit_7.2.31.bts 432LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity 433endif 434 435ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_WIL6210),y) 436LINUX_FIRMWARE_FILES += wil6210.* 437LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.QualcommAtheros_ath10k 438endif 439 440ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22260),y) 441LINUX_FIRMWARE_FILES += iwlwifi-cc-a0-*.ucode 442LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 443endif 444 445ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160),y) 446LINUX_FIRMWARE_FILES += iwlwifi-3160-*.ucode 447LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 448endif 449 450ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168),y) 451LINUX_FIRMWARE_FILES += iwlwifi-3168-*.ucode 452LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 453endif 454 455# iwlwifi 5000. Multiple files are available (iwlwifi-5000-1.ucode, 456# iwlwifi-5000-2.ucode, iwlwifi-5000-5.ucode), corresponding to 457# different versions of the firmware API. For now, we only install the 458# most recent one. 459ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000),y) 460LINUX_FIRMWARE_FILES += iwlwifi-5000-5.ucode 461LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 462endif 463 464ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A),y) 465LINUX_FIRMWARE_FILES += iwlwifi-6000g2a-6.ucode 466LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 467endif 468 469ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B),y) 470LINUX_FIRMWARE_FILES += iwlwifi-6000g2b-6.ucode 471LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 472endif 473 474ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260),y) 475LINUX_FIRMWARE_FILES += iwlwifi-7260-*.ucode 476LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 477endif 478 479ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265),y) 480LINUX_FIRMWARE_FILES += iwlwifi-7265-*.ucode 481LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 482endif 483 484ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D),y) 485LINUX_FIRMWARE_FILES += iwlwifi-7265D-*.ucode 486LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 487endif 488 489ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C),y) 490LINUX_FIRMWARE_FILES += iwlwifi-8000C-*.ucode 491LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 492endif 493 494ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265),y) 495LINUX_FIRMWARE_FILES += iwlwifi-8265-*.ucode 496LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 497endif 498 499ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX),y) 500LINUX_FIRMWARE_FILES += iwlwifi-9???-*.ucode 501LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware 502endif 503 504ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BROADCOM_TIGON3),y) 505LINUX_FIRMWARE_FILES += tigon/* 506# No license file; the license is in the file WHENCE 507# which is installed unconditionally 508endif 509 510ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BNX2X),y) 511LINUX_FIRMWARE_FILES += bnx2x/* 512# No license file; the license is in the file WHENCE 513# which is installed unconditionally 514endif 515 516ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4),y) 517LINUX_FIRMWARE_FILES += cxgb4/t4fw*.bin 518LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware 519endif 520 521ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5),y) 522LINUX_FIRMWARE_FILES += cxgb4/t5fw*.bin 523LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware 524endif 525 526ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100),y) 527LINUX_FIRMWARE_FILES += e100/*.bin 528LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.e100 529endif 530 531ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MICROCHIP_VSC85XX_PHY),y) 532LINUX_FIRMWARE_FILES += microchip/mscc_vsc85*.bin 533LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.microchip 534endif 535 536ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X),y) 537LINUX_FIRMWARE_FILES += \ 538 qed/qed_init_values_zipped-*.bin 539# No license file; the license is in the file WHENCE 540# which is installed unconditionally 541endif 542 543# rtl815x 544ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_815X),y) 545LINUX_FIRMWARE_FILES += \ 546 rtl_nic/rtl8153a-2.fw \ 547 rtl_nic/rtl8153a-3.fw \ 548 rtl_nic/rtl8153a-4.fw \ 549 rtl_nic/rtl8153b-2.fw \ 550 rtl_nic/rtl8153c-1.fw \ 551 rtl_nic/rtl8156a-2.fw \ 552 rtl_nic/rtl8156b-2.fw 553LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt 554endif 555 556ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169),y) 557LINUX_FIRMWARE_FILES += \ 558 rtl_nic/rtl8105e-1.fw \ 559 rtl_nic/rtl8106e-1.fw \ 560 rtl_nic/rtl8106e-2.fw \ 561 rtl_nic/rtl8107e-1.fw \ 562 rtl_nic/rtl8107e-2.fw \ 563 rtl_nic/rtl8125a-3.fw \ 564 rtl_nic/rtl8168d-1.fw \ 565 rtl_nic/rtl8168d-2.fw \ 566 rtl_nic/rtl8168e-1.fw \ 567 rtl_nic/rtl8168e-2.fw \ 568 rtl_nic/rtl8168e-3.fw \ 569 rtl_nic/rtl8168f-1.fw \ 570 rtl_nic/rtl8168f-2.fw \ 571 rtl_nic/rtl8168fp-3.fw \ 572 rtl_nic/rtl8168g-2.fw \ 573 rtl_nic/rtl8168g-3.fw \ 574 rtl_nic/rtl8168h-1.fw \ 575 rtl_nic/rtl8168h-2.fw \ 576 rtl_nic/rtl8402-1.fw \ 577 rtl_nic/rtl8411-1.fw \ 578 rtl_nic/rtl8411-2.fw 579endif 580 581ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_XCx000),y) 582LINUX_FIRMWARE_FILES += \ 583 dvb-fe-xc4000-1.4.1.fw \ 584 dvb-fe-xc5000-1.6.114.fw \ 585 dvb-fe-xc5000c-4.1.30.7.fw 586LINUX_FIRMWARE_ALL_LICENSE_FILES += \ 587 LICENCE.xc4000 \ 588 LICENCE.xc5000 \ 589 LICENCE.xc5000c 590endif 591 592ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AS102),y) 593LINUX_FIRMWARE_FILES += as102_data1_st.hex as102_data2_st.hex 594LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Abilis 595endif 596 597ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_DIB0700),y) 598LINUX_FIRMWARE_FILES += dvb-usb-dib0700-1.20.fw 599LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.dib0700 600endif 601 602ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ITETECH_IT9135),y) 603LINUX_FIRMWARE_FILES += dvb-usb-it9135-01.fw dvb-usb-it9135-02.fw 604LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.it913x 605endif 606 607ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK),y) 608LINUX_FIRMWARE_FILES += dvb-usb-terratec-h5-drxk.fw 609# No license file; the license is in the file WHENCE 610# which is installed unconditionally 611endif 612 613# brcm43xx 614ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX),y) 615LINUX_FIRMWARE_FILES += \ 616 brcm/bcm4329-fullmac-4.bin \ 617 brcm/brcmfmac4329-sdio.bin \ 618 brcm/brcmfmac4330-sdio.bin \ 619 brcm/brcmfmac4334-sdio.bin \ 620 brcm/brcmfmac4335-sdio.bin \ 621 brcm/brcmfmac4350c2-pcie.bin \ 622 brcm/brcmfmac4350-pcie.bin \ 623 brcm/brcmfmac4358-pcie.bin \ 624 brcm/brcmfmac4371-pcie.bin \ 625 brcm/brcmfmac4373.bin \ 626 brcm/brcmfmac4330-sdio.Prowise-PT301.txt \ 627 brcm/brcmfmac4356-pcie.gpd-win-pocket.txt \ 628 brcm/brcmfmac4356-sdio.vamrs,rock960.txt 629LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx 630endif 631 632# brcm43xxx 633ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX),y) 634LINUX_FIRMWARE_FILES += \ 635 brcm/brcmfmac43143.bin \ 636 brcm/brcmfmac43143-sdio.bin \ 637 brcm/brcmfmac43236b.bin \ 638 brcm/brcmfmac43241b0-sdio.bin \ 639 brcm/brcmfmac43241b4-sdio.bin \ 640 brcm/brcmfmac43241b5-sdio.bin \ 641 brcm/brcmfmac43242a.bin \ 642 brcm/brcmfmac43430a0-sdio.bin \ 643 brcm/brcmfmac43569.bin \ 644 brcm/brcmfmac43602-pcie.ap.bin \ 645 brcm/brcmfmac43602-pcie.bin \ 646 brcm/brcmfmac43340-sdio.meegopad-t08.txt \ 647 brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt \ 648 brcm/brcmfmac43340-sdio.predia-basic.txt \ 649 brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt \ 650 brcm/brcmfmac43430a0-sdio.ilife-S806.txt \ 651 brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt \ 652 brcm/brcmfmac43430-sdio.AP6212.txt \ 653 brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt \ 654 brcm/brcmfmac43430-sdio.MUR1DX.txt \ 655 brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \ 656 brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \ 657 brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt 658LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx 659endif 660 661# brcm4366b1 662ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366B1),y) 663LINUX_FIRMWARE_FILES += brcm/brcmfmac4366b-pcie.bin 664LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx 665endif 666 667# brcm4366c0 668ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366C0),y) 669LINUX_FIRMWARE_FILES += brcm/brcmfmac4366c-pcie.bin 670LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx 671endif 672 673# ql2xxx 674ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX),y) 675LINUX_FIRMWARE_FILES += \ 676 ql2100_fw.bin ql2200_fw.bin ql2300_fw.bin ql2322_fw.bin \ 677 ql2400_fw.bin ql2500_fw.bin 678LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qla2xxx 679endif 680 681ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113),y) 682LINUX_FIRMWARE_FILES += \ 683 rsi/rs9113_ap_bt_dual_mode.rps \ 684 rsi/rs9113_wlan_bt_dual_mode.rps \ 685 rsi/rs9113_wlan_qspi.rps 686# No license file; the license is in the file WHENCE 687# which is installed unconditionally 688endif 689 690ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_DH895XCC),y) 691LINUX_FIRMWARE_FILES += qat_895xcc.bin qat_895xcc_mmp.bin 692LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware 693endif 694 695ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C3XXX),y) 696LINUX_FIRMWARE_FILES += qat_c3xxx.bin qat_c3xxx_mmp.bin 697LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware 698endif 699 700ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C62X),y) 701LINUX_FIRMWARE_FILES += qat_c62x.bin qat_c62x_mmp.bin 702LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware 703endif 704 705ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI),y) 706LINUX_FIRMWARE_FILES += ti_3410.fw ti_5052.fw \ 707 mts_cdma.fw mts_gsm.fw mts_edge.fw mts_mt9234mu.fw mts_mt9234zba.fw \ 708 moxa/moxa-1110.fw moxa/moxa-1130.fw moxa/moxa-1131.fw \ 709 moxa/moxa-1150.fw moxa/moxa-1151.fw 710# Some firmware's license is in the file WHENCE 711# which is installed unconditionally 712LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.moxa 713endif 714 715ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CX231XX),y) 716LINUX_FIRMWARE_FILES += v4l-cx231xx-avcore-01.fw 717# No license file; the license is in the file WHENCE 718# which is installed unconditionally 719endif 720 721ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),) 722 723define LINUX_FIRMWARE_BUILD_CMDS 724 cd $(@D) && \ 725 $(TAR) cf br-firmware.tar $(sort $(LINUX_FIRMWARE_FILES) $(LINUX_FIRMWARE_DIRS)) 726endef 727 728# Most firmware files are under a proprietary license, so no need to 729# repeat it for every selections above. Those firmwares that have more 730# lax licensing terms may still add them on a per-case basis. 731LINUX_FIRMWARE_LICENSE += Proprietary 732 733# This file contains some licensing information about all the firmware 734# files found in the linux-firmware package, so we always add it, even 735# for firmwares that have their own licensing terms. 736LINUX_FIRMWARE_ALL_LICENSE_FILES += WHENCE 737 738# Some license files may be listed more than once, so we have to remove 739# duplicates 740LINUX_FIRMWARE_LICENSE_FILES = $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES)) 741 742# Some firmware are distributed as a symlink, for drivers to load them using a 743# defined name other than the real one. Since 9cfefbd7fbda ("Remove duplicate 744# symlinks") those symlink aren't distributed in linux-firmware but are created 745# automatically by its copy-firmware.sh script during the installation, which 746# parses the WHENCE file where symlinks are described. We follow the same logic 747# here, adding symlink only for firmwares installed in the target directory. 748# 749# For testing the presence of firmwares in the target directory we first make 750# sure we canonicalize the pointed-to file, to cover the symlinks of the form 751# a/foo -> ../b/foo where a/ (the directory where to put the symlink) does 752# not yet exist. 753define LINUX_FIRMWARE_INSTALL_FW 754 mkdir -p $(1) 755 $(TAR) xf $(@D)/br-firmware.tar -C $(1) 756 cd $(1) ; \ 757 sed -r -e '/^Link: (.+) -> (.+)$$/!d; s//\1 \2/' $(@D)/WHENCE | \ 758 while read f d; do \ 759 if test -f $$(readlink -m $$(dirname "$$f")/$$d); then \ 760 mkdir -p $$(dirname "$$f") || exit 1; \ 761 ln -sf $$d "$$f" || exit 1; \ 762 fi ; \ 763 done 764endef 765 766endif # LINUX_FIRMWARE_FILES || LINUX_FIRMWARE_DIRS 767 768define LINUX_FIRMWARE_INSTALL_TARGET_CMDS 769 $(call LINUX_FIRMWARE_INSTALL_FW, $(TARGET_DIR)/lib/firmware) 770endef 771 772define LINUX_FIRMWARE_INSTALL_IMAGES_CMDS 773 $(call LINUX_FIRMWARE_INSTALL_FW, $(BINARIES_DIR)) 774endef 775 776$(eval $(generic-package)) 777