[PATCH v16 1/3] dt-bindings: perf: Add Broadcom Raspberry Pi AXI PMU definition

From: Ian Rogers

Date: Mon Nov 02 2026 - 23:18:51 EST


Add device tree bindings for the Broadcom Raspberry Pi AXI PMU block
found on BCM2835, BCM2711, and BCM2712 SoCs.

Depending on the SoC and security configuration, these PMUs support
either direct MMIO access for the System monitor or routing via the
Raspberry Pi firmware mailbox IPC for the VideoCore VPU monitor.

Co-developed-by: Dom Cobley <popcornmix@xxxxxxxxx>
Signed-off-by: Dom Cobley <popcornmix@xxxxxxxxx>
Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
.../bindings/perf/brcm,bcm2835-axiperf.yaml | 50 +++++++++++++++++++
MAINTAINERS | 7 +++
2 files changed, 57 insertions(+)
create mode 100644 Documentation/devicetree/bindings/perf/brcm,bcm2835-axiperf.yaml

diff --git a/Documentation/devicetree/bindings/perf/brcm,bcm2835-axiperf.yaml b/Documentation/devicetree/bindings/perf/brcm,bcm2835-axiperf.yaml
new file mode 100644
index 000000000000..08d8c7c7e476
--- /dev/null
+++ b/Documentation/devicetree/bindings/perf/brcm,bcm2835-axiperf.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/perf/brcm,bcm2835-axiperf.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom BCM2835/2711/2712 AXI Performance Monitor
+
+maintainers:
+ - Ian Rogers <irogers@xxxxxxxxxx>
+
+description: |
+ The Broadcom BCM2835 series (including BCM2711 and BCM2712) features hardware
+ performance monitors on the AXI bus for evaluating memory bandwidth and
+ system traffic. Two monitor register blocks are present: the primary monitor
+ evaluates the System fabric, while the secondary monitor evaluates the
+ VideoCore VPU fabric. This block is distinct from the BCM5301X AXI Trace
+ Module.
+
+properties:
+ compatible:
+ enum:
+ - brcm,bcm2711-axiperf
+ - brcm,bcm2712-axiperf
+ - brcm,bcm2835-axiperf
+
+ reg:
+ items:
+ - description: System monitor registers
+ - description: VPU monitor registers
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ pmu@7e009800 {
+ compatible = "brcm,bcm2835-axiperf";
+ reg = <0x7e009800 0x100>,
+ <0x7ee08000 0x100>;
+ };
+ - |
+ pmu@7c012800 {
+ compatible = "brcm,bcm2712-axiperf";
+ reg = <0x7c012800 0x100>,
+ <0x7ee00000 0x100>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 93abbb315065..b8a3cb005c91 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5338,6 +5338,13 @@ N: bcm113*
N: bcm216*
N: kona

+BROADCOM BCM2835 AXI PMU DRIVER
+M: Ian Rogers <irogers@xxxxxxxxxx>
+L: linux-perf-users@xxxxxxxxxxxxxxx
+L: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
+S: Maintained
+F: Documentation/devicetree/bindings/perf/brcm,bcm2835-axiperf.yaml
+
BROADCOM BCM2835 CAMERA DRIVERS
M: Raspberry Pi Kernel Maintenance <kernel-list@xxxxxxxxxxxxxxx>
L: linux-media@xxxxxxxxxxxxxxx
--
2.56.0.385.gac671c819a-goog