[0/3] remoteproc: introduce Arm remoteproc support

Message ID 20240301164227.339208-1-abdellatif.elkhlifi@arm.com
Headers
Series remoteproc: introduce Arm remoteproc support |

Message

abdellatif.elkhlifi@arm.com March 1, 2024, 4:42 p.m. UTC
  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