[PATCH 0/3] remoteproc: introduce Arm remoteproc support

abdellatif.elkhlifi
2024-03-01T16:43:22Z

From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>

Some Arm heterogeneous System-On-Chips feature remote processors that can
be controlled with a reset control register and a reset status register to
start or stop the processor.

This patchset adds support for these processors by providing the
following:

1) A remoteproc driver that retrieves the reset registers addresses from
the DT, register a new rproc device with the remoteproc subsystem and
provides the start and stop operations for switching on or off the remote
processor.

The start and stop operations are provided as a data config selected on DT node match.
Currently we are providing support for Corstone-1000 External System (Cortex-M3) [1]
as a remote processor. The driver can be extended to support other remote processors
by adding a data config and custom implementation of the start and stop operations.

2) DT bindings

3) Support control of multiple remote processors at the same time

[1]: https://developer.arm.com/documentation/102360/0000/Overview-of-Corstone-1000/Corstone-1000

Cheers,
Abdellatif

Abdellatif El Khlifi (3):
remoteproc: Add Arm remoteproc driver
arm64: dts: Add corstone1000 external system device node
dt-bindings: remoteproc: Add Arm remoteproc

.../bindings/remoteproc/arm,rproc.yaml | 69 +++
MAINTAINERS | 7 +
arch/arm64/boot/dts/arm/corstone1000.dtsi | 10 +-
drivers/remoteproc/Kconfig | 18 +
drivers/remoteproc/Makefile | 1 +
drivers/remoteproc/arm_rproc.c | 395 ++++++++++++++++++
6 files changed, 499 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/remoteproc/arm,rproc.yaml
create mode 100644 drivers/remoteproc/arm_rproc.c

base-commit: 8b46dc5cfa5ffea279aed0fc05dc4b1c39a51517
--
2.25.1