Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8273baf authored by Eric Caruso's avatar Eric Caruso Committed by Kalle Valo
Browse files

brcm80211: Add support for brcm4371



This is a new Broadcom chip and we should be able to recognize it.

Signed-off-by: default avatarEric Caruso <ejcaruso@google.com>
Acked-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 92121e69
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -682,6 +682,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
	case BRCM_CC_43570_CHIP_ID:
	case BRCM_CC_43570_CHIP_ID:
	case BRCM_CC_4358_CHIP_ID:
	case BRCM_CC_4358_CHIP_ID:
	case BRCM_CC_43602_CHIP_ID:
	case BRCM_CC_43602_CHIP_ID:
	case BRCM_CC_4371_CHIP_ID:
		return 0x180000;
		return 0x180000;
	case BRCM_CC_4365_CHIP_ID:
	case BRCM_CC_4365_CHIP_ID:
	case BRCM_CC_4366_CHIP_ID:
	case BRCM_CC_4366_CHIP_ID:
+9 −0
Original line number Original line Diff line number Diff line
@@ -59,6 +59,8 @@ enum brcmf_pcie_state {
#define BRCMF_PCIE_4365_NVRAM_NAME		"brcm/brcmfmac4365b-pcie.txt"
#define BRCMF_PCIE_4365_NVRAM_NAME		"brcm/brcmfmac4365b-pcie.txt"
#define BRCMF_PCIE_4366_FW_NAME			"brcm/brcmfmac4366b-pcie.bin"
#define BRCMF_PCIE_4366_FW_NAME			"brcm/brcmfmac4366b-pcie.bin"
#define BRCMF_PCIE_4366_NVRAM_NAME		"brcm/brcmfmac4366b-pcie.txt"
#define BRCMF_PCIE_4366_NVRAM_NAME		"brcm/brcmfmac4366b-pcie.txt"
#define BRCMF_PCIE_4371_FW_NAME			"brcm/brcmfmac4371-pcie.bin"
#define BRCMF_PCIE_4371_NVRAM_NAME		"brcm/brcmfmac4371-pcie.txt"


#define BRCMF_PCIE_FW_UP_TIMEOUT		2000 /* msec */
#define BRCMF_PCIE_FW_UP_TIMEOUT		2000 /* msec */


@@ -212,6 +214,8 @@ MODULE_FIRMWARE(BRCMF_PCIE_4365_FW_NAME);
MODULE_FIRMWARE(BRCMF_PCIE_4365_NVRAM_NAME);
MODULE_FIRMWARE(BRCMF_PCIE_4365_NVRAM_NAME);
MODULE_FIRMWARE(BRCMF_PCIE_4366_FW_NAME);
MODULE_FIRMWARE(BRCMF_PCIE_4366_FW_NAME);
MODULE_FIRMWARE(BRCMF_PCIE_4366_NVRAM_NAME);
MODULE_FIRMWARE(BRCMF_PCIE_4366_NVRAM_NAME);
MODULE_FIRMWARE(BRCMF_PCIE_4371_FW_NAME);
MODULE_FIRMWARE(BRCMF_PCIE_4371_NVRAM_NAME);




struct brcmf_pcie_console {
struct brcmf_pcie_console {
@@ -1521,6 +1525,10 @@ static int brcmf_pcie_get_fwnames(struct brcmf_pciedev_info *devinfo)
		fw_name = BRCMF_PCIE_4366_FW_NAME;
		fw_name = BRCMF_PCIE_4366_FW_NAME;
		nvram_name = BRCMF_PCIE_4366_NVRAM_NAME;
		nvram_name = BRCMF_PCIE_4366_NVRAM_NAME;
		break;
		break;
	case BRCM_CC_4371_CHIP_ID:
		fw_name = BRCMF_PCIE_4371_FW_NAME;
		nvram_name = BRCMF_PCIE_4371_NVRAM_NAME;
		break;
	default:
	default:
		brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
		brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
		return -ENODEV;
		return -ENODEV;
@@ -2060,6 +2068,7 @@ static struct pci_device_id brcmf_pcie_devid_table[] = {
	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_DEVICE_ID),
	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_DEVICE_ID),
	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_2G_DEVICE_ID),
	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_2G_DEVICE_ID),
	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_5G_DEVICE_ID),
	BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_5G_DEVICE_ID),
	BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID),
	{ /* end: all zeroes */ }
	{ /* end: all zeroes */ }
};
};


+2 −0
Original line number Original line Diff line number Diff line
@@ -50,6 +50,7 @@
#define BRCM_CC_43602_CHIP_ID		43602
#define BRCM_CC_43602_CHIP_ID		43602
#define BRCM_CC_4365_CHIP_ID		0x4365
#define BRCM_CC_4365_CHIP_ID		0x4365
#define BRCM_CC_4366_CHIP_ID		0x4366
#define BRCM_CC_4366_CHIP_ID		0x4366
#define BRCM_CC_4371_CHIP_ID		0x4371


/* USB Device IDs */
/* USB Device IDs */
#define BRCM_USB_43143_DEVICE_ID	0xbd1e
#define BRCM_USB_43143_DEVICE_ID	0xbd1e
@@ -75,6 +76,7 @@
#define BRCM_PCIE_4366_DEVICE_ID	0x43c3
#define BRCM_PCIE_4366_DEVICE_ID	0x43c3
#define BRCM_PCIE_4366_2G_DEVICE_ID	0x43c4
#define BRCM_PCIE_4366_2G_DEVICE_ID	0x43c4
#define BRCM_PCIE_4366_5G_DEVICE_ID	0x43c5
#define BRCM_PCIE_4366_5G_DEVICE_ID	0x43c5
#define BRCM_PCIE_4371_DEVICE_ID	0x440d




/* brcmsmac IDs */
/* brcmsmac IDs */