[PATCH v3 0/5] bcma: support the BCM6362 integrated WLAN backplane
From: Alessio Ferri
Date: Tue Nov 03 2026 - 18:31:45 EST
The BCM6362 integrates a WLAN macro (802.11n core) on its own
bcma backplane. The backplane differs from the ones bcma supports
because: 1) its registers are big-endian, 2) none of its cores has
a wrapper and make bcma loop crash, and 3) the macro has to be
clocked, taken out of reset and enabled through a SoC-level WLAN
control block before the backplane can be accessed.
Patches 2 and 3 add two opt-in bus flags to the scan code for the
endianness and for wrapper-less cores. Patch 4 adds a dedicated host
driver that brings the macro up, provides big-endian ops and emulates
the agent registers on top of the WLAN control block. Patches 1 and 5
add the binding and the SoC dtsi node.
My router run with this series backported to kernel 6.12, and has a
bcm4352 and the integrated wlan targeted by this patch; bcma scans both
without problems, both chips transmit just fine. The bcm4352 is pcie and
has a normal backplane, so the changes are tested as non-breaking.
This is a small module and i have plenty of hardware to test it (3x
6362), I am able to maintain it as long as my hardware allows.
It is also low risk: the flags that change the behaviour of bcma are
opt-in and it is "complete", at least for the 6362.
Further code is only expected if the bcm63168, that i also have in high
numbers (5 routers), requires it.
Signed-off-by: Alessio Ferri <alessio.ferri@xxxxxxxxxxx>
---
Changes in v3:
- Restricted interrupt mask
- Link to v2: https://lore.kernel.org/r/20261012-bcm6362-wlan-v2-0-4752da7e0982@xxxxxxxxxxx
Changes in v2:
- Replace the drivers/bus bridge driver and the host_soc platform_data
quirks with a dedicated bcma host driver, drivers/bcma/host_soc_bcm6362.c;
host_soc.c is left untouched
- DT: describe the WLAN backplane with a single
"brcm,bcm6362-wlan-bus-axi" node instead of a bridge node with a
brcm,bus-axi child; add the node to bcm6362.dtsi
- Drop the "SHIM" naming: reg-names "chipcommon"/"wlan-ctrl",
reset-names "wlan"/"wlan-ubus", bus flag "wrapperless"
- Split the scan changes into two opt-in bus flags (big_endian,
wrapperless)
- Move the MAINTAINERS entry to the new driver and binding
- Link to v1: https://lore.kernel.org/r/20260529-add-bcm6362-wlan-v1-0-722242777f58@xxxxxxxxx
---
Alessio Ferri (5):
dt-bindings: bus: add Broadcom BCM6362 WLAN AXI backplane
bcma: scan: support big-endian backplanes
bcma: scan: accept wrapper-less cores on wrapper-less backplanes
bcma: add host driver for the BCM6362 integrated WLAN backplane
MIPS: dts: bcm6362: add the integrated WLAN backplane
.../bindings/bus/brcm,bcm6362-wlan-bus-axi.yaml | 109 ++++++
MAINTAINERS | 7 +
arch/mips/boot/dts/brcm/bcm6362.dtsi | 20 +
drivers/bcma/Kconfig | 12 +
drivers/bcma/Makefile | 1 +
drivers/bcma/bcma_private.h | 15 +
drivers/bcma/host_soc_bcm6362.c | 419 +++++++++++++++++++++
drivers/bcma/main.c | 6 +
drivers/bcma/scan.c | 10 +-
include/linux/bcma/bcma.h | 5 +
10 files changed, 603 insertions(+), 1 deletion(-)
---
base-commit: d6d3455d8751854e0d1820f14184682e23ac4475
change-id: 20261011-bcm6362-wlan-d4473bd1f2e0
Best regards,
--
Alessio Ferri <alessio.ferri@xxxxxxxxxxx>