03 Jul, 2014

1 commit

  • The driver is separated by functional parts. The core part
    implements a platform driver probe and remove callbaks.
    The probe enables clocks, checks crypto version, initialize
    and request dma channels, create done tasklet and init
    crypto queue and finally register the algorithms into crypto
    core subsystem.

    - DMA and SG helper functions
    implement dmaengine and sg-list helper functions used by
    other parts of the crypto driver.

    - ablkcipher algorithms
    implementation of AES, DES and 3DES crypto API callbacks,
    the crypto register alg function, the async request handler
    and its dma done callback function.

    - SHA and HMAC transforms
    implementation and registration of ahash crypto type.
    It includes sha1, sha256, hmac(sha1) and hmac(sha256).

    - infrastructure to setup the crypto hw
    contains functions used to setup/prepare hardware registers for
    all algorithms supported by the crypto block. It also exports
    few helper functions needed by algorithms:
    - to check hardware status
    - to start crypto hardware
    - to translate data stream to big endian form

    Adds register addresses and bit/masks used by the driver
    as well.

    Signed-off-by: Stanimir Varbanov
    Signed-off-by: Herbert Xu

    Stanimir Varbanov