[PATCH v4 0/3] soc: renesas: add MFIS driver

From: Wolfram Sang

Date: Thu Apr 02 2026 - 07:33:59 EST


Changes since v3:

* dropped superfluous constraints in patch 1 (Thanks, Geert!)
* use more 'unsigned int' instead of 'int' in patch 2
* re-ordered declarations to be more xmas-tree like in patch 2
(don't want to go farther than this)
* added tags from Krzysztof to patch 1 (Thanks!)
* added tags from Geert to patches 1+2 (Thanks!)

Renesas R-Car MFIS offers multiple features but most importantly
mailboxes and hwspinlocks. Because they share a common register space
and a common register unprotection mechanism, a single driver was chosen
to handle all dependencies. (MFD and auxiliary bus have been tried as
well, but they failed because of circular dependencies.)

In this first step, the driver implements common register access and a
mailbox controller. hwspinlock support will be added incrementally, once
the subsystem allows out-of-directory drivers (patches already under
review). This driver has been tested on a Renesas Ironhide board (R-Car
X5H) and is able to communicate with the SCP via mailboxes. Also, the
mailbox-test driver was used to confirm back-and-forth communication
between two application cores.

Because of its multifunctional nature, the driver lives in
drivers/soc/renesas. A branch (with some additions to enable it on R-Car
X5H) can be found here:

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/x5h/mfis-single-driver

Thanks and happy hacking,

Wolfram

Wolfram Sang (3):
dt-bindings: soc: renesas: Document MFIS IP core
soc: renesas: Add Renesas R-Car MFIS driver
soc: renesas: add X5H PRR support

.../soc/renesas/renesas,r8a78000-mfis.yaml | 187 ++++++++++
drivers/soc/renesas/Kconfig | 9 +
drivers/soc/renesas/Makefile | 1 +
drivers/soc/renesas/rcar-mfis.c | 344 ++++++++++++++++++
drivers/soc/renesas/renesas-soc.c | 8 +-
.../dt-bindings/soc/renesas,r8a78000-mfis.h | 28 ++
6 files changed, 576 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/soc/renesas/renesas,r8a78000-mfis.yaml
create mode 100644 drivers/soc/renesas/rcar-mfis.c
create mode 100644 include/dt-bindings/soc/renesas,r8a78000-mfis.h

--
2.51.0