Skip to contentSkip to conversation

brcm80211: Add support for brcm4371

PATCH Superseded Eric Caruso 2 participants 3 messages Oct 14, 2015 Networking drivers (wireless)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 brcm80211: Add support for brcm4371

This is a new Broadcom chip and we should be able to recognize it.

---
v2: rebased.

 drivers/net/wireless/brcm80211/brcmfmac/chip.c       | 1 +
 drivers/net/wireless/brcm80211/brcmfmac/pcie.c       | 8 ++++++++
 drivers/net/wireless/brcm80211/include/brcm_hw_ids.h | 2 ++
 3 files changed, 11 insertions(+)
drivers/net/wireless/brcm80211/brcmfmac/chip.c +1 -0
index ffc3ace..f04833d 100644
@@ -682,6 +682,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
 	case BRCM_CC_43570_CHIP_ID:
 	case BRCM_CC_4358_CHIP_ID:
 	case BRCM_CC_43602_CHIP_ID:
+	case BRCM_CC_4371_CHIP_ID:
 		return 0x180000;
 	case BRCM_CC_4365_CHIP_ID:
 	case BRCM_CC_4366_CHIP_ID:
drivers/net/wireless/brcm80211/brcmfmac/pcie.c +8 -0
index 30baf35..c9caada 100644
@@ -59,6 +59,8 @@ enum brcmf_pcie_state {
 #define BRCMF_PCIE_4365_NVRAM_NAME		"brcm/brcmfmac4365b-pcie.txt"
 #define BRCMF_PCIE_4366_FW_NAME			"brcm/brcmfmac4366b-pcie.bin"
 #define BRCMF_PCIE_4366_NVRAM_NAME		"brcm/brcmfmac4366b-pcie.txt"
+#define BRCMF_PCIE_4371_FW_NAME			"brcm/brcmfmac4371-pcie.bin"
+#define BRCMF_PCIE_4371_NVRAM_NAME		"brcm/brcmfmac4371-pcie.txt"
 
 #define BRCMF_PCIE_FW_UP_TIMEOUT		2000 /* msec */
 
@@ -212,6 +214,8 @@ MODULE_FIRMWARE(BRCMF_PCIE_4365_FW_NAME);
 MODULE_FIRMWARE(BRCMF_PCIE_4365_NVRAM_NAME);
 MODULE_FIRMWARE(BRCMF_PCIE_4366_FW_NAME);
 MODULE_FIRMWARE(BRCMF_PCIE_4366_NVRAM_NAME);
+MODULE_FIRMWARE(BRCMF_PCIE_4371_FW_NAME);
+MODULE_FIRMWARE(BRCMF_PCIE_4371_NVRAM_NAME);
 
 
 struct brcmf_pcie_console {
@@ -1456,6 +1460,9 @@ static int brcmf_pcie_get_fwnames(struct brcmf_pciedev_info *devinfo)
 		fw_name = BRCMF_PCIE_4366_FW_NAME;
 		nvram_name = BRCMF_PCIE_4366_NVRAM_NAME;
 		break;
+	case BRCM_CC_4371_CHIP_ID:
+		fw_name = BRCMF_PCIE_4371_FW_NAME;
+		nvram_name = BRCMF_PCIE_4371_NVRAM_NAME;
 	default:
 		brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
 		return -ENODEV;
@@ -1995,6 +2002,7 @@ static struct pci_device_id brcmf_pcie_devid_table[] = {
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_DEVICE_ID),
 	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),
 	{ /* end: all zeroes */ }
 };
 
drivers/net/wireless/brcm80211/include/brcm_hw_ids.h +2 -0
index d823734..aa06ea2 100644
@@ -50,6 +50,7 @@
 #define BRCM_CC_43602_CHIP_ID		43602
 #define BRCM_CC_4365_CHIP_ID		0x4365
 #define BRCM_CC_4366_CHIP_ID		0x4366
+#define BRCM_CC_4371_CHIP_ID		0x4371
 
 /* USB Device IDs */
 #define BRCM_USB_43143_DEVICE_ID	0xbd1e
@@ -75,6 +76,7 @@
 #define BRCM_PCIE_4366_DEVICE_ID	0x43c3
 #define BRCM_PCIE_4366_2G_DEVICE_ID	0x43c4
 #define BRCM_PCIE_4366_5G_DEVICE_ID	0x43c5
+#define BRCM_PCIE_4371_DEVICE_ID	0x440d
 
 
 /* brcmsmac IDs */
Signature · 1 line
2.6.0.rc2.230.g3dd15c0
#1 lore raw
Quoted 1 line · Eric Caruso

This is a new Broadcom chip and we should be able to recognize it.

[]

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

Quoted 1 line
drivers/net/wireless/brcm80211/brcmfmac/pcie.c +0 -0

[]

drivers/net/wireless/brcm80211/brcmfmac/pcie.c static int brcmf_pcie_get_fwnames(struct brcmf_pciedev_info *devinfo) · line 1465

Quoted 7 lines
drivers/net/wireless/brcm80211/brcmfmac/pcie.c +3 -0
@@ -1456,6 +1460,9 @@ static int brcmf_pcie_get_fwnames(struct brcmf_pciedev_info *devinfo)
 		fw_name = BRCMF_PCIE_4366_FW_NAME;
 		nvram_name = BRCMF_PCIE_4366_NVRAM_NAME;
 		break;
+	case BRCM_CC_4371_CHIP_ID:
+		fw_name = BRCMF_PCIE_4371_FW_NAME;
+		nvram_name = BRCMF_PCIE_4371_NVRAM_NAME;

missing break;

Quoted 3 lines
drivers/net/wireless/brcm80211/brcmfmac/pcie.c +0 -0
 	default:
 		brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
 		return -ENODEV;
#2 lore raw
Quoted 5 lines · Joe Perches
Quoted 1 line · Eric Caruso

This is a new Broadcom chip and we should be able to recognize it.

[]

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

Quoted 1 line
drivers/net/wireless/brcm80211/brcmfmac/pcie.c +0 -0

[]

Quoted 15 lines

drivers/net/wireless/brcm80211/brcmfmac/pcie.c static int brcmf_pcie_get_fwnames(struct brcmf_pciedev_info *devinfo) · line 1465

Quoted 7 lines
drivers/net/wireless/brcm80211/brcmfmac/pcie.c +3 -0
@@ -1456,6 +1460,9 @@ static int brcmf_pcie_get_fwnames(struct brcmf_pciedev_info *devinfo)
              fw_name = BRCMF_PCIE_4366_FW_NAME;
              nvram_name = BRCMF_PCIE_4366_NVRAM_NAME;
              break;
+     case BRCM_CC_4371_CHIP_ID:
+             fw_name = BRCMF_PCIE_4371_FW_NAME;
+             nvram_name = BRCMF_PCIE_4371_NVRAM_NAME;

missing break;

Quoted 3 lines
drivers/net/wireless/brcm80211/brcmfmac/pcie.c +0 -0
      default:
              brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
              return -ENODEV;

Whoops, looks like that got lost in the rebase. Sorry.