[PATCH v3 0/4] BCM4355/4364/4377 support & identification fixes

Hector Martin
2023-02-10T02:50:44Z

Hi all,

This series adds support for the BCM4355, BCM4364, and BCM4377 variants
found on Intel Apple Macs of the T2 era (and a few pre-T2 ones).

The first patch fixes a bunch of confusion introduced when adding
support for the Cypress 89459 chip, which is, as far as I can tell,
just a BCM4355. This also drops the RAW device ID (just for this one
chip), as there's no reason to add it unless we find actual hardware
in the wild that uses it, and besides the raw device ID is already
there twice (with a subvendor match), which was added by 2fef681a4cf7
("brcmfmac: add CYW89342 mini-PCIe device").

The subsequent patches add the firmware names and remaining missing
device IDs, including splitting the BCM4364 firmware name by revision
(since it was previously added without giving thought to the existence
of more than one revision in the wild with different firmwares,
resulting in different users manually copying different incompatible
firmwares as the same firmware name).

None of these devices have firmware in linux-firmware, so we should
still be able to tweak firmware filenames without breaking anyone that
matters. Apple T2 users these days are mostly using downstream trees
with the Asahi Linux WLAN patches merged anyway, so they already know
about this.

Note that these devices aren't fully usable as far as firmware
selection on these platforms without some extra patches to add support
for fetching the required info from ACPI, but I want to get the device
ID stuff out of the way first to move forward.

v2: Added a commit in front to drop all the RAW device IDs as discussed,
and also fixed the 4364 firmware interface from BCA to WCC, as
pointed out in the v1 thread.

v3: Dropped the raw cleanup commit because apparently some platforms
rely on those. Still removing the redundant raw ID for CYW89459,
though. It seems highly unlikely that will break anything, as it'd
have to be a device with no proper ID programmed *and* a custom
subvendor programmed.

Hector Martin (4):
wifi: brcmfmac: Rename Cypress 89459 to BCM4355
brcmfmac: pcie: Add IDs/properties for BCM4355
brcmfmac: pcie: Add IDs/properties for BCM4377
brcmfmac: pcie: Perform correct BCM4364 firmware selection

.../broadcom/brcm80211/brcmfmac/chip.c | 6 ++--
.../broadcom/brcm80211/brcmfmac/pcie.c | 33 +++++++++++++++----
.../broadcom/brcm80211/include/brcm_hw_ids.h | 8 +++--
3 files changed, 34 insertions(+), 13 deletions(-)

--
2.35.1