Re: [PATCH v2] brcmfmac: Add support for BCM43596 PCIe Wi-Fi
From: Hector Martin
Date: Thu Sep 22 2022 - 02:40:48 EST
On 22/09/2022 06.26, Konrad Dybcio wrote:
>
>
> On 21.09.2022 06:37, Hector Martin wrote:
>> On 21/09/2022 09.16, 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
>>>
>>> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx>
>>> ---
>>> Changes since v1:
>>> - rebased the patch against -next
>>>
>>> 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(+)
>>>
>> [...]
>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>> index f98641bb1528..2e7fc66adf31 100644
>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
>>> @@ -81,6 +81,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),
>>
>> So this works with the same firmware as 4359? That sounds a bit off. Is
>> that really the case?
>>
>> brcmfmac4359-pcie isn't in linux-firmware, but presumably there is
>> *some* semi-canonical firmware you can find for that chip that other
>> people are already using. If that works on 43596 *and* you plan on using
>> that firmware or some other firmware marked 4359, then this is fine. If
>> you are using separate firmware that shipped with a 43596 device and
>> isn't itself marked 4359, please make it a separate firmware entry. We
>> can always symlink the firmwares if it later turns out there is no
>> reason to have different ones for each chip.
> The firmware that SONY originally gave us for the devices that we know use
> this chip seems to be marked 4359 [1]. That said, I have no other info
> about the relation between the two models.
>
> [1] https://github.com/sonyxperiadev/device-sony-kagura/tree/q-mr1/rootdir/vendor/firmware
That link seems to have the nvram file and Bluetooth firmware, but not
WLAN firmware. I think if you run `strings` on the WLAN firmware you'll
get a build ID with the chip name in it, that might be a good indication
of what the firmware name should be.
I would suggest trying to find some other 4359 firmware and testing your
device with it. If it works, then it's definitely fine to use the same
firmware name. If it doesn't, then you might need different firmware
names, or it might just be a case for board-specific firmwares.
- Hector