1 From: Hante Meuleman <meuleman@broadcom.com>
2 Date: Thu, 29 Oct 2015 20:33:11 +0100
3 Subject: [PATCH] brcmfmac: Add support for the BCM4359 11ac RSDB PCIE device.
5 Reviewed-by: Arend Van Spriel <arend@broadcom.com>
6 Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
7 Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
8 Signed-off-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 @@ -681,6 +681,7 @@ static u32 brcmf_chip_tcm_rambase(struct
15 case BRCM_CC_43569_CHIP_ID:
16 case BRCM_CC_43570_CHIP_ID:
17 case BRCM_CC_4358_CHIP_ID:
18 + case BRCM_CC_4359_CHIP_ID:
19 case BRCM_CC_43602_CHIP_ID:
20 case BRCM_CC_4371_CHIP_ID:
22 --- a/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
23 +++ b/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
24 @@ -55,6 +55,8 @@ enum brcmf_pcie_state {
25 #define BRCMF_PCIE_43570_NVRAM_NAME "brcm/brcmfmac43570-pcie.txt"
26 #define BRCMF_PCIE_4358_FW_NAME "brcm/brcmfmac4358-pcie.bin"
27 #define BRCMF_PCIE_4358_NVRAM_NAME "brcm/brcmfmac4358-pcie.txt"
28 +#define BRCMF_PCIE_4359_FW_NAME "brcm/brcmfmac4359-pcie.bin"
29 +#define BRCMF_PCIE_4359_NVRAM_NAME "brcm/brcmfmac4359-pcie.txt"
30 #define BRCMF_PCIE_4365_FW_NAME "brcm/brcmfmac4365b-pcie.bin"
31 #define BRCMF_PCIE_4365_NVRAM_NAME "brcm/brcmfmac4365b-pcie.txt"
32 #define BRCMF_PCIE_4366_FW_NAME "brcm/brcmfmac4366b-pcie.bin"
33 @@ -210,6 +212,8 @@ MODULE_FIRMWARE(BRCMF_PCIE_43570_FW_NAME
34 MODULE_FIRMWARE(BRCMF_PCIE_43570_NVRAM_NAME);
35 MODULE_FIRMWARE(BRCMF_PCIE_4358_FW_NAME);
36 MODULE_FIRMWARE(BRCMF_PCIE_4358_NVRAM_NAME);
37 +MODULE_FIRMWARE(BRCMF_PCIE_4359_FW_NAME);
38 +MODULE_FIRMWARE(BRCMF_PCIE_4359_NVRAM_NAME);
39 MODULE_FIRMWARE(BRCMF_PCIE_4365_FW_NAME);
40 MODULE_FIRMWARE(BRCMF_PCIE_4365_NVRAM_NAME);
41 MODULE_FIRMWARE(BRCMF_PCIE_4366_FW_NAME);
42 @@ -1517,6 +1521,10 @@ static int brcmf_pcie_get_fwnames(struct
43 fw_name = BRCMF_PCIE_4358_FW_NAME;
44 nvram_name = BRCMF_PCIE_4358_NVRAM_NAME;
46 + case BRCM_CC_4359_CHIP_ID:
47 + fw_name = BRCMF_PCIE_4359_FW_NAME;
48 + nvram_name = BRCMF_PCIE_4359_NVRAM_NAME;
50 case BRCM_CC_4365_CHIP_ID:
51 fw_name = BRCMF_PCIE_4365_FW_NAME;
52 nvram_name = BRCMF_PCIE_4365_NVRAM_NAME;
53 @@ -2058,6 +2066,7 @@ static struct pci_device_id brcmf_pcie_d
54 BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
55 BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
56 BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID),
57 + BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID),
58 BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
59 BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID),
60 BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID),
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_43569_CHIP_ID 43569
65 #define BRCM_CC_43570_CHIP_ID 43570
66 #define BRCM_CC_4358_CHIP_ID 0x4358
67 +#define BRCM_CC_4359_CHIP_ID 0x4359
68 #define BRCM_CC_43602_CHIP_ID 43602
69 #define BRCM_CC_4365_CHIP_ID 0x4365
70 #define BRCM_CC_4366_CHIP_ID 0x4366
72 #define BRCM_PCIE_43567_DEVICE_ID 0x43d3
73 #define BRCM_PCIE_43570_DEVICE_ID 0x43d9
74 #define BRCM_PCIE_4358_DEVICE_ID 0x43e9
75 +#define BRCM_PCIE_4359_DEVICE_ID 0x43ef
76 #define BRCM_PCIE_43602_DEVICE_ID 0x43ba
77 #define BRCM_PCIE_43602_2G_DEVICE_ID 0x43bb
78 #define BRCM_PCIE_43602_5G_DEVICE_ID 0x43bc