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

From: Hector Martin
Date: Sun Feb 12 2023 - 01:39:04 EST


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.

v4: Removed a total of 12 characters from the commit descriptions,
because the nitpicking must go on even though this practice is
widespread with more than 17000 examples in the kernel's Git
history, and over 500 in networking alone. Earned a gratuitous
insult to my intelligence in the process of discussing this.

Apple already have new chips shipping on new machines now, beyond
the ones I submitted a year ago as part of a larger series that
this series is only part of, as Kalle refused to merge it back then
for having too many patches. Plus there's more patches queued
downstream for suspend support now. I wonder if we'll ever catch up
with upstreaming brcmfmac changes at this rate? I'm starting to lose
hope.

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