The gemini SL3516 SoC has a crypto IP. This serie had support for it. It was tested with CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y. Furthermore, it survives hours and gigs of write/read to a luks2 using xts(ecb-aes-sl3516). Performance is quite good. On a luks2 partition (2To with bs=4096), a fsck comes from 14m26(without CE) to 8m48(with CE). So it is really usefull. With bs=512, the performance is similar with software. Changes since v1: - reworded dt-binding subject patch - fixed build with CRYPTO_DEV_SL3516_DEBUG Corentin Labbe (5): dt-bindings: crypto: Add documentation for sl3516-ce crypto: Add sl3516 crypto engine ARM: dts: gemini: add crypto node ARM: gemini_config: enable sl3516-ce crypto MAINTAINERS: add gemini crypto sl3516-ce .../crypto/cortina,sl3516-crypto.yaml | 50 ++ MAINTAINERS | 7 + arch/arm/boot/dts/gemini.dtsi | 8 + arch/arm/configs/gemini_defconfig | 1 + drivers/crypto/Kconfig | 19 + drivers/crypto/Makefile | 1 + drivers/crypto/gemini/Makefile | 2 + drivers/crypto/gemini/sl3516-ce-cipher.c | 388 +++++++++++++ drivers/crypto/gemini/sl3516-ce-core.c | 535 ++++++++++++++++++ drivers/crypto/gemini/sl3516-ce-rng.c | 61 ++ drivers/crypto/gemini/sl3516-ce.h | 347 ++++++++++++ 11 files changed, 1419 insertions(+) create mode 100644 Documentation/devicetree/bindings/crypto/cortina,sl3516-crypto.yaml create mode 100644 drivers/crypto/gemini/Makefile create mode 100644 drivers/crypto/gemini/sl3516-ce-cipher.c create mode 100644 drivers/crypto/gemini/sl3516-ce-core.c create mode 100644 drivers/crypto/gemini/sl3516-ce-rng.c create mode 100644 drivers/crypto/gemini/sl3516-ce.h -- 2.31.1