Go to the documentation of this file.
52 #ifndef __GR5xx_HAL_HMAC_H__
53 #define __GR5xx_HAL_HMAC_H__
110 #ifdef HAL_HMAC_MODULE_STREAM_ENABLED
111 uint32_t strm_dma_en;
137 #ifdef HAL_HMAC_MODULE_STREAM_ENABLED
139 uint32_t hmac_buf[16];
140 __IO uint32_t strm_done_flag;
185 #define HAL_HMAC_ERROR_NONE ((uint32_t)0x00000000)
186 #define HAL_HMAC_ERROR_BUSY ((uint32_t)0x00000001)
187 #define HAL_HMAC_ERROR_TIMEOUT ((uint32_t)0x00000002)
188 #define HAL_HMAC_ERROR_TRANSFER ((uint32_t)0x00000004)
189 #define HAL_HMAC_ERROR_INVALID_PARAM ((uint32_t)0x00000008)
195 #define HMAC_MODE_SHA LL_HMAC_CALCULATETYPE_SHA
196 #define HMAC_MODE_HMAC LL_HMAC_CALCULATETYPE_HMAC
202 #define HAL_HMAC_KEYTYPE_MCU LL_HMAC_KEYTYPE_MCU
203 #define HAL_HMAC_KEYTYPE_AHB LL_HMAC_KEYTYPE_AHB
204 #define HAL_HMAC_KEYTYPE_KRAM LL_HMAC_KEYTYPE_KRAM
210 #define HAL_HMAC_DPA_MODE_ENABLE (1U)
211 #define HAL_HMAC_DPA_MODE_DISABLE (0U)
214 #ifdef HAL_HMAC_MODULE_STREAM_ENABLED
218 #define HAL_HMAC_STRM_DMA_ENABLE (1U)
219 #define HAL_HMAC_STRM_DMA_DISABLE (0U)
226 #define HMAC_BLOCKSIZE_BITS (512U)
227 #define HMAC_BLOCKSIZE_BYTES (HMAC_BLOCKSIZE_BITS >> 3)
228 #define HMAC_BLOCKSIZE_WORDS (HMAC_BLOCKSIZE_BYTES >> 2)
229 #define HMAC_DIGESTSIZE_BITS (256U)
230 #define HMAC_DIGESTSIZE_BYTES (HMAC_DIGESTSIZE_BITS >> 3)
231 #define HMAC_DIGESTSIZE_WORDS (HMAC_DIGESTSIZE_BYTES >> 2)
232 #define HMAC_DMA_BLOCK_MAX (512U)
238 #define HMAC_FLAG_DATAREADY_SHA LL_HMAC_FLAG_DATAREADY_SHA
239 #define HMAC_FLAG_DATAREADY_HMAC LL_HMAC_FLAG_DATAREADY_HMAC
240 #define HMAC_FLAG_DMA_MESSAGEDONE LL_HMAC_FLAG_DMA_MESSAGEDONE
241 #define HMAC_FLAG_DMA_DONE LL_HMAC_FLAG_DMA_DONE
242 #define HMAC_FLAG_DMA_ERR LL_HMAC_FLAG_DMA_ERR
243 #define HMAC_FLAG_KEY_VALID LL_HMAC_FLAG_KEY_VALID
249 #define HMAC_IT_DONE ((uint32_t)0x00000001)
255 #define HAL_HMAC_TIMEOUT_DEFAULT_VALUE ((uint32_t)5000)
269 #define __HAL_HMAC_DMA_START_LAST_TRF(__HANDLE__) SET_BITS((__HANDLE__)->p_instance->CTRL, (HMAC_CTRL_LST_TX | HMAC_CTRL_DMA_START))
278 #define __HAL_HMAC_CLEAR_FLAG_IT(__HANDLE__, __FLAG__) SET_BITS((__HANDLE__)->p_instance->INT, (__FLAG__))
291 #define __HAL_HMAC_GET_FLAG(__HANDLE__, __FLAG__) ((READ_BITS((__HANDLE__)->p_instance->STAT, (__FLAG__)) != 0U) ? SET : RESET)
469 #ifdef HAL_HMAC_MODULE_STREAM_ENABLED
Header file containing functions prototypes of MISC LL library.
uint32_t hal_hmac_get_error(hmac_handle_t *p_hmac)
Return the HMAC error code.
void hal_hmac_irq_handler(hmac_handle_t *p_hmac)
Handle HMAC interrupt request.
HMAC init Structure definition.
void(* hmac_msp_init)(hmac_handle_t *p_hmac)
struct _hmac_handle hmac_handle_t
HMAC handle Structure definition.
__IO hal_hmac_state_t state
Header file containing functions prototypes of HMAC LL library.
void hal_hmac_msp_init(hmac_handle_t *p_hmac)
Initialize the HMAC MSP.
void hal_hmac_msp_deinit(hmac_handle_t *p_hmac)
De-initialize the HMAC MSP.
hal_status_t hal_hmac_init(hmac_handle_t *p_hmac)
Initialize the HMAC according to the specified parameters in the hmac_init_t and initialize the assoc...
void(* hmac_error_callback)(hmac_handle_t *p_hmac)
struct _hal_hmac_callback hal_hmac_callback_t
HAL_HMAC Callback function definition.
struct _hmac_init hmac_init_t
HMAC init Structure definition.
hal_status_t hal_hmac_sha256_digest_it(hmac_handle_t *p_hmac, uint32_t *p_message, uint32_t number, uint32_t *p_digest)
xxx in non-blocking mode with interrupt in HMAC/SHA mode.
void hal_hmac_error_callback(hmac_handle_t *p_hmac)
HMAC error callback.
hal_hmac_state_t hal_hmac_get_state(hmac_handle_t *p_hmac)
Return the HMAC handle state.
hal_status_t hal_hmac_sha256_digest(hmac_handle_t *p_hmac, uint32_t *p_message, uint32_t number, uint32_t *p_digest, uint32_t timeout)
xxx in blocking mode in HMAC/SHA mode.
HMAC handle Structure definition.
hal_status_t
HAL Status structures definition.
This file contains HAL common definitions, enumeration, macros and structures definitions.
void(* hmac_msp_deinit)(hmac_handle_t *p_hmac)
void(* hmac_done_callback)(hmac_handle_t *p_hmac)
void hal_hmac_done_callback(hmac_handle_t *p_hmac)
Digest Done callback.
hal_hmac_state_t
HAL HMAC State enumerations definition.
hal_status_t hal_hmac_deinit(hmac_handle_t *p_hmac)
De-initialize the HMAC peripheral.
HAL_HMAC Callback function definition.
hal_status_t hal_hmac_sha256_digest_dma(hmac_handle_t *p_hmac, uint32_t *p_message, uint32_t number, uint32_t *p_digest)
xxx in non-blocking mode with DMA in HMAC/SHA mode.