[PATCH v4 0/7] b43: complete N-PHY rev 8 + radio 2057 rev 8 support

Joshua Peisach jpeisach at ubuntu.com
Fri May 29 05:01:24 PDT 2026


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 at 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 at ubuntu.com>



More information about the b43-dev mailing list