void mbedtls_sha256_init(mbedtls_sha256_context *ctx) { mbedtls_zeroize(ctx, sizeof(mbedtls_sha256_context)); /* Enable HASH clock */ __HAL_RCC_HASH_CLK_ENABLE(); }
static WC_INLINE void wc_Stm32_Hash_Clock_Enable(STM32_HASH_Context* stmCtx) { #ifdef WOLFSSL_STM32_CUBEMX __HAL_RCC_HASH_CLK_ENABLE(); #else RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_HASH, ENABLE); #endif (void)stmCtx; }
/** * @brief Initializes the Global MSP. * @param None * @retval None */ void HAL_MspInit(void) { /* NOTE : This function is generated automatically by MicroXplorer and eventually modified by the user */ /* Enable UART 4 clock */ __HAL_RCC_UART4_CLK_ENABLE(); /* RNG Periph clock enable */ __HAL_RCC_RNG_CLK_ENABLE(); #ifdef USE_STM32F4XX_HW_CRYPTO /* Enable CRYP clock */ __HAL_RCC_CRYP_CLK_ENABLE(); /* Enable Hash clock */ __HAL_RCC_HASH_CLK_ENABLE(); #endif }
/** * @brief Initializes the HASH MSP. * This function configures the hardware resources used in this example: * - HASH's clock enable * - DMA's clocks enable * @param hhash: HASH handle pointer * @retval None */ void HAL_HASH_MspInit(HASH_HandleTypeDef *hhash) { static DMA_HandleTypeDef hdma_hash; /* Enable HASH clock */ __HAL_RCC_HASH_CLK_ENABLE(); /* Enable DMA clocks */ DMA_CLK_ENABLE(); /***************** Configure common DMA In parameters ***********************/ hdma_hash.Init.Channel = HASH_DMA_CHANNEL; hdma_hash.Init.Direction = DMA_MEMORY_TO_PERIPH; hdma_hash.Init.PeriphInc = DMA_PINC_DISABLE; hdma_hash.Init.MemInc = DMA_MINC_ENABLE; hdma_hash.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; hdma_hash.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; hdma_hash.Init.Mode = DMA_NORMAL; hdma_hash.Init.Priority = DMA_PRIORITY_HIGH; hdma_hash.Init.FIFOMode = DMA_FIFOMODE_ENABLE; hdma_hash.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_HALFFULL; hdma_hash.Init.MemBurst = DMA_MBURST_SINGLE; hdma_hash.Init.PeriphBurst = DMA_PBURST_SINGLE; hdma_hash.Instance = HASH_DMA_STREAM; /* Associate the DMA handle */ __HAL_LINKDMA(hhash, hdmain, hdma_hash); /* Deinitialize the Stream for new transfer */ HAL_DMA_DeInit(hhash->hdmain); /* Configure the DMA Stream */ HAL_DMA_Init(hhash->hdmain); /* NVIC configuration for DMA Input data interrupt */ HAL_NVIC_SetPriority(HASH_DMA_IRQn, 0x0F, 0x0f); HAL_NVIC_EnableIRQ(HASH_DMA_IRQn); }
/** * @brief Initializes the HASH MSP. * This function configures the hardware resources used in this example: * - HASH's clock enable * @param hhash: HASH handle pointer * @retval None */ void HAL_HASH_MspInit(HASH_HandleTypeDef *hhash) { /* Enable HASH clock */ __HAL_RCC_HASH_CLK_ENABLE(); }