1################################################################################ 2# 3# murata-cyw-fw 4# 5################################################################################ 6 7MURATA_CYW_FW_VERSION = 8d87950bfad28c65926695b7357bd8995b60016a 8MURATA_CYW_FW_VERSION_NVRAM = d27f1bf105fa1e5b828e355793b88d4b66188411 9MURATA_CYW_FW_VERSION_BT_PATCH = 748462f0b02ec4aeb500bedd60780ac51c37be31 10MURATA_CYW_FW_SITE = $(call github,murata-wireless,cyw-fmac-fw,$(MURATA_CYW_FW_VERSION)) 11MURATA_CYW_FW_EXTRA_DOWNLOADS = \ 12 $(call github,murata-wireless,cyw-fmac-nvram,$(MURATA_CYW_FW_VERSION_NVRAM))/cyw-fmac-nvram-$(MURATA_CYW_FW_VERSION_NVRAM).tar.gz \ 13 $(call github,murata-wireless,cyw-bt-patch,$(MURATA_CYW_FW_VERSION_BT_PATCH))/cyw-bt-patch-$(MURATA_CYW_FW_VERSION_BT_PATCH).tar.gz 14MURATA_CYW_FW_LICENSE = PROPRIETARY 15MURATA_CYW_FW_LICENSE_FILES = LICENCE.cypress 16MURATA_CYW_FW_REDISTRIBUTE = NO 17 18define MURATA_CYW_FW_EXTRACT_NVRAM_PATCH 19 $(foreach tar,$(notdir $(MURATA_CYW_FW_EXTRA_DOWNLOADS)), \ 20 $(call suitable-extractor,$(tar)) $(MURATA_CYW_FW_DL_DIR)/$(tar) | \ 21 $(TAR) --strip-components=1 -C $(@D) $(TAR_OPTIONS) - 22 ) 23endef 24MURATA_CYW_FW_POST_EXTRACT_HOOKS += MURATA_CYW_FW_EXTRACT_NVRAM_PATCH 25 26MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43012) += \ 27 brcmfmac43012-sdio.bin \ 28 brcmfmac43012-sdio.1LV.clm_blob \ 29 brcmfmac43012-sdio.1LV.txt \ 30 CYW43012C0.1LV.hcd 31MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43340) += \ 32 brcmfmac43340-sdio.bin \ 33 brcmfmac43340-sdio.1BW.txt \ 34 CYW43341B0.1BW.hcd 35MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43362) += \ 36 brcmfmac43362-sdio.bin \ 37 brcmfmac43362-sdio.SN8000.txt 38MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW4339) += \ 39 brcmfmac4339-sdio.bin 40MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW4339_1CK) += \ 41 brcmfmac4339-sdio.1CK.txt 42MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW4339_ZP) += \ 43 brcmfmac4339-sdio.ZP.txt \ 44 CYW4335C0.ZP.hcd 45MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43430) += \ 46 brcmfmac43430-sdio.bin 47MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43430_1DX) += \ 48 brcmfmac43430-sdio.1DX.clm_blob \ 49 brcmfmac43430-sdio.1DX.txt \ 50 CYW43430A1.1DX.hcd 51MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43430_1FX) += \ 52 brcmfmac43430-sdio.1FX.clm_blob \ 53 brcmfmac43430-sdio.1FX.txt 54MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43430_1LN) += \ 55 brcmfmac43430-sdio.1LN.clm_blob \ 56 brcmfmac43430-sdio.1LN.txt 57MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43455) += \ 58 brcmfmac43455-sdio.bin 59MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43455_1HK) += \ 60 brcmfmac43455-sdio.1HK.clm_blob \ 61 brcmfmac43455-sdio.1HK.txt 62MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43455_1LC) += \ 63 brcmfmac43455-sdio.1LC.clm_blob \ 64 brcmfmac43455-sdio.1LC.txt 65MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW43455_1MW) += \ 66 brcmfmac43455-sdio.1MW.clm_blob \ 67 brcmfmac43455-sdio.1MW.txt \ 68 CYW4345C0.1MW.hcd 69MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW4354) += \ 70 brcmfmac4354-sdio.bin \ 71 brcmfmac4354-sdio.1BB.clm_blob \ 72 brcmfmac4354-sdio.1BB.txt \ 73 CYW4350C0.1BB.hcd 74MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW4356) += \ 75 brcmfmac4356-pcie.bin \ 76 brcmfmac4356-pcie.1CX.clm_blob \ 77 brcmfmac4356-pcie.1CX.txt \ 78 CYW4354A2.1CX.hcd 79MURATA_CYW_FW_FILES_$(BR2_PACKAGE_MURATA_CYW_FW_CYW4359) += \ 80 brcmfmac4359-pcie.bin \ 81 brcmfmac4359-pcie.1FD.clm_blob 82 83# Helper that assumes filename with model has two dots (CHIP.MODEL.EXT), 84# but filename without model has only single dot (CHIP.EXT). 85murata-cyw-fw-strip-model = $(shell echo -n $(1) | sed 's/\..*\./\./') 86 87# Helper that strips model name and renames Bluetooth patch files to the ones 88# expected by Linux kernel. 89murata-cyw-fw-file-rename = $(call murata-cyw-fw-strip-model,$(patsubst CYW%,BCM%,$(f))) 90 91define MURATA_CYW_FW_INSTALL_TARGET_CMDS 92 $(foreach f,$(MURATA_CYW_FW_FILES_y), \ 93 $(INSTALL) -m 0644 -D $(@D)/$(f) \ 94 $(TARGET_DIR)/lib/firmware/brcm/$(call murata-cyw-fw-file-rename,$(f)) 95 ) 96endef 97 98$(eval $(generic-package)) 99