Skip to content

Raspberry Pi support for AXI bus events in Linux perf tool - #7671

Open
captain5050 wants to merge 3 commits into
raspberrypi:rpi-6.18.yfrom
captain5050:rpi-6.18.y
Open

captain5050 wants to merge 3 commits into
raspberrypi:rpi-6.18.yfrom
captain5050:rpi-6.18.y

Conversation

@captain5050

Copy link
Copy Markdown
Contributor

I've addressed review feedback from:
#7571
but in doing so accidentally closed the PR. Apologies, hopefully things are in a better state this time.

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.

Signed-off-by: Ian Rogers <irogers@google.com>
Add a PMU driver for the Raspberry Pi AXI performance monitors. It
provides access to the System and VideoCore performance counters on
Broadcom BCM2835 and BCM2711 platforms natively through the perf
subsystem.

The driver implements bus-watcher refcounting, group validation, CPU
hotplug migration, and sysfs event aliases mapping hardware-specific
events to AXI pipelines (such as DMA, V3D, HVS, and ISP). Memory-mapped
endpoints for the primary System bus are read synchronously, while the
VideoCore VPU monitor is polled asynchronously in process context via
the Raspberry Pi firmware mailbox interface.

Signed-off-by: Ian Rogers <irogers@google.com>
Extend the Raspberry Pi AXI PMU driver to support the Broadcom BCM2712
architecture used in the Raspberry Pi 5.

The BCM2712 SoC drops the legacy VideoCore VPU monitor and exposes a
unified System monitor via MMIO mapping distinctly different hardware
pipelines (such as DISPLAY_TOP, ARGON_TOP, BSTM_TOP, PCIE_01, and XPT)
and expanded 6-bit AXI master ID filter tables.

Signed-off-by: Ian Rogers <irogers@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant