• Horia Geantă's avatar
    crypto: caam/qi2 - add DPAA2-CAAM driver · 8d818c10
    Horia Geantă authored
    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: default avatarHoria Geantă <horia.geanta@nxp.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    8d818c10
caamalg_qi2.h 5.53 KB