diff --git a/external/wlan_loader/firmware/fw_bcm43456c5_ag.bin b/external/wlan_loader/firmware/fw_bcm43456c5_ag.bin new file mode 100644 index 0000000000..93adb73a66 Binary files /dev/null and b/external/wlan_loader/firmware/fw_bcm43456c5_ag.bin differ diff --git a/external/wlan_loader/firmware/fw_bcm43456c5_ag_apsta.bin b/external/wlan_loader/firmware/fw_bcm43456c5_ag_apsta.bin new file mode 100644 index 0000000000..93adb73a66 Binary files /dev/null and b/external/wlan_loader/firmware/fw_bcm43456c5_ag_apsta.bin differ diff --git a/external/wlan_loader/firmware/nvram_ap6256.txt b/external/wlan_loader/firmware/nvram_ap6256.txt new file mode 100644 index 0000000000..b7c9c82bb7 --- /dev/null +++ b/external/wlan_loader/firmware/nvram_ap6256.txt @@ -0,0 +1,130 @@ +#AP6256_NVRAM_V1.2_09202018.txt +# 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 diff --git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c index 28c3e8808e..0a92c37507 100644 --- a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c +++ b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c @@ -165,6 +165,11 @@ const static char *bcm43455c0_ag_fw_name[] = { "fw_bcm43455c0_ag_mfg.bin" }; +const static char *fw_bcm43456c5_ag_fw_name[] = { + "fw_bcm43456c5_ag.bin", + "fw_bcm43456c5_ag_apsta.bin" +}; + const static char *bcm4354a1_ag_fw_name[] = { "fw_bcm4354a1_ag.bin", "fw_bcm4354a1_ag_apsta.bin", @@ -546,9 +551,13 @@ dhd_conf_set_fw_name_by_chip(dhd_pub_t *dhd, char *fw_path, char *nv_path) break; case BCM4345_CHIP_ID: case BCM43454_CHIP_ID: - if (chiprev == BCM43455C0_CHIP_REV) + if (chiprev == BCM43455C0_CHIP_REV){ strcpy(&fw_path[i+1], bcm43455c0_ag_fw_name[fw_type]); - strcpy(&nv_path[j+1], "nvram_ap6255.txt"); + strcpy(&nv_path[j+1], "nvram_ap6255.txt"); + }else if(chiprev == BCM43456C5_CHIP_REV){ + strcpy(&fw_path[i+1], fw_bcm43456c5_ag_fw_name[fw_type]); + strcpy(&nv_path[j+1], "nvram_ap6256.txt"); + } break; case BCM4339_CHIP_ID: if (chiprev == BCM4339A0_CHIP_REV) diff --git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.h b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.h index 918db87615..434af2a373 100644 --- a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.h +++ b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.h @@ -30,6 +30,7 @@ extern uint dhd_slpauto; #define BCM4335A0_CHIP_REV 2 #define BCM4339A0_CHIP_REV 1 #define BCM43455C0_CHIP_REV 6 +#define BCM43456C5_CHIP_REV 9 #define BCM4354A1_CHIP_REV 1 #define BCM4359B1_CHIP_REV 5 #endif diff --git a/vendor/rockchip/common/bluetooth/lib/firmware/BCM4345C5.hcd b/vendor/rockchip/common/bluetooth/lib/firmware/BCM4345C5.hcd new file mode 100644 index 0000000000..f92310c948 Binary files /dev/null and b/vendor/rockchip/common/bluetooth/lib/firmware/BCM4345C5.hcd differ