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