Browse Source

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>
Andy Hu 1 year ago
parent
commit
88f9b66444

+ 1 - 0
package/starfive/Config.in

@@ -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"

+ 31 - 0
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

BIN
package/starfive/starfive-firmware/ap6256-bluetooth/BCM4345C5.hcd


BIN
package/starfive/starfive-firmware/ap6256-sdio-wifi/fw_bcm43456c5_ag.bin


+ 142 - 0
package/starfive/starfive-firmware/ap6256-sdio-wifi/nvram_ap6256.txt

@@ -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

+ 25 - 0
package/starfive/starfive-firmware/starfive-firmware.mk

@@ -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))