crypto: keembay - Add support for Keem Bay OCS AES/SM4
authorMike Healy <mikex.healy@intel.com>
Thu, 26 Nov 2020 11:51:48 +0000 (11:51 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 11 Dec 2020 10:12:05 +0000 (21:12 +1100)
commit88574332451380f4b51f6ca88ab9810e714bfb9b
treeff151f5758f5cbefbed384ab28a7ce6fac53a2b6
parentc7e34aa31d6297a3a49a0c0142df858838d4b54f
crypto: keembay - Add support for Keem Bay OCS AES/SM4

Add support for the AES/SM4 crypto engine included in the Offload and
Crypto Subsystem (OCS) of the Intel Keem Bay SoC, thus enabling
hardware-acceleration for the following transformations:

- ecb(aes), cbc(aes), ctr(aes), cts(cbc(aes)), gcm(aes) and cbc(aes);
  supported for 128-bit and 256-bit keys.

- ecb(sm4), cbc(sm4), ctr(sm4), cts(cbc(sm4)), gcm(sm4) and cbc(sm4);
  supported for 128-bit keys.

The driver passes crypto manager self-tests, including the extra tests
(CRYPTO_MANAGER_EXTRA_TESTS=y).

Signed-off-by: Mike Healy <mikex.healy@intel.com>
Co-developed-by: Daniele Alessandrelli <daniele.alessandrelli@intel.com>
Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@intel.com>
Acked-by: Mark Gross <mgross@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
MAINTAINERS
drivers/crypto/Kconfig
drivers/crypto/Makefile
drivers/crypto/keembay/Kconfig [new file with mode: 0644]
drivers/crypto/keembay/Makefile [new file with mode: 0644]
drivers/crypto/keembay/keembay-ocs-aes-core.c [new file with mode: 0644]
drivers/crypto/keembay/ocs-aes.c [new file with mode: 0644]
drivers/crypto/keembay/ocs-aes.h [new file with mode: 0644]