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
e9cd73ca95
This means firmware will be selected automatically like macOS does. These patches also fix a couple of bugs and make a few optimisations. For this firmware selection: # in macos (or linux if you have a copy of the wifi folder): git clone https://github.com/AsahiLinux/asahi-installer --depth=1 cd asahi-installer/src python3 -m firmware.wifi /usr/share/firmware/wifi firmware.tar # in linux cd /lib/firmware sudo tar xf /path/to/firmware.tar
97 lines
3.7 KiB
Diff
97 lines
3.7 KiB
Diff
From 395b965fa51c7ad26284c6fefd7d05c3339bb24d Mon Sep 17 00:00:00 2001
|
|
From: Hector Martin <marcan@marcan.st>
|
|
Date: Tue, 21 Dec 2021 17:46:40 +0900
|
|
Subject: [PATCH 13/30] brcmfmac: pcie: Add IDs/properties for BCM4378
|
|
|
|
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)
|
|
|
|
Signed-off-by: Hector Martin <marcan@marcan.st>
|
|
---
|
|
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 1ee49f9e3..56a6f4168 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
|
@@ -731,6 +731,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 4a6370efb..785090570 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
|
|
@@ -58,6 +58,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");
|
|
@@ -87,6 +88,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 */
|
|
};
|
|
|
|
#define BRCMF_PCIE_FW_UP_TIMEOUT 5000 /* msec */
|
|
@@ -2008,6 +2010,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;
|
|
@@ -2515,6 +2522,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 9d8132016..8f552b53f 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
|
|
@@ -50,6 +50,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_43752_CHIP_ID 43752
|
|
@@ -85,6 +86,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.34.1
|
|
|