From: Ian Rogers <irogers@google.com>
To: irogers@google.com, linux-perf-users@vger.kernel.org,
linux-rpi-kernel@lists.infradead.org,
Florian Fainelli <florian.fainelli@broadcom.com>,
Peter Robinson <pbrobinson@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: [PATCH v12 1/3] dt-bindings: perf: Add Broadcom Raspberry Pi AXI PMU definition
Date: Sat, 15 Aug 2026 01:20:46 -0700 [thread overview]
Message-ID: <20260815082048.4043217-2-irogers@google.com> (raw)
In-Reply-To: <20260815082048.4043217-1-irogers@google.com>
Add Device Tree bindings for the Broadcom AXI PMU hardware blocks present
in the Raspberry Pi SoC line (BCM2835, BCM2711, BCM2712).
Depending on the SoC and security configuration, these PMUs support either
direct MMIO access or routing via the Raspberry Pi firmware Mailbox IPC.
The bindings support defining 1 or 2 backing MMIO regions natively map
the system and VPU control surfaces.
Signed-off-by: Ian Rogers <irogers@google.com>
---
.../bindings/perf/brcm,bcm2835-axiperf.yaml | 64 +++++++++++++++++++
1 file changed, 64 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..8f8686f67337
--- /dev/null
+++ b/Documentation/devicetree/bindings/perf/brcm,bcm2835-axiperf.yaml
@@ -0,0 +1,64 @@
+# 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@google.com>
+
+description: |
+ The Broadcom BCM2835 series (including BCM2711 and BCM2712) features hardware
+ performance monitors on the AXI bus for evaluating memory bandwidth and
+ system traffic. Depending on the SoC architecture, multiple monitors exist.
+ The primary
+ monitor evaluates the System fabric, while the secondary monitor evaluates the
+ VideoCore VPU hardware.
+
+ Older silicon generally restricts direct MMIO access to the VPU endpoints,
+ requiring them to be accessed over the Raspberry Pi firmware mailbox
+ interface. If the VPU endpoints are memory-mapped, they are supplied as
+ secondary resources.
+
+properties:
+ compatible:
+ enum:
+ - brcm,bcm2835-axiperf
+ - brcm,bcm2711-axiperf
+ - brcm,bcm2712-axiperf
+
+ reg:
+ minItems: 1
+ maxItems: 2
+ description: |
+ Memory-mapped I/O resource regions for the AXI PMU endpoints.
+ Typically ordered as System monitor, followed by VPU monitor if directly
+ mapped.
+
+ firmware:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: |
+ Phandle to the Raspberry Pi firmware node. Required on older silicon
+ (BCM2835-BCM2711) where VideoCore VPU endpoints are exclusively accessed
+ via firmware mailbox IPC.
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ pmu@7e00a000 {
+ compatible = "brcm,bcm2835-axiperf";
+ reg = <0x7e00a000 0x100>;
+ };
+ - |
+ pmu@7d620000 {
+ compatible = "brcm,bcm2712-axiperf";
+ reg = <0x7d620000 0x100>,
+ <0x7d630000 0x100>;
+ };
--
2.55.0.691.gc56d675ccc-goog
next prev parent reply other threads:[~2026-08-15 8:21 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-11 8:38 [PATCH v1 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-11 8:38 ` [PATCH v1 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-11 14:32 ` Uwe Kleine-König
2026-08-11 8:38 ` [PATCH v1 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-11 23:51 ` [PATCH v2 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-11 23:51 ` [PATCH v2 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-11 23:51 ` [PATCH v2 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-12 0:27 ` [PATCH v3 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-12 0:27 ` [PATCH v3 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-12 0:27 ` [PATCH v3 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-12 5:24 ` [PATCH v4 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-12 5:24 ` [PATCH v4 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-12 5:24 ` [PATCH v4 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-12 8:27 ` [PATCH v4 0/2] perf: Add Raspberry Pi AXI PMU driver Will Deacon
2026-08-12 13:38 ` Ian Rogers
2026-08-12 16:26 ` Uwe Kleine-König
2026-08-12 21:37 ` Ian Rogers
2026-08-13 6:59 ` Uwe Kleine-König
2026-08-13 8:41 ` Will Deacon
2026-08-13 13:44 ` Ian Rogers
2026-08-13 15:01 ` Uwe Kleine-König
2026-08-13 9:08 ` Peter Robinson
2026-08-13 13:48 ` Ian Rogers
2026-08-13 16:34 ` Florian Fainelli
2026-08-13 17:56 ` Ian Rogers
2026-08-12 23:01 ` [PATCH v5 " Ian Rogers
2026-08-12 23:01 ` [PATCH v5 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-12 23:01 ` [PATCH v5 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-12 23:07 ` [PATCH v5 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-12 23:07 ` Ian Rogers
2026-08-12 23:07 ` [PATCH v5 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-13 0:06 ` Florian Fainelli
2026-08-12 23:08 ` [PATCH v5 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-13 4:35 ` [PATCH v6 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-13 4:35 ` [PATCH v6 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-13 4:35 ` [PATCH v6 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-13 5:24 ` [PATCH v7 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-13 5:24 ` [PATCH v7 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-13 5:24 ` [PATCH v7 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-13 6:42 ` [PATCH v8 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-13 6:42 ` [PATCH v8 1/2] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-13 6:42 ` [PATCH v8 2/2] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-13 7:30 ` [PATCH v9 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-13 7:30 ` perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-13 17:31 ` Florian Fainelli
2026-08-15 6:19 ` Ian Rogers
2026-08-13 7:30 ` perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-13 8:03 ` [PATCH v10 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-13 8:03 ` perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-13 8:03 ` perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-13 14:26 ` [PATCH v11 0/2] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-13 14:26 ` perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-13 14:26 ` perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
2026-08-15 8:20 ` [PATCH v12 0/3] perf: Add Raspberry Pi AXI PMU driver Ian Rogers
2026-08-15 8:20 ` Ian Rogers [this message]
2026-08-15 8:20 ` [PATCH v12 2/3] perf: Add Raspberry Pi BCM2835 " Ian Rogers
2026-08-15 8:20 ` [PATCH v12 3/3] perf: Add Raspberry Pi 5 (BCM2712) AXI PMU support Ian Rogers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260815082048.4043217-2-irogers@google.com \
--to=irogers@google.com \
--cc=florian.fainelli@broadcom.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=pbrobinson@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox