Lines Matching refs:hcryp
150 static HAL_StatusTypeDef CRYP_SetInitVector(CRYP_HandleTypeDef *hcryp);
151 static HAL_StatusTypeDef CRYP_SetKey(CRYP_HandleTypeDef *hcryp);
152 static HAL_StatusTypeDef CRYP_AES_IT(CRYP_HandleTypeDef *hcryp);
241 HAL_StatusTypeDef HAL_CRYP_Init(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_Init() argument
244 if(hcryp == NULL) in HAL_CRYP_Init()
250 assert_param(IS_AES_ALL_INSTANCE(hcryp->Instance)); in HAL_CRYP_Init()
253 assert_param(IS_CRYP_KEYSIZE(hcryp->Init.KeySize)); in HAL_CRYP_Init()
254 assert_param(IS_CRYP_DATATYPE(hcryp->Init.DataType)); in HAL_CRYP_Init()
255 assert_param(IS_CRYP_ALGOMODE(hcryp->Init.OperatingMode)); in HAL_CRYP_Init()
257 if (hcryp->Init.OperatingMode != CRYP_ALGOMODE_KEYDERIVATION) in HAL_CRYP_Init()
259 assert_param(IS_CRYP_CHAINMODE(hcryp->Init.ChainingMode)); in HAL_CRYP_Init()
261 assert_param(IS_CRYP_WRITE(hcryp->Init.KeyWriteFlag)); in HAL_CRYP_Init()
268 if ((hcryp->Init.OperatingMode == CRYP_ALGOMODE_KEYDERIVATION_DECRYPT) &&\ in HAL_CRYP_Init()
269 ((hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CTR) \ in HAL_CRYP_Init()
270 || (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_GCM_GMAC) \ in HAL_CRYP_Init()
271 || (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CCM))) in HAL_CRYP_Init()
273 if ((hcryp->Init.OperatingMode == CRYP_ALGOMODE_KEYDERIVATION_DECRYPT) &&\ in HAL_CRYP_Init()
274 ((hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CTR) \ in HAL_CRYP_Init()
275 || (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_GCM_GMAC) \ in HAL_CRYP_Init()
276 || (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CMAC))) in HAL_CRYP_Init()
283 if ((hcryp->Init.OperatingMode == CRYP_ALGOMODE_KEYDERIVATION) in HAL_CRYP_Init()
284 && (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CCM)) in HAL_CRYP_Init()
286 if ((hcryp->Init.OperatingMode == CRYP_ALGOMODE_KEYDERIVATION) in HAL_CRYP_Init()
287 && (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CMAC)) in HAL_CRYP_Init()
299 if (hcryp->State == HAL_CRYP_STATE_RESET) in HAL_CRYP_Init()
302 hcryp->Lock = HAL_UNLOCKED; in HAL_CRYP_Init()
305 …hcryp->InCpltCallback = HAL_CRYP_InCpltCallback; /* Legacy weak (surcharged) input D… in HAL_CRYP_Init()
306 …hcryp->OutCpltCallback = HAL_CRYP_OutCpltCallback; /* Legacy weak (surcharged) output… in HAL_CRYP_Init()
307 …hcryp->CompCpltCallback = HAL_CRYPEx_ComputationCpltCallback; /* Legacy weak (surcharged) computa… in HAL_CRYP_Init()
308 …hcryp->ErrorCallback = HAL_CRYP_ErrorCallback; /* Legacy weak (surcharged) error c… in HAL_CRYP_Init()
309 if(hcryp->MspInitCallback == NULL) in HAL_CRYP_Init()
311 hcryp->MspInitCallback = HAL_CRYP_MspInit; in HAL_CRYP_Init()
315 hcryp->MspInitCallback(hcryp); in HAL_CRYP_Init()
318 if(hcryp->State == HAL_CRYP_STATE_RESET) in HAL_CRYP_Init()
321 hcryp->Lock = HAL_UNLOCKED; in HAL_CRYP_Init()
324 HAL_CRYP_MspInit(hcryp); in HAL_CRYP_Init()
329 hcryp->State = HAL_CRYP_STATE_BUSY; in HAL_CRYP_Init()
332 __HAL_CRYP_DISABLE(hcryp); in HAL_CRYP_Init()
338 MODIFY_REG(hcryp->Instance->CR, AES_CR_KEYSIZE, hcryp->Init.KeySize); in HAL_CRYP_Init()
342 hcryp->Phase = HAL_CRYP_PHASE_NOT_USED; in HAL_CRYP_Init()
350 if (hcryp->Init.OperatingMode == CRYP_ALGOMODE_KEYDERIVATION) in HAL_CRYP_Init()
352 MODIFY_REG(hcryp->Instance->CR, AES_CR_MODE, CRYP_ALGOMODE_KEYDERIVATION); in HAL_CRYP_Init()
355 if (CRYP_SetKey(hcryp) != HAL_OK) in HAL_CRYP_Init()
366 if (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_GCM_GMAC) in HAL_CRYP_Init()
368 …MODIFY_REG(hcryp->Instance->CR, AES_CR_DATATYPE|AES_CR_MODE|AES_CR_CHMOD, hcryp->Init.OperatingMod… in HAL_CRYP_Init()
373 …MODIFY_REG(hcryp->Instance->CR, AES_CR_DATATYPE|AES_CR_MODE|AES_CR_CHMOD, hcryp->Init.DataType|hcr… in HAL_CRYP_Init()
381 if ((hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_GCM_GMAC) in HAL_CRYP_Init()
382 || (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CCM)) in HAL_CRYP_Init()
384 if ((hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_GCM_GMAC) in HAL_CRYP_Init()
385 || (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CMAC)) in HAL_CRYP_Init()
388 MODIFY_REG(hcryp->Instance->CR, AES_CR_GCMPH, hcryp->Init.GCMCMACPhase); in HAL_CRYP_Init()
389 hcryp->Phase = HAL_CRYP_PHASE_START; in HAL_CRYP_Init()
394 if (hcryp->Init.KeyWriteFlag == CRYP_KEY_WRITE_ENABLE) in HAL_CRYP_Init()
396 if (CRYP_SetKey(hcryp) != HAL_OK) in HAL_CRYP_Init()
403 if (hcryp->Init.ChainingMode != CRYP_CHAINMODE_AES_ECB) in HAL_CRYP_Init()
405 if (CRYP_SetInitVector(hcryp) != HAL_OK) in HAL_CRYP_Init()
414 CLEAR_BIT(hcryp->Instance->CR, AES_CR_NPBLB); in HAL_CRYP_Init()
418 hcryp->CrypInCount = 0; in HAL_CRYP_Init()
419 hcryp->CrypOutCount = 0; in HAL_CRYP_Init()
422 hcryp->ErrorCode = HAL_CRYP_ERROR_NONE; in HAL_CRYP_Init()
425 hcryp->SuspendRequest = HAL_CRYP_SUSPEND_NONE; in HAL_CRYP_Init()
428 hcryp->State = HAL_CRYP_STATE_READY; in HAL_CRYP_Init()
431 __HAL_CRYP_ENABLE(hcryp); in HAL_CRYP_Init()
443 HAL_StatusTypeDef HAL_CRYP_DeInit(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_DeInit() argument
446 if(hcryp == NULL) in HAL_CRYP_DeInit()
452 hcryp->State = HAL_CRYP_STATE_BUSY; in HAL_CRYP_DeInit()
455 hcryp->Phase = HAL_CRYP_PHASE_READY; in HAL_CRYP_DeInit()
458 hcryp->CrypInCount = 0; in HAL_CRYP_DeInit()
459 hcryp->CrypOutCount = 0; in HAL_CRYP_DeInit()
462 __HAL_CRYP_DISABLE(hcryp); in HAL_CRYP_DeInit()
465 if(hcryp->MspDeInitCallback == NULL) in HAL_CRYP_DeInit()
467 hcryp->MspDeInitCallback = HAL_CRYP_MspDeInit; in HAL_CRYP_DeInit()
471 hcryp->MspDeInitCallback(hcryp); in HAL_CRYP_DeInit()
474 HAL_CRYP_MspDeInit(hcryp); in HAL_CRYP_DeInit()
478 hcryp->State = HAL_CRYP_STATE_RESET; in HAL_CRYP_DeInit()
481 __HAL_UNLOCK(hcryp); in HAL_CRYP_DeInit()
493 __weak void HAL_CRYP_MspInit(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_MspInit() argument
496 UNUSED(hcryp); in HAL_CRYP_MspInit()
509 __weak void HAL_CRYP_MspDeInit(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_MspDeInit() argument
512 UNUSED(hcryp); in HAL_CRYP_MspDeInit()
555 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t … in HAL_CRYP_AESECB_Encrypt() argument
558 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Encrypt()
562 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESECB_Encrypt()
563 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_ECB; in HAL_CRYP_AESECB_Encrypt()
564 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESECB_Encrypt()
565 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Encrypt()
570 return HAL_CRYPEx_AES(hcryp, pPlainData, Size, pCypherData, Timeout); in HAL_CRYP_AESECB_Encrypt()
586 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t … in HAL_CRYP_AESCBC_Encrypt() argument
589 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Encrypt()
593 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESCBC_Encrypt()
594 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CBC; in HAL_CRYP_AESCBC_Encrypt()
595 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCBC_Encrypt()
596 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Encrypt()
601 return HAL_CRYPEx_AES(hcryp, pPlainData, Size, pCypherData, Timeout); in HAL_CRYP_AESCBC_Encrypt()
617 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t … in HAL_CRYP_AESCTR_Encrypt() argument
620 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Encrypt()
624 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESCTR_Encrypt()
625 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CTR; in HAL_CRYP_AESCTR_Encrypt()
626 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCTR_Encrypt()
627 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Encrypt()
632 return HAL_CRYPEx_AES(hcryp, pPlainData, Size, pCypherData, Timeout); in HAL_CRYP_AESCTR_Encrypt()
648 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t… in HAL_CRYP_AESECB_Decrypt() argument
651 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Decrypt()
655 hcryp->Init.OperatingMode = CRYP_ALGOMODE_KEYDERIVATION_DECRYPT; in HAL_CRYP_AESECB_Decrypt()
656 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_ECB; in HAL_CRYP_AESECB_Decrypt()
657 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESECB_Decrypt()
658 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Decrypt()
663 return HAL_CRYPEx_AES(hcryp, pCypherData, Size, pPlainData, Timeout); in HAL_CRYP_AESECB_Decrypt()
679 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t… in HAL_CRYP_AESCBC_Decrypt() argument
682 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Decrypt()
686 hcryp->Init.OperatingMode = CRYP_ALGOMODE_KEYDERIVATION_DECRYPT; in HAL_CRYP_AESCBC_Decrypt()
687 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CBC; in HAL_CRYP_AESCBC_Decrypt()
688 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCBC_Decrypt()
689 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Decrypt()
694 return HAL_CRYPEx_AES(hcryp, pCypherData, Size, pPlainData, Timeout); in HAL_CRYP_AESCBC_Decrypt()
710 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t… in HAL_CRYP_AESCTR_Decrypt() argument
713 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Decrypt()
717 hcryp->Init.OperatingMode = CRYP_ALGOMODE_DECRYPT; in HAL_CRYP_AESCTR_Decrypt()
718 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CTR; in HAL_CRYP_AESCTR_Decrypt()
719 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCTR_Decrypt()
720 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Decrypt()
725 return HAL_CRYPEx_AES(hcryp, pCypherData, Size, pPlainData, Timeout); in HAL_CRYP_AESCTR_Decrypt()
740 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16… in HAL_CRYP_AESECB_Encrypt_IT() argument
743 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Encrypt_IT()
747 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESECB_Encrypt_IT()
748 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_ECB; in HAL_CRYP_AESECB_Encrypt_IT()
749 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESECB_Encrypt_IT()
750 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Encrypt_IT()
755 return HAL_CRYPEx_AES_IT(hcryp, pPlainData, Size, pCypherData); in HAL_CRYP_AESECB_Encrypt_IT()
770 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16… in HAL_CRYP_AESCBC_Encrypt_IT() argument
773 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Encrypt_IT()
777 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESCBC_Encrypt_IT()
778 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CBC; in HAL_CRYP_AESCBC_Encrypt_IT()
779 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCBC_Encrypt_IT()
780 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Encrypt_IT()
785 return HAL_CRYPEx_AES_IT(hcryp, pPlainData, Size, pCypherData); in HAL_CRYP_AESCBC_Encrypt_IT()
801 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16… in HAL_CRYP_AESCTR_Encrypt_IT() argument
804 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Encrypt_IT()
808 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESCTR_Encrypt_IT()
809 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CTR; in HAL_CRYP_AESCTR_Encrypt_IT()
810 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCTR_Encrypt_IT()
811 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Encrypt_IT()
816 return HAL_CRYPEx_AES_IT(hcryp, pPlainData, Size, pCypherData); in HAL_CRYP_AESCTR_Encrypt_IT()
831 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint1… in HAL_CRYP_AESECB_Decrypt_IT() argument
834 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Decrypt_IT()
838 hcryp->Init.OperatingMode = CRYP_ALGOMODE_KEYDERIVATION_DECRYPT; in HAL_CRYP_AESECB_Decrypt_IT()
839 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_ECB; in HAL_CRYP_AESECB_Decrypt_IT()
840 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESECB_Decrypt_IT()
841 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Decrypt_IT()
846 return HAL_CRYPEx_AES_IT(hcryp, pCypherData, Size, pPlainData); in HAL_CRYP_AESECB_Decrypt_IT()
861 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint1… in HAL_CRYP_AESCBC_Decrypt_IT() argument
864 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Decrypt_IT()
868 hcryp->Init.OperatingMode = CRYP_ALGOMODE_KEYDERIVATION_DECRYPT; in HAL_CRYP_AESCBC_Decrypt_IT()
869 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CBC; in HAL_CRYP_AESCBC_Decrypt_IT()
870 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCBC_Decrypt_IT()
871 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Decrypt_IT()
876 return HAL_CRYPEx_AES_IT(hcryp, pCypherData, Size, pPlainData); in HAL_CRYP_AESCBC_Decrypt_IT()
891 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint1… in HAL_CRYP_AESCTR_Decrypt_IT() argument
894 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Decrypt_IT()
898 hcryp->Init.OperatingMode = CRYP_ALGOMODE_DECRYPT; in HAL_CRYP_AESCTR_Decrypt_IT()
899 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CTR; in HAL_CRYP_AESCTR_Decrypt_IT()
900 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCTR_Decrypt_IT()
901 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Decrypt_IT()
906 return HAL_CRYPEx_AES_IT(hcryp, pCypherData, Size, pPlainData); in HAL_CRYP_AESCTR_Decrypt_IT()
922 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint1… in HAL_CRYP_AESECB_Encrypt_DMA() argument
925 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Encrypt_DMA()
929 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESECB_Encrypt_DMA()
930 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_ECB; in HAL_CRYP_AESECB_Encrypt_DMA()
931 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESECB_Encrypt_DMA()
932 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Encrypt_DMA()
937 return HAL_CRYPEx_AES_DMA(hcryp, pPlainData, Size, pCypherData); in HAL_CRYP_AESECB_Encrypt_DMA()
955 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint1… in HAL_CRYP_AESCBC_Encrypt_DMA() argument
958 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Encrypt_DMA()
962 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESCBC_Encrypt_DMA()
963 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CBC; in HAL_CRYP_AESCBC_Encrypt_DMA()
964 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCBC_Encrypt_DMA()
965 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Encrypt_DMA()
970 return HAL_CRYPEx_AES_DMA(hcryp, pPlainData, Size, pCypherData); in HAL_CRYP_AESCBC_Encrypt_DMA()
986 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint1… in HAL_CRYP_AESCTR_Encrypt_DMA() argument
989 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Encrypt_DMA()
993 hcryp->Init.OperatingMode = CRYP_ALGOMODE_ENCRYPT; in HAL_CRYP_AESCTR_Encrypt_DMA()
994 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CTR; in HAL_CRYP_AESCTR_Encrypt_DMA()
995 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCTR_Encrypt_DMA()
996 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Encrypt_DMA()
1001 return HAL_CRYPEx_AES_DMA(hcryp, pPlainData, Size, pCypherData); in HAL_CRYP_AESCTR_Encrypt_DMA()
1017 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint… in HAL_CRYP_AESECB_Decrypt_DMA() argument
1020 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Decrypt_DMA()
1024 hcryp->Init.OperatingMode = CRYP_ALGOMODE_KEYDERIVATION_DECRYPT; in HAL_CRYP_AESECB_Decrypt_DMA()
1025 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_ECB; in HAL_CRYP_AESECB_Decrypt_DMA()
1026 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESECB_Decrypt_DMA()
1027 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESECB_Decrypt_DMA()
1032 return HAL_CRYPEx_AES_DMA(hcryp, pCypherData, Size, pPlainData); in HAL_CRYP_AESECB_Decrypt_DMA()
1048 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint… in HAL_CRYP_AESCBC_Decrypt_DMA() argument
1051 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Decrypt_DMA()
1055 hcryp->Init.OperatingMode = CRYP_ALGOMODE_KEYDERIVATION_DECRYPT; in HAL_CRYP_AESCBC_Decrypt_DMA()
1056 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CBC; in HAL_CRYP_AESCBC_Decrypt_DMA()
1057 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCBC_Decrypt_DMA()
1058 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCBC_Decrypt_DMA()
1063 return HAL_CRYPEx_AES_DMA(hcryp, pCypherData, Size, pPlainData); in HAL_CRYP_AESCBC_Decrypt_DMA()
1079 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint… in HAL_CRYP_AESCTR_Decrypt_DMA() argument
1082 if (HAL_CRYP_DeInit(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Decrypt_DMA()
1086 hcryp->Init.OperatingMode = CRYP_ALGOMODE_DECRYPT; in HAL_CRYP_AESCTR_Decrypt_DMA()
1087 hcryp->Init.ChainingMode = CRYP_CHAINMODE_AES_CTR; in HAL_CRYP_AESCTR_Decrypt_DMA()
1088 hcryp->Init.KeyWriteFlag = CRYP_KEY_WRITE_ENABLE; in HAL_CRYP_AESCTR_Decrypt_DMA()
1089 if (HAL_CRYP_Init(hcryp) != HAL_OK) in HAL_CRYP_AESCTR_Decrypt_DMA()
1094 return HAL_CRYPEx_AES_DMA(hcryp, pCypherData, Size, pPlainData); in HAL_CRYP_AESCTR_Decrypt_DMA()
1124 __weak void HAL_CRYP_ErrorCallback(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_ErrorCallback() argument
1127 UNUSED(hcryp); in HAL_CRYP_ErrorCallback()
1140 __weak void HAL_CRYP_InCpltCallback(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_InCpltCallback() argument
1143 UNUSED(hcryp); in HAL_CRYP_InCpltCallback()
1156 __weak void HAL_CRYP_OutCpltCallback(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_OutCpltCallback() argument
1159 UNUSED(hcryp); in HAL_CRYP_OutCpltCallback()
1182 HAL_StatusTypeDef HAL_CRYP_RegisterCallback(CRYP_HandleTypeDef *hcryp, HAL_CRYP_CallbackIDTypeDef C… in HAL_CRYP_RegisterCallback() argument
1189 hcryp->ErrorCode |= HAL_CRYP_ERROR_INVALID_CALLBACK; in HAL_CRYP_RegisterCallback()
1193 __HAL_LOCK(hcryp); in HAL_CRYP_RegisterCallback()
1195 if(HAL_CRYP_STATE_READY == hcryp->State) in HAL_CRYP_RegisterCallback()
1200 hcryp->InCpltCallback = pCallback; in HAL_CRYP_RegisterCallback()
1204 hcryp->OutCpltCallback = pCallback; in HAL_CRYP_RegisterCallback()
1208 hcryp->CompCpltCallback = pCallback; in HAL_CRYP_RegisterCallback()
1212 hcryp->ErrorCallback = pCallback; in HAL_CRYP_RegisterCallback()
1216 hcryp->MspInitCallback = pCallback; in HAL_CRYP_RegisterCallback()
1220 hcryp->MspDeInitCallback = pCallback; in HAL_CRYP_RegisterCallback()
1225 hcryp->ErrorCode |= HAL_CRYP_ERROR_INVALID_CALLBACK; in HAL_CRYP_RegisterCallback()
1231 else if(HAL_CRYP_STATE_RESET == hcryp->State) in HAL_CRYP_RegisterCallback()
1236 hcryp->MspInitCallback = pCallback; in HAL_CRYP_RegisterCallback()
1240 hcryp->MspDeInitCallback = pCallback; in HAL_CRYP_RegisterCallback()
1245 hcryp->ErrorCode |= HAL_CRYP_ERROR_INVALID_CALLBACK; in HAL_CRYP_RegisterCallback()
1254 hcryp->ErrorCode |= HAL_CRYP_ERROR_INVALID_CALLBACK; in HAL_CRYP_RegisterCallback()
1260 __HAL_UNLOCK(hcryp); in HAL_CRYP_RegisterCallback()
1278 HAL_StatusTypeDef HAL_CRYP_UnRegisterCallback(CRYP_HandleTypeDef *hcryp, HAL_CRYP_CallbackIDTypeDef… in HAL_CRYP_UnRegisterCallback() argument
1283 __HAL_LOCK(hcryp); in HAL_CRYP_UnRegisterCallback()
1285 if(HAL_CRYP_STATE_READY == hcryp->State) in HAL_CRYP_UnRegisterCallback()
1290 …hcryp->InCpltCallback = HAL_CRYP_InCpltCallback; /* Legacy weak (surcharged) input DM… in HAL_CRYP_UnRegisterCallback()
1294 …hcryp->OutCpltCallback = HAL_CRYP_OutCpltCallback; /* Legacy weak (surcharged) output D… in HAL_CRYP_UnRegisterCallback()
1298 …hcryp->CompCpltCallback = HAL_CRYPEx_ComputationCpltCallback; /* Legacy weak (surcharged) computat… in HAL_CRYP_UnRegisterCallback()
1302 …hcryp->ErrorCallback = HAL_CRYP_ErrorCallback; /* Legacy weak (surcharged) error ca… in HAL_CRYP_UnRegisterCallback()
1306 …hcryp->MspInitCallback = HAL_CRYP_MspInit; /* Legacy weak (surcharged) Msp DeIn… in HAL_CRYP_UnRegisterCallback()
1310 …hcryp->MspDeInitCallback = HAL_CRYP_MspDeInit; /* Legacy weak (surcharged) Msp DeIn… in HAL_CRYP_UnRegisterCallback()
1315 hcryp->ErrorCode |= HAL_CRYP_ERROR_INVALID_CALLBACK; in HAL_CRYP_UnRegisterCallback()
1321 else if(HAL_CRYP_STATE_RESET == hcryp->State) in HAL_CRYP_UnRegisterCallback()
1326 hcryp->MspInitCallback = HAL_CRYP_MspInit; /* Legacy weak (surcharged) Msp Init */ in HAL_CRYP_UnRegisterCallback()
1330 hcryp->MspDeInitCallback = HAL_CRYP_MspDeInit; /* Legacy weak (surcharged) Msp DeInit */ in HAL_CRYP_UnRegisterCallback()
1335 hcryp->ErrorCode |= HAL_CRYP_ERROR_INVALID_CALLBACK; in HAL_CRYP_UnRegisterCallback()
1344 hcryp->ErrorCode |= HAL_CRYP_ERROR_INVALID_CALLBACK; in HAL_CRYP_UnRegisterCallback()
1350 __HAL_UNLOCK(hcryp); in HAL_CRYP_UnRegisterCallback()
1378 void HAL_CRYP_IRQHandler(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_IRQHandler() argument
1381 if (__HAL_CRYP_GET_IT_SOURCE(hcryp, CRYP_IT_ERRIE) != RESET) in HAL_CRYP_IRQHandler()
1384 if (__HAL_CRYP_GET_FLAG(hcryp, CRYP_IT_WRERR) != RESET) in HAL_CRYP_IRQHandler()
1386 hcryp->ErrorCode |= HAL_CRYP_WRITE_ERROR; in HAL_CRYP_IRQHandler()
1387 hcryp->State = HAL_CRYP_STATE_ERROR; in HAL_CRYP_IRQHandler()
1390 if (__HAL_CRYP_GET_FLAG(hcryp, CRYP_IT_RDERR) != RESET) in HAL_CRYP_IRQHandler()
1392 hcryp->ErrorCode |= HAL_CRYP_READ_ERROR; in HAL_CRYP_IRQHandler()
1393 hcryp->State = HAL_CRYP_STATE_ERROR; in HAL_CRYP_IRQHandler()
1397 if (hcryp->State == HAL_CRYP_STATE_ERROR) in HAL_CRYP_IRQHandler()
1400 __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_CCFIE|CRYP_IT_ERRIE); in HAL_CRYP_IRQHandler()
1402 __HAL_CRYP_CLEAR_FLAG(hcryp, CRYP_ERR_CLEAR|CRYP_CCF_CLEAR); in HAL_CRYP_IRQHandler()
1405 __HAL_UNLOCK(hcryp); in HAL_CRYP_IRQHandler()
1408 hcryp->ErrorCallback(hcryp); in HAL_CRYP_IRQHandler()
1410 HAL_CRYP_ErrorCallback(hcryp); in HAL_CRYP_IRQHandler()
1420 if (__HAL_CRYP_GET_FLAG(hcryp, CRYP_IT_CCF) != RESET) in HAL_CRYP_IRQHandler()
1422 if (__HAL_CRYP_GET_IT_SOURCE(hcryp, CRYP_IT_CCFIE) != RESET) in HAL_CRYP_IRQHandler()
1425 if ((hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_GCM_GMAC) in HAL_CRYP_IRQHandler()
1426 || (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CCM)) in HAL_CRYP_IRQHandler()
1428 if ((hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_GCM_GMAC) in HAL_CRYP_IRQHandler()
1429 || (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CMAC)) in HAL_CRYP_IRQHandler()
1435 if (CRYP_AES_Auth_IT(hcryp) != HAL_OK) in HAL_CRYP_IRQHandler()
1438 hcryp->ErrorCallback(hcryp); in HAL_CRYP_IRQHandler()
1440 HAL_CRYP_ErrorCallback(hcryp); in HAL_CRYP_IRQHandler()
1447 __HAL_CRYP_CLEAR_FLAG(hcryp, CRYP_CCF_CLEAR); in HAL_CRYP_IRQHandler()
1448 if (CRYP_AES_IT(hcryp) != HAL_OK) in HAL_CRYP_IRQHandler()
1451 hcryp->ErrorCallback(hcryp); in HAL_CRYP_IRQHandler()
1453 HAL_CRYP_ErrorCallback(hcryp); in HAL_CRYP_IRQHandler()
1485 HAL_CRYP_STATETypeDef HAL_CRYP_GetState(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_GetState() argument
1488 return hcryp->State; in HAL_CRYP_GetState()
1498 uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp) in HAL_CRYP_GetError() argument
1500 return hcryp->ErrorCode; in HAL_CRYP_GetError()
1522 static HAL_StatusTypeDef CRYP_SetKey(CRYP_HandleTypeDef *hcryp) in CRYP_SetKey() argument
1526 if (hcryp->Init.pKey == NULL) in CRYP_SetKey()
1532 keyaddr = (uint32_t)(hcryp->Init.pKey); in CRYP_SetKey()
1534 if (hcryp->Init.KeySize == CRYP_KEYSIZE_256B) in CRYP_SetKey()
1536 hcryp->Instance->KEYR7 = __REV(*(uint32_t*)(keyaddr)); in CRYP_SetKey()
1538 hcryp->Instance->KEYR6 = __REV(*(uint32_t*)(keyaddr)); in CRYP_SetKey()
1540 hcryp->Instance->KEYR5 = __REV(*(uint32_t*)(keyaddr)); in CRYP_SetKey()
1542 hcryp->Instance->KEYR4 = __REV(*(uint32_t*)(keyaddr)); in CRYP_SetKey()
1546 hcryp->Instance->KEYR3 = __REV(*(uint32_t*)(keyaddr)); in CRYP_SetKey()
1548 hcryp->Instance->KEYR2 = __REV(*(uint32_t*)(keyaddr)); in CRYP_SetKey()
1550 hcryp->Instance->KEYR1 = __REV(*(uint32_t*)(keyaddr)); in CRYP_SetKey()
1552 hcryp->Instance->KEYR0 = __REV(*(uint32_t*)(keyaddr)); in CRYP_SetKey()
1563 static HAL_StatusTypeDef CRYP_SetInitVector(CRYP_HandleTypeDef *hcryp) in CRYP_SetInitVector() argument
1568 if (hcryp->Init.ChainingMode == CRYP_CHAINMODE_AES_CMAC) in CRYP_SetInitVector()
1570 hcryp->Instance->IVR3 = 0; in CRYP_SetInitVector()
1571 hcryp->Instance->IVR2 = 0; in CRYP_SetInitVector()
1572 hcryp->Instance->IVR1 = 0; in CRYP_SetInitVector()
1573 hcryp->Instance->IVR0 = 0; in CRYP_SetInitVector()
1578 if (hcryp->Init.pInitVect == NULL) in CRYP_SetInitVector()
1583 ivaddr = (uint32_t)(hcryp->Init.pInitVect); in CRYP_SetInitVector()
1585 hcryp->Instance->IVR3 = __REV(*(uint32_t*)(ivaddr)); in CRYP_SetInitVector()
1587 hcryp->Instance->IVR2 = __REV(*(uint32_t*)(ivaddr)); in CRYP_SetInitVector()
1589 hcryp->Instance->IVR1 = __REV(*(uint32_t*)(ivaddr)); in CRYP_SetInitVector()
1591 hcryp->Instance->IVR0 = __REV(*(uint32_t*)(ivaddr)); in CRYP_SetInitVector()
1606 static HAL_StatusTypeDef CRYP_AES_IT(CRYP_HandleTypeDef *hcryp) in CRYP_AES_IT() argument
1609 uint32_t outputaddr = (uint32_t)hcryp->pCrypOutBuffPtr; in CRYP_AES_IT()
1611 if(hcryp->State == HAL_CRYP_STATE_BUSY) in CRYP_AES_IT()
1613 if (hcryp->Init.OperatingMode != CRYP_ALGOMODE_KEYDERIVATION) in CRYP_AES_IT()
1616 *(uint32_t*)(outputaddr) = hcryp->Instance->DOUTR; in CRYP_AES_IT()
1618 *(uint32_t*)(outputaddr) = hcryp->Instance->DOUTR; in CRYP_AES_IT()
1620 *(uint32_t*)(outputaddr) = hcryp->Instance->DOUTR; in CRYP_AES_IT()
1622 *(uint32_t*)(outputaddr) = hcryp->Instance->DOUTR; in CRYP_AES_IT()
1623 hcryp->pCrypOutBuffPtr += 16; in CRYP_AES_IT()
1624 hcryp->CrypOutCount -= 16U; in CRYP_AES_IT()
1630 if (hcryp->Init.KeySize == CRYP_KEYSIZE_256B) in CRYP_AES_IT()
1632 *(uint32_t*)(outputaddr) = __REV(hcryp->Instance->KEYR7); in CRYP_AES_IT()
1634 *(uint32_t*)(outputaddr) = __REV(hcryp->Instance->KEYR6); in CRYP_AES_IT()
1636 *(uint32_t*)(outputaddr) = __REV(hcryp->Instance->KEYR5); in CRYP_AES_IT()
1638 *(uint32_t*)(outputaddr) = __REV(hcryp->Instance->KEYR4); in CRYP_AES_IT()
1642 *(uint32_t*)(outputaddr) = __REV(hcryp->Instance->KEYR3); in CRYP_AES_IT()
1644 *(uint32_t*)(outputaddr) = __REV(hcryp->Instance->KEYR2); in CRYP_AES_IT()
1646 *(uint32_t*)(outputaddr) = __REV(hcryp->Instance->KEYR1); in CRYP_AES_IT()
1648 *(uint32_t*)(outputaddr) = __REV(hcryp->Instance->KEYR0); in CRYP_AES_IT()
1653 if ((hcryp->CrypOutCount == 0U) || (hcryp->Init.OperatingMode == CRYP_ALGOMODE_KEYDERIVATION)) in CRYP_AES_IT()
1656 __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_CCFIE|CRYP_IT_ERRIE); in CRYP_AES_IT()
1658 hcryp->State = HAL_CRYP_STATE_READY; in CRYP_AES_IT()
1661 __HAL_UNLOCK(hcryp); in CRYP_AES_IT()
1665 hcryp->CompCpltCallback(hcryp); in CRYP_AES_IT()
1667 HAL_CRYPEx_ComputationCpltCallback(hcryp); in CRYP_AES_IT()
1673 else if (hcryp->SuspendRequest == HAL_CRYP_SUSPEND) in CRYP_AES_IT()
1676 hcryp->SuspendRequest = HAL_CRYP_SUSPEND_NONE; in CRYP_AES_IT()
1679 __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_CCFIE|CRYP_IT_ERRIE); in CRYP_AES_IT()
1681 hcryp->State = HAL_CRYP_STATE_SUSPENDED; in CRYP_AES_IT()
1684 __HAL_UNLOCK(hcryp); in CRYP_AES_IT()
1691 inputaddr = (uint32_t)hcryp->pCrypInBuffPtr; in CRYP_AES_IT()
1694 hcryp->pCrypInBuffPtr += 16; in CRYP_AES_IT()
1695 hcryp->CrypInCount -= 16U; in CRYP_AES_IT()
1698 hcryp->Instance->DINR = *(uint32_t*)(inputaddr); in CRYP_AES_IT()
1700 hcryp->Instance->DINR = *(uint32_t*)(inputaddr); in CRYP_AES_IT()
1702 hcryp->Instance->DINR = *(uint32_t*)(inputaddr); in CRYP_AES_IT()
1704 hcryp->Instance->DINR = *(uint32_t*)(inputaddr); in CRYP_AES_IT()