[PATCH v4 0/3] Add Broadcom SPU Crypto Driver

From: Rob Rice
Date: Fri Feb 03 2017 - 12:57:02 EST


Changes in v4:
- Added Rob Herring's Acked-by to patch 1/3 for bindings doc
- In response to Herbert's comment, in ahash_export() and
ahash_import(), only copy the hash state, not state params
related to cipher or aead algos.
- Noticed that hmac_offset in iproc_reqctx_s and spu_hash_params
wasn't really used. So removed.

Changes in v3:
- rebase to 4.10-rc3 in cryptodev-2.6 tree
- in bindings doc, list all valid compatibility strings
- rename DT nodes "crypto" rather than "spu-crypto"
- include a separate DT node for each SPU hardware block. Previously,
there was a single SPU node listing a register range for each
hw block.
- select hash algos in Kconfig. Driver HMAC implementation uses hash
sw algos for inner and outer hashes.
- Fix crash for AES CCM decrypt when AAD and data are both empty

Change in v2:
- select CRYPTO_DES in Kconfig

The Broadcom SPU crypto driver provides access to SPU hardware
for symmetric crypto offload. The driver supports ablkcipher,
ahash, and aead operations. The driver supports several
Broadcom SoCs with different revisions of the SPU hardware.
The driver supports SPU-M and SPU2 hardware revisions, and
a couple versions of each hw revision, each version with minor
differences.

Rob Rice (3):
crypto: brcm: DT documentation for Broadcom SPU hardware
crypto: brcm: Add Broadcom SPU driver
arm64: dts: ns2: Add Broadcom SPU driver DT entry.

.../devicetree/bindings/crypto/brcm,spu-crypto.txt | 22 +
arch/arm64/boot/dts/broadcom/ns2.dtsi | 24 +
drivers/crypto/Kconfig | 15 +
drivers/crypto/Makefile | 2 +
drivers/crypto/bcm/Makefile | 15 +
drivers/crypto/bcm/cipher.c | 4964 ++++++++++++++++++++
drivers/crypto/bcm/cipher.h | 483 ++
drivers/crypto/bcm/spu.c | 1251 +++++
drivers/crypto/bcm/spu.h | 287 ++
drivers/crypto/bcm/spu2.c | 1401 ++++++
drivers/crypto/bcm/spu2.h | 228 +
drivers/crypto/bcm/spum.h | 174 +
drivers/crypto/bcm/util.c | 581 +++
drivers/crypto/bcm/util.h | 116 +
14 files changed, 9563 insertions(+)
create mode 100644 Documentation/devicetree/bindings/crypto/brcm,spu-crypto.txt
create mode 100644 drivers/crypto/bcm/Makefile
create mode 100644 drivers/crypto/bcm/cipher.c
create mode 100644 drivers/crypto/bcm/cipher.h
create mode 100644 drivers/crypto/bcm/spu.c
create mode 100644 drivers/crypto/bcm/spu.h
create mode 100644 drivers/crypto/bcm/spu2.c
create mode 100644 drivers/crypto/bcm/spu2.h
create mode 100644 drivers/crypto/bcm/spum.h
create mode 100644 drivers/crypto/bcm/util.c
create mode 100644 drivers/crypto/bcm/util.h

--
2.1.0