Skip to content

remoteproc: add AMD MicroBlaze/V BRAM-based remote processor driver

Ben Levinsky linux-devicetree linux-remoteproc lkml 5 versions – Applied

Status from this message: Applied.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest2 patches 1 replyApplied
  2. v52 patches 5 repliesSuperseded
  3. v42 patches 8 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v32 patches6 repliesSuperseded
v22 patches9 repliesSuperseded

Changes in v6 from the cover letter

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.

Patches in v6 Applied

#Subject and filesSizeRepliesApplied
1/2dt-bindings: remoteproc: document AMD MicroBlaze/V BRAM-based rprocDocumentation/devicetree/bindings/remoteproc/amd,bram-rproc.yaml+105 -00 replies
2/2remoteproc: add AMD MicroBlaze/V BRAM-based remote processor driverdrivers/remoteproc/Kconfig drivers/remoteproc/Makefile drivers/remoteproc/amd_mbv_bram_rproc.c+223 -00 replies

Reviews trailers per patch

1 of 2 patches has a Reviewed-by or Acked-by.

PatchKrzysztof Kozlowski
1/2R-b
2/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v6 thread

Cover letter [PATCH v6 0/2] remoteproc: add AMD MicroBlaze/V BRAM-based remote processor driver

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.

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
Signature · 1 line
2.34.1