xref: /rk3399_rockchip-uboot/drivers/crypto/fsl/fsl_hash.h (revision b9cb64825b5e6efeb715abd8b48d9b12f98973e9)
1*94e3c8c4Sgaurav rana /*
2*94e3c8c4Sgaurav rana  * Copyright 2014 Freescale Semiconductor, Inc.
3*94e3c8c4Sgaurav rana  *
4*94e3c8c4Sgaurav rana  * SPDX-License-Identifier:	GPL-2.0+
5*94e3c8c4Sgaurav rana  *
6*94e3c8c4Sgaurav rana  */
7*94e3c8c4Sgaurav rana 
8*94e3c8c4Sgaurav rana #ifndef _SHA_H
9*94e3c8c4Sgaurav rana #define _SHA_H
10*94e3c8c4Sgaurav rana 
11*94e3c8c4Sgaurav rana #include <fsl_sec.h>
12*94e3c8c4Sgaurav rana #include <hash.h>
13*94e3c8c4Sgaurav rana #include "jr.h"
14*94e3c8c4Sgaurav rana 
15*94e3c8c4Sgaurav rana /* We support at most 32 Scatter/Gather Entries.*/
16*94e3c8c4Sgaurav rana #define MAX_SG_32	32
17*94e3c8c4Sgaurav rana 
18*94e3c8c4Sgaurav rana /*
19*94e3c8c4Sgaurav rana  * Hash context contains the following fields
20*94e3c8c4Sgaurav rana  * @sha_desc: Sha Descriptor
21*94e3c8c4Sgaurav rana  * @sg_num: number of entries in sg table
22*94e3c8c4Sgaurav rana  * @len: total length of buffer
23*94e3c8c4Sgaurav rana  * @sg_tbl: sg entry table
24*94e3c8c4Sgaurav rana  * @hash: index to the hash calculated
25*94e3c8c4Sgaurav rana  */
26*94e3c8c4Sgaurav rana struct sha_ctx {
27*94e3c8c4Sgaurav rana 	uint32_t sha_desc[64];
28*94e3c8c4Sgaurav rana 	uint32_t sg_num;
29*94e3c8c4Sgaurav rana 	uint32_t len;
30*94e3c8c4Sgaurav rana 	struct sg_entry sg_tbl[MAX_SG_32];
31*94e3c8c4Sgaurav rana 	u8 hash[HASH_MAX_DIGEST_SIZE];
32*94e3c8c4Sgaurav rana };
33*94e3c8c4Sgaurav rana 
34*94e3c8c4Sgaurav rana #endif
35