|
|
Log in / Subscribe / Register

remoteproc: introduce Arm remoteproc support

From:  abdellatif.elkhlifi-AT-arm.com
To:  Bjorn Andersson <andersson-AT-kernel.org>, Mathieu Poirier <mathieu.poirier-AT-linaro.org>, Rob Herring <robh+dt-AT-kernel.org>
Subject:  [PATCH 0/3] remoteproc: introduce Arm remoteproc support
Date:  Fri, 01 Mar 2024 16:42:24 +0000
Message-ID:  <20240301164227.339208-1-abdellatif.elkhlifi@arm.com>
Cc:  Liviu Dudau <liviu.dudau-AT-arm.com>, Sudeep Holla <sudeep.holla-AT-arm.com>, Lorenzo Pieralisi <lpieralisi-AT-kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt-AT-linaro.org>, Conor Dooley <conor+dt-AT-kernel.org>, Drew.Reed-AT-arm.com, Adam.Johnston-AT-arm.com, Abdellatif El Khlifi <abdellatif.elkhlifi-AT-arm.com>, linux-arm-kernel-AT-lists.infradead.org, devicetree-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-remoteproc-AT-vger.kernel.org
Archive-link:  Article

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/Overv...

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




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds