Message ID | 20210307113550.7720-1-konrad.dybcio@somainline.org (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | brcmfmac: Add support for BCM43596 PCIe Wi-Fi | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On 07-03-2021 12:35, Konrad Dybcio wrote: > Add support for BCM43596 dual-band AC chip, found in > SONY Xperia X Performance, XZ and XZs smartphones (and > *possibly* other devices from other manufacturers). > The chip doesn't require any special handling and seems to work > just fine OOTB. > > PCIe IDs taken from: https://github.com/sonyxperiadev/kernel/commit/9e43fefbac8e43c3d7792e73ca52a052dd86d7e3.patch I don't see 4359 firmware in linux-firmware repo so what are you using? Regards, Arend
Il 12/04/21 10:36, Arend van Spriel ha scritto: > On 07-03-2021 12:35, Konrad Dybcio wrote: >> Add support for BCM43596 dual-band AC chip, found in >> SONY Xperia X Performance, XZ and XZs smartphones (and >> *possibly* other devices from other manufacturers). >> The chip doesn't require any special handling and seems to work >> just fine OOTB. >> >> PCIe IDs taken from: >> https://github.com/sonyxperiadev/kernel/commit/9e43fefbac8e43c3d7792e73ca52a052dd86d7e3.patch >> > > I don't see 4359 firmware in linux-firmware repo so what are you using? > > Regards, > Arend Hi Arend, we are using firmwares that come with our specific Sony devices, as we couldn't find any generic one. Pushing firmwares around is something that we tend to be careful about because, as you know, they are usually covered with proprietary licenses and such. If anyone from Broadcom can help us by pushing "generic" firmwares for this chip on linux-firmware, we would largely appreciate that. Yours, - Angelo
Hi, sorry for the lack of answer from me (I've had a lot going on..), but the one Angelo has given you is right. We have to use the files that SONY ships with their stock Android firmware. Could you look into this patch once again? Konrad
Konrad Dybcio <konrad.dybcio@somainline.org> wrote: > Add support for BCM43596 dual-band AC chip, found in > SONY Xperia X Performance, XZ and XZs smartphones (and > *possibly* other devices from other manufacturers). > The chip doesn't require any special handling and seems to work > just fine OOTB. > > PCIe IDs taken from: https://github.com/sonyxperiadev/kernel/commit/9e43fefbac8e43c3d7792e73ca52a052dd86d7e3.patch > > Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> Failed to apply, please rebase on top of wireless-drivers-next and resend as v2. Recorded preimage for 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c' error: Failed to merge in the changes. hint: Use 'git am --show-current-patch' to see the failed patch Applying: brcmfmac: Add support for BCM43596 PCIe Wi-Fi Using index info to reconstruct a base tree... M drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c M drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c M drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h Falling back to patching base and 3-way merge... Auto-merging drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h Auto-merging drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c Auto-merging drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c CONFLICT (content): Merge conflict in drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c Patch failed at 0001 brcmfmac: Add support for BCM43596 PCIe Wi-Fi Patch set to Changes Requested.
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c index 45037decba40..38ca0517f3cf 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c @@ -723,6 +723,7 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci) case BRCM_CC_43666_CHIP_ID: return 0x200000; case BRCM_CC_4359_CHIP_ID: + case BRCM_CC_43596_CHIP_ID: return (ci->pub.chiprev < 9) ? 0x180000 : 0x160000; case BRCM_CC_4364_CHIP_ID: case CY_CC_4373_CHIP_ID: @@ -1411,6 +1412,7 @@ bool brcmf_chip_sr_capable(struct brcmf_chip *pub) reg = chip->ops->read32(chip->ctx, addr); return (reg & CC_SR_CTL0_ENABLE_MASK) != 0; case BRCM_CC_4359_CHIP_ID: + case BRCM_CC_43596_CHIP_ID: case CY_CC_43012_CHIP_ID: addr = CORE_CC_REG(pmu->base, retention_ctl); reg = chip->ops->read32(chip->ctx, addr); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c index ad79e3b7e74a..da604fa17f94 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c @@ -71,6 +71,7 @@ static const struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = { BRCMF_FW_ENTRY(BRCM_CC_43570_CHIP_ID, 0xFFFFFFFF, 43570), BRCMF_FW_ENTRY(BRCM_CC_4358_CHIP_ID, 0xFFFFFFFF, 4358), BRCMF_FW_ENTRY(BRCM_CC_4359_CHIP_ID, 0xFFFFFFFF, 4359), + BRCMF_FW_ENTRY(BRCM_CC_43596_CHIP_ID, 0xFFFFFFFF, 4359), BRCMF_FW_ENTRY(BRCM_CC_4364_CHIP_ID, 0xFFFFFFFF, 4364), BRCMF_FW_ENTRY(BRCM_CC_4365_CHIP_ID, 0x0000000F, 4365B), BRCMF_FW_ENTRY(BRCM_CC_4365_CHIP_ID, 0xFFFFFFF0, 4365C), @@ -2107,6 +2108,9 @@ static const struct pci_device_id brcmf_pcie_devid_table[] = { BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID), BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID), BRCMF_PCIE_DEVICE(BRCM_PCIE_4359_DEVICE_ID), + BRCMF_PCIE_DEVICE(BRCM_PCIE_43596_DEVICE_ID), + BRCMF_PCIE_DEVICE(BRCM_PCIE_43596_2G_DEVICE_ID), + BRCMF_PCIE_DEVICE(BRCM_PCIE_43596_5G_DEVICE_ID), BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID), BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID), BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID), diff --git a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h index 00309b272a0e..03542c096e40 100644 --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h @@ -43,6 +43,7 @@ #define BRCM_CC_43570_CHIP_ID 43570 #define BRCM_CC_4358_CHIP_ID 0x4358 #define BRCM_CC_4359_CHIP_ID 0x4359 +#define BRCM_CC_43596_CHIP_ID 43596 #define BRCM_CC_43602_CHIP_ID 43602 #define BRCM_CC_4364_CHIP_ID 0x4364 #define BRCM_CC_4365_CHIP_ID 0x4365 @@ -72,6 +73,9 @@ #define BRCM_PCIE_43570_DEVICE_ID 0x43d9 #define BRCM_PCIE_4358_DEVICE_ID 0x43e9 #define BRCM_PCIE_4359_DEVICE_ID 0x43ef +#define BRCM_PCIE_43596_DEVICE_ID 0x4415 +#define BRCM_PCIE_43596_2G_DEVICE_ID 0x4416 +#define BRCM_PCIE_43596_5G_DEVICE_ID 0x4417 #define BRCM_PCIE_43602_DEVICE_ID 0x43ba #define BRCM_PCIE_43602_2G_DEVICE_ID 0x43bb #define BRCM_PCIE_43602_5G_DEVICE_ID 0x43bc
Add support for BCM43596 dual-band AC chip, found in SONY Xperia X Performance, XZ and XZs smartphones (and *possibly* other devices from other manufacturers). The chip doesn't require any special handling and seems to work just fine OOTB. PCIe IDs taken from: https://github.com/sonyxperiadev/kernel/commit/9e43fefbac8e43c3d7792e73ca52a052dd86d7e3.patch Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 2 ++ drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 4 ++++ drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h | 4 ++++ 3 files changed, 10 insertions(+)