Skip to content

Commit 9d12ba8

Browse files
robrice-brcmherbertx
authored andcommitted
crypto: brcm - Add Broadcom SPU driver
Add Broadcom Secure Processing Unit (SPU) crypto driver for SPU hardware crypto offload. The driver supports ablkcipher, ahash, and aead symmetric crypto operations. Signed-off-by: Steve Lin <steven.lin1@broadcom.com> Signed-off-by: Rob Rice <rob.rice@broadcom.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent 206dc4f commit 9d12ba8

File tree

12 files changed

+9516
-0
lines changed

12 files changed

+9516
-0
lines changed

drivers/crypto/Kconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,4 +587,19 @@ source "drivers/crypto/chelsio/Kconfig"
587587

588588
source "drivers/crypto/virtio/Kconfig"
589589

590+
config CRYPTO_DEV_BCM_SPU
591+
tristate "Broadcom symmetric crypto/hash acceleration support"
592+
depends on ARCH_BCM_IPROC
593+
depends on BCM_PDC_MBOX
594+
default m
595+
select CRYPTO_DES
596+
select CRYPTO_MD5
597+
select CRYPTO_SHA1
598+
select CRYPTO_SHA256
599+
select CRYPTO_SHA512
600+
help
601+
This driver provides support for Broadcom crypto acceleration using the
602+
Secure Processing Unit (SPU). The SPU driver registers ablkcipher,
603+
ahash, and aead algorithms with the kernel cryptographic API.
604+
590605
endif # CRYPTO_HW

drivers/crypto/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,4 @@ obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o
3535
obj-$(CONFIG_CRYPTO_DEV_UX500) += ux500/
3636
obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/
3737
obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/
38+
obj-$(CONFIG_CRYPTO_DEV_BCM_SPU) += bcm/

drivers/crypto/bcm/Makefile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# File: drivers/crypto/bcm/Makefile
2+
#
3+
# Makefile for crypto acceleration files for Broadcom SPU driver
4+
#
5+
# Uncomment to enable debug tracing in the SPU driver.
6+
# CFLAGS_util.o := -DDEBUG
7+
# CFLAGS_cipher.o := -DDEBUG
8+
# CFLAGS_spu.o := -DDEBUG
9+
# CFLAGS_spu2.o := -DDEBUG
10+
11+
obj-$(CONFIG_CRYPTO_DEV_BCM_SPU) := bcm_crypto_spu.o
12+
13+
bcm_crypto_spu-objs := util.o spu.o spu2.o cipher.o
14+
15+
ccflags-y += -I. -DBCMDRIVER

0 commit comments

Comments
 (0)