[PATCH wireless-next v2 11/12] brcmfmac: pcie: Add IDs/properties for BCM4378

Alvin Šipraga ALSI at bang-olufsen.dk
Thu Sep 15 08:34:59 PDT 2022


On Mon, Sep 12, 2022 at 10:53:32AM +0100, Russell King wrote:
> From: Hector Martin <marcan at marcan.st>
> 
> This chip is present on Apple M1 (t8103) platforms:
> 
> * atlantisb (apple,j274): Mac mini (M1, 2020)
> * honshu    (apple,j293): MacBook Pro (13-inch, M1, 2020)
> * shikoku   (apple,j313): MacBook Air (M1, 2020)
> * capri     (apple,j456): iMac (24-inch, 4x USB-C, M1, 2020)
> * santorini (apple,j457): iMac (24-inch, 2x USB-C, M1, 2020)
> 
> Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
> Signed-off-by: Hector Martin <marcan at marcan.st>
> Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
> ---

Reviewed-by: Alvin Šipraga <alsi at bang-olufsen.dk>

>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c   | 2 ++
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c   | 8 ++++++++
>  .../net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 2 ++
>  3 files changed, 12 insertions(+)
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> index 23295fceb062..3026166a56c1 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
> @@ -733,6 +733,8 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
>  		return 0x160000;
>  	case CY_CC_43752_CHIP_ID:
>  		return 0x170000;
> +	case BRCM_CC_4378_CHIP_ID:
> +		return 0x352000;
>  	default:
>  		brcmf_err("unknown chip: %s\n", ci->pub.name);
>  		break;
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> index 269a516ae654..0c627f33049e 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> @@ -59,6 +59,7 @@ BRCMF_FW_DEF(4365C, "brcmfmac4365c-pcie");
>  BRCMF_FW_DEF(4366B, "brcmfmac4366b-pcie");
>  BRCMF_FW_DEF(4366C, "brcmfmac4366c-pcie");
>  BRCMF_FW_DEF(4371, "brcmfmac4371-pcie");
> +BRCMF_FW_CLM_DEF(4378B1, "brcmfmac4378b1-pcie");
>  
>  /* firmware config files */
>  MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-pcie.txt");
> @@ -88,6 +89,7 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = {
>  	BRCMF_FW_ENTRY(BRCM_CC_43664_CHIP_ID, 0xFFFFFFF0, 4366C),
>  	BRCMF_FW_ENTRY(BRCM_CC_43666_CHIP_ID, 0xFFFFFFF0, 4366C),
>  	BRCMF_FW_ENTRY(BRCM_CC_4371_CHIP_ID, 0xFFFFFFFF, 4371),
> +	BRCMF_FW_ENTRY(BRCM_CC_4378_CHIP_ID, 0xFFFFFFFF, 4378B1), /* 3 */

What is /* 3 */?

>  };
>  
>  #define BRCMF_PCIE_FW_UP_TIMEOUT		5000 /* msec */
> @@ -1970,6 +1972,11 @@ static int brcmf_pcie_read_otp(struct brcmf_pciedev_info *devinfo)
>  	int ret;
>  
>  	switch (devinfo->ci->chip) {
> +	case BRCM_CC_4378_CHIP_ID:
> +		coreid = BCMA_CORE_GCI;
> +		base = 0x1120;
> +		words = 0x170;
> +		break;
>  	default:
>  		/* OTP not supported on this chip */
>  		return 0;
> @@ -2458,6 +2465,7 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = {
>  	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_2G_DEVICE_ID),
>  	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_5G_DEVICE_ID),
>  	BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID),
> +	BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID),
>  	{ /* end: all zeroes */ }
>  };
>  
> diff --git a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
> index 1f225cdac9bd..1003f123ec25 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
> +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
> @@ -51,6 +51,7 @@
>  #define BRCM_CC_43664_CHIP_ID		43664
>  #define BRCM_CC_43666_CHIP_ID		43666
>  #define BRCM_CC_4371_CHIP_ID		0x4371
> +#define BRCM_CC_4378_CHIP_ID		0x4378
>  #define CY_CC_4373_CHIP_ID		0x4373
>  #define CY_CC_43012_CHIP_ID		43012
>  #define CY_CC_43439_CHIP_ID		43439
> @@ -88,6 +89,7 @@
>  #define BRCM_PCIE_4366_2G_DEVICE_ID	0x43c4
>  #define BRCM_PCIE_4366_5G_DEVICE_ID	0x43c5
>  #define BRCM_PCIE_4371_DEVICE_ID	0x440d
> +#define BRCM_PCIE_4378_DEVICE_ID	0x4425
>  
>  
>  /* brcmsmac IDs */
> -- 
> 2.30.2
>


More information about the linux-arm-kernel mailing list