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

Miquel Raynal (Schneider Electric) posted 16 patches 5 days, 16 hours ago
.../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(-)
[PATCH 00/16] Add support for Inside-Secure EIP-150 crypto block
Posted by Miquel Raynal (Schneider Electric) 5 days, 16 hours ago
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>

Re: [PATCH 00/16] Add support for Inside-Secure EIP-150 crypto block
Posted by Geert Uytterhoeven 2 days, 23 hours ago
Hi Miquel,

On Fri, 27 Mar 2026 at 21:10, Miquel Raynal (Schneider Electric)
<miquel.raynal@bootlin.com> wrote:
> 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

Thanks for your series!

>       irqchip/eip201-aic: Add support for Safexcel EIP-201 AIC
[...]
>       crypto: eip28: Add support for SafeXcel EIP-28 Public Key Accelerator

My OCD tells me to ask for using "SafeXcel" consistently,  ;-)

drivers/crypto/inside-secure/eip28.c: .name = "Safexcel EIP28 PKA",
drivers/irqchip/Kconfig:        tristate "Safexcel EIP201 AIC"
drivers/irqchip/Kconfig:   inside Safexcel EIP150 IPs, gathering
Public Key Accelerator

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Re: [PATCH 00/16] Add support for Inside-Secure EIP-150 crypto block
Posted by Miquel Raynal 1 day, 3 hours ago
Hi Geert,

On 30/03/2026 at 15:33:30 +02, Geert Uytterhoeven <geert@linux-m68k.org> wrote:

> Hi Miquel,
>
> On Fri, 27 Mar 2026 at 21:10, Miquel Raynal (Schneider Electric)
> <miquel.raynal@bootlin.com> wrote:
>> 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
>
> Thanks for your series!
>
>>       irqchip/eip201-aic: Add support for Safexcel EIP-201 AIC
> [...]
>>       crypto: eip28: Add support for SafeXcel EIP-28 Public Key Accelerator
>
> My OCD tells me to ask for using "SafeXcel" consistently,  ;-)

Ah, yeah :) I initially wrote "Safexcel" everywhere, and at some point I
realized the marketing department had put a capital letter in the middle
of the word. My anti kamel-case heart fought back, but not enough, ending
up with a mix of both.

> drivers/crypto/inside-secure/eip28.c: .name = "Safexcel EIP28 PKA",
> drivers/irqchip/Kconfig:        tristate "Safexcel EIP201 AIC"
> drivers/irqchip/Kconfig:   inside Safexcel EIP150 IPs, gathering
> Public Key Accelerator

I'll address these.

Thanks,
Miquèl