[PATCH v2 1/5] dt-bindings: bus: add Broadcom BCM6362 WLAN AXI backplane

From: Alessio Ferri

Date: Sun Oct 11 2026 - 18:50:24 EST


The BCM6362 integrates a WLAN macro on its own AXI backplane.
Unlike the backplanes covered by brcm,bus-axi, its cores have no
wrappers: clock gating and reset are driven through a separate
WLAN control register block, and the macro needs a clock, two
resets and the WLAN pads power domain before the backplane can be
accessed. The backplane registers are big-endian.

Add a binding describing the ChipCommon and WLAN control register
blocks, the clock, resets and power domain, and the interrupt-map
used to route core interrupts, following the brcm,bus-axi
convention.

Assisted-by: LLM
Signed-off-by: Alessio Ferri <alessio.ferri@xxxxxxxxxxx>
---
.../bindings/bus/brcm,bcm6362-wlan-bus-axi.yaml | 100 +++++++++++++++++++++
1 file changed, 100 insertions(+)

diff --git a/Documentation/devicetree/bindings/bus/brcm,bcm6362-wlan-bus-axi.yaml b/Documentation/devicetree/bindings/bus/brcm,bcm6362-wlan-bus-axi.yaml
new file mode 100644
index 000000000000..183de28fd032
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/brcm,bcm6362-wlan-bus-axi.yaml
@@ -0,0 +1,100 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bus/brcm,bcm6362-wlan-bus-axi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom BCM6362 integrated WLAN AXI backplane
+
+maintainers:
+ - Alessio Ferri <alessio.ferri@xxxxxxxxxxx>
+
+description: |
+ The BCM6362 integrates a WLAN macro on a dedicated AXI backplane
+ (bcma), whose cores are discovered at runtime from the backplane
+ EROM.
+
+ The cores have no DMP wrappers: clock gating and reset of the
+ ChipCommon and 802.11 cores are controlled through a separate WLAN
+ control register block. The backplane registers are big-endian.
+
+ Interrupts of the cores are described with an interrupt-map, keyed
+ by the core base address and the core interrupt index, as for
+ brcm,bus-axi.
+
+properties:
+ compatible:
+ const: brcm,bcm6362-wlan-bus-axi
+
+ reg:
+ items:
+ - description: ChipCommon core registers
+ - description: WLAN control registers
+
+ reg-names:
+ items:
+ - const: chipcommon
+ - const: wlan-ctrl
+
+ clocks:
+ maxItems: 1
+
+ resets:
+ items:
+ - description: WLAN macro reset
+ - description: WLAN UBUS interface reset
+
+ reset-names:
+ items:
+ - const: wlan
+ - const: wlan-ubus
+
+ power-domains:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#interrupt-cells":
+ const: 1
+
+ interrupt-map-mask: true
+
+ interrupt-map: true
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+ - resets
+ - reset-names
+ - power-domains
+ - "#address-cells"
+ - "#interrupt-cells"
+ - interrupt-map-mask
+ - interrupt-map
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/bcm6362-clock.h>
+ #include <dt-bindings/reset/bcm6362-reset.h>
+ #include <dt-bindings/soc/bcm6362-pm.h>
+
+ bus@10004000 {
+ compatible = "brcm,bcm6362-wlan-bus-axi";
+ reg = <0x10004000 0x1000>, <0x10007000 0x100>;
+ reg-names = "chipcommon", "wlan-ctrl";
+
+ #address-cells = <1>;
+ clocks = <&periph_clk BCM6362_CLK_WLAN_OCP>;
+ #interrupt-cells = <1>;
+ interrupt-map = <0x00005000 0 &periph_intc 7>;
+ interrupt-map-mask = <0x000fffff 0xffff>;
+ power-domains = <&periph_pwr BCM6362_POWER_DOMAIN_WLAN_PADS>;
+ resets = <&periph_rst BCM6362_RST_WLAN_SHIM>,
+ <&periph_rst BCM6362_RST_WLAN_UBUS>;
+ reset-names = "wlan", "wlan-ubus";
+ };

--
2.56.0