xref: /rk3399_ARM-atf/include/drivers/st/stm32_hash.h (revision b1e0b11cc9e8a850a8e479927432068ce62a815a)
1*b1e0b11cSLionel Debieve /*
2*b1e0b11cSLionel Debieve  * Copyright (c) 2019, STMicroelectronics - All Rights Reserved
3*b1e0b11cSLionel Debieve  *
4*b1e0b11cSLionel Debieve  * SPDX-License-Identifier: BSD-3-Clause
5*b1e0b11cSLionel Debieve  */
6*b1e0b11cSLionel Debieve 
7*b1e0b11cSLionel Debieve #ifndef STM32_HASH_H
8*b1e0b11cSLionel Debieve #define STM32_HASH_H
9*b1e0b11cSLionel Debieve 
10*b1e0b11cSLionel Debieve enum stm32_hash_algo_mode {
11*b1e0b11cSLionel Debieve 	HASH_MD5SUM,
12*b1e0b11cSLionel Debieve 	HASH_SHA1,
13*b1e0b11cSLionel Debieve 	HASH_SHA224,
14*b1e0b11cSLionel Debieve 	HASH_SHA256
15*b1e0b11cSLionel Debieve };
16*b1e0b11cSLionel Debieve 
17*b1e0b11cSLionel Debieve int stm32_hash_update(const uint8_t *buffer, uint32_t length);
18*b1e0b11cSLionel Debieve int stm32_hash_final(uint8_t *digest);
19*b1e0b11cSLionel Debieve int stm32_hash_final_update(const uint8_t *buffer, uint32_t buf_length,
20*b1e0b11cSLionel Debieve 			    uint8_t *digest);
21*b1e0b11cSLionel Debieve void stm32_hash_init(enum stm32_hash_algo_mode mode);
22*b1e0b11cSLionel Debieve int stm32_hash_register(void);
23*b1e0b11cSLionel Debieve 
24*b1e0b11cSLionel Debieve #endif /* STM32_HASH_H */
25