1 From: Eric Caruso <ejcaruso@google.com>
2 Date: Wed, 14 Oct 2015 12:34:11 -0700
3 Subject: [PATCH] brcm80211: Add support for brcm4371
5 This is a new Broadcom chip and we should be able to recognize it.
7 Signed-off-by: Eric Caruso <ejcaruso@google.com>
8 Acked-by: Arend van Spriel <arend@broadcom.com>
9 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
12 --- a/drivers/net/wireless/brcm80211/brcmfmac/chip.c
13 +++ b/drivers/net/wireless/brcm80211/brcmfmac/chip.c
14 @@ -682,6 +682,7 @@ static u32 brcmf_chip_tcm_rambase(struct
15 case BRCM_CC_43570_CHIP_ID:
16 case BRCM_CC_4358_CHIP_ID:
17 case BRCM_CC_43602_CHIP_ID:
18 + case BRCM_CC_4371_CHIP_ID:
20 case BRCM_CC_4365_CHIP_ID:
21 case BRCM_CC_4366_CHIP_ID:
22 --- a/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
23 +++ b/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
24 @@ -59,6 +59,8 @@ enum brcmf_pcie_state {
25 #define BRCMF_PCIE_4365_NVRAM_NAME "brcm/brcmfmac4365b-pcie.txt"
26 #define BRCMF_PCIE_4366_FW_NAME "brcm/brcmfmac4366b-pcie.bin"
27 #define BRCMF_PCIE_4366_NVRAM_NAME "brcm/brcmfmac4366b-pcie.txt"
28 +#define BRCMF_PCIE_4371_FW_NAME "brcm/brcmfmac4371-pcie.bin"
29 +#define BRCMF_PCIE_4371_NVRAM_NAME "brcm/brcmfmac4371-pcie.txt"
31 #define BRCMF_PCIE_FW_UP_TIMEOUT 2000 /* msec */
33 @@ -212,6 +214,8 @@ MODULE_FIRMWARE(BRCMF_PCIE_4365_FW_NAME)
34 MODULE_FIRMWARE(BRCMF_PCIE_4365_NVRAM_NAME);
35 MODULE_FIRMWARE(BRCMF_PCIE_4366_FW_NAME);
36 MODULE_FIRMWARE(BRCMF_PCIE_4366_NVRAM_NAME);
37 +MODULE_FIRMWARE(BRCMF_PCIE_4371_FW_NAME);
38 +MODULE_FIRMWARE(BRCMF_PCIE_4371_NVRAM_NAME);
41 struct brcmf_pcie_console {
42 @@ -1521,6 +1525,10 @@ static int brcmf_pcie_get_fwnames(struct
43 fw_name = BRCMF_PCIE_4366_FW_NAME;
44 nvram_name = BRCMF_PCIE_4366_NVRAM_NAME;
46 + case BRCM_CC_4371_CHIP_ID:
47 + fw_name = BRCMF_PCIE_4371_FW_NAME;
48 + nvram_name = BRCMF_PCIE_4371_NVRAM_NAME;
51 brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
53 @@ -2060,6 +2068,7 @@ static struct pci_device_id brcmf_pcie_d
54 BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_DEVICE_ID),
55 BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_2G_DEVICE_ID),
56 BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_5G_DEVICE_ID),
57 + BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID),
58 { /* end: all zeroes */ }
61 --- a/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
62 +++ b/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
64 #define BRCM_CC_43602_CHIP_ID 43602
65 #define BRCM_CC_4365_CHIP_ID 0x4365
66 #define BRCM_CC_4366_CHIP_ID 0x4366
67 +#define BRCM_CC_4371_CHIP_ID 0x4371
70 #define BRCM_USB_43143_DEVICE_ID 0xbd1e
72 #define BRCM_PCIE_4366_DEVICE_ID 0x43c3
73 #define BRCM_PCIE_4366_2G_DEVICE_ID 0x43c4
74 #define BRCM_PCIE_4366_5G_DEVICE_ID 0x43c5
75 +#define BRCM_PCIE_4371_DEVICE_ID 0x440d