[PATCH v2 0/5] bcma: support the BCM6362 integrated WLAN backplane

From: Alessio Ferri

Date: Sun Oct 11 2026 - 18:49:28 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 is running daily with it, using openwrt kernel 6.12. It
seems to work fine. I had to add a fallback sprom as the integrated
wlan has none. PIO was not tested as OpenWRT disables it, but i
suspect it is not so important, as it is also the most probable
OS for the bmips 6362 SoC.

This is a reworked series after the initial RFC was met with some
criticism regarding the choice of naming (the spamming of "shim"
everywhere) and the choice of using a separate bus driver for
something that clearly related to bcma.

This was drafted with the help of an LLM and cross built with gcc
mips cross compiler and checked with the dev version of sparse.
This time i also ran dt-check-style and it didn't flag anything.

Signed-off-by: Alessio Ferri <alessio.ferri@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 | 100 +++++
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 | 418 +++++++++++++++++++++
drivers/bcma/main.c | 6 +
drivers/bcma/scan.c | 10 +-
include/linux/bcma/bcma.h | 5 +
10 files changed, 593 insertions(+), 1 deletion(-)
---
base-commit: d6d3455d8751854e0d1820f14184682e23ac4475
change-id: 20261011-bcm6362-wlan-d4473bd1f2e0

Best regards,
--
Alessio Ferri <alessio.ferri@xxxxxxxxxxx>