[PATCH 00/16] Add support for Inside-Secure EIP-150 crypto block

Miquel Raynal (Schneider Electric)
2026-03-27T20:10:22Z

Hello,

This is a series adding support for the EIP-150, which is a crypto block
containing:
- a public key accelerator
- a random number generator
- an interrupt controller

The series is a bit long but every subsystem may take its own share
independently. I might want to split it into several chunks in the
future if it expands but at as for now, here is the full picture.

For instance, the clock part has grown due to the inputs From Stephan
Boyd (addition of Kunit tests + a couple of misc preliminary changes).
Link: https://lore.kernel.org/linux-clk/20260129201003.288605-1-miquel.raynal@bootlin.com/

Regarding the big engine, the EIP-28 Public Key Accelerator, it
currently only supports RSA, but more algorithms might be added
later. The hardware supports (EC)DSA and (EC)DH. It also requires a
firmware.

The very last patch adds the block in the Renesas RZ/N1D DTSI, as this
is the platform I am using this hardware one.

Thanks,
Miquèl

Signed-off-by: Miquel Raynal (Schneider Electric) <miquel.raynal@bootlin.com>
---
Miquel Raynal (Schneider Electric) (16):
dt-bindings: clock: Introduce nexus nodes
dt-bindings: interrupt-controller: Describe EIP-201 AIC
dt-bindings: rng: Rename the title of the EIP-76 file
dt-bindings: crypto: eip28: Describe EIP-28 PKA
dt-bindings: bus: eip150: Describe the EIP-150 container node
clk: tests: Add clk_parse_clkspec() Kunit testing
clk: tests: Add Kunit testing for of_clk_get_parent_name()
clk: Improve a couple of comments
clk: Use the generic OF phandle parsing in only one place
clk: Add support for clock nexus dt bindings
clk: tests: Add Kunit testing for nexus nodes
irqchip/eip201-aic: Add support for Safexcel EIP-201 AIC
hwrng: omap: Enable on Renesas RZ/N1D
crypto: Group Inside-Secure IPs together and align the titles
crypto: eip28: Add support for SafeXcel EIP-28 Public Key Accelerator
ARM: dts: renesas: r9a06g032: Describe the EIP-150 block

.../bus/inside-secure,safexcel-eip150.yaml | 58 ++
.../bindings/clock/clock-nexus-node.yaml | 39 ++
.../crypto/inside-secure,safexcel-eip28.yaml | 31 +
.../inside-secure,safexcel-eip201.yaml | 41 ++
.../bindings/rng/inside-secure,safexcel-eip76.yaml | 2 +-
arch/arm/boot/dts/renesas/r9a06g032.dtsi | 42 ++
drivers/char/hw_random/Kconfig | 2 +-
drivers/clk/Makefile | 1 +
drivers/clk/clk.c | 12 +-
drivers/clk/clk_test.c | 154 +++++
drivers/clk/kunit_clk_parse_clkspec.dtso | 31 +
drivers/crypto/Kconfig | 55 +-
drivers/crypto/inside-secure/Makefile | 1 +
drivers/crypto/inside-secure/eip28.c | 760 +++++++++++++++++++++
drivers/crypto/inside-secure/eip93/Kconfig | 2 +-
drivers/irqchip/Kconfig | 8 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-eip201-aic.c | 221 ++++++
.../inside-secure,safexcel-eip201.h | 14 +
19 files changed, 1444 insertions(+), 31 deletions(-)
---
base-commit: f6ad621bcf627fe4719cbf97c1d3c9366cc49eff
change-id: 20260327-schneider-v7-0-rc1-crypto-58cd846ddb81

Best regards,
--
Miquel Raynal (Schneider Electric) <miquel.raynal@bootlin.com>