On 11/23/2017 4:24 PM, Vanessa Maegima wrote:
Buildroot: # dmesg | grep brcmfmac [ 5.343118] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac4339-sdio.bin for chip 0x00433 9(17209) rev 0x000002 [ 6.420070] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50 [ 6.427722] brcmfmac: brcmf_sdio_htclk: pmucontrol = 01774381 [ 6.434865] brcmfmac: brcmf_sdio_htclk: pmustatus = 0000002a [ 6.441174] brcmfmac: brcmf_sdio_htclk: min_res_mask = 0fcaff77 [ 6.447379] brcmfmac: brcmf_sdio_htclk: max_res_mask = 0fceff77
It toook me a while to look into this. Unfortunately I do not have a 4339 to replicate your issue. The closest I have is a 4335. What looks wrong here is the max_res_mask because the HT Avail resource is bit 29 which needs to be set in max_res_mask in order to make the request work. On my 4335 the max_res_mask is 0x7fffffff before calling brcmf_sdio_htclk(). So that is the cause of the failure in brcmf_sdio_htclk(). However, now the question is why it is not properly set.
Between your device and mine there is once discrepancy in the pmucontrol register, ie. bit 9 is set for your device. According the documentation the power-on reset value for this bit is 0 and I don't seen any code in our proprietary driver touching it.
Sorry for the delayed answer, I had some trouble to copy the symlinks files corretly from /sys/class/devcoredump. I uploaded this folder to: https://drive.google.com/open?id=1fosahjLN1K I5NKS59_aPZdHLpENPFHtK
That worked nicely. So the firmware seems to crash very early. I have rebuilt the firmware to provide me more info. Can you redo the devcoredump trick with that firmware.
Regards, Arend
Attachment:
4339a0-sdio-ag-pool-autoabn-lpc.bin
Description: Binary data