brcmfmac: Support 89459 pcie
Adds support of 89459 chip pcie device and save restore support. Signed-off-by: Alexander Prutskov <alep@cypress.com> Signed-off-by: Joseph chuang <jiac@cypress.com> Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Ian Lin <ian.lin@infineon.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220922104140.11889-3-ian.lin@infineon.com
This commit is contained in:
parent
459e552bae
commit
dce45ded76
3 changed files with 10 additions and 1 deletions
|
@ -735,6 +735,8 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
|
||||||
return 0x170000;
|
return 0x170000;
|
||||||
case BRCM_CC_4378_CHIP_ID:
|
case BRCM_CC_4378_CHIP_ID:
|
||||||
return 0x352000;
|
return 0x352000;
|
||||||
|
case CY_CC_89459_CHIP_ID:
|
||||||
|
return ((ci->pub.chiprev < 9) ? 0x180000 : 0x160000);
|
||||||
default:
|
default:
|
||||||
brcmf_err("unknown chip: %s\n", ci->pub.name);
|
brcmf_err("unknown chip: %s\n", ci->pub.name);
|
||||||
break;
|
break;
|
||||||
|
@ -1425,6 +1427,7 @@ bool brcmf_chip_sr_capable(struct brcmf_chip *pub)
|
||||||
reg = chip->ops->read32(chip->ctx, addr);
|
reg = chip->ops->read32(chip->ctx, addr);
|
||||||
return reg != 0;
|
return reg != 0;
|
||||||
case CY_CC_4373_CHIP_ID:
|
case CY_CC_4373_CHIP_ID:
|
||||||
|
case CY_CC_89459_CHIP_ID:
|
||||||
/* explicitly check SR engine enable bit */
|
/* explicitly check SR engine enable bit */
|
||||||
addr = CORE_CC_REG(base, sr_control0);
|
addr = CORE_CC_REG(base, sr_control0);
|
||||||
reg = chip->ops->read32(chip->ctx, addr);
|
reg = chip->ops->read32(chip->ctx, addr);
|
||||||
|
|
|
@ -60,6 +60,7 @@ BRCMF_FW_DEF(4366B, "brcmfmac4366b-pcie");
|
||||||
BRCMF_FW_DEF(4366C, "brcmfmac4366c-pcie");
|
BRCMF_FW_DEF(4366C, "brcmfmac4366c-pcie");
|
||||||
BRCMF_FW_DEF(4371, "brcmfmac4371-pcie");
|
BRCMF_FW_DEF(4371, "brcmfmac4371-pcie");
|
||||||
BRCMF_FW_CLM_DEF(4378B1, "brcmfmac4378b1-pcie");
|
BRCMF_FW_CLM_DEF(4378B1, "brcmfmac4378b1-pcie");
|
||||||
|
BRCMF_FW_DEF(4355, "brcmfmac89459-pcie");
|
||||||
|
|
||||||
/* firmware config files */
|
/* firmware config files */
|
||||||
MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-pcie.txt");
|
MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-pcie.txt");
|
||||||
|
@ -90,6 +91,7 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = {
|
||||||
BRCMF_FW_ENTRY(BRCM_CC_43666_CHIP_ID, 0xFFFFFFF0, 4366C),
|
BRCMF_FW_ENTRY(BRCM_CC_43666_CHIP_ID, 0xFFFFFFF0, 4366C),
|
||||||
BRCMF_FW_ENTRY(BRCM_CC_4371_CHIP_ID, 0xFFFFFFFF, 4371),
|
BRCMF_FW_ENTRY(BRCM_CC_4371_CHIP_ID, 0xFFFFFFFF, 4371),
|
||||||
BRCMF_FW_ENTRY(BRCM_CC_4378_CHIP_ID, 0xFFFFFFFF, 4378B1), /* revision ID 3 */
|
BRCMF_FW_ENTRY(BRCM_CC_4378_CHIP_ID, 0xFFFFFFFF, 4378B1), /* revision ID 3 */
|
||||||
|
BRCMF_FW_ENTRY(CY_CC_89459_CHIP_ID, 0xFFFFFFFF, 4355),
|
||||||
};
|
};
|
||||||
|
|
||||||
#define BRCMF_PCIE_FW_UP_TIMEOUT 5000 /* msec */
|
#define BRCMF_PCIE_FW_UP_TIMEOUT 5000 /* msec */
|
||||||
|
@ -2465,6 +2467,8 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = {
|
||||||
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),
|
BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID),
|
||||||
BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID),
|
BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID),
|
||||||
|
BRCMF_PCIE_DEVICE(CY_PCIE_89459_DEVICE_ID),
|
||||||
|
BRCMF_PCIE_DEVICE(CY_PCIE_89459_RAW_DEVICE_ID),
|
||||||
{ /* end: all zeroes */ }
|
{ /* end: all zeroes */ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
#define CY_CC_43012_CHIP_ID 43012
|
#define CY_CC_43012_CHIP_ID 43012
|
||||||
#define CY_CC_43439_CHIP_ID 43439
|
#define CY_CC_43439_CHIP_ID 43439
|
||||||
#define CY_CC_43752_CHIP_ID 43752
|
#define CY_CC_43752_CHIP_ID 43752
|
||||||
|
#define CY_CC_89459_CHIP_ID 0x4355
|
||||||
|
|
||||||
/* USB Device IDs */
|
/* USB Device IDs */
|
||||||
#define BRCM_USB_43143_DEVICE_ID 0xbd1e
|
#define BRCM_USB_43143_DEVICE_ID 0xbd1e
|
||||||
|
@ -90,7 +91,8 @@
|
||||||
#define BRCM_PCIE_4366_5G_DEVICE_ID 0x43c5
|
#define BRCM_PCIE_4366_5G_DEVICE_ID 0x43c5
|
||||||
#define BRCM_PCIE_4371_DEVICE_ID 0x440d
|
#define BRCM_PCIE_4371_DEVICE_ID 0x440d
|
||||||
#define BRCM_PCIE_4378_DEVICE_ID 0x4425
|
#define BRCM_PCIE_4378_DEVICE_ID 0x4425
|
||||||
|
#define CY_PCIE_89459_DEVICE_ID 0x4415
|
||||||
|
#define CY_PCIE_89459_RAW_DEVICE_ID 0x4355
|
||||||
|
|
||||||
/* brcmsmac IDs */
|
/* brcmsmac IDs */
|
||||||
#define BCM4313_D11N2G_ID 0x4727 /* 4313 802.11n 2.4G device */
|
#define BCM4313_D11N2G_ID 0x4727 /* 4313 802.11n 2.4G device */
|
||||||
|
|
Loading…
Add table
Reference in a new issue