linux-hardened/drivers/crypto/caam
Horia Geantă 8d818c1055 crypto: caam/qi2 - add DPAA2-CAAM driver
Add CAAM driver that works using the DPSECI backend, i.e. manages
DPSECI DPAA2 objects sitting on the Management Complex (MC) fsl-mc bus.

Data transfers (crypto requests) are sent/received to/from CAAM crypto
engine via Queue Interface (v2), this being similar to existing caam/qi.
OTOH, configuration/setup (obtaining virtual queue IDs, authorization
etc.) is done by sending commands to the MC f/w.

Note that the CAAM accelerator included in DPAA2 platforms still has
Job Rings. However, the driver being added does not handle access
via this backend. Kconfig & Makefile are updated such that DPAA2-CAAM
(a.k.a. "caam/qi2") driver does not depend on caam/jr or caam/qi
backends - which rely on platform bus support (ctrl.c).

Support for the following aead and authenc algorithms is also added
in this patch:
-aead:
gcm(aes)
rfc4106(gcm(aes))
rfc4543(gcm(aes))
-authenc:
authenc(hmac({md5,sha*}),cbc({aes,des,des3_ede}))
echainiv(authenc(hmac({md5,sha*}),cbc({aes,des,des3_ede})))
authenc(hmac({md5,sha*}),rfc3686(ctr(aes))
seqiv(authenc(hmac({md5,sha*}),rfc3686(ctr(aes)))

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-09-21 13:24:51 +08:00
..
caamalg.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-09-21 13:22:37 +08:00
caamalg_desc.c crypto: caam/qi - ablkcipher -> skcipher conversion 2018-09-04 11:35:03 +08:00
caamalg_desc.h crypto: caam/qi - ablkcipher -> skcipher conversion 2018-09-04 11:35:03 +08:00
caamalg_qi.c crypto: caam/qi - ablkcipher -> skcipher conversion 2018-09-04 11:35:03 +08:00
caamalg_qi2.c crypto: caam/qi2 - add DPAA2-CAAM driver 2018-09-21 13:24:51 +08:00
caamalg_qi2.h crypto: caam/qi2 - add DPAA2-CAAM driver 2018-09-21 13:24:51 +08:00
caamhash.c crypto: ahash - remove useless setting of cra_type 2018-07-09 00:30:26 +08:00
caampkc.c crypto: caam - fix DMA mapping direction for RSA forms 2 & 3 2018-08-25 19:50:41 +08:00
caampkc.h crypto: caam - strip input zeros from RSA input buffer 2018-04-21 00:59:03 +08:00
caamrng.c crypto: caam - clean-up in caam_init_rng() 2017-07-18 18:16:07 +08:00
compat.h crypto: caam/qi2 - add DPAA2-CAAM driver 2018-09-21 13:24:51 +08:00
ctrl.c crypto: caam - fix MC firmware detection 2018-05-31 00:13:46 +08:00
ctrl.h crypto: caam - staticize caam_get_era() 2018-04-21 00:58:36 +08:00
desc.h crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11:00
desc_constr.h crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11:00
dpseci.c crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
dpseci.h crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
dpseci_cmd.h crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
error.c crypto: caam/qi2 - add DPAA2-CAAM driver 2018-09-21 13:24:51 +08:00
error.h crypto: caam - add Queue Interface v2 error codes 2018-09-21 13:24:51 +08:00
intern.h crypto: caam - fix MC firmware detection 2018-05-31 00:13:46 +08:00
jr.c crypto: caam/jr - fix descriptor DMA unmapping 2018-08-25 19:50:40 +08:00
jr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig crypto: caam/qi2 - add DPAA2-CAAM driver 2018-09-21 13:24:51 +08:00
key_gen.c crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11:00
key_gen.h crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11:00
Makefile crypto: caam/qi2 - add DPAA2-CAAM driver 2018-09-21 13:24:51 +08:00
pdb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pkc_desc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qi.c crypto: caam/qi - fix warning in init_cgr() 2018-05-31 00:13:47 +08:00
qi.h crypto: caam/qi - remove ablkcipher IV generation 2018-09-04 11:35:03 +08:00
regs.h crypto: caam - add Queue Interface v2 error codes 2018-09-21 13:24:51 +08:00
sg_sw_qm.h crypto: caam/qi - add ablkcipher and authenc algorithms 2017-03-24 22:02:59 +08:00
sg_sw_qm2.h staging: fsl-mc: Move DPIO from staging to drivers/soc/fsl 2018-07-24 16:18:55 -05:00
sg_sw_sec4.h staging: fsl-mc: Move DPIO from staging to drivers/soc/fsl 2018-07-24 16:18:55 -05:00