diff options
author | Tom Rini <trini@ti.com> | 2015-02-25 18:14:18 -0500 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2015-02-25 18:14:18 -0500 |
commit | 1606b34aa50804227806971dbb6b82ea0bf81f55 (patch) | |
tree | 5c7570722616c6509f6f9126521d0c69c2614f8d /include/hw_sha.h | |
parent | 47d8ae4069b47ce966c0c5e0d8dd041e69ee1f86 (diff) | |
parent | 94e3c8c4fd7bfe395fa467973cd647551d6d98c7 (diff) | |
download | u-boot-imx-1606b34aa50804227806971dbb6b82ea0bf81f55.zip u-boot-imx-1606b34aa50804227806971dbb6b82ea0bf81f55.tar.gz u-boot-imx-1606b34aa50804227806971dbb6b82ea0bf81f55.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq
Diffstat (limited to 'include/hw_sha.h')
-rw-r--r-- | include/hw_sha.h | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/include/hw_sha.h b/include/hw_sha.h index 783350d..ab19a99 100644 --- a/include/hw_sha.h +++ b/include/hw_sha.h @@ -7,7 +7,7 @@ */ #ifndef __HW_SHA_H #define __HW_SHA_H - +#include <hash.h> /** * Computes hash value of input pbuf using h/w acceleration @@ -34,4 +34,43 @@ void hw_sha256(const uchar * in_addr, uint buflen, */ void hw_sha1(const uchar * in_addr, uint buflen, uchar * out_addr, uint chunk_size); + +/* + * Create the context for sha progressive hashing using h/w acceleration + * + * @algo: Pointer to the hash_algo struct + * @ctxp: Pointer to the pointer of the context for hashing + * @return 0 if ok, -ve on error + */ +int hw_sha_init(struct hash_algo *algo, void **ctxp); + +/* + * Update buffer for sha progressive hashing using h/w acceleration + * + * The context is freed by this function if an error occurs. + * + * @algo: Pointer to the hash_algo struct + * @ctx: Pointer to the context for hashing + * @buf: Pointer to the buffer being hashed + * @size: Size of the buffer being hashed + * @is_last: 1 if this is the last update; 0 otherwise + * @return 0 if ok, -ve on error + */ +int hw_sha_update(struct hash_algo *algo, void *ctx, const void *buf, + unsigned int size, int is_last); + +/* + * Copy sha hash result at destination location + * + * The context is freed after completion of hash operation or after an error. + * + * @algo: Pointer to the hash_algo struct + * @ctx: Pointer to the context for hashing + * @dest_buf: Pointer to the destination buffer where hash is to be copied + * @size: Size of the buffer being hashed + * @return 0 if ok, -ve on error + */ +int hw_sha_finish(struct hash_algo *algo, void *ctx, void *dest_buf, + int size); + #endif |