2022-11-24 11:16:37

by Andy Green

[permalink] [raw]
Subject: Re: AP6275 / bcm43752 pcie on mainline brcmf



On 11/24/22 11:07, Arend van Spriel wrote:
> On 11/24/2022 12:04 PM, Andy Green wrote:

>>> Ok. Something is off there. Maybe I tried to be to smart. How does
>>> that log statement look which you added?
>>
>> It's inline with the other logs, it seems to be coming before the
>> actual NVRAM download part
>>
>>  >> [    3.694272] brcmfmac: Download NVRAM brcm/fw_bcm43752a2_pcie.txt
>>  >> [    3.694895] brcmfmac: brcmf_pcie_write_entropy_bytes: written 6040
>>  >> entropy bytes
>
> Sorry. I meant how the source code look like. There should be 128 bytes
> written. 6040 is length of nvram so I am a bit confused.

It's just my log is showing the wrong thing. I was mainly wanting to
make sure it went through there so I didn't look at what it was saying
any closer.

pr_err("%s: written %u entropy bytes\n", __func__, nvram_len);

Showing count instead

[ 3.734102] brcmfmac: brcmf_pcie_write_entropy_bytes: written 128
entropy bytes

-Andy


2022-11-24 11:23:33

by Arend van Spriel

[permalink] [raw]
Subject: Re: AP6275 / bcm43752 pcie on mainline brcmf

On 11/24/2022 12:11 PM, Andy Green wrote:
>
>
> On 11/24/22 11:07, Arend van Spriel wrote:
>> On 11/24/2022 12:04 PM, Andy Green wrote:
>
>>>> Ok. Something is off there. Maybe I tried to be to smart. How does
>>>> that log statement look which you added?
>>>
>>> It's inline with the other logs, it seems to be coming before the
>>> actual NVRAM download part
>>>
>>>  >> [    3.694272] brcmfmac: Download NVRAM brcm/fw_bcm43752a2_pcie.txt
>>>  >> [    3.694895] brcmfmac: brcmf_pcie_write_entropy_bytes: written
>>> 6040
>>>  >> entropy bytes
>>
>> Sorry. I meant how the source code look like. There should be 128
>> bytes written. 6040 is length of nvram so I am a bit confused.
>
> It's just my log is showing the wrong thing.  I was mainly wanting to
> make sure it went through there so I didn't look at what it was saying
> any closer.
>
>         pr_err("%s: written %u entropy bytes\n", __func__, nvram_len);
>
> Showing count instead
>
> [    3.734102] brcmfmac: brcmf_pcie_write_entropy_bytes: written 128
> entropy bytes

I did not have any hopes that would give any improvement. Just a glitch
in my matrix.

Could you try and modify the nvram file, ie. change value for
boardflags3 to 0x44002180.

Regards,
Arend



Attachments:
smime.p7s (4.12 kB)
S/MIME Cryptographic Signature

2022-11-24 11:28:50

by Andy Green

[permalink] [raw]
Subject: Re: AP6275 / bcm43752 pcie on mainline brcmf



On 11/24/22 11:18, Arend van Spriel wrote:

> Could you try and modify the nvram file, ie. change value for
> boardflags3 to 0x44002180.

Yes, it was 0x40002180 before, here's the modified file

# AP6275P_NVRAM_V1.2_20210918A
# AP6271P_V00 board, iPA version.
# nvram copied and edited from AP6271P_EVB_V02 EVB board //
# SSID generated using Alberto's boardssid.py script:
# ********************SUMMARY********************
# Board Name: AP6271P_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 $
#
#
# <<Broadcom-WL-IPTag/Proprietary:>>
NVRAMRev=$Rev: 874188 $
sromrev=11
boardrev=0x1213
boardtype=0x08ed
boardflags=0x00400201
boardflags2=0xc0800000
boardflags3=0x44002180
#boardnum=57410
macaddr=00:90:4c:12:d0:01
jtag_irw=38

#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

#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


#Two range TSSI
tworangetssi2g=0
tworangetssi5g=0
lowpowerrange2g=0
lowpowerrange5g=0
low_adc_rate_en=1

nocrc=1
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=3,3
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
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=-51,9141,-1039
pa2gccka1=-106,8172,-949
# OFDM in case of multi_mode 2

pa2ga0=-31,8047,-863
pa2ga1=-3,8006,-803

pa5ga0=-184,5375,-671,-174,5517,-677,-193,5122,-649,-177,5303,-666
pa5ga1=-207,5022,-635,-168,5741,-695,-169,5544,-687,-182,5435,-687


# Max power and offsets
maxp2ga0=88
maxp2ga1=88
maxp5ga0=68,68,68,68
maxp5ga1=69,69,66,66
subband5gver=0x4
paparambwver=3
cckpwroffset0=0
cckpwroffset1=0
pdoffset40ma0=0x4444
pdoffset80ma0=0x4444
pdoffset40ma1=0x4444
pdoffset80ma1=0x4444
cckbw202gpo=0x4444
cckbw20ul2gpo=0
mcsbw202gpo=0xBB977665
mcsbw402gpo=0xBB977665
dot11agofdmhrbw202gpo=0x7766
ofdmlrbw202gpo=0x0055
mcsbw205glpo=0x88331100
mcsbw405glpo=0xC8332200
mcsbw805glpo=0xCC443320
mcsbw1605glpo=0
mcsbw205gmpo=0x88331100
mcsbw405gmpo=0xC8332200
mcsbw805gmpo=0xCC443320
mcsbw1605gmpo=0
mcsbw205ghpo=0x88331100
mcsbw405ghpo=0xC8333300
mcsbw805ghpo=0xCC443320
powoffs2gtna0=0,0,0,0,0,0,0,0,0,0,0,0,0,0
powoffs2gtna1=0,0,0,0,0,0,0,0,0,0,0,0,0,0
mcs1024qam2gpo=0xEEEE
mcs1024qam5glpo=0xFFFFDD
mcs1024qam5gmpo=0xFFFFDD
mcs1024qam5ghpo=0xFFFFDD
mcs1024qam5gx1po=0xFFFFDD
mcs1024qam5gx2po=0xFFFFDD
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
muxenab=1

#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,0,0,0
epsilonoff_5g40_c0=0,0,0,0
epsilonoff_5g80_c0=0,0,0,0
epsilonoff_5g20_c1=0,0,-2,-3
epsilonoff_5g40_c1=0,0,-2,-3
epsilonoff_5g80_c1=0,0,-2,-3
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=1
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=0x00021084
ruppr2g20bpska1=0x00021084
ruppr2g20qpska0=0x00021084
ruppr2g20qpska1=0x00021084
ruppr2g20qam16a0=0x000294A5
ruppr2g20qam16a1=0x000294A5
ruppr2g20qam64a0=0x00039CE7
ruppr2g20qam64a1=0x00039CE7
ruppr2g20qam256a0=0x0005AD6B
ruppr2g20qam256a1=0x0005AD6B
ruppr2g20qam1024a0=0x0005AD6B
ruppr2g20qam1024a1=0x0005AD6B
## ULOFDMA Board limit PPRs for 5G20 ##
ruppr5g20bpska0=0x00008421
ruppr5g20bpska1=0x00008421
ruppr5g20qpska0=0x00008421
ruppr5g20qpska1=0x00008421
ruppr5g20qam16a0=0x00010842
ruppr5g20qam16a1=0x00010842
ruppr5g20qam64a0=0x00021084
ruppr5g20qam64a1=0x00021084
ruppr5g20qam256a0=0x00042108
ruppr5g20qam256a1=0x00042108
ruppr5g20qam1024a0=0x0006318C
ruppr5g20qam1024a1=0x0006318C
## ULOFDMA Board limit PPRs for 5G40 ##
ruppr5g40bpska0=0x00108421
ruppr5g40bpska1=0x00108421
ruppr5g40qpska0=0x00108421
ruppr5g40qpska1=0x00108421
ruppr5g40qam16a0=0x00210842
ruppr5g40qam16a1=0x00210842
ruppr5g40qam64a0=0x00421084
ruppr5g40qam64a1=0x00421084
ruppr5g40qam256a0=0x00C6318C
ruppr5g40qam256a1=0x00C6318C
ruppr5g40qam1024a0=0x01084210
ruppr5g40qam1024a1=0x01084210
## ULOFDMA Board limit PPRs for 5G80 ##
ruppr5g80bpska0=0x04108421
ruppr5g80bpska1=0x04108421
ruppr5g80qpska0=0x04108421
ruppr5g80qpska1=0x04108421
ruppr5g80qam16a0=0x0C318C63
ruppr5g80qam16a1=0x0C318C63
ruppr5g80qam64a0=0x10421084
ruppr5g80qam64a1=0x10421084
ruppr5g80qam256a0=0x30C6318C
ruppr5g80qam256a1=0x30C6318C
ruppr5g80qam1024a0=0x41084210
ruppr5g80qam1024a1=0x41084210


It is the same result. Logs from where it loads the NVRAM file

[ 3.534708] brcmfmac: brcmf_fw_complete_request firmware
brcm/fw_bcm43752a2_pcie.txt found
[ 3.534709] brcmfmac: brcmf_fw_request_nvram_done enter: dev=0002:21:00.0
[ 3.534771] brcmfmac: brcmf_fw_request_nvram_done nvram
0000000007e422eb len 6040
[ 3.534774] brcmfmac: brcm_alt_fw_path FW alt path:
brcm/fw_bcm43752a2_pcie.rockchip,rk3588-evb1-v10.clm_blob
[ 3.535350] brcmfmac: brcmf_fw_complete_request firmware
brcm/fw_bcm43752a2_pcie.clm_blob found
[ 3.535558] brcmfmac: brcmf_chip_tcm_rambase: 43752 OK
[ 3.535559] brcmfmac: brcmf_chip_get_raminfo RAM: base=0x170000
size=1310720 (0x140000) sr=0 (0x0)
[ 3.628168] brcmfmac: Download NVRAM brcm/fw_bcm43752a2_pcie.txt
[ 3.628767] brcmfmac: brcmf_pcie_write_entropy_bytes: written 128
entropy bytes
[ 3.628787] brcmfmac: brcmf_pcie_download_fw_nvram: sharedram_addr
0xfa1a05e5
[ 3.628789] brcmfmac: brcmf_chip_set_active Enter
[ 9.689983] brcmfmac 0002:21:00.0: brcmf_pcie_download_fw_nvram: FW
failed to initialize: 0xfa1a05e5

Since it mentions the vid:pid, here's the verbose lspci for it

0002:21:00.0 0280: 14e4:449d (rev 02)
Subsystem: 14e4:aae8
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 47
Region 0: Memory at f2200000 (64-bit, non-prefetchable) [size=64K]
Region 2: Memory at f2400000 (64-bit, non-prefetchable) [size=4M]
Capabilities: [48] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=2 PME-
Capabilities: [58] MSI: Enable- Count=1/32 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [68] Vendor Specific Information: Len=38 <?>
Capabilities: [ac] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+ FLReset-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L1, Exit Latency L1 <32us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
10BitTagComp- 10BitTagReq- OBFF Via WAKE#, ExtFmt- EETLPPrefix-
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
FRS- TPHComp- ExtTPHComp-
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabled,
AtomicOpsCtl: ReqEn-
LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer-
2Retimers- DRS-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance-
ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-
EqualizationPhase1-
EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
Retimer- 2Retimers- CrosslinkRes: unsupported
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+
MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+
ECRCChkEn-
MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
HeaderLog: 00000000 00000000 00000000 00000000
Capabilities: [13c v1] Device Serial Number 00-00-00-ff-ff-00-00-00
Capabilities: [150 v1] Power Budgeting <?>
Capabilities: [160 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [1b0 v1] Latency Tolerance Reporting
Max snoop latency: 0ns
Max no snoop latency: 0ns
Capabilities: [220 v1] Physical Resizable BAR
BAR 2: current size: 8MB, supported: 1MB 2MB 4MB
Capabilities: [240 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=8us PortTPowerOnTime=50us
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
T_CommonMode=0us LTR1.2_Threshold=0ns
L1SubCtl2: T_PwrOn=10us
Kernel modules: brcmfmac


-Andy