brcmfmac: add support for BCM4358 PCIe device
authorArend van Spriel <arend@broadcom.com>
Tue, 14 Apr 2015 18:10:31 +0000 (20:10 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 9 May 2015 13:26:56 +0000 (16:26 +0300)
This patch adds support for the BCM4358 2x2 11ac device.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/brcm80211/brcmfmac/chip.c
drivers/net/wireless/brcm80211/brcmfmac/pcie.c
drivers/net/wireless/brcm80211/include/brcm_hw_ids.h

index ab2fac8b2760a89269ffcb549090087fe9a16f71..288f8314f2086f06c33992be2a4da8eaed7f7df9 100644 (file)
@@ -649,6 +649,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
        case BRCM_CC_43567_CHIP_ID:
        case BRCM_CC_43569_CHIP_ID:
        case BRCM_CC_43570_CHIP_ID:
+       case BRCM_CC_4358_CHIP_ID:
        case BRCM_CC_43602_CHIP_ID:
                return 0x180000;
        default:
index 1831ecd0813e955dfc88c3c6eb8783f36060465b..8815de79a09ba4965068709bb1018b4b01f22c1f 100644 (file)
@@ -51,6 +51,8 @@ enum brcmf_pcie_state {
 #define BRCMF_PCIE_4356_NVRAM_NAME             "brcm/brcmfmac4356-pcie.txt"
 #define BRCMF_PCIE_43570_FW_NAME               "brcm/brcmfmac43570-pcie.bin"
 #define BRCMF_PCIE_43570_NVRAM_NAME            "brcm/brcmfmac43570-pcie.txt"
+#define BRCMF_PCIE_4358_FW_NAME                        "brcm/brcmfmac4358-pcie.bin"
+#define BRCMF_PCIE_4358_NVRAM_NAME             "brcm/brcmfmac4358-pcie.txt"
 
 #define BRCMF_PCIE_FW_UP_TIMEOUT               2000 /* msec */
 
@@ -189,6 +191,8 @@ MODULE_FIRMWARE(BRCMF_PCIE_4356_FW_NAME);
 MODULE_FIRMWARE(BRCMF_PCIE_4356_NVRAM_NAME);
 MODULE_FIRMWARE(BRCMF_PCIE_43570_FW_NAME);
 MODULE_FIRMWARE(BRCMF_PCIE_43570_NVRAM_NAME);
+MODULE_FIRMWARE(BRCMF_PCIE_4358_FW_NAME);
+MODULE_FIRMWARE(BRCMF_PCIE_4358_NVRAM_NAME);
 
 
 struct brcmf_pcie_console {
@@ -1333,6 +1337,10 @@ static int brcmf_pcie_get_fwnames(struct brcmf_pciedev_info *devinfo)
                fw_name = BRCMF_PCIE_43570_FW_NAME;
                nvram_name = BRCMF_PCIE_43570_NVRAM_NAME;
                break;
+       case BRCM_CC_4358_CHIP_ID:
+               fw_name = BRCMF_PCIE_4358_FW_NAME;
+               nvram_name = BRCMF_PCIE_4358_NVRAM_NAME;
+               break;
        default:
                brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
                return -ENODEV;
@@ -1850,6 +1858,7 @@ static struct pci_device_id brcmf_pcie_devid_table[] = {
        BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID),
        BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
        BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
+       BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID),
        BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
        BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID),
        BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID),
index 4efdd51af9c8fd72ce99ea00e8bc03f6c86c271a..25432828044bf5f0375a3678ffd2da5ad3ceee3f 100644 (file)
@@ -45,6 +45,7 @@
 #define BRCM_CC_43567_CHIP_ID          43567
 #define BRCM_CC_43569_CHIP_ID          43569
 #define BRCM_CC_43570_CHIP_ID          43570
+#define BRCM_CC_4358_CHIP_ID           0x4358
 #define BRCM_CC_43602_CHIP_ID          43602
 
 /* USB Device IDs */
@@ -59,6 +60,7 @@
 #define BRCM_PCIE_4356_DEVICE_ID       0x43ec
 #define BRCM_PCIE_43567_DEVICE_ID      0x43d3
 #define BRCM_PCIE_43570_DEVICE_ID      0x43d9
+#define BRCM_PCIE_4358_DEVICE_ID       0x43e9
 #define BRCM_PCIE_43602_DEVICE_ID      0x43ba
 #define BRCM_PCIE_43602_2G_DEVICE_ID   0x43bb
 #define BRCM_PCIE_43602_5G_DEVICE_ID   0x43bc