Re: [RFC PATCH] brcmfmac: add 43751 SDIO ids and initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 7, 2023 at 6:40 AM Marc Gonzalez <marc.w.gonzalez@xxxxxxx> wrote:
>
> On 06/03/2023 11:41, Marc Gonzalez wrote:
>
> > On 06/03/2023 11:24, Marc Gonzalez wrote:
> >
> >> # cat /sys/bus/sdio/devices/mmc2:0001:1/uevent
> >> OF_NAME=wifi
> >> OF_FULLNAME=/soc/sd@ffe03000/wifi@1
> >> OF_COMPATIBLE_0=brcm,bcm4329-fmac
> >> OF_COMPATIBLE_N=1
> >> SDIO_CLASS=00
> >> SDIO_ID=02D0:AAE7
> >> SDIO_REVISION=0.0
> >> MODALIAS=sdio:c00v02D0dAAE7
> >>
> >> 0xaae7 = 43751
> >>
> >> Isn't there some overlap between:
> >> include/linux/mmc/sdio_ids.h and
> >> drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h ?
> >>
> >> Reference used: commit d2587c57ffd8dc
> >> "brcmfmac: add 43752 SDIO ids and initialization"
> >>
> >> Looking at all the occurrences of 43752 to insert a 43751,
> >> could someone comment whether this looks reasonable?
> >
> > Obviously, the commit message would have to be rewritten
> > for a real patch.
>
> Help. I am thoroughly confused... :(
>
>
> Through the SDIO bus, the WiFi chip reports 0xaae7 (i.e. 43751)
> hence the /sys/bus/sdio/devices output above.
>
> sdio_read_func_cis() -> sdio_read_cis() which sets
> func->vendor/func->device to 2d0/aae7
>
>
> But when brcmf_chip_recognition() calls ci->ops->read32()
> i.e. brcmf_sdio_buscore_read32()
> [ vs brcmf_sdiod_readl() in brcmf_sdio_probe_attach() ]
>
> [    1.177283] brcmfmac: F1 signature read @0x18000000=0x1042aae8
> [    1.182912] found AXI chip: BCM43752/2
> [    1.186384] BCM43752/2: chip=aae8 rev=2 type=1
>
> Here it reports 0xaae8 (i.e. 43752)
>
> Why the discrepancy?
> Can it cause issues?
> (Sometimes, the whole SDIO bus doesn't probe at boot.
> I am still investigating these intermittent problems.)
>
> Should I use 43751 or 43752 firmware...?

This question should be answered by the Cypress/Infineon folks but
unfortunately they have been quiet for a long time. In general we use
the id read from 0x18000000 to decide which firmware to load. But be
aware that the rev also matters. There are some examples in
brcmf_sdio_fwnames table that the different firmware name can be
derived from the same chip common id but different rev.

However sdio device enumeration happens before firmware download so
the intermittent problem you are facing probably is not related to
firmware version.

Regards,
- Franky

>
> Regards.
>
>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux