ath10k-firmware: remove dependency on kmod-ath10k so that it can be selected instead
[15.05/openwrt.git] / package / kernel / mac80211 / patches / 373-brcm80211-Add-support-for-brcm4371.patch
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
4
5 This is a new Broadcom chip and we should be able to recognize it.
6
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>
10 ---
11
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:
19                 return 0x180000;
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"
30  
31  #define BRCMF_PCIE_FW_UP_TIMEOUT               2000 /* msec */
32  
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);
39  
40  
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;
45                 break;
46 +       case BRCM_CC_4371_CHIP_ID:
47 +               fw_name = BRCMF_PCIE_4371_FW_NAME;
48 +               nvram_name = BRCMF_PCIE_4371_NVRAM_NAME;
49 +               break;
50         default:
51                 brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
52                 return -ENODEV;
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 */ }
59  };
60  
61 --- a/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
62 +++ b/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
63 @@ -50,6 +50,7 @@
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
68  
69  /* USB Device IDs */
70  #define BRCM_USB_43143_DEVICE_ID       0xbd1e
71 @@ -75,6 +76,7 @@
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
76  
77  
78  /* brcmsmac IDs */