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