* [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support
@ 2026-05-18 1:49 Alessio Ferri
2026-05-18 1:50 ` [PATCH 1/6] b43: add d11 core revision 0x16 to id table Alessio Ferri
` (6 more replies)
0 siblings, 7 replies; 15+ messages in thread
From: Alessio Ferri @ 2026-05-18 1:49 UTC (permalink / raw)
To: linux-wireless; +Cc: b43-dev, kvalo, linux-kernel
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, 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/6 b43: add d11 core revision 0x16 to id table
2/6 b43: route d11 corerev 22 to 24-bit indirect radio access
3/6 b43: support radio 2057 rev 8
4/6 b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8
5/6 b43: add channel info table for N-PHY r8 + radio 2057 r8
6/6 b43: add RF power offset for N-PHY r8 + radio 2057 r8
Patches are ordered so that each one fixes the next visible failure
in bring-up: 1/6 makes b43 bind to the core, 2/6 lets phy versioning
read coherent radio identifiers, 3/6 unblocks the boot-time radio
calibration that otherwise stalls the PSM at microcode startup, and
4/6-6/6 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). The chip is in
service worldwide in xDSL CPE devices.
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.
Alessio Ferri (6):
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 | 10 +-
.../net/wireless/broadcom/b43/radio_2057.c | 230 ++++++++++++++++--
.../net/wireless/broadcom/b43/tables_nphy.c | 58 +++++
3 files changed, 280 insertions(+), 18 deletions(-)
--
2.43.0
_______________________________________________
b43-dev mailing list
b43-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/b43-dev
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH 1/6] b43: add d11 core revision 0x16 to id table 2026-05-18 1:49 [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Alessio Ferri @ 2026-05-18 1:50 ` Alessio Ferri 2026-05-18 1:51 ` [PATCH 2/6] b43: route d11 corerev 22 to 24-bit indirect radio access Alessio Ferri ` (5 subsequent siblings) 6 siblings, 0 replies; 15+ messages in thread From: Alessio Ferri @ 2026-05-18 1:50 UTC (permalink / raw) To: linux-wireless; +Cc: b43-dev, kvalo, linux-kernel Add d11 core revision 0x16 (= 22) to the b43 bcma device id table. The b43 bcma id table covers d11 revisions 0x11, 0x15, 0x17, 0x18, 0x1C, 0x1D, 0x1E, 0x28 and 0x2A. Revision 0x16 belongs to the same N-PHY family as revisions 0x17 and 0x18 (radio 2057) and needs no new PHY or radio code beyond the radio_rev 8 dispatcher entries added later in this series - only the device id entry is missing. Without it bcma scan enumerates the 802.11 core but no driver binds. The revision is used by the Broadcom BCM6362 single-die integrated 2.4 GHz wireless block found in xDSL SoCs. Signed-off-by: Alessio Ferri <alessio.ferri@mythread.it> --- drivers/net/wireless/broadcom/b43/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c index b0e6aeb0b..673a56c30 100644 --- a/drivers/net/wireless/broadcom/b43/main.c +++ b/drivers/net/wireless/broadcom/b43/main.c @@ -117,6 +117,7 @@ MODULE_PARM_DESC(allhwsupport, "Enable support for all hardware (even it if over static const struct bcma_device_id b43_bcma_tbl[] = { BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 0x11, BCMA_ANY_CLASS), BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 0x15, BCMA_ANY_CLASS), + BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 0x16, BCMA_ANY_CLASS), BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 0x17, BCMA_ANY_CLASS), BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 0x18, BCMA_ANY_CLASS), BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 0x1C, BCMA_ANY_CLASS), -- 2.43.0 Il 18/05/2026 03:49, Alessio Ferri ha scritto: > 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, 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/6 b43: add d11 core revision 0x16 to id table > 2/6 b43: route d11 corerev 22 to 24-bit indirect radio access > 3/6 b43: support radio 2057 rev 8 > 4/6 b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 > 5/6 b43: add channel info table for N-PHY r8 + radio 2057 r8 > 6/6 b43: add RF power offset for N-PHY r8 + radio 2057 r8 > > Patches are ordered so that each one fixes the next visible failure > in bring-up: 1/6 makes b43 bind to the core, 2/6 lets phy versioning > read coherent radio identifiers, 3/6 unblocks the boot-time radio > calibration that otherwise stalls the PSM at microcode startup, and > 4/6-6/6 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). The chip is in > service worldwide in xDSL CPE devices. > > 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. > > Alessio Ferri (6): > 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 | 10 +- > .../net/wireless/broadcom/b43/radio_2057.c | 230 ++++++++++++++++-- > .../net/wireless/broadcom/b43/tables_nphy.c | 58 +++++ > 3 files changed, 280 insertions(+), 18 deletions(-) > _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/6] b43: route d11 corerev 22 to 24-bit indirect radio access 2026-05-18 1:49 [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Alessio Ferri 2026-05-18 1:50 ` [PATCH 1/6] b43: add d11 core revision 0x16 to id table Alessio Ferri @ 2026-05-18 1:51 ` Alessio Ferri 2026-05-18 1:51 ` [PATCH 3/6] b43: support radio 2057 rev 8 Alessio Ferri ` (4 subsequent siblings) 6 siblings, 0 replies; 15+ messages in thread From: Alessio Ferri @ 2026-05-18 1:51 UTC (permalink / raw) To: linux-wireless; +Cc: b43-dev, kvalo, linux-kernel D11 core revision 22 is an outlier in the corerev-to-radio-access mapping. b43_phy_versioning() reads radio identifiers via two different paths: - core_rev >= 24: 24-bit indirect access (B43_MMIO_RADIO24_CONTROL + B43_MMIO_RADIO24_DATA); - otherwise: legacy 4-wire access (B43_MMIO_RADIO_CONTROL + B43_MMIO_RADIO_DATA_LOW/HIGH). Corerev 22 backports the older 802.11 core but pairs it with a radio in the 2057 family, which requires the 24-bit indirect path. With the current dispatch, corerev 22 falls into the legacy 4-wire branch, reads garbage for radio_id, and bails out with -EOPNOTSUPP at the "FOUND UNSUPPORTED RADIO" branch below. brcmsmac handles the same silicon family with the equivalent dispatch in drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/ phy_cmn.c read_radio_reg() and write_radio_reg(): if ((D11REV_GE(pi->sh->corerev, 24)) || (D11REV_IS(pi->sh->corerev, 22) && (pi->pubpi.phy_type != PHY_TYPE_SSN))) { /* radioregaddr / radioregdata (indirect) */ } else { /* phy4waddr / phy4wdatalo (legacy) */ } The "phy_type != PHY_TYPE_SSN" carve-out in brcmsmac is for the SSN PHY variant of corerev 22, which uses the legacy path. b43 does not support SSN/SSLPN PHYs - they are rejected earlier in b43_phy_versioning() at the "unsupported PHY type" switch - so by the time control reaches the radio versioning dispatch there is no SSN device to mis-route. A positive (core_rev == 22) clause is therefore sufficient and equivalent. Encountered on the Broadcom BCM6362 single-die integrated 2.4 GHz wireless block (radio 2057 rev 8, paired with d11 corerev 22 on this silicon). Signed-off-by: Alessio Ferri <alessio.ferri@mythread.it> --- drivers/net/wireless/broadcom/b43/main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c index 673a56c30..7f96df5eb 100644 --- a/drivers/net/wireless/broadcom/b43/main.c +++ b/drivers/net/wireless/broadcom/b43/main.c @@ -4555,7 +4555,11 @@ static int b43_phy_versioning(struct b43_wldev *dev) radio_id = b43_read16(dev, B43_MMIO_RADIO24_DATA); radio_ver = 0; /* Is there version somewhere? */ - } else if (core_rev >= 24) { + } else if (core_rev >= 24 || core_rev == 22) { + /* + * D11 corerev 22 pairs an older 802.11 core with a 2057 + * radio that requires the 24-bit indirect access path. + */ u16 radio24[3]; for (tmp = 0; tmp < 3; tmp++) { -- 2.43.0 Il 18/05/2026 03:49, Alessio Ferri ha scritto: > 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, 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/6 b43: add d11 core revision 0x16 to id table > 2/6 b43: route d11 corerev 22 to 24-bit indirect radio access > 3/6 b43: support radio 2057 rev 8 > 4/6 b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 > 5/6 b43: add channel info table for N-PHY r8 + radio 2057 r8 > 6/6 b43: add RF power offset for N-PHY r8 + radio 2057 r8 > > Patches are ordered so that each one fixes the next visible failure > in bring-up: 1/6 makes b43 bind to the core, 2/6 lets phy versioning > read coherent radio identifiers, 3/6 unblocks the boot-time radio > calibration that otherwise stalls the PSM at microcode startup, and > 4/6-6/6 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). The chip is in > service worldwide in xDSL CPE devices. > > 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. > > Alessio Ferri (6): > 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 | 10 +- > .../net/wireless/broadcom/b43/radio_2057.c | 230 ++++++++++++++++-- > .../net/wireless/broadcom/b43/tables_nphy.c | 58 +++++ > 3 files changed, 280 insertions(+), 18 deletions(-) > _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/6] b43: support radio 2057 rev 8 2026-05-18 1:49 [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Alessio Ferri 2026-05-18 1:50 ` [PATCH 1/6] b43: add d11 core revision 0x16 to id table Alessio Ferri 2026-05-18 1:51 ` [PATCH 2/6] b43: route d11 corerev 22 to 24-bit indirect radio access Alessio Ferri @ 2026-05-18 1:51 ` Alessio Ferri 2026-05-18 1:53 ` [PATCH 4/6] b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 Alessio Ferri ` (3 subsequent siblings) 6 siblings, 0 replies; 15+ messages in thread From: Alessio Ferri @ 2026-05-18 1:51 UTC (permalink / raw) To: linux-wireless; +Cc: b43-dev, kvalo, linux-kernel Add support for radio 2057 revision 8, paired with N-PHY rev 8 on the Broadcom BCM6362 single-die integrated 2.4 GHz wireless block. Three correlated changes are needed for the same chip: - main.c: the radio_rev allow-list under B43_PHYTYPE_N currently accepts radio 2057 revisions 9 and 14 only; extend to include rev 8. - radio_2057.c: the existing r2057_rev8_init[] is a 54-entry stub declared inside a /* TODO: Which devices should use it? */ comment block and never referenced from r2057_upload_inittabs(). Replace it with the full 412-entry register set actually programmed by the proprietary Broadcom wl driver on this radio. The origin of the original 54-entry stub cannot be traced - 8 of its entries do not appear at all in the rev 8 register set and 7 more carry different values, so the stub is in any case not the rev 8 table. Loading it instead of the real table leaves the radio partially initialised and stalls the PSM at boot-time radio calibration, producing a "Microcode not responding" timeout one second into b43_upload_microcode(). - radio_2057.c: r2057_upload_inittabs() case 8 handles radio_rev 5 and 7 only; add the radio_rev == 8 branch pointing at the new table. The init table is extracted from an MMIO dump of the radio register set programmed during proprietary driver initialisation on BCM6362 silicon (Broadcom wl driver 6.30.102.7). Layout convention matches the existing r2057_rev5_init[] / r2057_rev7_init[] / r2057_rev9_init[] arrays in this file: { u16 reg, u16 val } per entry. Signed-off-by: Alessio Ferri <alessio.ferri@mythread.it> --- drivers/net/wireless/broadcom/b43/main.c | 3 +- .../net/wireless/broadcom/b43/radio_2057.c | 124 +++++++++++++++--- 2 files changed, 110 insertions(+), 17 deletions(-) diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c index 7f96df5eb..0e4102f3c 100644 --- a/drivers/net/wireless/broadcom/b43/main.c +++ b/drivers/net/wireless/broadcom/b43/main.c @@ -4609,7 +4609,8 @@ static int b43_phy_versioning(struct b43_wldev *dev) radio_id != 0x2057) unsupported = 1; if (radio_id == 0x2057 && - !(radio_rev == 9 || radio_rev == 14)) + !(radio_rev == 8 || radio_rev == 9 || + radio_rev == 14)) unsupported = 1; break; case B43_PHYTYPE_LP: diff --git a/drivers/net/wireless/broadcom/b43/radio_2057.c b/drivers/net/wireless/broadcom/b43/radio_2057.c index bd7dafb56..9f693d92b 100644 --- a/drivers/net/wireless/broadcom/b43/radio_2057.c +++ b/drivers/net/wireless/broadcom/b43/radio_2057.c @@ -73,24 +73,112 @@ static u16 r2057_rev7_init[][2] = { { 0x1B7, 0x05 }, { 0x1C2, 0xa0 }, }; -/* TODO: Which devices should use it? +/* Extracted from MMIO dump of 6.30.102.7 */ static u16 r2057_rev8_init[][2] = { - { 0x00, 0x08 }, { 0x01, 0x57 }, { 0x02, 0x20 }, { 0x31, 0x00 }, - { 0x32, 0x00 }, { 0x33, 0x00 }, { 0x51, 0x70 }, { 0x59, 0x88 }, - { 0x5C, 0x20 }, { 0x62, 0x33 }, { 0x63, 0x0f }, { 0x64, 0x0f }, - { 0x6E, 0x58 }, { 0x75, 0x13 }, { 0x7B, 0x13 }, { 0x7C, 0x0f }, - { 0x7D, 0xee }, { 0x81, 0x01 }, { 0x91, 0x3f }, { 0x92, 0x36 }, - { 0xA1, 0x20 }, { 0xC9, 0x01 }, { 0xD6, 0x70 }, { 0xDE, 0x88 }, - { 0xE1, 0x20 }, { 0xE8, 0x0f }, { 0xE9, 0x0f }, { 0xF3, 0x58 }, - { 0xFA, 0x13 }, { 0x100, 0x13 }, { 0x101, 0x0f }, { 0x102, 0xee }, - { 0x106, 0x01 }, { 0x116, 0x3f }, { 0x117, 0x36 }, { 0x126, 0x20 }, - { 0x14E, 0x01 }, { 0x15E, 0x00 }, { 0x15F, 0x00 }, { 0x160, 0x00 }, - { 0x161, 0x00 }, { 0x162, 0x00 }, { 0x163, 0x00 }, { 0x16A, 0x00 }, - { 0x16B, 0x00 }, { 0x16C, 0x00 }, { 0x1A4, 0x00 }, { 0x1A5, 0x00 }, - { 0x1A6, 0x00 }, { 0x1AA, 0x00 }, { 0x1AB, 0x00 }, { 0x1AC, 0x00 }, - { 0x1B7, 0x05 }, { 0x1C2, 0xa0 }, + { 0x0000, 0x0008 }, { 0x0001, 0x0057 }, { 0x0002, 0x0020 }, { 0x0003, 0x001f }, + { 0x0004, 0x0004 }, { 0x0005, 0x0002 }, { 0x0006, 0x0001 }, { 0x0007, 0x0001 }, + { 0x0008, 0x0001 }, { 0x0009, 0x0069 }, { 0x000a, 0x0066 }, { 0x000b, 0x0006 }, + { 0x000c, 0x0018 }, { 0x000d, 0x0003 }, { 0x000e, 0x0020 }, { 0x000f, 0x0020 }, + { 0x0010, 0x0000 }, { 0x0011, 0x007c }, { 0x0012, 0x0042 }, { 0x0013, 0x00bd }, + { 0x0014, 0x0007 }, { 0x0015, 0x0087 }, { 0x0016, 0x0008 }, { 0x0017, 0x0017 }, + { 0x0018, 0x0007 }, { 0x0019, 0x0000 }, { 0x001a, 0x0002 }, { 0x001b, 0x0013 }, + { 0x001c, 0x003e }, { 0x001d, 0x003e }, { 0x001e, 0x0096 }, { 0x001f, 0x0004 }, + { 0x0020, 0x0000 }, { 0x0021, 0x0000 }, { 0x0022, 0x0017 }, { 0x0023, 0x0006 }, + { 0x0024, 0x0001 }, { 0x0025, 0x0006 }, { 0x0026, 0x0004 }, { 0x0027, 0x000d }, + { 0x0028, 0x000d }, { 0x0029, 0x0030 }, { 0x002a, 0x0032 }, { 0x002b, 0x0008 }, + { 0x002c, 0x001c }, { 0x002d, 0x0002 }, { 0x002e, 0x0004 }, { 0x002f, 0x007f }, + { 0x0030, 0x0027 }, { 0x0031, 0x0000 }, { 0x0032, 0x0000 }, { 0x0033, 0x0000 }, + { 0x0034, 0x0000 }, { 0x0035, 0x0020 }, { 0x0036, 0x0018 }, { 0x0037, 0x0007 }, + { 0x0038, 0x0066 }, { 0x0039, 0x0066 }, { 0x003a, 0x0066 }, { 0x003b, 0x0066 }, + { 0x003c, 0x00ff }, { 0x003d, 0x00ff }, { 0x003e, 0x00ff }, { 0x003f, 0x00ff }, + { 0x0040, 0x0016 }, { 0x0041, 0x0007 }, { 0x0042, 0x0029 }, { 0x0043, 0x0007 }, + { 0x0044, 0x0006 }, { 0x0045, 0x0003 }, { 0x0046, 0x0001 }, { 0x0047, 0x0007 }, + { 0x0048, 0x0088 }, { 0x0049, 0x0005 }, { 0x004a, 0x0077 }, { 0x004b, 0x0066 }, + { 0x004c, 0x0066 }, { 0x004d, 0x0000 }, { 0x004e, 0x0004 }, { 0x004f, 0x000c }, + { 0x0050, 0x0000 }, { 0x0051, 0x0070 }, { 0x0056, 0x0007 }, { 0x0057, 0x0000 }, + { 0x0058, 0x0000 }, { 0x0059, 0x0088 }, { 0x005a, 0x0000 }, { 0x005b, 0x001f }, + { 0x005c, 0x0020 }, { 0x005d, 0x0001 }, { 0x005e, 0x0030 }, { 0x005f, 0x0070 }, + { 0x0060, 0x0000 }, { 0x0061, 0x0000 }, { 0x0062, 0x0033 }, { 0x0063, 0x000f }, + { 0x0064, 0x0013 }, { 0x0065, 0x0000 }, { 0x0066, 0x00ee }, { 0x0069, 0x0000 }, + { 0x006a, 0x007e }, { 0x006b, 0x003f }, { 0x006c, 0x007f }, { 0x006d, 0x0078 }, + { 0x006e, 0x0058 }, { 0x006f, 0x0088 }, { 0x0070, 0x0008 }, { 0x0071, 0x000f }, + { 0x0072, 0x00bc }, { 0x0073, 0x0008 }, { 0x0074, 0x0060 }, { 0x0075, 0x001a }, + { 0x0076, 0x0070 }, { 0x0077, 0x0000 }, { 0x0078, 0x0000 }, { 0x0079, 0x0000 }, + { 0x007a, 0x0033 }, { 0x007b, 0x001a }, { 0x007c, 0x0014 }, { 0x007d, 0x00ee }, + { 0x0080, 0x003c }, { 0x0081, 0x0001 }, { 0x0082, 0x000a }, { 0x0083, 0x009d }, + { 0x0084, 0x000a }, { 0x0085, 0x0000 }, { 0x0086, 0x0040 }, { 0x0087, 0x0040 }, + { 0x0088, 0x0088 }, { 0x0089, 0x0010 }, { 0x008a, 0x00f0 }, { 0x008b, 0x0010 }, + { 0x008c, 0x00f0 }, { 0x008d, 0x0000 }, { 0x008e, 0x0000 }, { 0x008f, 0x0010 }, + { 0x0090, 0x0055 }, { 0x0091, 0x003f }, { 0x0092, 0x0036 }, { 0x0093, 0x0000 }, + { 0x0094, 0x0000 }, { 0x0095, 0x0000 }, { 0x0096, 0x0087 }, { 0x0097, 0x0011 }, + { 0x0098, 0x0000 }, { 0x0099, 0x0033 }, { 0x009a, 0x0088 }, { 0x009b, 0x0000 }, + { 0x009c, 0x0087 }, { 0x009d, 0x0011 }, { 0x009e, 0x0000 }, { 0x009f, 0x0033 }, + { 0x00a0, 0x0088 }, { 0x00a1, 0x0020 }, { 0x00a2, 0x003f }, { 0x00a3, 0x0044 }, + { 0x00a4, 0x008c }, { 0x00a5, 0x006c }, { 0x00a6, 0x0022 }, { 0x00a7, 0x00be }, + { 0x00a8, 0x0055 }, { 0x00aa, 0x000c }, { 0x00ab, 0x00aa }, { 0x00ac, 0x0002 }, + { 0x00ad, 0x0000 }, { 0x00ae, 0x0010 }, { 0x00af, 0x0001 }, { 0x00b0, 0x0000 }, + { 0x00b1, 0x0000 }, { 0x00b2, 0x0080 }, { 0x00b3, 0x0060 }, { 0x00b4, 0x0044 }, + { 0x00b5, 0x0055 }, { 0x00b6, 0x0001 }, { 0x00b7, 0x0055 }, { 0x00b8, 0x0001 }, + { 0x00b9, 0x0005 }, { 0x00ba, 0x0055 }, { 0x00bb, 0x0055 }, { 0x00c1, 0x0000 }, + { 0x00c2, 0x0000 }, { 0x00c3, 0x0000 }, { 0x00c4, 0x0000 }, { 0x00c5, 0x0000 }, + { 0x00c6, 0x0000 }, { 0x00c7, 0x0000 }, { 0x00c8, 0x0000 }, { 0x00c9, 0x0001 }, + { 0x00ca, 0x0000 }, { 0x00cb, 0x0000 }, { 0x00cc, 0x0000 }, { 0x00cd, 0x0000 }, + { 0x00ce, 0x005e }, { 0x00cf, 0x000c }, { 0x00d0, 0x000c }, { 0x00d1, 0x000c }, + { 0x00d2, 0x0000 }, { 0x00d3, 0x002b }, { 0x00d4, 0x000c }, { 0x00d5, 0x0000 }, + { 0x00d6, 0x0070 }, { 0x00db, 0x0007 }, { 0x00dc, 0x0000 }, { 0x00dd, 0x0000 }, + { 0x00de, 0x0088 }, { 0x00df, 0x0000 }, { 0x00e0, 0x001f }, { 0x00e1, 0x0020 }, + { 0x00e2, 0x0001 }, { 0x00e3, 0x0030 }, { 0x00e4, 0x0070 }, { 0x00e5, 0x0000 }, + { 0x00e6, 0x0000 }, { 0x00e7, 0x0033 }, { 0x00e8, 0x000f }, { 0x00e9, 0x0013 }, + { 0x00ea, 0x0000 }, { 0x00eb, 0x00ee }, { 0x00ee, 0x0000 }, { 0x00ef, 0x007e }, + { 0x00f0, 0x003f }, { 0x00f1, 0x007f }, { 0x00f2, 0x0078 }, { 0x00f3, 0x0058 }, + { 0x00f4, 0x0088 }, { 0x00f5, 0x0008 }, { 0x00f6, 0x000f }, { 0x00f7, 0x00bc }, + { 0x00f8, 0x0008 }, { 0x00f9, 0x0060 }, { 0x00fa, 0x001a }, { 0x00fb, 0x0070 }, + { 0x00fc, 0x0000 }, { 0x00fd, 0x0000 }, { 0x00fe, 0x0000 }, { 0x00ff, 0x0033 }, + { 0x0100, 0x001a }, { 0x0101, 0x0014 }, { 0x0102, 0x00ee }, { 0x0105, 0x003c }, + { 0x0106, 0x0001 }, { 0x0107, 0x000a }, { 0x0108, 0x009d }, { 0x0109, 0x000a }, + { 0x010a, 0x0000 }, { 0x010b, 0x0040 }, { 0x010c, 0x0040 }, { 0x010d, 0x0088 }, + { 0x010e, 0x0010 }, { 0x010f, 0x00f0 }, { 0x0110, 0x0010 }, { 0x0111, 0x00f0 }, + { 0x0112, 0x0000 }, { 0x0113, 0x0000 }, { 0x0114, 0x0010 }, { 0x0115, 0x0055 }, + { 0x0116, 0x003f }, { 0x0117, 0x0036 }, { 0x0118, 0x0000 }, { 0x0119, 0x0000 }, + { 0x011a, 0x0000 }, { 0x011b, 0x0087 }, { 0x011c, 0x0011 }, { 0x011d, 0x0000 }, + { 0x011e, 0x0033 }, { 0x011f, 0x0088 }, { 0x0120, 0x0000 }, { 0x0121, 0x0087 }, + { 0x0122, 0x0011 }, { 0x0123, 0x0000 }, { 0x0124, 0x0033 }, { 0x0125, 0x0088 }, + { 0x0126, 0x0020 }, { 0x0127, 0x003f }, { 0x0128, 0x0044 }, { 0x0129, 0x008c }, + { 0x012a, 0x006c }, { 0x012b, 0x0022 }, { 0x012c, 0x00be }, { 0x012d, 0x0055 }, + { 0x012f, 0x000c }, { 0x0130, 0x00aa }, { 0x0131, 0x0002 }, { 0x0132, 0x0000 }, + { 0x0133, 0x0010 }, { 0x0134, 0x0001 }, { 0x0135, 0x0000 }, { 0x0136, 0x0000 }, + { 0x0137, 0x0080 }, { 0x0138, 0x0060 }, { 0x0139, 0x0044 }, { 0x013a, 0x0055 }, + { 0x013b, 0x0001 }, { 0x013c, 0x0055 }, { 0x013d, 0x0001 }, { 0x013e, 0x0005 }, + { 0x013f, 0x0055 }, { 0x0140, 0x0055 }, { 0x0146, 0x0000 }, { 0x0147, 0x0000 }, + { 0x0148, 0x0000 }, { 0x0149, 0x0000 }, { 0x014a, 0x0000 }, { 0x014b, 0x0000 }, + { 0x014c, 0x0000 }, { 0x014d, 0x0000 }, { 0x014e, 0x0001 }, { 0x014f, 0x0000 }, + { 0x0150, 0x0000 }, { 0x0151, 0x0000 }, { 0x0154, 0x000c }, { 0x0155, 0x000c }, + { 0x0156, 0x000c }, { 0x0157, 0x0000 }, { 0x0158, 0x002b }, { 0x0159, 0x0084 }, + { 0x015a, 0x0015 }, { 0x015b, 0x000f }, { 0x015c, 0x0000 }, { 0x015d, 0x0000 }, + { 0x015e, 0x0000 }, { 0x015f, 0x0000 }, { 0x0160, 0x0000 }, { 0x0161, 0x0000 }, + { 0x0162, 0x0000 }, { 0x0163, 0x0000 }, { 0x0164, 0x0000 }, { 0x0165, 0x0000 }, + { 0x0166, 0x0000 }, { 0x0167, 0x0000 }, { 0x0168, 0x0000 }, { 0x0169, 0x0000 }, + { 0x016a, 0x0000 }, { 0x016b, 0x0000 }, { 0x016c, 0x0000 }, { 0x016d, 0x0000 }, + { 0x0170, 0x0000 }, { 0x0171, 0x0077 }, { 0x0172, 0x0077 }, { 0x0173, 0x0077 }, + { 0x0174, 0x0077 }, { 0x0175, 0x0000 }, { 0x0176, 0x0003 }, { 0x0177, 0x0037 }, + { 0x0178, 0x0003 }, { 0x0179, 0x0000 }, { 0x017a, 0x0021 }, { 0x017b, 0x0002 }, + { 0x017c, 0x0000 }, { 0x017d, 0x00aa }, { 0x017e, 0x0000 }, { 0x017f, 0x00aa }, + { 0x0180, 0x0000 }, { 0x0190, 0x0000 }, { 0x0191, 0x0077 }, { 0x0192, 0x0077 }, + { 0x0193, 0x0077 }, { 0x0194, 0x0077 }, { 0x0195, 0x0000 }, { 0x0196, 0x0003 }, + { 0x0197, 0x0037 }, { 0x0198, 0x0003 }, { 0x0199, 0x0000 }, { 0x019a, 0x0021 }, + { 0x019b, 0x0002 }, { 0x019c, 0x0000 }, { 0x019d, 0x00aa }, { 0x019e, 0x0000 }, + { 0x019f, 0x00aa }, { 0x01a0, 0x0000 }, { 0x01a1, 0x0002 }, { 0x01a2, 0x000f }, + { 0x01a3, 0x000f }, { 0x01a4, 0x0000 }, { 0x01a5, 0x0000 }, { 0x01a6, 0x0000 }, + { 0x01a7, 0x0002 }, { 0x01a8, 0x000f }, { 0x01a9, 0x000f }, { 0x01aa, 0x0000 }, + { 0x01ab, 0x0000 }, { 0x01ac, 0x0000 }, { 0x01ad, 0x0084 }, { 0x01ae, 0x0060 }, + { 0x01af, 0x0047 }, { 0x01b0, 0x0047 }, { 0x01b1, 0x0000 }, { 0x01b2, 0x0000 }, + { 0x01b3, 0x0000 }, { 0x01b4, 0x0000 }, { 0x01b5, 0x0000 }, { 0x01b6, 0x0000 }, + { 0x01b7, 0x0005 }, { 0x01b8, 0x0000 }, { 0x01b9, 0x0000 }, { 0x01ba, 0x0000 }, + { 0x01bb, 0x0000 }, { 0x01bc, 0x0000 }, { 0x01bd, 0x0000 }, { 0x01be, 0x0000 }, + { 0x01bf, 0x0000 }, { 0x01c0, 0x0000 }, { 0x01c1, 0x0000 }, { 0x01c2, 0x00a0 }, + { 0x01c3, 0x0000 }, { 0x01c4, 0x0000 }, { 0x01c5, 0x0000 }, { 0x01c6, 0x0000 }, + { 0x01c7, 0x0000 }, { 0x01c8, 0x0000 }, { 0x01c9, 0x0000 }, { 0x01ca, 0x0000 }, }; -*/ /* Extracted from MMIO dump of 6.30.223.141 */ static u16 r2057_rev9_init[][2] = { @@ -539,6 +627,10 @@ void r2057_upload_inittabs(struct b43_wldev *dev) } else if (phy->radio_rev == 7) { table = r2057_rev7_init[0]; size = ARRAY_SIZE(r2057_rev7_init); + } else if (phy->radio_rev == 8) { + /* BCM6362 single-die 2.4 GHz. */ + table = r2057_rev8_init[0]; + size = ARRAY_SIZE(r2057_rev8_init); } break; case 9: -- 2.43.0 Il 18/05/2026 03:49, Alessio Ferri ha scritto: > 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, 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/6 b43: add d11 core revision 0x16 to id table > 2/6 b43: route d11 corerev 22 to 24-bit indirect radio access > 3/6 b43: support radio 2057 rev 8 > 4/6 b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 > 5/6 b43: add channel info table for N-PHY r8 + radio 2057 r8 > 6/6 b43: add RF power offset for N-PHY r8 + radio 2057 r8 > > Patches are ordered so that each one fixes the next visible failure > in bring-up: 1/6 makes b43 bind to the core, 2/6 lets phy versioning > read coherent radio identifiers, 3/6 unblocks the boot-time radio > calibration that otherwise stalls the PSM at microcode startup, and > 4/6-6/6 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). The chip is in > service worldwide in xDSL CPE devices. > > 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. > > Alessio Ferri (6): > 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 | 10 +- > .../net/wireless/broadcom/b43/radio_2057.c | 230 ++++++++++++++++-- > .../net/wireless/broadcom/b43/tables_nphy.c | 58 +++++ > 3 files changed, 280 insertions(+), 18 deletions(-) > _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/6] b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 2026-05-18 1:49 [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Alessio Ferri ` (2 preceding siblings ...) 2026-05-18 1:51 ` [PATCH 3/6] b43: support radio 2057 rev 8 Alessio Ferri @ 2026-05-18 1:53 ` Alessio Ferri 2026-05-18 1:54 ` [PATCH 5/6] b43: add channel info " Alessio Ferri ` (2 subsequent siblings) 6 siblings, 0 replies; 15+ messages in thread From: Alessio Ferri @ 2026-05-18 1:53 UTC (permalink / raw) To: linux-wireless; +Cc: b43-dev, kvalo, linux-kernel Add the 2.4 GHz IPA TX gain table for N-PHY rev 8 paired with radio 2057 rev 8 and wire it to the existing dispatcher. b43_nphy_get_ipa_gain_table() in tables_nphy.c currently handles case 8 only for radio_rev == 5; radio_rev == 8 falls through and the function logs: b43-phyX ERROR: No 2GHz IPA gain table available for this device b43-phyX ERROR: PHY init: Channel switch to default failed leaving b43_phy_init() to return an error and core_init to abort before the MAC is enabled. The new b43_ntab_tx_gain_ipa_2057_rev8_2g[] is 128 u32 entries, matching the layout of the existing b43_ntab_tx_gain_ipa_2057_ rev5_2g and b43_ntab_tx_gain_ipa_2057_rev9_2g siblings in this file. Each entry packs five gain fields decoded by wlc_phy_get_tx_gain_nphy in the proprietary driver, the same encoding b43 uses for the other 2057 IPA tables. The high byte of every entry differs from the rev 5 sibling (0x40 vs 0x30): different PAD-gain code prefix for the rev 8 front-end. The low 24 bits coincide with rev 5 across the whole table - the gain step amplitudes are the same, only the PAD-gain selector prefix changes. Values extracted from an MMIO dump of the proprietary Broadcom wl driver running on BCM6362 silicon (wl driver 6.30.102.7). Encoding cross-validated by re-deriving the in-tree rev 5 table from the same source using the same extraction method - the result matches b43_ntab_tx_gain_ipa_2057_rev5_2g byte-for-byte. Signed-off-by: Alessio Ferri <alessio.ferri@mythread.it> --- .../net/wireless/broadcom/b43/tables_nphy.c | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/drivers/net/wireless/broadcom/b43/tables_nphy.c b/drivers/net/wireless/broadcom/b43/tables_nphy.c index 41a25d909..84e8d718d 100644 --- a/drivers/net/wireless/broadcom/b43/tables_nphy.c +++ b/drivers/net/wireless/broadcom/b43/tables_nphy.c @@ -2715,6 +2715,43 @@ static const u32 b43_ntab_tx_gain_ipa_2057_rev5_2g[] = { 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, }; +/* Extracted from MMIO dump of 6.30.102.7 */ +static const u32 b43_ntab_tx_gain_ipa_2057_rev8_2g[] = { + 0x40ff0031, 0x40e70031, 0x40e7002e, 0x40cf002e, + 0x40bf002e, 0x40af002e, 0x409f002f, 0x407f0033, + 0x407f0031, 0x407f002e, 0x4077002e, 0x406f002e, + 0x4067002e, 0x405f002f, 0x40570030, 0x4057002d, + 0x404f002e, 0x40470031, 0x4047002e, 0x4047002c, + 0x40470029, 0x403f002c, 0x403f0029, 0x4037002d, + 0x4037002a, 0x40370028, 0x402f002c, 0x402f002a, + 0x402f0028, 0x402f0026, 0x4027002c, 0x40270029, + 0x40270027, 0x40270025, 0x40270023, 0x401f002c, + 0x401f002a, 0x401f0028, 0x401f0025, 0x401f0024, + 0x401f0022, 0x401f001f, 0x4017002d, 0x4017002b, + 0x40170028, 0x40170026, 0x40170024, 0x40170022, + 0x40170020, 0x4017001e, 0x4017001d, 0x4017001b, + 0x4017001a, 0x40170018, 0x40170017, 0x40170015, + 0x400f002c, 0x400f0029, 0x400f0027, 0x400f0024, + 0x400f0022, 0x400f0021, 0x400f001f, 0x400f001d, + 0x400f001b, 0x400f001a, 0x400f0018, 0x400f0017, + 0x400f0016, 0x400f0015, 0x400f0115, 0x400f0215, + 0x400f0315, 0x400f0415, 0x400f0515, 0x400f0615, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, + 0x400f0715, 0x400f0715, 0x400f0715, 0x400f0715, +}; + + /* Extracted from MMIO dump of 6.30.223.141 */ static const u32 b43_ntab_tx_gain_ipa_2057_rev9_2g[] = { 0x60ff0031, 0x60e7002c, 0x60cf002a, 0x60c70029, @@ -3651,6 +3688,8 @@ static const u32 *b43_nphy_get_ipa_gain_table(struct b43_wldev *dev) case 8: if (phy->radio_rev == 5) return b43_ntab_tx_gain_ipa_2057_rev5_2g; + if (phy->radio_rev == 8) + return b43_ntab_tx_gain_ipa_2057_rev8_2g; break; case 6: if (dev->dev->chip_id == BCMA_CHIP_ID_BCM47162) -- 2.43.0 _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/6] b43: add channel info table for N-PHY r8 + radio 2057 r8 2026-05-18 1:49 [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Alessio Ferri ` (3 preceding siblings ...) 2026-05-18 1:53 ` [PATCH 4/6] b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 Alessio Ferri @ 2026-05-18 1:54 ` Alessio Ferri 2026-05-18 1:54 ` [PATCH 6/6] b43: add RF power offset " Alessio Ferri 2026-05-19 15:58 ` [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Michael Büsch 6 siblings, 0 replies; 15+ messages in thread From: Alessio Ferri @ 2026-05-18 1:54 UTC (permalink / raw) To: linux-wireless; +Cc: b43-dev, kvalo, linux-kernel Add the 2.4 GHz channel info table for N-PHY rev 8 paired with radio 2057 rev 8 and wire it to the existing dispatcher in r2057_get_chantabent_rev7(). The dispatcher's case 8 currently handles radio_rev == 5 only. For radio_rev == 8 both output pointers stay NULL, b43_nphy_set_channel() returns an error and channel switch to the default channel fails. The new b43_nphy_chantab_phy_rev8_radio_rev8[] is 14 entries covering the standard 2.4 GHz channel set (2412..2472 in 5 MHz steps, plus 2484 for channel 14). Each entry uses the b43_nphy_chantabent_rev7_2g struct layout already defined in this file: 18 RADIOREGS7_2G fields followed by 6 PHYREGS (SFO config). Values extracted from an MMIO dump of the proprietary Broadcom wl driver running on BCM6362 silicon (wl driver 6.30.102.7). Field ordering and encoding cross-validated by re-deriving the in-tree b43_nphy_chantab_phy_rev8_radio_rev5 table from the same source through the same extraction - the result matches the existing in-tree table byte-for-byte. Signed-off-by: Alessio Ferri <alessio.ferri@mythread.it> --- .../net/wireless/broadcom/b43/radio_2057.c | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/drivers/net/wireless/broadcom/b43/radio_2057.c b/drivers/net/wireless/broadcom/b43/radio_2057.c index 9f693d92b..e761f899b 100644 --- a/drivers/net/wireless/broadcom/b43/radio_2057.c +++ b/drivers/net/wireless/broadcom/b43/radio_2057.c @@ -445,6 +445,109 @@ static const struct b43_nphy_chantabent_rev7_2g b43_nphy_chantab_phy_rev17_radio }, }; +/* Extracted from MMIO dump of 6.30.102.7 */ +static const struct b43_nphy_chantabent_rev7_2g b43_nphy_chantab_phy_rev8_radio_rev8[] = { + { + .freq = 2412, + RADIOREGS7_2G(0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, + 0x09, 0x0f, 0x09, 0x07, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443), + }, + { + .freq = 2417, + RADIOREGS7_2G(0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, + 0x09, 0x0f, 0x09, 0x07, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441), + }, + { + .freq = 2422, + RADIOREGS7_2G(0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, + 0x09, 0x0f, 0x09, 0x06, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f), + }, + { + .freq = 2427, + RADIOREGS7_2G(0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, + 0x09, 0x0f, 0x09, 0x06, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d), + }, + { + .freq = 2432, + RADIOREGS7_2G(0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, + 0x09, 0x0f, 0x09, 0x06, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a), + }, + { + .freq = 2437, + RADIOREGS7_2G(0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, + 0x09, 0x0f, 0x09, 0x06, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438), + }, + { + .freq = 2442, + RADIOREGS7_2G(0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, + 0x09, 0x0f, 0x08, 0x05, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436), + }, + { + .freq = 2447, + RADIOREGS7_2G(0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, + 0x09, 0x0f, 0x08, 0x05, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434), + }, + { + .freq = 2452, + RADIOREGS7_2G(0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, + 0x09, 0x0f, 0x08, 0x05, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431), + }, + { + .freq = 2457, + RADIOREGS7_2G(0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, + 0x09, 0x0f, 0x08, 0x05, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f), + }, + { + .freq = 2462, + RADIOREGS7_2G(0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, + 0x09, 0x0f, 0x08, 0x05, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d), + }, + { + .freq = 2467, + RADIOREGS7_2G(0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, + 0x09, 0x0f, 0x07, 0x04, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b), + }, + { + .freq = 2472, + RADIOREGS7_2G(0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, + 0x09, 0x0f, 0x07, 0x04, 0x61, 0x73, 0xf0, 0x61, + 0x73, 0xf0), + PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429), + }, + { + .freq = 2484, + RADIOREGS7_2G(0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, + 0x09, 0x0f, 0x07, 0x04, 0x61, 0x73, 0xe0, 0x61, + 0x73, 0xe0), + PHYREGS(0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424), + } +}; + + /* Extracted from MMIO dump of 6.30.223.141 */ static const struct b43_nphy_chantabent_rev7 b43_nphy_chantab_phy_rev16_radio_rev9[] = { { @@ -678,6 +781,9 @@ void r2057_get_chantabent_rev7(struct b43_wldev *dev, u16 freq, if (phy->radio_rev == 5) { e_r7_2g = b43_nphy_chantab_phy_rev8_radio_rev5; len = ARRAY_SIZE(b43_nphy_chantab_phy_rev8_radio_rev5); + } else if (phy->radio_rev == 8) { + e_r7_2g = b43_nphy_chantab_phy_rev8_radio_rev8; + len = ARRAY_SIZE(b43_nphy_chantab_phy_rev8_radio_rev8); } break; case 16: -- 2.43.0 _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 6/6] b43: add RF power offset for N-PHY r8 + radio 2057 r8 2026-05-18 1:49 [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Alessio Ferri ` (4 preceding siblings ...) 2026-05-18 1:54 ` [PATCH 5/6] b43: add channel info " Alessio Ferri @ 2026-05-18 1:54 ` Alessio Ferri 2026-05-19 15:58 ` [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Michael Büsch 6 siblings, 0 replies; 15+ messages in thread From: Alessio Ferri @ 2026-05-18 1:54 UTC (permalink / raw) To: linux-wireless; +Cc: b43-dev, kvalo, linux-kernel Add the 2.4 GHz RF power offset table for N-PHY rev 8 paired with radio 2057 rev 8 and wire it to the existing dispatcher. b43_ntab_get_rf_pwr_offset_table() currently dispatches on phy->rev == 17 (radio_rev 14) and phy->rev == 16 (radio_rev 9) for 2.4 GHz. phy->rev == 8 falls through and the function logs: b43-phyX ERROR: No 2GHz RF power table available for this device Add a phy->rev == 8 / radio_rev == 8 case returning the new table. The values are sourced from the proprietary Broadcom wl driver's nphy_papd_padgain_dlt_2g_2057rev5 array. Reusing the rev 5 values is structurally appropriate: the IPA TX gain table added by the preceding patch in this series shares the low 24 bits of every entry with rev 5 - same gain step amplitudes, only the PAD-gain selector byte differs. b43's pad_gain extraction in b43_nphy_tx_pwr_ctl_init() reads bits 19..23 of the gain entry, which sit in the shared low-24-bit range; the same gain index therefore maps to the same physical PAD gain code on both revisions and warrants the same per-index dB offset. Note that b43_nphy_tx_gain_table_upload() currently has a "TODO: Enable this once we have gains configured" early-return for phy->rev >= 7. With that early-return in place, this table is fetched (silencing the b43err that would otherwise abort PHY init) but its values are not yet written to MMIO. Resolving the TODO is a separate investigation outside the scope of this series; the values supplied here are documented now so that, once the upload path is enabled, the correct rev 8 offsets are already in tree. Signed-off-by: Alessio Ferri <alessio.ferri@mythread.it> --- .../net/wireless/broadcom/b43/tables_nphy.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/net/wireless/broadcom/b43/tables_nphy.c b/drivers/net/wireless/broadcom/b43/tables_nphy.c index 84e8d718d..ecd660b9c 100644 --- a/drivers/net/wireless/broadcom/b43/tables_nphy.c +++ b/drivers/net/wireless/broadcom/b43/tables_nphy.c @@ -2923,6 +2923,21 @@ static const s16 b43_ntab_rf_pwr_offset_2057_rev9_5g[] = { 0, }; +/* Sourced from the rev 5 sibling: the rev 8 IPA TX gain table + * shares the low 24 bits of every entry with rev 5 (only the + * PAD-gain selector byte differs), so the same gain index maps to + * the same physical PAD gain code on both revisions. + */ +static const s16 b43_ntab_rf_pwr_offset_2057_rev8_2g[] = { + -109, -109, -82, -68, -58, + -50, -44, -39, -35, -31, + -28, -26, -23, -21, -19, + -17, -16, -14, -13, -11, + -10, -9, -8, -7, -5, + -5, -4, -3, -2, -1, + -1, 0, +}; + /* Extracted from MMIO dump of 6.30.223.248 * Entries: 0, 26, 28, 29, 30, 31 were guessed */ @@ -3782,6 +3797,10 @@ const s16 *b43_ntab_get_rf_pwr_offset_table(struct b43_wldev *dev) if (phy->radio_rev == 9) return b43_ntab_rf_pwr_offset_2057_rev9_2g; break; + case 8: + if (phy->radio_rev == 8) + return b43_ntab_rf_pwr_offset_2057_rev8_2g; + break; } b43err(dev->wl, -- 2.43.0 _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support 2026-05-18 1:49 [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Alessio Ferri ` (5 preceding siblings ...) 2026-05-18 1:54 ` [PATCH 6/6] b43: add RF power offset " Alessio Ferri @ 2026-05-19 15:58 ` Michael Büsch 2026-05-19 19:32 ` Joshua Peisach 2026-05-19 21:02 ` Alessio Ferri 6 siblings, 2 replies; 15+ messages in thread From: Michael Büsch @ 2026-05-19 15:58 UTC (permalink / raw) To: Alessio Ferri; +Cc: linux-wireless, b43-dev, kvalo, linux-kernel [-- Attachment #1.1: Type: text/plain, Size: 1033 bytes --] On Mon, 18 May 2026 03:49:33 +0200 Alessio Ferri <alessio.ferri@mythread.it> 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: > Alessio Ferri (6): > 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 In general this looks Ok. From the style I assume that this is AI generated, right? If so, can you tell us a bit more about the inputs used for the AI? What information is this implementation based on? -- Michael Büsch https://bues.ch/ [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 149 bytes --] _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support 2026-05-19 15:58 ` [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Michael Büsch @ 2026-05-19 19:32 ` Joshua Peisach 2026-05-19 19:52 ` Michael Büsch 2026-05-19 21:02 ` Alessio Ferri 1 sibling, 1 reply; 15+ messages in thread From: Joshua Peisach @ 2026-05-19 19:32 UTC (permalink / raw) To: Michael Büsch, Alessio Ferri Cc: linux-wireless, b43-dev, kvalo, linux-kernel, b43-dev On Tue May 19, 2026 at 11:58 AM EDT, Michael Büsch wrote: > On Mon, 18 May 2026 03:49:33 +0200 > Alessio Ferri <alessio.ferri@mythread.it> wrote: > > In general this looks Ok. > From the style I assume that this is AI generated, right? > If so, can you tell us a bit more about the inputs used for the AI? > What information is this implementation based on? So... awkward question. Wasn't there just a conversation[1] about the future development of this module, that was left off at "don't touch it unless you're going to thouroughly test this", and now we are going to have a *LLM* work on this? That aside, I don't see any obvious issues in the patchset. [1]: https://lore.kernel.org/b43-dev/DHTYJFGLKPQ0.RYJIDH2VLV3W@ubuntu.com/T/#t _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support 2026-05-19 19:32 ` Joshua Peisach @ 2026-05-19 19:52 ` Michael Büsch 2026-05-19 23:13 ` Joshua Peisach 0 siblings, 1 reply; 15+ messages in thread From: Michael Büsch @ 2026-05-19 19:52 UTC (permalink / raw) To: Joshua Peisach Cc: Alessio Ferri, linux-wireless, b43-dev, kvalo, linux-kernel, b43-dev [-- Attachment #1.1: Type: text/plain, Size: 1965 bytes --] On Tue, 19 May 2026 15:32:44 -0400 "Joshua Peisach" <jpeisach@ubuntu.com> wrote: > On Tue May 19, 2026 at 11:58 AM EDT, Michael Büsch wrote: > > On Mon, 18 May 2026 03:49:33 +0200 > > Alessio Ferri <alessio.ferri@mythread.it> wrote: > > > > In general this looks Ok. > > From the style I assume that this is AI generated, right? > > If so, can you tell us a bit more about the inputs used for the AI? > > What information is this implementation based on? > > So... awkward question. Why? > Wasn't there just a conversation[1] about the > future development of this module, that was left off at "don't touch it > unless you're going to thouroughly test this", Sure. That's why I ask about the development methods used. > and now we are going to have a *LLM* work on this? I don't care whether code was generated with an LLM or not. What matters is the development methods used. Changed must be based on actual correct knowledge (e.g. reverse engineering). Just asking an LLM to do the change without putting that knowledge in is not Ok. Changes must be tested. Changes must have a real benefit. Changes should be low risk, if they can't be tested on all hardware right away. etc. etc. Most of this patch set looks to be low risk, because it only seems to touch code paths for core revisions that were previously unimplemented. But I'm unsure and I can't remember all the details. This is why I asked about the development methods used. What would be Ok? Using an LLM to generate a fully functional and well tested change from reverse engineered information. What would not be Ok? Asking an LLM to change the driver just for the sake of changing it or "cleaning it up". Or using an LLM to make changes from hallucinated "specifications". Btw, this looks to be the corresponding tool PR for this change, I guess: https://github.com/mbuesch/b43-tools/pull/10 -- Michael Büsch https://bues.ch/ [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 149 bytes --] _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support 2026-05-19 19:52 ` Michael Büsch @ 2026-05-19 23:13 ` Joshua Peisach 0 siblings, 0 replies; 15+ messages in thread From: Joshua Peisach @ 2026-05-19 23:13 UTC (permalink / raw) To: Michael Büsch, Joshua Peisach Cc: Alessio Ferri, linux-wireless, b43-dev, kvalo, linux-kernel, b43-dev On Tue May 19, 2026 at 3:52 PM EDT, Michael Büsch wrote: > On Tue, 19 May 2026 15:32:44 -0400 > "Joshua Peisach" <jpeisach@ubuntu.com> wrote: > >> On Tue May 19, 2026 at 11:58 AM EDT, Michael Büsch wrote: >> > On Mon, 18 May 2026 03:49:33 +0200 >> > Alessio Ferri <alessio.ferri@mythread.it> wrote: >> > >> > In general this looks Ok. >> > From the style I assume that this is AI generated, right? >> > If so, can you tell us a bit more about the inputs used for the AI? >> > What information is this implementation based on? >> >> So... awkward question. > > Why? > >> Wasn't there just a conversation[1] about the >> future development of this module, that was left off at "don't touch it >> unless you're going to thouroughly test this", > > Sure. That's why I ask about the development methods used. > >> and now we are going to have a *LLM* work on this? > > I don't care whether code was generated with an LLM or not. > What matters is the development methods used. Fair enough. And it was tested anyway :) sorry for any perceived arrogance. I would tag Reviewed-by but I don't have a script to check the tables (there probably is somewhere... it's a personal problem - a "skill issue" as I sometimes like to call it). -Josh _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support 2026-05-19 15:58 ` [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Michael Büsch 2026-05-19 19:32 ` Joshua Peisach @ 2026-05-19 21:02 ` Alessio Ferri 2026-05-20 11:06 ` Johannes Berg 1 sibling, 1 reply; 15+ messages in thread From: Alessio Ferri @ 2026-05-19 21:02 UTC (permalink / raw) To: Michael Büsch; +Cc: linux-wireless, b43-dev, kvalo, linux-kernel On Tue, 19 May 2026 17:58:12 +0200 Michael Büsch <m@bues.ch> wrote: > On Mon, 18 May 2026 03:49:33 +0200 > Alessio Ferri <alessio.ferri@mythread.it> 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: > > > Alessio Ferri (6): > > 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 > > > In general this looks Ok. > From the style I assume that this is AI generated, right? > If so, can you tell us a bit more about the inputs used for the AI? > What information is this implementation based on? > The patchset is tested on my own DLink DSL 3580L router and generated by claude from our shared notes, i then reviewed it for sanity and verified it by navigating from the router with modified b43 driver with my phone. The shared notes were: logs and dumps taken from the proprietary binary driver while running the stock firmware in the router, files from brcmsmac that had some details for rev 22, GPL released broadcom code in the GPL dump of the vendor, .rodata pieces from the binary driver and finally logs and dumps from the live b43 running in the router flashed with openwrt. Gathering all of this was a week long task, and writing code was only a small part of it, like in the 5% range. _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support 2026-05-19 21:02 ` Alessio Ferri @ 2026-05-20 11:06 ` Johannes Berg 2026-05-20 21:25 ` Alessio Ferri 2026-05-20 23:16 ` Alessio Ferri 0 siblings, 2 replies; 15+ messages in thread From: Johannes Berg @ 2026-05-20 11:06 UTC (permalink / raw) To: Alessio Ferri, Michael Büsch Cc: linux-wireless, b43-dev, kvalo, linux-kernel On Tue, 2026-05-19 at 23:02 +0200, Alessio Ferri wrote: > > The patchset is tested on my own DLink DSL 3580L router and generated by > claude from our shared notes, i then reviewed it for sanity and > verified it by navigating from the router with modified b43 driver with > my phone. I would ask you to disclose this in the commits per https://docs.kernel.org/process/coding-assistants.html johannes _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support 2026-05-20 11:06 ` Johannes Berg @ 2026-05-20 21:25 ` Alessio Ferri 2026-05-20 23:16 ` Alessio Ferri 1 sibling, 0 replies; 15+ messages in thread From: Alessio Ferri @ 2026-05-20 21:25 UTC (permalink / raw) To: Johannes Berg Cc: Michael Büsch, linux-wireless, b43-dev, kvalo, linux-kernel Il giorno Wed, 20 May 2026 13:06:05 +0200 Johannes Berg <johannes@sipsolutions.net> ha scritto: > On Tue, 2026-05-19 at 23:02 +0200, Alessio Ferri wrote: > > > > The patchset is tested on my own DLink DSL 3580L router and > > generated by claude from our shared notes, i then reviewed it for > > sanity and verified it by navigating from the router with modified > > b43 driver with my phone. > > I would ask you to disclose this in the commits per > > https://docs.kernel.org/process/coding-assistants.html > > johannes Will send a V2 with the required assisted-by in the form: Assisted-by: Claude:claude-4.7-opus _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support 2026-05-20 11:06 ` Johannes Berg 2026-05-20 21:25 ` Alessio Ferri @ 2026-05-20 23:16 ` Alessio Ferri 1 sibling, 0 replies; 15+ messages in thread From: Alessio Ferri @ 2026-05-20 23:16 UTC (permalink / raw) To: Johannes Berg Cc: Michael Büsch, linux-wireless, b43-dev, kvalo, linux-kernel Il giorno Wed, 20 May 2026 13:06:05 +0200 Johannes Berg <johannes@sipsolutions.net> ha scritto: > On Tue, 2026-05-19 at 23:02 +0200, Alessio Ferri wrote: > > > > The patchset is tested on my own DLink DSL 3580L router and > > generated by claude from our shared notes, i then reviewed it for > > sanity and verified it by navigating from the router with modified > > b43 driver with my phone. > > I would ask you to disclose this in the commits per > > https://docs.kernel.org/process/coding-assistants.html > > johannes I'm also realizing that i was off by one when i generated the series and missed the first commit, the actual series is 7 patches, the "real" first one fill the gaps in the firmware mappings, so i would had to resend anyway _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-05-20 23:16 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-05-18 1:49 [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Alessio Ferri 2026-05-18 1:50 ` [PATCH 1/6] b43: add d11 core revision 0x16 to id table Alessio Ferri 2026-05-18 1:51 ` [PATCH 2/6] b43: route d11 corerev 22 to 24-bit indirect radio access Alessio Ferri 2026-05-18 1:51 ` [PATCH 3/6] b43: support radio 2057 rev 8 Alessio Ferri 2026-05-18 1:53 ` [PATCH 4/6] b43: add IPA TX gain table for N-PHY r8 + radio 2057 r8 Alessio Ferri 2026-05-18 1:54 ` [PATCH 5/6] b43: add channel info " Alessio Ferri 2026-05-18 1:54 ` [PATCH 6/6] b43: add RF power offset " Alessio Ferri 2026-05-19 15:58 ` [PATCH 0/6] b43: complete N-PHY rev 8 + radio 2057 rev 8 support Michael Büsch 2026-05-19 19:32 ` Joshua Peisach 2026-05-19 19:52 ` Michael Büsch 2026-05-19 23:13 ` Joshua Peisach 2026-05-19 21:02 ` Alessio Ferri 2026-05-20 11:06 ` Johannes Berg 2026-05-20 21:25 ` Alessio Ferri 2026-05-20 23:16 ` Alessio Ferri
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox