1
0
Fork 0

brcmfmac: add BCM43711 chip and firmware support with named constants

Add proper named constants for the Synaptics SYN43711 (AP6611S)
WiFi chip used on Orange Pi 5 Ultra:

- SDIO_VENDOR_ID_SYNAPTICS (0x06cb) in sdio_ids.h
- SDIO_DEVICE_ID_BROADCOM_CYPRESS_43711 (0xaabf) in sdio_ids.h
- CY_CC_43711_CHIP_ID (43711) in brcm_hw_ids.h

Driver changes:
- bcmsdh.c: bind both Broadcom (0x02d0) and Synaptics (0x06cb) vendors
- chip.c: add RAM base 0x170000 (from bcmdhd CR4_43711_RAM_BASE)
- sdio.c: firmware mapping entry for brcmfmac43711-sdio
This commit is contained in:
Brendan Szymanski 2026-07-12 22:59:40 -04:00
parent b557a8b991
commit cc4418e2f8
5 changed files with 10 additions and 4 deletions

View file

@ -1000,9 +1000,9 @@ static const struct sdio_device_id brcmf_sdmmc_ids[] = {
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43012, CYW),
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43752, CYW),
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_89359, CYW),
{SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, 0xaabf),
.driver_data = BRCMF_FWVENDOR_CYW},
{SDIO_DEVICE(0x06cb, 0xaabf),
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43711, CYW),
{SDIO_DEVICE(SDIO_VENDOR_ID_SYNAPTICS,
SDIO_DEVICE_ID_BROADCOM_CYPRESS_43711),
.driver_data = BRCMF_FWVENDOR_CYW},
CYW_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43439, CYW),
{ /* end: all zeroes */ }

View file

@ -738,6 +738,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
case BRCM_CC_4364_CHIP_ID:
case CY_CC_4373_CHIP_ID:
return 0x160000;
case CY_CC_43711_CHIP_ID: /* BCM43711 / SYN43711 (AP6611S) */
case CY_CC_43752_CHIP_ID:
case BRCM_CC_4377_CHIP_ID:
return 0x170000;

View file

@ -657,7 +657,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
BRCMF_FW_ENTRY(CY_CC_4373_CHIP_ID, 0xFFFFFFFF, 4373),
BRCMF_FW_ENTRY(CY_CC_43012_CHIP_ID, 0xFFFFFFFF, 43012),
BRCMF_FW_ENTRY(CY_CC_43439_CHIP_ID, 0xFFFFFFFF, 43439),
BRCMF_FW_ENTRY(CY_CC_43752_CHIP_ID, 0xFFFFFFFF, 43752)
BRCMF_FW_ENTRY(CY_CC_43752_CHIP_ID, 0xFFFFFFFF, 43752),
BRCMF_FW_ENTRY(CY_CC_43711_CHIP_ID, 0xFFFFFFFF, 43711)
};
#define TXCTL_CREDITS 2

View file

@ -60,6 +60,8 @@
#define CY_CC_43012_CHIP_ID 43012
#define CY_CC_43439_CHIP_ID 43439
#define CY_CC_43752_CHIP_ID 43752
/* Synaptics SYN43711 (AP6611S) — chip ID 43711 = 0xaabf */
#define CY_CC_43711_CHIP_ID 43711
/* USB Device IDs */
#define BRCM_USB_43143_DEVICE_ID 0xbd1e

View file

@ -54,6 +54,7 @@
#define SDIO_DEVICE_ID_ATHEROS_QCA9377 0x0701
#define SDIO_VENDOR_ID_BROADCOM 0x02d0
#define SDIO_VENDOR_ID_SYNAPTICS 0x06cb
#define SDIO_DEVICE_ID_BROADCOM_NINTENDO_WII 0x044b
#define SDIO_DEVICE_ID_BROADCOM_43241 0x4324
#define SDIO_DEVICE_ID_BROADCOM_4329 0x4329
@ -76,6 +77,7 @@
#define SDIO_DEVICE_ID_BROADCOM_43430 0xa9a6
#define SDIO_DEVICE_ID_BROADCOM_43439 0xa9af
#define SDIO_DEVICE_ID_BROADCOM_43455 0xa9bf
#define SDIO_DEVICE_ID_BROADCOM_CYPRESS_43711 0xaabf
#define SDIO_DEVICE_ID_BROADCOM_CYPRESS_43752 0xaae8
#define SDIO_VENDOR_ID_CYPRESS 0x04b4