starfive: add starfive-firmware package

add below firmware:
BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_BLUETOOTH
BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_SDIO_WIFI

add ap6256 bluetooth and sdio wifi firmware
files to /lib/firmware/.

for addtional firmware file, we can also add it
like this way.

Signed-off-by: Andy Hu <andy.hu@starfivetech.com>
This commit is contained in:
Andy Hu
2023-03-28 17:34:37 +08:00
parent 50ab236c33
commit 88f9b66444
6 changed files with 199 additions and 0 deletions
+1
View File
@@ -15,3 +15,4 @@ source "package/starfive/img-gpu-powervr/Config.in"
source "package/starfive/drm_test/Config.in"
source "package/starfive/pm/Config.in"
source "package/starfive/v4l2_dec_test/Config.in"
source "package/starfive/starfive-firmware/Config.in"
@@ -0,0 +1,31 @@
# starfive firmware packages
config BR2_PACKAGE_STARFIVE_FIRMWARE
bool "starfive-firmware"
help
This package provides additional various binary firmware files
based on BR2_PACKAGE_LINUX_FIRMWARE (closed binary blobs) for
such devices like bluetooth, wifi cards etc.
if BR2_PACKAGE_STARFIVE_FIRMWARE
menu "Starfive Bluetooth firmware"
config BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_BLUETOOTH
bool "AP6256 Bluetooth"
help
Firmware files for AP6256 Wireless bluetooth support.
endmenu # Bluetooth
menu "Starfive WiFi firmware"
config BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_SDIO_WIFI
bool "AP6256 SDIO Wifi"
help
Firmware files for the AP6256 Wifi module on SDIO.
endmenu # WiFi
endif # BR2_PACKAGE_STARFIVE_FIRMWARE
@@ -0,0 +1,142 @@
#AP6256_NVRAM_V1.4_06112021
# Cloned from bcm94345wlpagb_p2xx.txt
NVRAMRev=$Rev: 498373 $
sromrev=11
vendid=0x14e4
devid=0x43ab
manfid=0x2d0
prodid=0x06e4
macaddr=00:90:4c:c5:12:38
nocrc=1
boardtype=0x6e4
boardrev=0x1304
#XTAL 37.4MHz
xtalfreq=37400
btc_mode=1
#-----------------------------------------
#boardflags: 5GHz eTR switch by default
# 2.4GHz eTR switch by default
# bit1 for btcoex
boardflags=0x00480201
boardflags2=0x40800000
boardflags3=0x48200100
phycal_tempdelta=15
rxchain=1
txchain=1
aa2g=1
aa5g=1
tssipos5g=1
tssipos2g=1
femctrl=0
AvVmid_c0=1,165,2,100,2,100,2,100,2,100
pa2ga0=-154,5722,-656
#1pa2ga0=-195,5558,-672
pa2ga1=-118,4850,-635
pa5ga0=-193,6098,-740,-192,6095,-738,-199,5996,-730,-182,6148,-741
#3pa5ga0=-214,6002,-737,-209,6102,-746,-209,6024,-738,-200,6149,-747
#2pa5ga0=-203,5495,-683,-205,5489,-682,-207,5494,-678,-208,5549,-683
#1pa5ga0=-203,5495,-683,-205,5489,-682,-207,5494,-678,-185,6130,-740
pa5ga1=-142,4930,-655,-150,4859,-646,-156,4887,-644,-158,4864,-641
itrsw=1
pdoffset2g40ma0=10
pdoffset40ma0=0xaaaa
pdoffset80ma0=0xaaaa
extpagain5g=2
extpagain2g=2
tworangetssi2g=0
tworangetssi5g=0
# LTECX flags
# WCI2
ltecxmux=0
ltecxpadnum=0x0504
ltecxfnsel=0x22
ltecxgcigpio=0x32
maxp2ga0=78
cckbw202gpo=0x5555
cckbw20ul2gpo=0x5555
ofdmlrbw202gpo=0x2244
dot11agofdmhrbw202gpo=0x7744
ccode=DE
regrev=0
mcsbw202gpo=0x98886422
mcsbw402gpo=0x98777755
maxp5ga0=75,75,75,76
#5GHz_20MHz Offset
mcsbw205glpo=0xba753311
mcsbw205gmpo=0xba753311
mcsbw205ghpo=0xba753311
#5GHz_40MHz Offset
mcsbw405glpo=0xe8753311
mcsbw405gmpo=0xe8753311
mcsbw405ghpo=0xd9753311
#5GHz_80MHz Offset
mcsbw805glpo=0xea633311
mcsbw805gmpo=0xe7422211
mcsbw805ghpo=0xda632211
swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
vcodivmode=1
deadman_to=481500000
ed_thresh2g=-54
ed_thresh5g=-54
eu_edthresh2g=-54
eu_edthresh5g=-54
#ed_thresh2g=-69
#ed_thresh5g=-69
#eu_edthresh2g=-69
#eu_edthresh5g=-69
ldo1=4
rawtempsense=0x1ff
cckPwrIdxCorr=3
cckTssiDelay=150
ofdmTssiDelay=150
txpwr2gAdcScale=1
txpwr5gAdcScale=1
dot11b_opts=0x3aa85
cbfilttype=0
#fdsslevel_ch1=6
#fdsslevel_ch11=4
#btc_mode=1
muxenab=0x10
cckdigfilttype=5
fdss_level_2g=6
#fdss_level_5g=6
#pacalshift5g=0,0,1
tempthresh=102
pa2ga0_tsmc=-154,5722,-656
pa2g40a0_tsmc=-199,6126,-732
pa5ga0_tsmc=-193,6098,-740,-192,6095,-738,-199,5996,-730,-182,6148,-741
pa5g40a0_tsmc=-193,6098,-740,-192,6095,-738,-199,5996,-730,-182,6148,-741
pa5g80a0_tsmc=-193,6098,-740,-192,6095,-738,-199,5996,-730,-182,6148,-741
fdss_level_5g=4
@@ -0,0 +1,25 @@
################################################################################
#
# starfive-firmware
#
################################################################################
STARFIVE_FIRMWARE_LICENSE = Proprietary
# AP6256 Bluetooth
ifeq ($(BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_BLUETOOTH),y)
STARFIVE_FIRMWARE_FILES += $(TOPDIR)/package/starfive/starfive-firmware/ap6256-bluetooth/BCM4345C5.hcd
endif
# AP6256 SDIO Wifi
ifeq ($(BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_SDIO_WIFI),y)
STARFIVE_FIRMWARE_FILES += $(TOPDIR)/package/starfive/starfive-firmware/ap6256-sdio-wifi/fw_bcm43456c5_ag.bin
STARFIVE_FIRMWARE_FILES += $(TOPDIR)/package/starfive/starfive-firmware/ap6256-sdio-wifi/nvram_ap6256.txt
endif
define STARFIVE_FIRMWARE_INSTALL_TARGET_CMDS
$(foreach f,$(STARFIVE_FIRMWARE_FILES), \
$(INSTALL) -m 0755 -D $(f) $(TARGET_DIR)/lib/firmware/; \
)
endef
$(eval $(generic-package))