Re: [PATCH v6 0/2] remoteproc: add AMD MicroBlaze/V BRAM-based remote processor driver
From: Mathieu Poirier
Date: Mon Jul 20 2026 - 13:20:34 EST
On Tue, Jul 14, 2026 at 01:24:39PM -0700, Ben Levinsky wrote:
> Add a MicroBlaze/V BRAM-based remoteproc driver and corresponding binding
> for AMD soft processors located in programmable logic.
>
> The series models a soft-core processor subsystem that executes firmware
> from dual-port BRAM. The BRAM window is described in the processor-local
> address space and translated to the Linux-visible system physical address
> through the parent bus ranges property.
>
> This series depends on the remoteproc cleanup series available here:
>
> https://lore.kernel.org/linux-remoteproc/ah2aVdlsLqy9aeHP@p14s/
>
> That series adds the common WC ioremap carveout callbacks and optional
> ELF resource-table helper used by patch 2.
>
> v6:
> Patch 1, dt-bindings: remoteproc: document AMD MicroBlaze/V BRAM-based
> rproc
>
> - Corrected Krzysztof Kozlowski's Reviewed-by trailer to match the tag
> provided during the v3 review.
>
> Patch 2, remoteproc: add AMD MicroBlaze/V BRAM-based remote processor
> driver
>
> - Renamed the driver source and object from amd_bram_rproc to
> amd_mbv_bram_rproc.
Applied.
Thanks,
Mathieu
>
> v5:
> Patch 1, dt-bindings: remoteproc: document AMD MicroBlaze/V BRAM-based
> rproc
>
> - Updated the binding title and patch wording to use MicroBlaze/V.
> - Added Reviewed-by from Krzysztof Kozlowski.
>
> Patch 2, remoteproc: add AMD MicroBlaze/V BRAM-based remote processor
> driver
>
> - Renamed the Kconfig symbol to AMD_MBV_BRAM_REMOTEPROC.
> - Updated the Kconfig prompt to use MicroBlaze/V.
> - Removed the reset GPIO and clock sentence from the Kconfig help text.
> - Updated the driver and module descriptions to use MicroBlaze/V.
>
> v4:
> Patch 1, dt-bindings: remoteproc: document AMD BRAM-based rproc
>
> - Sorted the SoC-specific compatible enum by name.
>
> Patch 2, remoteproc: add AMD BRAM-based remote processor driver
>
> - Dropped the driver-specific MAINTAINERS entry.
> - Trimmed the Kconfig help text.
> - Reused the common WC ioremap/iounmap carveout callbacks.
> - Reused the common optional ELF resource-table helper.
> - Used resource_size(&res) for the translated memory window size.
> - Kept the coredump segment address as the processor-local device
> address. The coredump path resolves segment addresses through
> rproc_da_to_va() against the registered carveout device address, while
> res.start is the Linux-visible system physical address after DT
> translation and may differ from the processor-local BRAM address.
>
> v3:
> This version updates the binding to use SoC-specific compatibles with
> the fallback form discussed on the thread.
>
> Patch 1, dt-bindings: remoteproc: document AMD BRAM-based rproc
>
> - Reworked the compatible schema to use SoC-specific compatibles.
> - Added amd,versal2-bram-rproc to the supported compatible list.
> - Used xlnx,zynqmp-bram-rproc as the fallback compatible.
> - Updated the example to match the new compatible scheme.
>
> Patch 2, remoteproc: add AMD BRAM-based remote processor driver
>
> - Updated the driver OF match table to bind via the
> xlnx,zynqmp-bram-rproc fallback compatible.
>
> v2:
> This version pivots the series away from a MicroBlaze-specific binding
> and driver shape and instead models a BRAM-based soft-core processor
> subsystem more generally.
>
> This follows the upstream feedback that amd,microblaze was too tied to
> the processor architecture while also being too generic as a DT
> compatible for the hardware interface being described.
>
> Patch 1, dt-bindings: remoteproc: document AMD BRAM-based rproc
>
> - Renamed the binding away from amd,microblaze and reframed it around a
> BRAM-based soft-core processor subsystem.
> - Dropped the redundant trailing "binding" wording from the patch
> subject.
> - Rewrote the binding text to describe the hardware rather than the Linux
> remoteproc framework.
> - Reworked the example to address the original dt_binding_check
> complaints about the root node and simple-pm-bus example shape.
> - Added a clocks property for the soft-core subsystem.
>
> Patch 2, remoteproc: add AMD BRAM-based remote processor driver
>
> - Renamed the driver away from the MicroBlaze-specific name to match the
> BRAM-based binding.
> - Added clock handling for the soft-core subsystem and the matching
> COMMON_CLK dependency in Kconfig.
> - Cleaned up the reset comments and removed the success dev_dbg() message
> called out in review.
>
> Ben Levinsky (2):
> dt-bindings: remoteproc: document AMD MicroBlaze/V BRAM-based rproc
> remoteproc: add AMD MicroBlaze/V BRAM-based remote processor driver
>
> .../bindings/remoteproc/amd,bram-rproc.yaml | 105 +++++++++
> drivers/remoteproc/Kconfig | 9 +
> drivers/remoteproc/Makefile | 1 +
> drivers/remoteproc/amd_mbv_bram_rproc.c | 213 ++++++++++++++++++
> 4 files changed, 328 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/remoteproc/amd,bram-rproc.yaml
> create mode 100644 drivers/remoteproc/amd_mbv_bram_rproc.c
>
> --
> 2.34.1