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