wifi: brcmfmac: pcie: Add IDs/properties for BCM4377
authorHector Martin <marcan@marcan.st>
Sun, 12 Feb 2023 06:38:12 +0000 (15:38 +0900)
committerKalle Valo <kvalo@kernel.org>
Mon, 13 Feb 2023 16:50:52 +0000 (18:50 +0200)
This chip is present on at least these Apple T2 Macs:

* tahiti:  MacBook Pro 13" (2020, 2 TB3)
* formosa: MacBook Pro 13" (Touch/2019)
* fiji:    MacBook Air 13" (Scissor, 2020)

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230212063813.27622-4-marcan@marcan.st
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h

index 3e42c2b..8073f31 100644 (file)
@@ -733,6 +733,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
        case CY_CC_4373_CHIP_ID:
                return 0x160000;
        case CY_CC_43752_CHIP_ID:
+       case BRCM_CC_4377_CHIP_ID:
                return 0x170000;
        case BRCM_CC_4378_CHIP_ID:
                return 0x352000;
index a8d7756..b752a65 100644 (file)
@@ -63,6 +63,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(4377B3, "brcmfmac4377b3-pcie");
 BRCMF_FW_CLM_DEF(4378B1, "brcmfmac4378b1-pcie");
 
 /* firmware config files */
@@ -95,6 +96,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_4377_CHIP_ID, 0xFFFFFFFF, 4377B3), /* revision ID 4 */
        BRCMF_FW_ENTRY(BRCM_CC_4378_CHIP_ID, 0xFFFFFFFF, 4378B1), /* revision ID 3 */
 };
 
@@ -2001,6 +2003,7 @@ static int brcmf_pcie_read_otp(struct brcmf_pciedev_info *devinfo)
                base = 0x8c0;
                words = 0xb2;
                break;
+       case BRCM_CC_4377_CHIP_ID:
        case BRCM_CC_4378_CHIP_ID:
                coreid = BCMA_CORE_GCI;
                base = 0x1120;
@@ -2618,7 +2621,9 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = {
        BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_5G_DEVICE_ID, BCA),
        BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID, WCC),
        BRCMF_PCIE_DEVICE(BRCM_PCIE_43596_DEVICE_ID, CYW),
+       BRCMF_PCIE_DEVICE(BRCM_PCIE_4377_DEVICE_ID, WCC),
        BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID, WCC),
+
        { /* end: all zeroes */ }
 };
 
index 6e27e39..896615f 100644 (file)
@@ -52,6 +52,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_4377_CHIP_ID           0x4377
 #define BRCM_CC_4378_CHIP_ID           0x4378
 #define CY_CC_4373_CHIP_ID             0x4373
 #define CY_CC_43012_CHIP_ID            43012
@@ -92,6 +93,7 @@
 #define BRCM_PCIE_4366_5G_DEVICE_ID    0x43c5
 #define BRCM_PCIE_4371_DEVICE_ID       0x440d
 #define BRCM_PCIE_43596_DEVICE_ID      0x4415
+#define BRCM_PCIE_4377_DEVICE_ID       0x4488
 #define BRCM_PCIE_4378_DEVICE_ID       0x4425
 
 /* brcmsmac IDs */