You've already forked linux-t2-patches
mirror of
https://github.com/t2linux/linux-t2-patches.git
synced 2026-04-30 13:52:11 -07:00
Remove upstreamed 8001 wifi patch
This commit is contained in:
@@ -1,420 +0,0 @@
|
||||
From 0150463854cabddaec3b58d8e244f2898a1180c7 Mon Sep 17 00:00:00 2001
|
||||
From: Hector Martin <marcan@marcan.st>
|
||||
Date: Sun, 12 Feb 2023 15:38:10 +0900
|
||||
Subject: [PATCH 1/4] wifi: brcmfmac: Rename Cypress 89459 to BCM4355
|
||||
|
||||
The commit that introduced support for this chip incorrectly claimed it
|
||||
is a Cypress-specific part, while in actuality it is just a variant of
|
||||
BCM4355 silicon (as evidenced by the chip ID).
|
||||
|
||||
The relationship between Cypress products and Broadcom products isn't
|
||||
entirely clear but given what little information is available and prior
|
||||
art in the driver, it seems the convention should be that originally
|
||||
Broadcom parts should retain the Broadcom name.
|
||||
|
||||
Thus, rename the relevant constants and firmware file. Also rename the
|
||||
specific 89459 PCIe ID to BCM43596, which seems to be the original
|
||||
subvariant name for this PCI ID (as defined in the out-of-tree bcmdhd
|
||||
driver).
|
||||
|
||||
Since Cypress added this part and will presumably be providing its
|
||||
supported firmware, we keep the CYW designation for this device.
|
||||
|
||||
We also drop the RAW device ID in this commit. We don't do this for the
|
||||
other chips since apparently some devices with them exist in the wild,
|
||||
but there is already a 4355 entry with the Broadcom subvendor and WCC
|
||||
firmware vendor, so adding a generic fallback to Cypress seems
|
||||
redundant (no reason why a device would have the raw device ID *and* an
|
||||
explicitly programmed subvendor).
|
||||
|
||||
Fixes: dce45ded7619 ("brcmfmac: Support 89459 pcie")
|
||||
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||
Signed-off-by: Hector Martin <marcan@marcan.st>
|
||||
Reviewed-by: Eric Curtin <ecurtin@redhat.com>
|
||||
---
|
||||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 5 ++---
|
||||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 7 +++----
|
||||
.../net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 5 ++---
|
||||
3 files changed, 7 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
||||
index 121893bba..3e42c2bd0 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
||||
@@ -726,6 +726,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
|
||||
case BRCM_CC_43664_CHIP_ID:
|
||||
case BRCM_CC_43666_CHIP_ID:
|
||||
return 0x200000;
|
||||
+ case BRCM_CC_4355_CHIP_ID:
|
||||
case BRCM_CC_4359_CHIP_ID:
|
||||
return (ci->pub.chiprev < 9) ? 0x180000 : 0x160000;
|
||||
case BRCM_CC_4364_CHIP_ID:
|
||||
@@ -735,8 +736,6 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
|
||||
return 0x170000;
|
||||
case BRCM_CC_4378_CHIP_ID:
|
||||
return 0x352000;
|
||||
- case CY_CC_89459_CHIP_ID:
|
||||
- return ((ci->pub.chiprev < 9) ? 0x180000 : 0x160000);
|
||||
default:
|
||||
brcmf_err("unknown chip: %s\n", ci->pub.name);
|
||||
break;
|
||||
@@ -1426,8 +1425,8 @@ bool brcmf_chip_sr_capable(struct brcmf_chip *pub)
|
||||
addr = CORE_CC_REG(base, sr_control1);
|
||||
reg = chip->ops->read32(chip->ctx, addr);
|
||||
return reg != 0;
|
||||
+ case BRCM_CC_4355_CHIP_ID:
|
||||
case CY_CC_4373_CHIP_ID:
|
||||
- case CY_CC_89459_CHIP_ID:
|
||||
/* explicitly check SR engine enable bit */
|
||||
addr = CORE_CC_REG(base, sr_control0);
|
||||
reg = chip->ops->read32(chip->ctx, addr);
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
index b67f6d081..8f8d605a7 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
@@ -51,6 +51,7 @@ enum brcmf_pcie_state {
|
||||
BRCMF_FW_DEF(43602, "brcmfmac43602-pcie");
|
||||
BRCMF_FW_DEF(4350, "brcmfmac4350-pcie");
|
||||
BRCMF_FW_DEF(4350C, "brcmfmac4350c2-pcie");
|
||||
+BRCMF_FW_CLM_DEF(4355, "brcmfmac4355-pcie");
|
||||
BRCMF_FW_CLM_DEF(4356, "brcmfmac4356-pcie");
|
||||
BRCMF_FW_CLM_DEF(43570, "brcmfmac43570-pcie");
|
||||
BRCMF_FW_DEF(4358, "brcmfmac4358-pcie");
|
||||
@@ -62,7 +63,6 @@ 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");
|
||||
-BRCMF_FW_DEF(4355, "brcmfmac89459-pcie");
|
||||
|
||||
/* firmware config files */
|
||||
MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-pcie.txt");
|
||||
@@ -78,6 +78,7 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = {
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4350_CHIP_ID, 0x000000FF, 4350C),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4350_CHIP_ID, 0xFFFFFF00, 4350),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_43525_CHIP_ID, 0xFFFFFFF0, 4365C),
|
||||
+ BRCMF_FW_ENTRY(BRCM_CC_4355_CHIP_ID, 0xFFFFFFFF, 4355),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4356_CHIP_ID, 0xFFFFFFFF, 4356),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_43567_CHIP_ID, 0xFFFFFFFF, 43570),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_43569_CHIP_ID, 0xFFFFFFFF, 43570),
|
||||
@@ -93,7 +94,6 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = {
|
||||
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), /* revision ID 3 */
|
||||
- BRCMF_FW_ENTRY(CY_CC_89459_CHIP_ID, 0xFFFFFFFF, 4355),
|
||||
};
|
||||
|
||||
#define BRCMF_PCIE_FW_UP_TIMEOUT 5000 /* msec */
|
||||
@@ -2609,9 +2609,8 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = {
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_2G_DEVICE_ID, BCA),
|
||||
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_4378_DEVICE_ID, WCC),
|
||||
- BRCMF_PCIE_DEVICE(CY_PCIE_89459_DEVICE_ID, CYW),
|
||||
- BRCMF_PCIE_DEVICE(CY_PCIE_89459_RAW_DEVICE_ID, CYW),
|
||||
{ /* 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 f4939cf62..28b6cf8ff 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
|
||||
@@ -37,6 +37,7 @@
|
||||
#define BRCM_CC_4350_CHIP_ID 0x4350
|
||||
#define BRCM_CC_43525_CHIP_ID 43525
|
||||
#define BRCM_CC_4354_CHIP_ID 0x4354
|
||||
+#define BRCM_CC_4355_CHIP_ID 0x4355
|
||||
#define BRCM_CC_4356_CHIP_ID 0x4356
|
||||
#define BRCM_CC_43566_CHIP_ID 43566
|
||||
#define BRCM_CC_43567_CHIP_ID 43567
|
||||
@@ -56,7 +57,6 @@
|
||||
#define CY_CC_43012_CHIP_ID 43012
|
||||
#define CY_CC_43439_CHIP_ID 43439
|
||||
#define CY_CC_43752_CHIP_ID 43752
|
||||
-#define CY_CC_89459_CHIP_ID 0x4355
|
||||
|
||||
/* USB Device IDs */
|
||||
#define BRCM_USB_43143_DEVICE_ID 0xbd1e
|
||||
@@ -90,9 +90,8 @@
|
||||
#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_43596_DEVICE_ID 0x4415
|
||||
#define BRCM_PCIE_4378_DEVICE_ID 0x4425
|
||||
-#define CY_PCIE_89459_DEVICE_ID 0x4415
|
||||
-#define CY_PCIE_89459_RAW_DEVICE_ID 0x4355
|
||||
|
||||
/* brcmsmac IDs */
|
||||
#define BCM4313_D11N2G_ID 0x4727 /* 4313 802.11n 2.4G device */
|
||||
--
|
||||
2.37.2
|
||||
|
||||
|
||||
From b8f795031d863346703ed9a7d86bc9bd411ed50a Mon Sep 17 00:00:00 2001
|
||||
From: Hector Martin <marcan@marcan.st>
|
||||
Date: Sun, 12 Feb 2023 15:38:11 +0900
|
||||
Subject: [PATCH 2/4] brcmfmac: pcie: Add IDs/properties for BCM4355
|
||||
|
||||
This chip is present on at least these Apple T2 Macs:
|
||||
|
||||
* hawaii: MacBook Air 13" (Late 2018)
|
||||
* hawaii: MacBook Air 13" (True Tone, 2019)
|
||||
|
||||
Users report seeing PCI revision ID 12 for this chip, which Arend
|
||||
reports should be revision C2, but Apple has the firmware tagged as
|
||||
revision C1. Assume the right cutoff point for firmware versions is
|
||||
revision ID 11 then, and leave older revisions using the non-versioned
|
||||
firmware filename (Apple only uses C1 firmware builds).
|
||||
|
||||
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||
Signed-off-by: Hector Martin <marcan@marcan.st>
|
||||
Reviewed-by: Eric Curtin <ecurtin@redhat.com>
|
||||
---
|
||||
.../net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 10 +++++++++-
|
||||
.../wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 1 +
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
index 8f8d605a7..a8d77569f 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
@@ -52,6 +52,7 @@ BRCMF_FW_DEF(43602, "brcmfmac43602-pcie");
|
||||
BRCMF_FW_DEF(4350, "brcmfmac4350-pcie");
|
||||
BRCMF_FW_DEF(4350C, "brcmfmac4350c2-pcie");
|
||||
BRCMF_FW_CLM_DEF(4355, "brcmfmac4355-pcie");
|
||||
+BRCMF_FW_CLM_DEF(4355C1, "brcmfmac4355c1-pcie");
|
||||
BRCMF_FW_CLM_DEF(4356, "brcmfmac4356-pcie");
|
||||
BRCMF_FW_CLM_DEF(43570, "brcmfmac43570-pcie");
|
||||
BRCMF_FW_DEF(4358, "brcmfmac4358-pcie");
|
||||
@@ -78,7 +79,8 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = {
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4350_CHIP_ID, 0x000000FF, 4350C),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4350_CHIP_ID, 0xFFFFFF00, 4350),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_43525_CHIP_ID, 0xFFFFFFF0, 4365C),
|
||||
- BRCMF_FW_ENTRY(BRCM_CC_4355_CHIP_ID, 0xFFFFFFFF, 4355),
|
||||
+ BRCMF_FW_ENTRY(BRCM_CC_4355_CHIP_ID, 0x000007FF, 4355),
|
||||
+ BRCMF_FW_ENTRY(BRCM_CC_4355_CHIP_ID, 0xFFFFF800, 4355C1), /* rev ID 12/C2 seen */
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4356_CHIP_ID, 0xFFFFFFFF, 4356),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_43567_CHIP_ID, 0xFFFFFFFF, 43570),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_43569_CHIP_ID, 0xFFFFFFFF, 43570),
|
||||
@@ -1994,6 +1996,11 @@ static int brcmf_pcie_read_otp(struct brcmf_pciedev_info *devinfo)
|
||||
int ret;
|
||||
|
||||
switch (devinfo->ci->chip) {
|
||||
+ case BRCM_CC_4355_CHIP_ID:
|
||||
+ coreid = BCMA_CORE_CHIPCOMMON;
|
||||
+ base = 0x8c0;
|
||||
+ words = 0xb2;
|
||||
+ break;
|
||||
case BRCM_CC_4378_CHIP_ID:
|
||||
coreid = BCMA_CORE_GCI;
|
||||
base = 0x1120;
|
||||
@@ -2590,6 +2597,7 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = {
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_4350_DEVICE_ID, WCC),
|
||||
BRCMF_PCIE_DEVICE_SUB(0x4355, BRCM_PCIE_VENDOR_ID_BROADCOM, 0x4355, WCC),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_4354_RAW_DEVICE_ID, WCC),
|
||||
+ BRCMF_PCIE_DEVICE(BRCM_PCIE_4355_DEVICE_ID, WCC),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID, WCC),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID, WCC),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID, WCC),
|
||||
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 28b6cf8ff..6e27e3966 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
|
||||
@@ -72,6 +72,7 @@
|
||||
#define BRCM_PCIE_4350_DEVICE_ID 0x43a3
|
||||
#define BRCM_PCIE_4354_DEVICE_ID 0x43df
|
||||
#define BRCM_PCIE_4354_RAW_DEVICE_ID 0x4354
|
||||
+#define BRCM_PCIE_4355_DEVICE_ID 0x43dc
|
||||
#define BRCM_PCIE_4356_DEVICE_ID 0x43ec
|
||||
#define BRCM_PCIE_43567_DEVICE_ID 0x43d3
|
||||
#define BRCM_PCIE_43570_DEVICE_ID 0x43d9
|
||||
--
|
||||
2.37.2
|
||||
|
||||
|
||||
From b64abd0cf6875a4472206b4104e009e073f0348b Mon Sep 17 00:00:00 2001
|
||||
From: Hector Martin <marcan@marcan.st>
|
||||
Date: Sun, 12 Feb 2023 15:38:12 +0900
|
||||
Subject: [PATCH 3/4] brcmfmac: pcie: Add IDs/properties for BCM4377
|
||||
|
||||
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>
|
||||
Reviewed-by: Eric Curtin <ecurtin@redhat.com>
|
||||
---
|
||||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 1 +
|
||||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 5 +++++
|
||||
.../net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 2 ++
|
||||
3 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
||||
index 3e42c2bd0..8073f31be 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
||||
@@ -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;
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
index a8d77569f..b752a65de 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
@@ -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 */ }
|
||||
};
|
||||
|
||||
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 6e27e3966..896615f57 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
|
||||
@@ -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 */
|
||||
--
|
||||
2.37.2
|
||||
|
||||
|
||||
From 6c3e9bac3bc743402d507558379f525a6a92fb28 Mon Sep 17 00:00:00 2001
|
||||
From: Hector Martin <marcan@marcan.st>
|
||||
Date: Sun, 12 Feb 2023 15:38:13 +0900
|
||||
Subject: [PATCH 4/4] brcmfmac: pcie: Perform correct BCM4364 firmware
|
||||
selection
|
||||
|
||||
This chip exists in two revisions (B2=r3 and B3=r4) on different
|
||||
platforms, and was added without regard to doing proper firmware
|
||||
selection or differentiating between them. Fix this to have proper
|
||||
per-revision firmwares and support Apple NVRAM selection.
|
||||
|
||||
Revision B2 is present on at least these Apple T2 Macs:
|
||||
|
||||
kauai: MacBook Pro 15" (Touch/2018-2019)
|
||||
maui: MacBook Pro 13" (Touch/2018-2019)
|
||||
lanai: Mac mini (Late 2018)
|
||||
ekans: iMac Pro 27" (5K, Late 2017)
|
||||
|
||||
And these non-T2 Macs:
|
||||
|
||||
nihau: iMac 27" (5K, 2019)
|
||||
|
||||
Revision B3 is present on at least these Apple T2 Macs:
|
||||
|
||||
bali: MacBook Pro 16" (2019)
|
||||
trinidad: MacBook Pro 13" (2020, 4 TB3)
|
||||
borneo: MacBook Pro 16" (2019, 5600M)
|
||||
kahana: Mac Pro (2019)
|
||||
kahana: Mac Pro (2019, Rack)
|
||||
hanauma: iMac 27" (5K, 2020)
|
||||
kure: iMac 27" (5K, 2020, 5700/XT)
|
||||
|
||||
Also fix the firmware interface for 4364, from BCA to WCC.
|
||||
|
||||
Fixes: 24f0bd136264 ("brcmfmac: add the BRCM 4364 found in MacBook Pro 15,2")
|
||||
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>
|
||||
Reviewed-by: Eric Curtin <ecurtin@redhat.com>
|
||||
---
|
||||
.../net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 13 ++++++++++---
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
index b752a65de..a9b9b2dc6 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
||||
@@ -57,7 +57,8 @@ BRCMF_FW_CLM_DEF(4356, "brcmfmac4356-pcie");
|
||||
BRCMF_FW_CLM_DEF(43570, "brcmfmac43570-pcie");
|
||||
BRCMF_FW_DEF(4358, "brcmfmac4358-pcie");
|
||||
BRCMF_FW_DEF(4359, "brcmfmac4359-pcie");
|
||||
-BRCMF_FW_DEF(4364, "brcmfmac4364-pcie");
|
||||
+BRCMF_FW_CLM_DEF(4364B2, "brcmfmac4364b2-pcie");
|
||||
+BRCMF_FW_CLM_DEF(4364B3, "brcmfmac4364b3-pcie");
|
||||
BRCMF_FW_DEF(4365B, "brcmfmac4365b-pcie");
|
||||
BRCMF_FW_DEF(4365C, "brcmfmac4365c-pcie");
|
||||
BRCMF_FW_DEF(4366B, "brcmfmac4366b-pcie");
|
||||
@@ -88,7 +89,8 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = {
|
||||
BRCMF_FW_ENTRY(BRCM_CC_43570_CHIP_ID, 0xFFFFFFFF, 43570),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4358_CHIP_ID, 0xFFFFFFFF, 4358),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4359_CHIP_ID, 0xFFFFFFFF, 4359),
|
||||
- BRCMF_FW_ENTRY(BRCM_CC_4364_CHIP_ID, 0xFFFFFFFF, 4364),
|
||||
+ BRCMF_FW_ENTRY(BRCM_CC_4364_CHIP_ID, 0x0000000F, 4364B2), /* 3 */
|
||||
+ BRCMF_FW_ENTRY(BRCM_CC_4364_CHIP_ID, 0xFFFFFFF0, 4364B3), /* 4 */
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4365_CHIP_ID, 0x0000000F, 4365B),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4365_CHIP_ID, 0xFFFFFFF0, 4365C),
|
||||
BRCMF_FW_ENTRY(BRCM_CC_4366_CHIP_ID, 0x0000000F, 4366B),
|
||||
@@ -2003,6 +2005,11 @@ static int brcmf_pcie_read_otp(struct brcmf_pciedev_info *devinfo)
|
||||
base = 0x8c0;
|
||||
words = 0xb2;
|
||||
break;
|
||||
+ case BRCM_CC_4364_CHIP_ID:
|
||||
+ coreid = BCMA_CORE_CHIPCOMMON;
|
||||
+ base = 0x8c0;
|
||||
+ words = 0x1a0;
|
||||
+ break;
|
||||
case BRCM_CC_4377_CHIP_ID:
|
||||
case BRCM_CC_4378_CHIP_ID:
|
||||
coreid = BCMA_CORE_GCI;
|
||||
@@ -2611,7 +2618,7 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = {
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID, WCC),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID, WCC),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_RAW_DEVICE_ID, WCC),
|
||||
- BRCMF_PCIE_DEVICE(BRCM_PCIE_4364_DEVICE_ID, BCA),
|
||||
+ BRCMF_PCIE_DEVICE(BRCM_PCIE_4364_DEVICE_ID, WCC),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_DEVICE_ID, BCA),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_2G_DEVICE_ID, BCA),
|
||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_5G_DEVICE_ID, BCA),
|
||||
--
|
||||
2.37.2
|
||||
|
||||
Reference in New Issue
Block a user