|
SmartSnippets DA1459x SDK
|
Go to the documentation of this file.
45 #if dg_configUSE_HW_HASH
53 HW_HASH_ERROR_INVALID_INPUT_DATA_LEN = -2,
54 HW_HASH_ERROR_CRYPTO_ENGINE_LOCKED = -1,
55 HW_HASH_ERROR_NONE = 0
111 uint8_t crypto_alg = hash_type &
REG_MSK(AES_HASH, CRYPTO_CTRL_REG, CRYPTO_ALG);
112 uint32_t crypto_ctrl_reg = AES_HASH->CRYPTO_CTRL_REG;
114 REG_SET_FIELD(AES_HASH, CRYPTO_CTRL_REG, CRYPTO_HASH_SEL, crypto_ctrl_reg, 1);
115 REG_SET_FIELD(AES_HASH, CRYPTO_CTRL_REG, CRYPTO_ALG, crypto_ctrl_reg, crypto_alg);
117 AES_HASH->CRYPTO_CTRL_REG = crypto_ctrl_reg;
140 if (output_data_len > out_len_max[hash_type]) {
142 output_data_len = out_len_max[hash_type];
145 REG_SETF(AES_HASH, CRYPTO_CTRL_REG, CRYPTO_HASH_OUT_LEN, (output_data_len - 1));
#define REG_SETF(base, reg, field, new_val)
Set the value of a register field.
Definition: sdk_defs.h:738
uint32_t output_data_addr
Definition: hw_hash.h:97
uint32_t input_data_len
Definition: hw_hash.h:94
uint32_t output_data_len
Definition: hw_hash.h:95
HW_HASH_ERROR hw_hash_init(const hw_hash_config_t *hash_cfg)
HASH engine initialization function.
HW_HASH_TYPE
HASH Type.
Definition: hw_hash.h:61
#define __RETAINED_CONST_INIT
Constant data retained memory attribute.
Definition: sdk_defs.h:329
Definition of API for the AES/HASH Engine Low Level Driver.
__STATIC_INLINE void hw_hash_set_output_data_len(HW_HASH_TYPE hash_type, uint8_t output_data_len)
Set HASH output length.
Definition: hw_hash.h:133
hw_aes_hash_cb callback
Definition: hw_hash.h:98
#define REG_MSK(base, reg, field)
Access register field mask.
Definition: sdk_defs.h:583
void(* hw_aes_hash_cb)(uint32_t status)
AES/Hash callback.
Definition: hw_aes_hash.h:168
HASH engine configuration structure.
Definition: hw_hash.h:91
__STATIC_INLINE void hw_hash_set_type(HW_HASH_TYPE hash_type)
Set HASH type.
Definition: hw_hash.h:108
bool hw_hash_check_input_data_len_restrictions(void)
Check if the restrictions of the input data length are fulfilled.
#define REG_SET_FIELD(base, reg, field, var, val)
Set register field value.
Definition: sdk_defs.h:626
HW_HASH_OUTPUT_LENGTH_MAX
The maximum allowed output length of the HASH engine in bytes for all supported HASH types.
Definition: hw_hash.h:69
bool wait_more_input
Definition: hw_hash.h:93
HW_HASH_ERROR
HASH engine error codes.
Definition: hw_hash.h:52
HW_HASH_TYPE type
Definition: hw_hash.h:92
uint32_t input_data_addr
Definition: hw_hash.h:96