Skip to content

Commit c8a97ff

Browse files
committed
brcmfmac: pcie: Add IDs/properties for BCM4387
This chip is present on Apple M1 Pro/Max (t600x) platforms: * maldives (apple,j314s): MacBook Pro (14-inch, M1 Pro, 2021) * maldives (apple,j314c): MacBook Pro (14-inch, M1 Max, 2021) * madagascar (apple,j316s): MacBook Pro (16-inch, M1 Pro, 2021) * madagascar (apple,j316c): MacBook Pro (16-inch, M1 Max, 2021) Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Hector Martin <marcan@marcan.st>
1 parent 87f73cb commit c8a97ff

3 files changed

Lines changed: 12 additions & 0 deletions

File tree

drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,8 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
744744
return 0x170000;
745745
case BRCM_CC_4378_CHIP_ID:
746746
return 0x352000;
747+
case BRCM_CC_4387_CHIP_ID:
748+
return 0x740000;
747749
default:
748750
brcmf_err("unknown chip: %s\n", ci->pub.name);
749751
break;

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ BRCMF_FW_DEF(4366C, "brcmfmac4366c-pcie");
6767
BRCMF_FW_DEF(4371, "brcmfmac4371-pcie");
6868
BRCMF_FW_CLM_DEF(4377B3, "brcmfmac4377b3-pcie");
6969
BRCMF_FW_CLM_DEF(4378B1, "brcmfmac4378b1-pcie");
70+
BRCMF_FW_CLM_DEF(4387C2, "brcmfmac4387c2-pcie");
7071

7172
/* firmware config files */
7273
MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-pcie.txt");
@@ -101,6 +102,7 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = {
101102
BRCMF_FW_ENTRY(BRCM_CC_4371_CHIP_ID, 0xFFFFFFFF, 4371),
102103
BRCMF_FW_ENTRY(BRCM_CC_4377_CHIP_ID, 0xFFFFFFFF, 4377B3), /* revision ID 4 */
103104
BRCMF_FW_ENTRY(BRCM_CC_4378_CHIP_ID, 0xFFFFFFFF, 4378B1), /* revision ID 3 */
105+
BRCMF_FW_ENTRY(BRCM_CC_4387_CHIP_ID, 0xFFFFFFFF, 4387C2), /* revision ID 7 */
104106
};
105107

106108
#define BRCMF_PCIE_FW_UP_TIMEOUT 5000 /* msec */
@@ -2045,6 +2047,11 @@ static int brcmf_pcie_read_otp(struct brcmf_pciedev_info *devinfo)
20452047
base = 0x1120;
20462048
words = 0x170;
20472049
break;
2050+
case BRCM_CC_4387_CHIP_ID:
2051+
coreid = BCMA_CORE_GCI;
2052+
base = 0x113c;
2053+
words = 0x170;
2054+
break;
20482055
default:
20492056
/* OTP not supported on this chip */
20502057
return 0;
@@ -2659,6 +2666,7 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = {
26592666
BRCMF_PCIE_DEVICE(BRCM_PCIE_43596_DEVICE_ID, CYW),
26602667
BRCMF_PCIE_DEVICE(BRCM_PCIE_4377_DEVICE_ID, WCC),
26612668
BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID, WCC),
2669+
BRCMF_PCIE_DEVICE(BRCM_PCIE_4387_DEVICE_ID, WCC),
26622670

26632671
{ /* end: all zeroes */ }
26642672
};

drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
#define BRCM_CC_4371_CHIP_ID 0x4371
5555
#define BRCM_CC_4377_CHIP_ID 0x4377
5656
#define BRCM_CC_4378_CHIP_ID 0x4378
57+
#define BRCM_CC_4387_CHIP_ID 0x4387
5758
#define CY_CC_4373_CHIP_ID 0x4373
5859
#define CY_CC_43012_CHIP_ID 43012
5960
#define CY_CC_43439_CHIP_ID 43439
@@ -95,6 +96,7 @@
9596
#define BRCM_PCIE_43596_DEVICE_ID 0x4415
9697
#define BRCM_PCIE_4377_DEVICE_ID 0x4488
9798
#define BRCM_PCIE_4378_DEVICE_ID 0x4425
99+
#define BRCM_PCIE_4387_DEVICE_ID 0x4433
98100

99101
/* brcmsmac IDs */
100102
#define BCM4313_D11N2G_ID 0x4727 /* 4313 802.11n 2.4G device */

0 commit comments

Comments
 (0)