Most of the SoCs in the R-Car gen3 SoC series such as H3,M3 and E3 have an 'Arm Realtime Core'. This Realtime core is an Arm Cortex-R7 clocked at 800MHz. This series adds initial support to load a firmware and start this remote processor through the remoteproc subsystem. This series depends on https://patchwork.kernel.org/project/linux-renesas-soc/patch/20211022122101.66998-1-julien.massot@xxxxxxx/ to be able to set the Cortex-R7 boot address. One of the way to test this driver is to use the zephyr upstream support for h3ulcb board 'blinky' demo is my favorite testing firmware. To generate a firmware with the zephyr project. follow this starting guide https://docs.zephyrproject.org/2.7.0/getting_started/index.html Then compile your zephyr demo west build -b rcar_h3ulcb_cr7 zephyr/samples/basic/blinky \ -DCONFIG_KERNEL_ENTRY=\"_vector_table\" \ --build-dir h3-blinky Then you can use h3-blinky/zephyr/zephyr.elf as a testing firmware. Patch 1/2 adds the dt-bindings Patch 2/2 is a small driver to cover basic remoteproc usage: loading firmware from filesystem, starting and stopping the Cortex-r7 processor. Device tree modifications have been dropped in this patchset version. Reason is that memory range used by the Cortex-R7 depends on design choice. One thing we could do in the future is to add CR7 node in the different Gen3 SoCs dtsi files such as r8a77951.dtsi, r8a77990.dtsi, r8a77961.dtsi.. Julien Massot (2): dt-bindings: remoteproc: Add Renesas R-Car remoteproc: Add Renesas rcar driver .../remoteproc/renesas,rcar-rproc.yaml | 65 +++++ drivers/remoteproc/Kconfig | 11 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/rcar_rproc.c | 226 ++++++++++++++++++ 4 files changed, 303 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml create mode 100644 drivers/remoteproc/rcar_rproc.c -- 2.33.1