Skip to content

Commit 1b44c5a

Browse files
atenartherbertx
authored andcommitted
crypto: inside-secure - add SafeXcel EIP197 crypto engine driver
Add support for Inside Secure SafeXcel EIP197 cryptographic engine, which can be found on Marvell Armada 7k and 8k boards. This driver currently implements: ecb(aes), cbc(aes), sha1, sha224, sha256 and hmac(sah1) algorithms. Two firmwares are needed for this engine to work. Their are mostly used for more advanced operations than the ones supported (as of now), but we still need them to pass the data to the internal cryptographic engine. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent c28e8f2 commit 1b44c5a

File tree

8 files changed

+3280
-0
lines changed

8 files changed

+3280
-0
lines changed

drivers/crypto/Kconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,4 +655,21 @@ config CRYPTO_DEV_BCM_SPU
655655

656656
source "drivers/crypto/stm32/Kconfig"
657657

658+
config CRYPTO_DEV_SAFEXCEL
659+
tristate "Inside Secure's SafeXcel cryptographic engine driver"
660+
depends on HAS_DMA && OF
661+
depends on (ARM64 && ARCH_MVEBU) || (COMPILE_TEST && 64BIT)
662+
select CRYPTO_AES
663+
select CRYPTO_BLKCIPHER
664+
select CRYPTO_HASH
665+
select CRYPTO_HMAC
666+
select CRYPTO_SHA1
667+
select CRYPTO_SHA256
668+
select CRYPTO_SHA512
669+
help
670+
This driver interfaces with the SafeXcel EIP-197 cryptographic engine
671+
designed by Inside Secure. Select this if you want to use CBC/ECB
672+
chain mode, AES cipher mode and SHA1/SHA224/SHA256/SHA512 hash
673+
algorithms.
674+
658675
endif # CRYPTO_HW

drivers/crypto/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,4 @@ obj-$(CONFIG_CRYPTO_DEV_UX500) += ux500/
4141
obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/
4242
obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/
4343
obj-$(CONFIG_CRYPTO_DEV_BCM_SPU) += bcm/
44+
obj-$(CONFIG_CRYPTO_DEV_SAFEXCEL) += inside-secure/
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
obj-$(CONFIG_CRYPTO_DEV_SAFEXCEL) += crypto_safexcel.o
2+
crypto_safexcel-objs := safexcel.o safexcel_ring.o safexcel_cipher.o safexcel_hash.o

0 commit comments

Comments
 (0)