diff --git a/packages/blobs/station/firmware/brcm/brcmfmac43752-sdio.txt b/packages/blobs/station/firmware/brcm/brcmfmac43752-sdio.txt index b7c9c82bb7..d81ca9300d 100755 --- a/packages/blobs/station/firmware/brcm/brcmfmac43752-sdio.txt +++ b/packages/blobs/station/firmware/brcm/brcmfmac43752-sdio.txt @@ -1,130 +1,356 @@ -#AP6256_NVRAM_V1.2_09202018.txt -# Cloned from bcm94345wlpagb_p2xx.txt -NVRAMRev=$Rev: 498373 $ +# AP6275S_NVRAM_V1.7_20210726 +# AP6275S v00 WLBGA reference board, iPA version. + +# SSID generated using Alberto's boardssid.py script: +# ********************SUMMARY******************** +# Board Name: AP6275S_V00 +#SSID: 0x086d +#macmid: 0x02df +# Successfully made SSID entry in sromdefs.tcl. +# Successfully made macmid entry in sromdefs.tcl. +# Successfully made SSID entry in tblssid.py. +# ************************************************* +# $ Copyright Broadcom $ +# +# +# <> +NVRAMRev=$Rev: 844050 $ sromrev=11 -vendid=0x14e4 -devid=0x43ab -manfid=0x2d0 -prodid=0x06e4 -macaddr=00:90:4c:c5:12:38 -nocrc=1 -boardtype=0x6e4 -boardrev=0x1304 +boardrev=0x1213 +boardtype=0x08ed +boardflags=0x00400201 +boardflags2=0xc0800000 +boardflags3=0x40002180 +#boardnum=57410 +macaddr=00:90:4c:12:d0:01 +jtag_irw=38 -#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 +#Regulatory specific +ccode=0 regrev=0 +# Board specific +vendid=0x14e4 +devid=0x449d +manfid=0x2d0 +antswitch=0 +pdgain5g=0 +pdgain2g=0 +aa2g=3 +aa5g=3 +agbg0=2 +agbg1=2 +aga0=2 +aga1=2 +extpagain2g=2 +extpagain5g=2 +rxgains2gelnagaina0=0 +rxgains2gtrisoa0=0 +rxgains2gtrelnabypa0=0 +rxgains5gelnagaina0=0 +rxgains5gtrisoa0=0 +rxgains5gtrelnabypa0=0 +rxgains5gmelnagaina0=0 +rxgains5gmtrisoa0=0 +rxgains5gmtrelnabypa0=0 +rxgains5ghelnagaina0=0 +rxgains5ghtrisoa0=0 +rxgains5ghtrelnabypa0=0 +rxgains2gelnagaina1=0 +rxgains2gtrisoa1=0 +rxgains2gtrelnabypa1=0 +rxgains5gelnagaina1=0 +rxgains5gtrisoa1=0 +rxgains5gtrelnabypa1=0 +rxgains5gmelnagaina1=0 +rxgains5gmtrisoa1=0 +rxgains5gmtrelnabypa1=0 +rxgains5ghelnagaina1=0 +rxgains5ghtrisoa1=0 +rxgains5ghtrelnabypa1=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 +#RSSI related +# 2G +rssicorrnorm_c0=4,4 +rssicorrnorm_c1=4,4 +# 5G +rssicorrnorm5g_c0=5,5,5,5,5,5,5,5,5,5,5,5 +rssicorrnorm5g_c1=4,4,4,4,4,4,4,4,4,4,4,4 -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 +#Two range TSSI +tworangetssi2g=0 +tworangetssi5g=0 +lowpowerrange2g=0 +lowpowerrange5g=0 +low_adc_rate_en=1 +# NOTE :================================================================================ +# To run TPC with Two Range TSSI ,set tworangetssi2g = 1 and lowpowerrange2g = 0 +# To run TPC with Single Range TSSI, set tworangetssi2g = 0 +# To run TPC please READ instructions near pa2ga0 and pa2ga1 as well +# To generate PA params for Low Range set tworangetssi2g = 0 and lowpowerrange2g to 1 +# To generate PA params for High Range set tworangetssi2g = 1 and lowpowerrange2g to 1 +# ====================================================================================== -vcodivmode=1 -deadman_to=481500000 -ed_thresh2g=-54 -ed_thresh5g=-54 -eu_edthresh2g=-54 -eu_edthresh5g=-54 +#Related to FW Download. Host may use this +nocrc=1 -#ed_thresh2g=-69 -#ed_thresh5g=-69 -#eu_edthresh2g=-69 -#eu_edthresh5g=-69 -ldo1=4 +otpimagesize=502 + +xtalfreq=37400 + +txchain=3 +rxchain=3 + +cckdigfilttype=2 + +#bit mask for slice capability bit 0:2G bit 1:5G +bandcap=3 + +#TXBF Related +rpcal2g=0 +rpcal5gb0=0 +rpcal5gb1=0 +rpcal5gb2=0 +rpcal5gb3=0 + + +#FDSS Related +fdss_level_2g=4,4 +fdss_interp_en=1 +fdss_level_5g=4,4 +fdss_level_11ax_2g=3,3 +fdss_level_11ax_2g_ch1=3,3 +fdss_level_11ax_2g_ch11=3,3 +fdss_level_11ax_5g=3,3 + +#Tempsense Related +tempthresh=255 +tempoffset=40 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 +phycal_tempdelta=15 +temps_period=15 +temps_hysteresis=15 + +#------------- TSSI Related ------------- + +tssipos2g=1 +tssipos5g=1 +AvVmid_c0=2,127,4,92,4,91,4,91,4,94 +AvVmid_c1=2,127,4,93,4,93,4,95,3,110 +# CCK in case of multi mode 2 +pa2gccka0=-71,9683,-1064 +pa2gccka1=-59,9596,-1046 +# OFDM in case of multi_mode 2 +pa2ga0=-131,6980,-771 +pa2ga1=-119,7130,-776 +pa5ga0=-150,6098,-730,-141,6312,-729,-127,6151,-723,-136,5935,-702 +#pa5ga0=-150,6098,-730,-141,6312,-729,-136,6050,-713,-179,5504,-688 +#pa5ga1=-143,5954,-705,-136,6243,-722,-100,6496,-727,-89,7190,-798 +pa5ga1=-148,6016,-719,-136,6243,-722,-123,6019,-711,-89,7190,-798 + +# Max power and offsets +maxp2ga0=86 +maxp2ga1=91 +maxp5ga0=75,76,68,68 +maxp5ga1=73,76,70,76 +subband5gver=0x4 +paparambwver=3 +cckpwroffset0=-5 +cckpwroffset1=-3 +pdoffset40ma0=0x4433 +pdoffset80ma0=0x3232 +pdoffset40ma1=0x2333 +pdoffset80ma1=0x1222 +cckbw202gpo=0x1111 +cckbw20ul2gpo=0x0000 +mcsbw202gpo=0x65544332 +mcsbw402gpo=0xEC444332 +dot11agofdmhrbw202gpo=0x4433 +ofdmlrbw202gpo=0x0022 +mcsbw205glpo=0xA9533333 +mcsbw405glpo=0xB6443333 +mcsbw805glpo=0xCC553333 +mcsbw1605glpo=0 +mcsbw205gmpo=0x98544444 +mcsbw405gmpo=0xB6443333 +mcsbw805gmpo=0xBB553333 +mcsbw1605gmpo=0 +mcsbw205ghpo=0x98422232 +mcsbw405ghpo=0xB7554443 +mcsbw805ghpo=0xCC443333 +powoffs2gtna0=-3,-2,-2,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,0 +powoffs2gtna1=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0 +mcs1024qam2gpo=0xCCAA +mcs1024qam5glpo=0xFFFFCB +mcs1024qam5gmpo=0xFFEECB +mcs1024qam5ghpo=0xFFFFED +mcs1024qam5gx1po=0xEECCCC +mcs1024qam5gx2po=0xEECCCC +mcs8poexp=0 +mcs9poexp=0 +mcs10poexp=0 + +# 5G power offset per channel for band edge channel +powoffs5g20mtna0=0,0,0,0,0,0,0 +powoffs5g20mtna1=0,0,0,0,0,0,0 +powoffs5g40mtna0=0,0,0,0,0 +powoffs5g40mtna1=0,0,0,0,0 +powoffs5g80mtna0=0,0,0,0,0 +powoffs5g80mtna1=0,0,0,0,0 +mcs11poexp=0 + +#LTE Coex Related +ltecxmux=0 +ltecxpadnum=0x0504 +ltecxfnsel=0x44 +ltecxgcigpio=0x04 +#OOB params +#device_wake_opt=1 +host_wake_opt=0 + +# SWCTRL Related + +swctrlmap_2g=0x10101010,0x06030401,0x04011010,0x000000,0x3FF +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +swctrlmap_5g=0x80408040,0x21240120,0x01208040,0x000000,0x3FF +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +clb2gslice0core0=0x01b +clb2gslice1core0=0x000 +clb5gslice0core0=0x064 +clb5gslice1core0=0x000 +clb2gslice0core1=0x056 +clb2gslice1core1=0x000 +clb5gslice0core1=0x0a1 +clb5gslice1core1=0x000 +btc_prisel_ant_mask=0x2 +clb_swctrl_smask_ant0=0x27f +clb_swctrl_smask_ant1=0x2f7 + + +#BT Coex 1:TDM +btc_mode=1 + +# --- PAPD Cal related params ---- +txwbpapden=0 # 0:NBPAPD 1:WBPAPD +# NB PAPD Cal params +nb_eps_offset=470,470 +nb_bbmult=66,66 +nb_papdcalidx=6,6 +nb_txattn=2,2 +nb_rxattn=1,1 +nb_eps_stopidx=63 +epsilonoff_5g20_c0=0,1,1,-1 +epsilonoff_5g40_c0=0,1,1,1 +epsilonoff_5g80_c0=1,0,1,1 +epsilonoff_5g20_c1=1,0,0,-1 +epsilonoff_5g40_c1=0,0,0,0 +epsilonoff_5g80_c1=1,0,1,1 +epsilonoff_2g20_c0=0 +epsilonoff_2g20_c1=0 + +# energy detect threshold +ed_thresh2g=-67 +ed_thresh5g=-67 +# energy detect threshold for EU +eu_edthresh2g=-67 +eu_edthresh5g=-67 + +#rpcal coef for imptxbf +rpcal5gb0=238 +rpcal5gb1=228 +rpcal5gb2=222 +rpcal5gb3=229 +rpcal2g=15 +ocl=0 +bt_coex_chdep_div=1 + +# OLPC Related +disable_olpc=0 +olpc_thresh5g=32 +olpc_anchor5g=40 +olpc_thresh2g=32 +olpc_anchor2g=40 + +#PAPR related +paprdis=0 +paprrmcsgamma2g=500,550,550,-1,-1,-1,-1,-1,-1,-1,-1,-1 +paprrmcsgain2g=128,128,128,0,0,0,0,0,0,0,0,0 +paprrmcsgamma2g_ch13=500,550,550,-1,-1,-1,-1,-1,-1,-1,-1,-1 +paprrmcsgain2g_ch13=128,128,128,0,0,0,0,0,0,0,0,0 +paprrmcsgamma2g_ch1=500,550,550,-1,-1,-1,-1,-1,-1,-1,-1,-1 +paprrmcsgain2g_ch1=128,128,128,0,0,0,0,0,0,0,0,0 +paprrmcsgamma5g20=500,500,500,-1,-1,-1,-1,-1,-1,-1,-1,-1 +paprrmcsgain5g20=128,128,128,0,0,0,0,0,0,0,0,0 +paprrmcsgamma5g40=600,600,600,-1,-1,-1,-1,-1,-1,-1,-1,-1 +paprrmcsgain5g40=128,128,128,0,0,0,0,0,0,0,0,0 +paprrmcsgamma5g80=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +paprrmcsgain5g80=0,0,0,0,0,0,0,0,0,0,0,0 + +# Enable papd for cck when target pwr ge 16dBm +cckpapd_pwrthresh=64 + +## ULOFDMA Board limit PPRs for 2G20 ## +ruppr2g20bpska0=0x8421 +ruppr2g20bpska1=0x8421 +ruppr2g20qpska0=0x8421 +ruppr2g20qpska1=0x8421 +ruppr2g20qam16a0=0x10842 +ruppr2g20qam16a1=0x10842 +ruppr2g20qam64a0=0x18C63 +ruppr2g20qam64a1=0x18C63 +ruppr2g20qam256a0=0x318C6 +ruppr2g20qam256a1=0x318C6 +ruppr2g20qam1024a0=0x5AD6B +ruppr2g20qam1024a1=0x5AD6B +## ULOFDMA Board limit PPRs for 5G20 ## +ruppr5g20bpska0=0x30C63 +ruppr5g20bpska1=0x30C63 +ruppr5g20qpska0=0x30C63 +ruppr5g20qpska1=0x30C63 +ruppr5g20qam16a0=0x30C63 +ruppr5g20qam16a1=0x30C63 +ruppr5g20qam64a0=0x314A5 +ruppr5g20qam64a1=0x314A5 +ruppr5g20qam256a0=0x4A529 +ruppr5g20qam256a1=0x4A529 +ruppr5g20qam1024a0=0x7294A +ruppr5g20qam1024a1=0x7294A +## ULOFDMA Board limit PPRs for 5G40 ## +ruppr5g40bpska0=0x518C63 +ruppr5g40bpska1=0x518C63 +ruppr5g40qpska0=0x518C63 +ruppr5g40qpska1=0x518C63 +ruppr5g40qam16a0=0x518C63 +ruppr5g40qam16a1=0x518C63 +ruppr5g40qam64a0=0x518C63 +ruppr5g40qam64a1=0x518C63 +ruppr5g40qam256a0=0xA42108 +ruppr5g40qam256a1=0xA42108 +ruppr5g40qam1024a0=0xE68421 +ruppr5g40qam1024a1=0xE68421 +## ULOFDMA Board limit PPRs for 5G80 ## +ruppr5g80bpska0=0xC318C63 +ruppr5g80bpska1=0xC318C63 +ruppr5g80qpska0=0xC318C63 +ruppr5g80qpska1=0xC318C63 +ruppr5g80qam16a0=0xC318C63 +ruppr5g80qam16a1=0xC318C63 +ruppr5g80qam64a0=0x14418C63 +ruppr5g80qam64a1=0x14418C63 +ruppr5g80qam256a0=0x2C94A529 +ruppr5g80qam256a1=0x2C94A529 +ruppr5g80qam1024a0=0x3CD60000 +ruppr5g80qam1024a1=0x3CD60000 muxenab=0x10 -cckdigfilttype=5 +# ########### BTC Dynctl profile params ############ +# flags:bit0 - dynctl enabled, bit1 dynamic desense, bit2 dynamic mode, bit 3 TX power control +#btcdyn_flags=1 -fdss_level_2g=6 -#fdss_level_5g=6 -#pacalshift5g=0,0,1 +#btcdyn_default_btc_mode=5 +#btcdyn_msw_rows=0 +#btcdyn_dsns_rows=0 +#btc_params1007=100 +#btc_params1017=4 diff --git a/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization b/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization index 9055b09834..115fe5c611 100755 --- a/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization +++ b/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization @@ -78,15 +78,36 @@ prepare_board() { grep -q ondemand /etc/default/cpufrequtils if [ $? -eq 0 ]; then echo ondemand >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - cd /sys/devices/system/cpu - for i in cpufreq/ondemand cpu0/cpufreq/ondemand cpu4/cpufreq/ondemand ; do - if [ -d $i ]; then - echo 1 >${i}/io_is_busy - echo 25 >${i}/up_threshold - echo 10 >${i}/sampling_down_factor - echo 200000 >${i}/sampling_rate + + case ${BOARDFAMILY} in + station*|media) + prefix="/sys/devices/system/cpu" + CPUFreqPolicies=($(ls -d ${prefix}/cpufreq/policy? | sed 's/freq\/policy//')) + if [ ${#CPUFreqPolicies[@]} -eq 1 -a -d "${prefix}/cpufreq" ]; then + # if there's just a single cpufreq policy ondemand sysfs entries differ + CPUFreqPolicies=${prefix} fi - done + for i in ${CPUFreqPolicies[@]}; do + affected_cpu=$(tr -d -c '[:digit:]' <<< ${i}) + echo ondemand >${prefix}/cpu${affected_cpu:-0}/cpufreq/scaling_governor + echo 1 >${i}/cpufreq/ondemand/io_is_busy + echo 25 >${i}/cpufreq/ondemand/up_threshold + echo 10 >${i}/cpufreq/ondemand/sampling_down_factor + echo 200000 >${i}/cpufreq/ondemand/sampling_rate + done + ;; + *) + cd /sys/devices/system/cpu + for i in cpufreq/ondemand cpu0/cpufreq/ondemand cpu4/cpufreq/ondemand ; do + if [ -d $i ]; then + echo 1 >${i}/io_is_busy + echo 25 >${i}/up_threshold + echo 10 >${i}/sampling_down_factor + echo 200000 >${i}/sampling_rate + fi + done + ;; + fi # IRQ distribution based on $BOARDFAMILY and/or $BOARD_NAME