mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
80 lines
3.7 KiB
Diff
80 lines
3.7 KiB
Diff
From c47267fd331ea3fbde18512c2886730ba368bd66 Mon Sep 17 00:00:00 2001
|
|
From: Wright Feng <wright.feng@cypress.com>
|
|
Date: Mon, 18 May 2020 23:13:34 -0500
|
|
Subject: [PATCH 083/179] brcmfmac: add CYW43439 SR related changes
|
|
|
|
Because SR and chip related behvior are same as 43430a1, we align all
|
|
43439 code flow with 43430a1.
|
|
|
|
This commit should be squashed into previous 43439 support commit.
|
|
|
|
Signed-off-by: Wright Feng <wright.feng@cypress.com>
|
|
|
|
---
|
|
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 5 ++++-
|
|
drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c | 3 ++-
|
|
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 +--
|
|
3 files changed, 7 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
|
index 6829ca086695..186b5bee33b4 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
|
|
@@ -659,6 +659,7 @@ static void brcmf_chip_socram_ramsize(struct brcmf_core_priv *sr, u32 *ramsize,
|
|
*srsize = (32 * 1024);
|
|
break;
|
|
case BRCM_CC_43430_CHIP_ID:
|
|
+ case CY_CC_43439_CHIP_ID:
|
|
/* assume sr for now as we can not check
|
|
* firmware sr capability at this point.
|
|
*/
|
|
@@ -1285,7 +1286,8 @@ brcmf_chip_cm3_set_passive(struct brcmf_chip_priv *chip)
|
|
brcmf_chip_resetcore(core, 0, 0, 0);
|
|
|
|
/* disable bank #3 remap for this device */
|
|
- if (chip->pub.chip == BRCM_CC_43430_CHIP_ID) {
|
|
+ if (chip->pub.chip == BRCM_CC_43430_CHIP_ID ||
|
|
+ chip->pub.chip == CY_CC_43439_CHIP_ID) {
|
|
sr = container_of(core, struct brcmf_core_priv, pub);
|
|
brcmf_chip_core_write32(sr, SOCRAMREGOFFS(bankidx), 3);
|
|
brcmf_chip_core_write32(sr, SOCRAMREGOFFS(bankpda), 0);
|
|
@@ -1442,6 +1444,7 @@ bool brcmf_chip_sr_capable(struct brcmf_chip *pub)
|
|
reg = chip->ops->read32(chip->ctx, addr);
|
|
return (reg & pmu_cc3_mask) != 0;
|
|
case BRCM_CC_43430_CHIP_ID:
|
|
+ case CY_CC_43439_CHIP_ID:
|
|
addr = CORE_CC_REG(base, sr_control1);
|
|
reg = chip->ops->read32(chip->ctx, addr);
|
|
return reg != 0;
|
|
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
|
|
index 94fa06749631..f0c603ba64b8 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
|
|
@@ -248,7 +248,8 @@ void brcmf_feat_attach(struct brcmf_pub *drvr)
|
|
brcmf_feat_firmware_capabilities(ifp);
|
|
memset(&gscan_cfg, 0, sizeof(gscan_cfg));
|
|
if (drvr->bus_if->chip != BRCM_CC_43430_CHIP_ID &&
|
|
- drvr->bus_if->chip != BRCM_CC_4345_CHIP_ID)
|
|
+ drvr->bus_if->chip != BRCM_CC_4345_CHIP_ID &&
|
|
+ drvr->bus_if->chip != CY_CC_43439_CHIP_ID)
|
|
brcmf_feat_iovar_data_set(ifp, BRCMF_FEAT_GSCAN,
|
|
"pfn_gscan_cfg",
|
|
&gscan_cfg, sizeof(gscan_cfg));
|
|
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
|
index c1fb3fedf037..96d16a99ab67 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
|
@@ -669,8 +669,7 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
|
|
BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),
|
|
BRCMF_FW_ENTRY(BRCM_CC_4356_CHIP_ID, 0xFFFFFFFF, 4356),
|
|
BRCMF_FW_ENTRY(BRCM_CC_4359_CHIP_ID, 0xFFFFFFFF, 4359),
|
|
- BRCMF_FW_ENTRY(CY_CC_43430_CHIP_ID, 0xFFFFFFE0, 43439),
|
|
- BRCMF_FW_ENTRY(CY_CC_43439_CHIP_ID, 0xFFFFFFE0, 43439),
|
|
+ BRCMF_FW_ENTRY(CY_CC_43439_CHIP_ID, 0xFFFFFFFF, 43439),
|
|
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_43752_CHIP_ID, 0xFFFFFFFF, 43752)
|
|
--
|
|
2.17.1
|
|
|