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

Commit 8b3a38da authored by Arend van Spriel's avatar Arend van Spriel Committed by Kalle Valo
Browse files

brcmfmac: Add support for bcm43340/1 wireless chipsets



This patch adds support for the bcm43340 and bcm43341 wireless
chipsets. These two chipsets are identical from wireless parts
perspective. As such they use the same firmware image.

Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Rob Herring <rob.herring@linaro.org>
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
[arend@broadcom.com: squash to single commit, remove 43341 chipid]
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 0b4155d1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1005,6 +1005,8 @@ static const struct sdio_device_id brcmf_sdmmc_ids[] = {
	BRCMF_SDIO_DEVICE(BRCM_SDIO_4329_DEVICE_ID),
	BRCMF_SDIO_DEVICE(BRCM_SDIO_4330_DEVICE_ID),
	BRCMF_SDIO_DEVICE(BRCM_SDIO_4334_DEVICE_ID),
	BRCMF_SDIO_DEVICE(BRCM_SDIO_43340_DEVICE_ID),
	BRCMF_SDIO_DEVICE(BRCM_SDIO_43341_DEVICE_ID),
	BRCMF_SDIO_DEVICE(BRCM_SDIO_43362_DEVICE_ID),
	BRCMF_SDIO_DEVICE(BRCM_SDIO_4335_4339_DEVICE_ID),
	BRCMF_SDIO_DEVICE(BRCM_SDIO_4354_DEVICE_ID),
+1 −0
Original line number Diff line number Diff line
@@ -481,6 +481,7 @@ static void brcmf_chip_get_raminfo(struct brcmf_chip_priv *ci)
		ci->pub.ramsize = 0x48000;
		break;
	case BRCM_CC_4334_CHIP_ID:
	case BRCM_CC_43340_CHIP_ID:
		ci->pub.ramsize = 0x80000;
		break;
	case BRCM_CC_4335_CHIP_ID:
+5 −0
Original line number Diff line number Diff line
@@ -608,6 +608,8 @@ static const struct sdiod_drive_str sdiod_drvstr_tab2_3v3[] = {
#define BCM4330_NVRAM_NAME		"brcm/brcmfmac4330-sdio.txt"
#define BCM4334_FIRMWARE_NAME		"brcm/brcmfmac4334-sdio.bin"
#define BCM4334_NVRAM_NAME		"brcm/brcmfmac4334-sdio.txt"
#define BCM43340_FIRMWARE_NAME		"brcm/brcmfmac43340-sdio.bin"
#define BCM43340_NVRAM_NAME		"brcm/brcmfmac43340-sdio.txt"
#define BCM4335_FIRMWARE_NAME		"brcm/brcmfmac4335-sdio.bin"
#define BCM4335_NVRAM_NAME		"brcm/brcmfmac4335-sdio.txt"
#define BCM43362_FIRMWARE_NAME		"brcm/brcmfmac43362-sdio.bin"
@@ -629,6 +631,8 @@ MODULE_FIRMWARE(BCM4330_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4330_NVRAM_NAME);
MODULE_FIRMWARE(BCM4334_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4334_NVRAM_NAME);
MODULE_FIRMWARE(BCM43340_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM43340_NVRAM_NAME);
MODULE_FIRMWARE(BCM4335_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4335_NVRAM_NAME);
MODULE_FIRMWARE(BCM43362_FIRMWARE_NAME);
@@ -660,6 +664,7 @@ static const struct brcmf_firmware_names brcmf_fwname_data[] = {
	{ BRCM_CC_4329_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4329) },
	{ BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4330) },
	{ BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4334) },
	{ BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM43340) },
	{ BRCM_CC_4335_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4335) },
	{ BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, BRCMF_FIRMWARE_NVRAM(BCM43362) },
	{ BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4339) },
+3 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@
#define BRCM_CC_4329_CHIP_ID		0x4329
#define BRCM_CC_4330_CHIP_ID		0x4330
#define BRCM_CC_4334_CHIP_ID		0x4334
#define BRCM_CC_43340_CHIP_ID		43340
#define BRCM_CC_43362_CHIP_ID		43362
#define BRCM_CC_4335_CHIP_ID		0x4335
#define BRCM_CC_4339_CHIP_ID		0x4339
@@ -51,6 +52,8 @@
#define BRCM_SDIO_4329_DEVICE_ID	BRCM_CC_4329_CHIP_ID
#define BRCM_SDIO_4330_DEVICE_ID	BRCM_CC_4330_CHIP_ID
#define BRCM_SDIO_4334_DEVICE_ID	BRCM_CC_4334_CHIP_ID
#define BRCM_SDIO_43340_DEVICE_ID	BRCM_CC_43340_CHIP_ID
#define BRCM_SDIO_43341_DEVICE_ID	43341
#define BRCM_SDIO_43362_DEVICE_ID	BRCM_CC_43362_CHIP_ID
#define BRCM_SDIO_4335_4339_DEVICE_ID	BRCM_CC_4335_CHIP_ID
#define BRCM_SDIO_4354_DEVICE_ID	BRCM_CC_4354_CHIP_ID
+4 −2
Original line number Diff line number Diff line
@@ -24,13 +24,15 @@
 * Vendors and devices.  Sort key: vendor first, device next.
 */
#define SDIO_VENDOR_ID_BROADCOM			0x02d0
#define SDIO_DEVICE_ID_BROADCOM_43143		43143
#define SDIO_DEVICE_ID_BROADCOM_43143		0xa887
#define SDIO_DEVICE_ID_BROADCOM_43241		0x4324
#define SDIO_DEVICE_ID_BROADCOM_4329		0x4329
#define SDIO_DEVICE_ID_BROADCOM_4330		0x4330
#define SDIO_DEVICE_ID_BROADCOM_4334		0x4334
#define SDIO_DEVICE_ID_BROADCOM_43340		0xa94c
#define SDIO_DEVICE_ID_BROADCOM_43341		0xa94d
#define SDIO_DEVICE_ID_BROADCOM_4335_4339	0x4335
#define SDIO_DEVICE_ID_BROADCOM_43362		43362
#define SDIO_DEVICE_ID_BROADCOM_43362		0xa962
#define SDIO_DEVICE_ID_BROADCOM_4354		0x4354

#define SDIO_VENDOR_ID_INTEL			0x0089