78 lines
2.9 KiB
Diff
78 lines
2.9 KiB
Diff
|
From: Arend van Spriel <arend@broadcom.com>
|
||
|
Date: Tue, 14 Apr 2015 20:10:31 +0200
|
||
|
Subject: [PATCH] brcmfmac: add support for BCM4358 PCIe device
|
||
|
|
||
|
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>
|
||
|
---
|
||
|
|
||
|
--- a/drivers/net/wireless/brcm80211/brcmfmac/chip.c
|
||
|
+++ b/drivers/net/wireless/brcm80211/brcmfmac/chip.c
|
||
|
@@ -649,6 +649,7 @@ static u32 brcmf_chip_tcm_rambase(struct
|
||
|
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:
|
||
|
--- a/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
|
||
|
+++ b/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
|
||
|
@@ -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
|
||
|
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_d
|
||
|
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),
|
||
|
--- a/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
|
||
|
+++ b/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
|
||
|
@@ -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
|