drivers/net/wireless/broadcom/b43/main.c | 22 ++- drivers/net/wireless/broadcom/b43/radio_2057.c | 230 ++++++++++++++++++++++-- drivers/net/wireless/broadcom/b43/tables_nphy.c | 58 ++++++ 3 files changed, 290 insertions(+), 20 deletions(-)
This series completes b43 support for the Broadcom N-PHY revision 8
paired with radio 2057 revision 8. b43 already supports the surrounding
PHY family - N-PHY rev 8 with radio 2057 rev 5 and rev 7 are handled,
and rev 16 with radio 2057 rev 9 is handled - but the rev 8 + rev 8
combination falls through four dispatcher gaps:
- radio_2057.c, r2057_upload_inittabs(), case 8 lists radio_rev 5
and 7 only;
- radio_2057.c, r2057_get_chantabent_rev7(), case 8 lists radio_rev
5 only;
- tables_nphy.c, b43_nphy_get_ipa_gain_table(), case 8 lists
radio_rev 5 only;
- radio_2057.c carries r2057_rev8_init[] as a 54-entry stub commented
out with "TODO: Which devices should use it?".
Two further pieces of plumbing are needed to reach those dispatchers
in the first place: d11 core revision 0x16 is missing from the b43
bcma id table, firmware name, and the corerev 22 / radio 2057 combination
needs the 24-bit indirect radio access path that brcmsmac uses for
the same silicon generation (see brcmsmac/phy/phy_cmn.c
read_radio_reg() / write_radio_reg()).
The series:
1/7 b43: add firmware and initvals names for rev22
2/7 b43: add d11 core revision 0x16 to id table
3/7 b43: route d11 corerev 22 to 24-bit indirect radio access
4/7 b43: support radio 2057 rev 8
5/7 b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8
6/7 b43: add channel info table for N-PHY r8 + radio 2057 r8
7/7 b43: add RF power offset for N-PHY r8 + radio 2057 r8
Patches almost reveal the bringup, the first two are swapped, as
applying 2/7 without 1/7 generate an immediate kernel panic caused
by a null deref.
From the third, each one fixes the next visible failure
in bring-up: 3/7 lets phy versioning read coherent radio identifiers,
4/7 unblocks the boot-time radio calibration that otherwise stalls,
and 5/7-7/7 fill the remaining 2.4 GHz dispatcher entries so
b43_nphy_set_channel completes to the default channel and core_init
proceeds past PHY init.
Tested on a D-Link DSL-3580L (Broadcom BCM6362 SoC, single-die 2.4 GHz
N-PHY rev 8 + radio 2057 rev 8 in 2.4 GHz IPA mode).
b43 is currently Orphan in MAINTAINERS. These patches do not add a
new chip family or PHY infrastructure; they fill four explicit
dispatcher gaps for a combination of an already-supported PHY and
an already-supported radio.
CHANGELOG:
v4: reword patch 1/7 commit
v3: no changes, fighting with b4
v2:
- Recovered the first patch of the series, so numbering is now /7
- Added Assisted-By header
v1: https://lore.kernel.org/linux-wireless/8c0a07d2-9ec9-43d6-bdf7-f625bbb4a38a@mythread.it/
Assisted-by: Claude:claude-4.7-opus
Signed-off-by: Alessio Ferri <alessio.ferri@mythread.it>
---
---
Alessio Ferri (7):
b43: add firmware mappings for rev22
b43: add d11 core revision 0x16 to id table
b43: route d11 corerev 22 to 24-bit indirect radio access
b43: support radio 2057 rev 8
b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8
b43: add channel info table for N-PHY r8 + radio 2057 r8
b43: add RF power offset for N-PHY r8 + radio 2057 r8
drivers/net/wireless/broadcom/b43/main.c | 22 ++-
drivers/net/wireless/broadcom/b43/radio_2057.c | 230 ++++++++++++++++++++++--
drivers/net/wireless/broadcom/b43/tables_nphy.c | 58 ++++++
3 files changed, 290 insertions(+), 20 deletions(-)
---
base-commit: 8bc67e4db64aa72732c474b44ea8622062c903f0
change-id: 20260521-b43_complete_n_phy_rev_8_radio_2057_rev_8_support-a3125f06e21e
Best regards,
--
Alessio Ferri <alessio.ferri.3012@gmail.com>
On Thu May 28, 2026 at 1:31 PM EDT, Alessio Ferri wrote: > This series completes b43 support for the Broadcom N-PHY revision 8 > paired with radio 2057 revision 8. b43 already supports the surrounding > PHY family - N-PHY rev 8 with radio 2057 rev 5 and rev 7 are handled, > and rev 16 with radio 2057 rev 9 is handled - but the rev 8 + rev 8 > combination falls through four dispatcher gaps: > > - radio_2057.c, r2057_upload_inittabs(), case 8 lists radio_rev 5 > and 7 only; > - radio_2057.c, r2057_get_chantabent_rev7(), case 8 lists radio_rev > 5 only; > - tables_nphy.c, b43_nphy_get_ipa_gain_table(), case 8 lists > radio_rev 5 only; > - radio_2057.c carries r2057_rev8_init[] as a 54-entry stub commented > out with "TODO: Which devices should use it?". > > Two further pieces of plumbing are needed to reach those dispatchers > in the first place: d11 core revision 0x16 is missing from the b43 > bcma id table, firmware name, and the corerev 22 / radio 2057 combination > needs the 24-bit indirect radio access path that brcmsmac uses for > the same silicon generation (see brcmsmac/phy/phy_cmn.c > read_radio_reg() / write_radio_reg()). > > The series: > > 1/7 b43: add firmware and initvals names for rev22 > 2/7 b43: add d11 core revision 0x16 to id table > 3/7 b43: route d11 corerev 22 to 24-bit indirect radio access > 4/7 b43: support radio 2057 rev 8 > 5/7 b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 > 6/7 b43: add channel info table for N-PHY r8 + radio 2057 r8 > 7/7 b43: add RF power offset for N-PHY r8 + radio 2057 r8 > > Patches almost reveal the bringup, the first two are swapped, as > applying 2/7 without 1/7 generate an immediate kernel panic caused > by a null deref. > From the third, each one fixes the next visible failure > in bring-up: 3/7 lets phy versioning read coherent radio identifiers, > 4/7 unblocks the boot-time radio calibration that otherwise stalls, > and 5/7-7/7 fill the remaining 2.4 GHz dispatcher entries so > b43_nphy_set_channel completes to the default channel and core_init > proceeds past PHY init. > > Tested on a D-Link DSL-3580L (Broadcom BCM6362 SoC, single-die 2.4 GHz > N-PHY rev 8 + radio 2057 rev 8 in 2.4 GHz IPA mode). > > b43 is currently Orphan in MAINTAINERS. These patches do not add a > new chip family or PHY infrastructure; they fill four explicit > dispatcher gaps for a combination of an already-supported PHY and > an already-supported radio. > > CHANGELOG: > v4: reword patch 1/7 commit > v3: no changes, fighting with b4 > v2: > - Recovered the first patch of the series, so numbering is now /7 > - Added Assisted-By header > v1: https://lore.kernel.org/linux-wireless/8c0a07d2-9ec9-43d6-bdf7-f625bbb4a38a@mythread.it/ > > Assisted-by: Claude:claude-4.7-opus > Signed-off-by: Alessio Ferri <alessio.ferri@mythread.it> > --- > --- > Alessio Ferri (7): > b43: add firmware mappings for rev22 > b43: add d11 core revision 0x16 to id table > b43: route d11 corerev 22 to 24-bit indirect radio access > b43: support radio 2057 rev 8 > b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 > b43: add channel info table for N-PHY r8 + radio 2057 r8 > b43: add RF power offset for N-PHY r8 + radio 2057 r8 > > drivers/net/wireless/broadcom/b43/main.c | 22 ++- > drivers/net/wireless/broadcom/b43/radio_2057.c | 230 ++++++++++++++++++++++-- > drivers/net/wireless/broadcom/b43/tables_nphy.c | 58 ++++++ > 3 files changed, 290 insertions(+), 20 deletions(-) > --- > base-commit: 8bc67e4db64aa72732c474b44ea8622062c903f0 > change-id: 20260521-b43_complete_n_phy_rev_8_radio_2057_rev_8_support-a3125f06e21e > > Best regards, I'm assuming the extracted tables are correct (it would take me a while to check) - and as mentioned this only is an addition, not a change, so Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com>
© 2016 - 2026 Red Hat, Inc.