[RFC PATCH 0/6] Add SA2UL Public Key Accelerator driver
From: Daniel Parks
Date: Mon Aug 08 2022 - 15:14:12 EST
The PKA is a subdevice of the SA2UL that provides hardware acceleration
for asymmetric cryptography algorithms. RSA and Diffie-Hellman are
enabled in this patch series.
Tested using these configurations:
- CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=n
- CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y
These patches are RFC for now because we're waiting for legal to clear
us to release the firmware.
The dts patches depend on [1] and [2], respectively, to apply without
fuzz.
[1]: https://www.spinics.net/lists/devicetree/msg523234.html
[2]: https://www.spinics.net/lists/devicetree/msg523233.html
Daniel Parks (6):
dt-bindings: crypto: ti,sa2ul: add pka subdevice
dt-bindings: crypto: add binding for eip29t2 public key accelerator
(PKA)
arm64: dts: ti: k3-am64-main: add SA2UL public key accelerator
subdevice
arm64: dts: ti: k3-j721e-main: add SA2UL public key accelerator
subdevice
crypto: sa2ul: turn on PKA engine
crypto: sa2ul_pka: Add SA2UL PKA driver
.../inside-secure,safexcel-eip29t2.yaml | 49 ++
.../devicetree/bindings/crypto/ti,sa2ul.yaml | 6 +
arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 8 +
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 7 +
drivers/crypto/Kconfig | 2 +
drivers/crypto/Makefile | 1 +
drivers/crypto/sa2ul.c | 2 +-
drivers/crypto/sa2ul_pka/Kconfig | 26 +
drivers/crypto/sa2ul_pka/Makefile | 3 +
drivers/crypto/sa2ul_pka/sa2ul_pka.h | 135 +++++
drivers/crypto/sa2ul_pka/sa2ul_pka_base.c | 564 ++++++++++++++++++
drivers/crypto/sa2ul_pka/sa2ul_pka_dh.c | 150 +++++
drivers/crypto/sa2ul_pka/sa2ul_pka_op.c | 205 +++++++
drivers/crypto/sa2ul_pka/sa2ul_pka_op.h | 28 +
drivers/crypto/sa2ul_pka/sa2ul_pka_rsa.c | 193 ++++++
drivers/crypto/sa2ul_pka/sa2ul_pka_sg.c | 316 ++++++++++
16 files changed, 1694 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/crypto/inside-secure,safexcel-eip29t2.yaml
create mode 100644 drivers/crypto/sa2ul_pka/Kconfig
create mode 100644 drivers/crypto/sa2ul_pka/Makefile
create mode 100644 drivers/crypto/sa2ul_pka/sa2ul_pka.h
create mode 100644 drivers/crypto/sa2ul_pka/sa2ul_pka_base.c
create mode 100644 drivers/crypto/sa2ul_pka/sa2ul_pka_dh.c
create mode 100644 drivers/crypto/sa2ul_pka/sa2ul_pka_op.c
create mode 100644 drivers/crypto/sa2ul_pka/sa2ul_pka_op.h
create mode 100644 drivers/crypto/sa2ul_pka/sa2ul_pka_rsa.c
create mode 100644 drivers/crypto/sa2ul_pka/sa2ul_pka_sg.c
--
2.17.1