Re: [PATCH wireless-next] wifi: brcmfmac: remove 43752 SDIO incorrectly labelled as a Cypress chip
Arend van Spriel <[email protected]> Wed, 23 Jul 2025 11:12:56 +0200
| Newsgroups | dev.linux.lists.brcm80211,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
On 7/21/2025 12:26 PM, Gokul Sivakumar wrote:
> Cypress(Infineon) is not the vendor for this 43752 SDIO WLAN chip, and so
> has not officially released any firmware binary for it. It is incorrect to
> maintain this WLAN chip with firmware vendor ID as "CYW".
>
> Fixes: d2587c57ffd8 ("brcmfmac: add 43752 SDIO ids and initialization")
> Signed-off-by: Gokul Sivakumar <[email protected]>
> ---
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 -
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 4 ++--
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 5 +----
> .../net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 1 -
> include/linux/mmc/sdio_ids.h | 1 -
> 5 files changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> index 8ab7d1e34a6e..de4634cad461 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> @@ -999,7 +999,6 @@ static const struct sdio_device_id brcmf_sdmmc_ids[] = {
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43751, WCC),
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_4373, CYW),
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43012, CYW),
> - BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43752, CYW),
Thanks for the patch, but simply dropping support for this device
probably means users who have this chipset will report a regression. So
I suggest to make it a WCC chipset and only drop the CYPRESS indication
like done in chip.c in this patch (see below).
Regards,
Arend
> BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_89359, CYW),
> CYW_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43439, CYW),
> { /* end: all zeroes */ }
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> index 9074ab49e806..4239f2b21e54 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> @@ -738,8 +738,8 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
> case BRCM_CC_4364_CHIP_ID:
> case CY_CC_4373_CHIP_ID:
> return 0x160000;
> - case CY_CC_43752_CHIP_ID:
> case BRCM_CC_43751_CHIP_ID:
> + case BRCM_CC_43752_CHIP_ID:
> case BRCM_CC_4377_CHIP_ID:
> return 0x170000;
> case BRCM_CC_4378_CHIP_ID:
> @@ -1452,7 +1452,7 @@ bool brcmf_chip_sr_capable(struct brcmf_chip *pub)
> return (reg & CC_SR_CTL0_ENABLE_MASK) != 0;
> case BRCM_CC_4359_CHIP_ID:
> case BRCM_CC_43751_CHIP_ID:
> - case CY_CC_43752_CHIP_ID:
> + case BRCM_CC_43752_CHIP_ID:
> case CY_CC_43012_CHIP_ID:
> addr = CORE_CC_REG(pmu->base, retention_ctl);
> reg = chip->ops->read32(chip->ctx, addr);