Lines Matching refs:hrng
167 HAL_StatusTypeDef HAL_RNG_Init(RNG_HandleTypeDef *hrng) in HAL_RNG_Init() argument
174 if (hrng == NULL) in HAL_RNG_Init()
179 assert_param(IS_RNG_ALL_INSTANCE(hrng->Instance)); in HAL_RNG_Init()
181 assert_param(IS_RNG_CED(hrng->Init.ClockErrorDetection)); in HAL_RNG_Init()
185 if (hrng->State == HAL_RNG_STATE_RESET) in HAL_RNG_Init()
188 hrng->Lock = HAL_UNLOCKED; in HAL_RNG_Init()
190 hrng->ReadyDataCallback = HAL_RNG_ReadyDataCallback; /* Legacy weak ReadyDataCallback */ in HAL_RNG_Init()
191 hrng->ErrorCallback = HAL_RNG_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_RNG_Init()
193 if (hrng->MspInitCallback == NULL) in HAL_RNG_Init()
195 hrng->MspInitCallback = HAL_RNG_MspInit; /* Legacy weak MspInit */ in HAL_RNG_Init()
199 hrng->MspInitCallback(hrng); in HAL_RNG_Init()
202 if (hrng->State == HAL_RNG_STATE_RESET) in HAL_RNG_Init()
205 hrng->Lock = HAL_UNLOCKED; in HAL_RNG_Init()
208 HAL_RNG_MspInit(hrng); in HAL_RNG_Init()
213 hrng->State = HAL_RNG_STATE_BUSY; in HAL_RNG_Init()
217 __HAL_RNG_DISABLE(hrng); in HAL_RNG_Init()
226 MODIFY_REG(hrng->Instance->CR, RNG_CR_CED | RNG_CR_CONDRST | RNG_CR_RNG_CONFIG1 in HAL_RNG_Init()
228 (uint32_t)(RNG_CR_CONDRST | hrng->Init.ClockErrorDetection | cr_value)); in HAL_RNG_Init()
231 WRITE_REG(hrng->Instance->HTCR, RNG_HTCFG_1); in HAL_RNG_Init()
233 WRITE_REG(hrng->Instance->HTCR, RNG_HTCFG); in HAL_RNG_Init()
237 CLEAR_BIT(hrng->Instance->CR, RNG_CR_CONDRST); in HAL_RNG_Init()
243 while (HAL_IS_BIT_SET(hrng->Instance->CR, RNG_CR_CONDRST)) in HAL_RNG_Init()
248 if (HAL_IS_BIT_SET(hrng->Instance->CR, RNG_CR_CONDRST)) in HAL_RNG_Init()
250 hrng->State = HAL_RNG_STATE_READY; in HAL_RNG_Init()
251 hrng->ErrorCode = HAL_RNG_ERROR_TIMEOUT; in HAL_RNG_Init()
259 MODIFY_REG(hrng->Instance->CR, RNG_CR_CED, hrng->Init.ClockErrorDetection); in HAL_RNG_Init()
264 __HAL_RNG_ENABLE(hrng); in HAL_RNG_Init()
267 if (__HAL_RNG_GET_IT(hrng, RNG_IT_SEI) != RESET) in HAL_RNG_Init()
269 hrng->State = HAL_RNG_STATE_ERROR; in HAL_RNG_Init()
275 while (__HAL_RNG_GET_FLAG(hrng, RNG_FLAG_DRDY) != SET) in HAL_RNG_Init()
280 if (__HAL_RNG_GET_FLAG(hrng, RNG_FLAG_DRDY) != SET) in HAL_RNG_Init()
282 hrng->State = HAL_RNG_STATE_ERROR; in HAL_RNG_Init()
283 hrng->ErrorCode = HAL_RNG_ERROR_TIMEOUT; in HAL_RNG_Init()
290 hrng->State = HAL_RNG_STATE_READY; in HAL_RNG_Init()
293 hrng->ErrorCode = HAL_RNG_ERROR_NONE; in HAL_RNG_Init()
305 HAL_StatusTypeDef HAL_RNG_DeInit(RNG_HandleTypeDef *hrng) in HAL_RNG_DeInit() argument
312 if (hrng == NULL) in HAL_RNG_DeInit()
319 MODIFY_REG(hrng->Instance->CR, RNG_CR_CED | RNG_CR_CONDRST, RNG_CED_ENABLE | RNG_CR_CONDRST); in HAL_RNG_DeInit()
322 CLEAR_BIT(hrng->Instance->CR, RNG_CR_CONDRST); in HAL_RNG_DeInit()
328 while (HAL_IS_BIT_SET(hrng->Instance->CR, RNG_CR_CONDRST)) in HAL_RNG_DeInit()
333 if (HAL_IS_BIT_SET(hrng->Instance->CR, RNG_CR_CONDRST)) in HAL_RNG_DeInit()
335 hrng->State = HAL_RNG_STATE_READY; in HAL_RNG_DeInit()
336 hrng->ErrorCode = HAL_RNG_ERROR_TIMEOUT; in HAL_RNG_DeInit()
338 __HAL_UNLOCK(hrng); in HAL_RNG_DeInit()
347 CLEAR_BIT(hrng->Instance->CR, RNG_CR_CED); in HAL_RNG_DeInit()
351 CLEAR_BIT(hrng->Instance->CR, RNG_CR_IE | RNG_CR_RNGEN); in HAL_RNG_DeInit()
354 CLEAR_BIT(hrng->Instance->SR, RNG_SR_CEIS | RNG_SR_SEIS); in HAL_RNG_DeInit()
357 if (hrng->MspDeInitCallback == NULL) in HAL_RNG_DeInit()
359 hrng->MspDeInitCallback = HAL_RNG_MspDeInit; /* Legacy weak MspDeInit */ in HAL_RNG_DeInit()
363 hrng->MspDeInitCallback(hrng); in HAL_RNG_DeInit()
366 HAL_RNG_MspDeInit(hrng); in HAL_RNG_DeInit()
370 hrng->State = HAL_RNG_STATE_RESET; in HAL_RNG_DeInit()
373 hrng->ErrorCode = HAL_RNG_ERROR_NONE; in HAL_RNG_DeInit()
376 __HAL_UNLOCK(hrng); in HAL_RNG_DeInit()
388 __weak void HAL_RNG_MspInit(RNG_HandleTypeDef *hrng) in HAL_RNG_MspInit() argument
391 UNUSED(hrng); in HAL_RNG_MspInit()
403 __weak void HAL_RNG_MspDeInit(RNG_HandleTypeDef *hrng) in HAL_RNG_MspDeInit() argument
406 UNUSED(hrng); in HAL_RNG_MspDeInit()
425 HAL_StatusTypeDef HAL_RNG_RegisterCallback(RNG_HandleTypeDef *hrng, HAL_RNG_CallbackIDTypeDef Callb… in HAL_RNG_RegisterCallback() argument
433 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_RegisterCallback()
437 if (HAL_RNG_STATE_READY == hrng->State) in HAL_RNG_RegisterCallback()
442 hrng->ErrorCallback = pCallback; in HAL_RNG_RegisterCallback()
446 hrng->MspInitCallback = pCallback; in HAL_RNG_RegisterCallback()
450 hrng->MspDeInitCallback = pCallback; in HAL_RNG_RegisterCallback()
455 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_RegisterCallback()
461 else if (HAL_RNG_STATE_RESET == hrng->State) in HAL_RNG_RegisterCallback()
466 hrng->MspInitCallback = pCallback; in HAL_RNG_RegisterCallback()
470 hrng->MspDeInitCallback = pCallback; in HAL_RNG_RegisterCallback()
475 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_RegisterCallback()
484 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_RegisterCallback()
503 HAL_StatusTypeDef HAL_RNG_UnRegisterCallback(RNG_HandleTypeDef *hrng, HAL_RNG_CallbackIDTypeDef Cal… in HAL_RNG_UnRegisterCallback() argument
508 if (HAL_RNG_STATE_READY == hrng->State) in HAL_RNG_UnRegisterCallback()
513 hrng->ErrorCallback = HAL_RNG_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_RNG_UnRegisterCallback()
517 hrng->MspInitCallback = HAL_RNG_MspInit; /* Legacy weak MspInit */ in HAL_RNG_UnRegisterCallback()
521 hrng->MspDeInitCallback = HAL_RNG_MspDeInit; /* Legacy weak MspDeInit */ in HAL_RNG_UnRegisterCallback()
526 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_UnRegisterCallback()
532 else if (HAL_RNG_STATE_RESET == hrng->State) in HAL_RNG_UnRegisterCallback()
537 hrng->MspInitCallback = HAL_RNG_MspInit; /* Legacy weak MspInit */ in HAL_RNG_UnRegisterCallback()
541 hrng->MspDeInitCallback = HAL_RNG_MspDeInit; /* Legacy weak MspInit */ in HAL_RNG_UnRegisterCallback()
546 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_UnRegisterCallback()
555 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_UnRegisterCallback()
570 HAL_StatusTypeDef HAL_RNG_RegisterReadyDataCallback(RNG_HandleTypeDef *hrng, pRNG_ReadyDataCallback… in HAL_RNG_RegisterReadyDataCallback() argument
577 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_RegisterReadyDataCallback()
581 __HAL_LOCK(hrng); in HAL_RNG_RegisterReadyDataCallback()
583 if (HAL_RNG_STATE_READY == hrng->State) in HAL_RNG_RegisterReadyDataCallback()
585 hrng->ReadyDataCallback = pCallback; in HAL_RNG_RegisterReadyDataCallback()
590 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_RegisterReadyDataCallback()
596 __HAL_UNLOCK(hrng); in HAL_RNG_RegisterReadyDataCallback()
606 HAL_StatusTypeDef HAL_RNG_UnRegisterReadyDataCallback(RNG_HandleTypeDef *hrng) in HAL_RNG_UnRegisterReadyDataCallback() argument
611 __HAL_LOCK(hrng); in HAL_RNG_UnRegisterReadyDataCallback()
613 if (HAL_RNG_STATE_READY == hrng->State) in HAL_RNG_UnRegisterReadyDataCallback()
615 hrng->ReadyDataCallback = HAL_RNG_ReadyDataCallback; /* Legacy weak ReadyDataCallback */ in HAL_RNG_UnRegisterReadyDataCallback()
620 hrng->ErrorCode = HAL_RNG_ERROR_INVALID_CALLBACK; in HAL_RNG_UnRegisterReadyDataCallback()
626 __HAL_UNLOCK(hrng); in HAL_RNG_UnRegisterReadyDataCallback()
673 HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber(RNG_HandleTypeDef *hrng, uint32_t *random32bit) in HAL_RNG_GenerateRandomNumber() argument
679 __HAL_LOCK(hrng); in HAL_RNG_GenerateRandomNumber()
682 if (hrng->State == HAL_RNG_STATE_READY) in HAL_RNG_GenerateRandomNumber()
685 hrng->State = HAL_RNG_STATE_BUSY; in HAL_RNG_GenerateRandomNumber()
688 if (__HAL_RNG_GET_IT(hrng, RNG_IT_SEI) != RESET) in HAL_RNG_GenerateRandomNumber()
691 hrng->ErrorCode = HAL_RNG_ERROR_SEED; in HAL_RNG_GenerateRandomNumber()
693 status = RNG_RecoverSeedError(hrng); in HAL_RNG_GenerateRandomNumber()
705 while (__HAL_RNG_GET_FLAG(hrng, RNG_FLAG_DRDY) == RESET) in HAL_RNG_GenerateRandomNumber()
710 if (__HAL_RNG_GET_FLAG(hrng, RNG_FLAG_DRDY) == RESET) in HAL_RNG_GenerateRandomNumber()
712 hrng->State = HAL_RNG_STATE_READY; in HAL_RNG_GenerateRandomNumber()
713 hrng->ErrorCode = HAL_RNG_ERROR_TIMEOUT; in HAL_RNG_GenerateRandomNumber()
715 __HAL_UNLOCK(hrng); in HAL_RNG_GenerateRandomNumber()
722 hrng->RandomNumber = hrng->Instance->DR; in HAL_RNG_GenerateRandomNumber()
726 if (__HAL_RNG_GET_IT(hrng, RNG_IT_SEI) != RESET) in HAL_RNG_GenerateRandomNumber()
729 hrng->ErrorCode = HAL_RNG_ERROR_SEED; in HAL_RNG_GenerateRandomNumber()
734 *random32bit = hrng->RandomNumber; in HAL_RNG_GenerateRandomNumber()
737 *random32bit = hrng->RandomNumber; in HAL_RNG_GenerateRandomNumber()
740 hrng->State = HAL_RNG_STATE_READY; in HAL_RNG_GenerateRandomNumber()
744 hrng->ErrorCode = HAL_RNG_ERROR_BUSY; in HAL_RNG_GenerateRandomNumber()
749 __HAL_UNLOCK(hrng); in HAL_RNG_GenerateRandomNumber()
760 HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber_IT(RNG_HandleTypeDef *hrng) in HAL_RNG_GenerateRandomNumber_IT() argument
765 __HAL_LOCK(hrng); in HAL_RNG_GenerateRandomNumber_IT()
768 if (hrng->State == HAL_RNG_STATE_READY) in HAL_RNG_GenerateRandomNumber_IT()
771 hrng->State = HAL_RNG_STATE_BUSY; in HAL_RNG_GenerateRandomNumber_IT()
774 __HAL_RNG_ENABLE_IT(hrng); in HAL_RNG_GenerateRandomNumber_IT()
779 __HAL_UNLOCK(hrng); in HAL_RNG_GenerateRandomNumber_IT()
781 hrng->ErrorCode = HAL_RNG_ERROR_BUSY; in HAL_RNG_GenerateRandomNumber_IT()
795 uint32_t HAL_RNG_GetRandomNumber(RNG_HandleTypeDef *hrng) in HAL_RNG_GetRandomNumber() argument
797 if (HAL_RNG_GenerateRandomNumber(hrng, &(hrng->RandomNumber)) == HAL_OK) in HAL_RNG_GetRandomNumber()
799 return hrng->RandomNumber; in HAL_RNG_GetRandomNumber()
814 uint32_t HAL_RNG_GetRandomNumber_IT(RNG_HandleTypeDef *hrng) in HAL_RNG_GetRandomNumber_IT() argument
819 __HAL_LOCK(hrng); in HAL_RNG_GetRandomNumber_IT()
822 hrng->State = HAL_RNG_STATE_BUSY; in HAL_RNG_GetRandomNumber_IT()
825 random32bit = hrng->Instance->DR; in HAL_RNG_GetRandomNumber_IT()
828 __HAL_RNG_ENABLE_IT(hrng); in HAL_RNG_GetRandomNumber_IT()
855 void HAL_RNG_IRQHandler(RNG_HandleTypeDef *hrng) in HAL_RNG_IRQHandler() argument
858 uint32_t itflag = hrng->Instance->SR; in HAL_RNG_IRQHandler()
864 hrng->ErrorCode = HAL_RNG_ERROR_CLOCK; in HAL_RNG_IRQHandler()
874 CLEAR_BIT(hrng->Instance->SR, RNG_IT_SEI); in HAL_RNG_IRQHandler()
879 hrng->ErrorCode = HAL_RNG_ERROR_SEED; in HAL_RNG_IRQHandler()
882 __HAL_RNG_DISABLE_IT(hrng); in HAL_RNG_IRQHandler()
893 hrng->State = HAL_RNG_STATE_ERROR; in HAL_RNG_IRQHandler()
897 hrng->ErrorCallback(hrng); in HAL_RNG_IRQHandler()
900 HAL_RNG_ErrorCallback(hrng); in HAL_RNG_IRQHandler()
904 __HAL_RNG_CLEAR_IT(hrng, RNG_IT_CEI | RNG_IT_SEI); in HAL_RNG_IRQHandler()
913 __HAL_RNG_DISABLE_IT(hrng); in HAL_RNG_IRQHandler()
916 hrng->RandomNumber = hrng->Instance->DR; in HAL_RNG_IRQHandler()
918 if (hrng->State != HAL_RNG_STATE_ERROR) in HAL_RNG_IRQHandler()
921 hrng->State = HAL_RNG_STATE_READY; in HAL_RNG_IRQHandler()
923 __HAL_UNLOCK(hrng); in HAL_RNG_IRQHandler()
927 hrng->ReadyDataCallback(hrng, hrng->RandomNumber); in HAL_RNG_IRQHandler()
930 HAL_RNG_ReadyDataCallback(hrng, hrng->RandomNumber); in HAL_RNG_IRQHandler()
942 uint32_t HAL_RNG_ReadLastRandomNumber(const RNG_HandleTypeDef *hrng) in HAL_RNG_ReadLastRandomNumber() argument
944 return (hrng->RandomNumber); in HAL_RNG_ReadLastRandomNumber()
960 __weak void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit) in HAL_RNG_ReadyDataCallback() argument
963 UNUSED(hrng); in HAL_RNG_ReadyDataCallback()
976 __weak void HAL_RNG_ErrorCallback(RNG_HandleTypeDef *hrng) in HAL_RNG_ErrorCallback() argument
979 UNUSED(hrng); in HAL_RNG_ErrorCallback()
1010 HAL_RNG_StateTypeDef HAL_RNG_GetState(const RNG_HandleTypeDef *hrng) in HAL_RNG_GetState() argument
1012 return hrng->State; in HAL_RNG_GetState()
1020 uint32_t HAL_RNG_GetError(const RNG_HandleTypeDef *hrng) in HAL_RNG_GetError() argument
1023 return hrng->ErrorCode; in HAL_RNG_GetError()
1043 HAL_StatusTypeDef RNG_RecoverSeedError(RNG_HandleTypeDef *hrng) in RNG_RecoverSeedError() argument
1048 if (__HAL_RNG_GET_FLAG(hrng, RNG_FLAG_SECS) == RESET) in RNG_RecoverSeedError()
1052 CLEAR_BIT(hrng->Instance->SR, RNG_IT_SEI); in RNG_RecoverSeedError()
1057 SET_BIT(hrng->Instance->CR, RNG_CR_CONDRST); in RNG_RecoverSeedError()
1059 CLEAR_BIT(hrng->Instance->CR, RNG_CR_CONDRST); in RNG_RecoverSeedError()
1068 hrng->State = HAL_RNG_STATE_READY; in RNG_RecoverSeedError()
1069 hrng->ErrorCode |= HAL_RNG_ERROR_TIMEOUT; in RNG_RecoverSeedError()
1071 __HAL_UNLOCK(hrng); in RNG_RecoverSeedError()
1074 hrng->ErrorCallback(hrng); in RNG_RecoverSeedError()
1077 HAL_RNG_ErrorCallback(hrng); in RNG_RecoverSeedError()
1081 } while (HAL_IS_BIT_SET(hrng->Instance->CR, RNG_CR_CONDRST)); in RNG_RecoverSeedError()
1083 if (__HAL_RNG_GET_IT(hrng, RNG_IT_SEI) != RESET) in RNG_RecoverSeedError()
1086 CLEAR_BIT(hrng->Instance->SR, RNG_IT_SEI); in RNG_RecoverSeedError()
1096 hrng->State = HAL_RNG_STATE_READY; in RNG_RecoverSeedError()
1097 hrng->ErrorCode |= HAL_RNG_ERROR_TIMEOUT; in RNG_RecoverSeedError()
1099 __HAL_UNLOCK(hrng); in RNG_RecoverSeedError()
1102 hrng->ErrorCallback(hrng); in RNG_RecoverSeedError()
1105 HAL_RNG_ErrorCallback(hrng); in RNG_RecoverSeedError()
1109 } while (HAL_IS_BIT_SET(hrng->Instance->SR, RNG_FLAG_SECS)); in RNG_RecoverSeedError()
1112 hrng->ErrorCode &= ~ HAL_RNG_ERROR_SEED; in RNG_RecoverSeedError()