STM32L443xx HAL User Manual
stm32l4xx_ll_pka.h
Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32l4xx_ll_pka.h
00004   * @author  MCD Application Team
00005   * @brief   Header file of PKA LL module.
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * Copyright (c) 2017 STMicroelectronics.
00010   * All rights reserved.
00011   *
00012   * This software is licensed under terms that can be found in the LICENSE file
00013   * in the root directory of this software component.
00014   * If no LICENSE file comes with this software, it is provided AS-IS.
00015   *
00016   ******************************************************************************
00017   */
00018 
00019 /* Define to prevent recursive inclusion -------------------------------------*/
00020 #ifndef STM32L4xx_LL_PKA_H
00021 #define STM32L4xx_LL_PKA_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 /* Includes ------------------------------------------------------------------*/
00028 #include "stm32l4xx.h"
00029 
00030 /** @addtogroup STM32L4xx_LL_Driver
00031   * @{
00032   */
00033 
00034 #if defined(PKA)
00035 
00036 /** @defgroup PKA_LL PKA
00037   * @{
00038   */
00039 
00040 /* Private variables ---------------------------------------------------------*/
00041 
00042 /* Exported types ------------------------------------------------------------*/
00043 #if defined(USE_FULL_LL_DRIVER)
00044 /** @defgroup PKA_LL_ES_INIT PKA Exported Init structure
00045   * @{
00046   */
00047 
00048 /**
00049   * @brief  PKA Init structures definition
00050   */
00051 typedef struct
00052 {
00053   uint32_t Mode;          /*!< Specifies the PKA operation mode.
00054                                This parameter can be a value of @ref PKA_LL_EC_MODE.
00055 
00056                                This feature can be modified afterwards using unitary function @ref LL_PKA_SetMode(). */
00057 } LL_PKA_InitTypeDef;
00058 
00059 /**
00060   * @}
00061   */
00062 #endif /* USE_FULL_LL_DRIVER */
00063 
00064 /* Exported constants --------------------------------------------------------*/
00065 /** @defgroup PKA_LL_Exported_Constants PKA Exported Constants
00066   * @{
00067   */
00068 
00069 /** @defgroup PKA_LL_EC_GET_FLAG Get Flags Defines
00070   * @brief    Flags defines which can be used with LL_PKA_ReadReg function
00071   * @{
00072   */
00073 #define LL_PKA_SR_ADDRERRF                 PKA_SR_ADDRERRF
00074 #define LL_PKA_SR_RAMERRF                  PKA_SR_RAMERRF
00075 #define LL_PKA_SR_PROCENDF                 PKA_SR_PROCENDF
00076 #define LL_PKA_SR_BUSY                     PKA_SR_BUSY
00077 /**
00078   * @}
00079   */
00080 
00081 /** @defgroup PKA_LL_EC_IT IT Defines
00082   * @brief    IT defines which can be used with LL_PKA_ReadReg and  LL_PKA_WriteReg functions
00083   * @{
00084   */
00085 #define LL_PKA_CR_ADDRERRIE                PKA_CR_ADDRERRIE
00086 #define LL_PKA_CR_RAMERRIE                 PKA_CR_RAMERRIE
00087 #define LL_PKA_CR_PROCENDIE                PKA_CR_PROCENDIE
00088 #define LL_PKA_CLRFR_PROCENDFC             PKA_CLRFR_PROCENDFC
00089 #define LL_PKA_CLRFR_RAMERRFC              PKA_CLRFR_RAMERRFC
00090 #define LL_PKA_CLRFR_ADDRERRFC             PKA_CLRFR_ADDRERRFC
00091 /**
00092   * @}
00093   */
00094 
00095 /** @defgroup PKA_LL_EC_MODE Operation Mode
00096   * @brief    List of operation mode.
00097   * @{
00098   */
00099 #define LL_PKA_MODE_MONTGOMERY_PARAM_MOD_EXP ((uint32_t)0x00000000U) /*!< Compute Montgomery parameter and modular exponentiation */
00100 #define LL_PKA_MODE_MONTGOMERY_PARAM         ((uint32_t)0x00000001U) /*!< Compute Montgomery parameter only */
00101 #define LL_PKA_MODE_MODULAR_EXP              ((uint32_t)0x00000002U) /*!< Compute modular exponentiation only (Montgomery parameter should be loaded) */
00102 #define LL_PKA_MODE_MONTGOMERY_PARAM_ECC     ((uint32_t)0x00000020U) /*!< Compute Montgomery parameter and compute ECC kP operation */
00103 #define LL_PKA_MODE_ECC_KP_PRIMITIVE         ((uint32_t)0x00000022U) /*!< Compute the ECC kP primitive only (Montgomery parameter should be loaded) */
00104 #define LL_PKA_MODE_ECDSA_SIGNATURE          ((uint32_t)0x00000024U) /*!< ECDSA signature */
00105 #define LL_PKA_MODE_ECDSA_VERIFICATION       ((uint32_t)0x00000026U) /*!< ECDSA verification */
00106 #define LL_PKA_MODE_POINT_CHECK              ((uint32_t)0x00000028U) /*!< Point check */
00107 #define LL_PKA_MODE_RSA_CRT_EXP              ((uint32_t)0x00000007U) /*!< RSA CRT exponentiation */
00108 #define LL_PKA_MODE_MODULAR_INV              ((uint32_t)0x00000008U) /*!< Modular inversion */
00109 #define LL_PKA_MODE_ARITHMETIC_ADD           ((uint32_t)0x00000009U) /*!< Arithmetic addition */
00110 #define LL_PKA_MODE_ARITHMETIC_SUB           ((uint32_t)0x0000000AU) /*!< Arithmetic subtraction */
00111 #define LL_PKA_MODE_ARITHMETIC_MUL           ((uint32_t)0x0000000BU) /*!< Arithmetic multiplication */
00112 #define LL_PKA_MODE_COMPARISON               ((uint32_t)0x0000000CU) /*!< Comparison */
00113 #define LL_PKA_MODE_MODULAR_REDUC            ((uint32_t)0x0000000DU) /*!< Modular reduction */
00114 #define LL_PKA_MODE_MODULAR_ADD              ((uint32_t)0x0000000EU) /*!< Modular addition */
00115 #define LL_PKA_MODE_MODULAR_SUB              ((uint32_t)0x0000000FU) /*!< Modular subtraction */
00116 #define LL_PKA_MODE_MONTGOMERY_MUL           ((uint32_t)0x00000010U) /*!< Montgomery multiplication */
00117 
00118 /**
00119   * @}
00120   */
00121 
00122 /**
00123   * @}
00124   */
00125 
00126 /* Exported macro ------------------------------------------------------------*/
00127 /** @defgroup PKA_LL_Exported_Macros PKA Exported Macros
00128   * @{
00129   */
00130 
00131 /** @defgroup PKA_LL_EM_WRITE_READ Common Write and read registers Macros
00132   * @{
00133   */
00134 
00135 /**
00136   * @brief  Write a value in PKA register
00137   * @param  __INSTANCE__ PKA Instance
00138   * @param  __REG__ Register to be written
00139   * @param  __VALUE__ Value to be written in the register
00140   * @retval None
00141   */
00142 #define LL_PKA_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
00143 
00144 /**
00145   * @brief  Read a value in PKA register
00146   * @param  __INSTANCE__ PKA Instance
00147   * @param  __REG__ Register to be read
00148   * @retval Register value
00149   */
00150 #define LL_PKA_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
00151 /**
00152   * @}
00153   */
00154 
00155 /**
00156   * @}
00157   */
00158 
00159 /* Exported functions --------------------------------------------------------*/
00160 /** @defgroup PKA_LL_Exported_Functions PKA Exported Functions
00161   * @{
00162   */
00163 
00164 /** @defgroup PKA_LL_EF_Configuration Configuration
00165   * @{
00166   */
00167 
00168 /**
00169   * @brief  Configure PKA peripheral.
00170   * @brief  Set PKA operating mode.
00171   * @rmtoll CR           MODE          LL_PKA_Config
00172   * @param  PKAx PKA Instance.
00173   * @param  Mode This parameter can be one of the following values:
00174   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM_MOD_EXP
00175   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM_ECC
00176   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM
00177   *         @arg @ref LL_PKA_MODE_MODULAR_EXP
00178   *         @arg @ref LL_PKA_MODE_ECC_KP_PRIMITIVE
00179   *         @arg @ref LL_PKA_MODE_ECDSA_SIGNATURE
00180   *         @arg @ref LL_PKA_MODE_ECDSA_VERIFICATION
00181   *         @arg @ref LL_PKA_MODE_POINT_CHECK
00182   *         @arg @ref LL_PKA_MODE_RSA_CRT_EXP
00183   *         @arg @ref LL_PKA_MODE_MODULAR_INV
00184   *         @arg @ref LL_PKA_MODE_ARITHMETIC_ADD
00185   *         @arg @ref LL_PKA_MODE_ARITHMETIC_SUB
00186   *         @arg @ref LL_PKA_MODE_ARITHMETIC_MUL
00187   *         @arg @ref LL_PKA_MODE_COMPARISON
00188   *         @arg @ref LL_PKA_MODE_MODULAR_REDUC
00189   *         @arg @ref LL_PKA_MODE_MODULAR_ADD
00190   *         @arg @ref LL_PKA_MODE_MODULAR_SUB
00191   *         @arg @ref LL_PKA_MODE_MONTGOMERY_MUL
00192   */
00193 __STATIC_INLINE void LL_PKA_Config(PKA_TypeDef *PKAx, uint32_t Mode)
00194 {
00195   MODIFY_REG(PKAx->CR, (PKA_CR_MODE), (Mode << PKA_CR_MODE_Pos));
00196 }
00197 
00198 /**
00199   * @brief  Enable PKA peripheral.
00200   * @rmtoll CR           EN            LL_PKA_Enable
00201   * @param  PKAx PKA Instance.
00202   * @retval None
00203   */
00204 __STATIC_INLINE void LL_PKA_Enable(PKA_TypeDef *PKAx)
00205 {
00206   SET_BIT(PKAx->CR, PKA_CR_EN);
00207 }
00208 
00209 /**
00210   * @brief  Disable PKA peripheral.
00211   * @rmtoll CR           EN            LL_PKA_Disable
00212   * @param  PKAx PKA Instance.
00213   * @retval None
00214   */
00215 __STATIC_INLINE void LL_PKA_Disable(PKA_TypeDef *PKAx)
00216 {
00217   CLEAR_BIT(PKAx->CR, PKA_CR_EN);
00218 }
00219 
00220 /**
00221   * @brief  Check if the PKA peripheral is enabled or disabled.
00222   * @rmtoll CR           EN            LL_PKA_IsEnabled
00223   * @param  PKAx PKA Instance.
00224   * @retval State of bit (1 or 0).
00225   */
00226 __STATIC_INLINE uint32_t LL_PKA_IsEnabled(PKA_TypeDef *PKAx)
00227 {
00228   return ((READ_BIT(PKAx->CR, PKA_CR_EN) == (PKA_CR_EN)) ? 1UL : 0UL);
00229 }
00230 
00231 /**
00232   * @brief  Set PKA operating mode.
00233   * @rmtoll CR           MODE          LL_PKA_SetMode
00234   * @param  PKAx PKA Instance.
00235   * @param  Mode This parameter can be one of the following values:
00236   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM_MOD_EXP
00237   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM_ECC
00238   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM
00239   *         @arg @ref LL_PKA_MODE_MODULAR_EXP
00240   *         @arg @ref LL_PKA_MODE_ECC_KP_PRIMITIVE
00241   *         @arg @ref LL_PKA_MODE_ECDSA_SIGNATURE
00242   *         @arg @ref LL_PKA_MODE_ECDSA_VERIFICATION
00243   *         @arg @ref LL_PKA_MODE_POINT_CHECK
00244   *         @arg @ref LL_PKA_MODE_RSA_CRT_EXP
00245   *         @arg @ref LL_PKA_MODE_MODULAR_INV
00246   *         @arg @ref LL_PKA_MODE_ARITHMETIC_ADD
00247   *         @arg @ref LL_PKA_MODE_ARITHMETIC_SUB
00248   *         @arg @ref LL_PKA_MODE_ARITHMETIC_MUL
00249   *         @arg @ref LL_PKA_MODE_COMPARISON
00250   *         @arg @ref LL_PKA_MODE_MODULAR_REDUC
00251   *         @arg @ref LL_PKA_MODE_MODULAR_ADD
00252   *         @arg @ref LL_PKA_MODE_MODULAR_SUB
00253   *         @arg @ref LL_PKA_MODE_MONTGOMERY_MUL
00254   * @retval None
00255   */
00256 __STATIC_INLINE void LL_PKA_SetMode(PKA_TypeDef *PKAx, uint32_t Mode)
00257 {
00258   MODIFY_REG(PKAx->CR, PKA_CR_MODE, Mode << PKA_CR_MODE_Pos);
00259 }
00260 
00261 /**
00262   * @brief  Get PKA operating mode.
00263   * @rmtoll CR           MODE          LL_PKA_GetMode
00264   * @param  PKAx PKA Instance.
00265   * @retval Returned value can be one of the following values:
00266   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM_MOD_EXP
00267   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM_ECC
00268   *         @arg @ref LL_PKA_MODE_MONTGOMERY_PARAM
00269   *         @arg @ref LL_PKA_MODE_MODULAR_EXP
00270   *         @arg @ref LL_PKA_MODE_ECC_KP_PRIMITIVE
00271   *         @arg @ref LL_PKA_MODE_ECDSA_SIGNATURE
00272   *         @arg @ref LL_PKA_MODE_ECDSA_VERIFICATION
00273   *         @arg @ref LL_PKA_MODE_POINT_CHECK
00274   *         @arg @ref LL_PKA_MODE_RSA_CRT_EXP
00275   *         @arg @ref LL_PKA_MODE_MODULAR_INV
00276   *         @arg @ref LL_PKA_MODE_ARITHMETIC_ADD
00277   *         @arg @ref LL_PKA_MODE_ARITHMETIC_SUB
00278   *         @arg @ref LL_PKA_MODE_ARITHMETIC_MUL
00279   *         @arg @ref LL_PKA_MODE_COMPARISON
00280   *         @arg @ref LL_PKA_MODE_MODULAR_REDUC
00281   *         @arg @ref LL_PKA_MODE_MODULAR_ADD
00282   *         @arg @ref LL_PKA_MODE_MODULAR_SUB
00283   *         @arg @ref LL_PKA_MODE_MONTGOMERY_MUL
00284   */
00285 __STATIC_INLINE uint32_t LL_PKA_GetMode(PKA_TypeDef *PKAx)
00286 {
00287   return (uint32_t)(READ_BIT(PKAx->CR, PKA_CR_MODE) >> PKA_CR_MODE_Pos);
00288 }
00289 
00290 /**
00291   * @brief  Start the operation selected using LL_PKA_SetMode.
00292   * @rmtoll CR           START         LL_PKA_Start
00293   * @param  PKAx PKA Instance.
00294   * @retval None
00295   */
00296 __STATIC_INLINE void LL_PKA_Start(PKA_TypeDef *PKAx)
00297 {
00298   SET_BIT(PKAx->CR, PKA_CR_START);
00299 }
00300 
00301 /**
00302   * @}
00303   */
00304 
00305 /** @defgroup PKA_LL_EF_IT_Management IT_Management
00306   * @{
00307   */
00308 
00309 /**
00310   * @brief  Enable address error interrupt.
00311   * @rmtoll CR           ADDRERRIE     LL_PKA_EnableIT_ADDRERR
00312   * @param  PKAx PKA Instance.
00313   * @retval None
00314   */
00315 __STATIC_INLINE void LL_PKA_EnableIT_ADDRERR(PKA_TypeDef *PKAx)
00316 {
00317   SET_BIT(PKAx->CR, PKA_CR_ADDRERRIE);
00318 }
00319 
00320 /**
00321   * @brief  Enable RAM error interrupt.
00322   * @rmtoll CR           RAMERRIE      LL_PKA_EnableIT_RAMERR
00323   * @param  PKAx PKA Instance.
00324   * @retval None
00325   */
00326 __STATIC_INLINE void LL_PKA_EnableIT_RAMERR(PKA_TypeDef *PKAx)
00327 {
00328   SET_BIT(PKAx->CR, PKA_CR_RAMERRIE);
00329 }
00330 
00331 
00332 /**
00333   * @brief  Enable end of operation interrupt.
00334   * @rmtoll CR           PROCENDIE     LL_PKA_EnableIT_PROCEND
00335   * @param  PKAx PKA Instance.
00336   * @retval None
00337   */
00338 __STATIC_INLINE void LL_PKA_EnableIT_PROCEND(PKA_TypeDef *PKAx)
00339 {
00340   SET_BIT(PKAx->CR, PKA_CR_PROCENDIE);
00341 }
00342 
00343 /**
00344   * @brief  Disable address error interrupt.
00345   * @rmtoll CR           ADDRERRIE     LL_PKA_DisableIT_ADDERR
00346   * @param  PKAx PKA Instance.
00347   * @retval None
00348   */
00349 __STATIC_INLINE void LL_PKA_DisableIT_ADDERR(PKA_TypeDef *PKAx)
00350 {
00351   CLEAR_BIT(PKAx->CR, PKA_CR_ADDRERRIE);
00352 }
00353 
00354 /**
00355   * @brief  Disable RAM error interrupt.
00356   * @rmtoll CR           RAMERRIE      LL_PKA_DisableIT_RAMERR
00357   * @param  PKAx PKA Instance.
00358   * @retval None
00359   */
00360 __STATIC_INLINE void LL_PKA_DisableIT_RAMERR(PKA_TypeDef *PKAx)
00361 {
00362   CLEAR_BIT(PKAx->CR, PKA_CR_RAMERRIE);
00363 }
00364 
00365 /**
00366   * @brief  Disable End of operation interrupt.
00367   * @rmtoll CR           PROCENDIE     LL_PKA_DisableIT_PROCEND
00368   * @param  PKAx PKA Instance.
00369   * @retval None
00370   */
00371 __STATIC_INLINE void LL_PKA_DisableIT_PROCEND(PKA_TypeDef *PKAx)
00372 {
00373   CLEAR_BIT(PKAx->CR, PKA_CR_PROCENDIE);
00374 }
00375 
00376 /**
00377   * @brief  Check if address error interrupt is enabled.
00378   * @rmtoll CR           ADDRERRIE     LL_PKA_IsEnabledIT_ADDRERR
00379   * @param  PKAx PKA Instance.
00380   * @retval State of bit (1 or 0).
00381   */
00382 __STATIC_INLINE uint32_t LL_PKA_IsEnabledIT_ADDRERR(PKA_TypeDef *PKAx)
00383 {
00384   return ((READ_BIT(PKAx->CR, PKA_CR_ADDRERRIE) == (PKA_CR_ADDRERRIE)) ? 1UL : 0UL);
00385 }
00386 
00387 /**
00388   * @brief  Check if RAM error interrupt is enabled.
00389   * @rmtoll CR           RAMERRIE      LL_PKA_IsEnabledIT_RAMERR
00390   * @param  PKAx PKA Instance.
00391   * @retval State of bit (1 or 0).
00392   */
00393 __STATIC_INLINE uint32_t LL_PKA_IsEnabledIT_RAMERR(PKA_TypeDef *PKAx)
00394 {
00395   return ((READ_BIT(PKAx->CR, PKA_CR_RAMERRIE) == (PKA_CR_RAMERRIE)) ? 1UL : 0UL);
00396 }
00397 
00398 
00399 /**
00400   * @brief  Check if end of operation interrupt is enabled.
00401   * @rmtoll CR           PROCENDIE     LL_PKA_IsEnabledIT_PROCEND
00402   * @param  PKAx PKA Instance.
00403   * @retval State of bit (1 or 0).
00404   */
00405 __STATIC_INLINE uint32_t LL_PKA_IsEnabledIT_PROCEND(PKA_TypeDef *PKAx)
00406 {
00407   return ((READ_BIT(PKAx->CR, PKA_CR_PROCENDIE) == (PKA_CR_PROCENDIE)) ? 1UL : 0UL);
00408 }
00409 
00410 /**
00411   * @}
00412   */
00413 
00414 /** @defgroup PKA_LL_EF_FLAG_Management PKA flag management
00415   * @{
00416   */
00417 
00418 /**
00419   * @brief  Get PKA address error flag.
00420   * @rmtoll SR           ADDRERRF      LL_PKA_IsActiveFlag_ADDRERR
00421   * @param  PKAx PKA Instance.
00422   * @retval State of bit (1 or 0).
00423   */
00424 __STATIC_INLINE uint32_t LL_PKA_IsActiveFlag_ADDRERR(PKA_TypeDef *PKAx)
00425 {
00426   return ((READ_BIT(PKAx->SR, PKA_SR_ADDRERRF) == (PKA_SR_ADDRERRF)) ? 1UL : 0UL);
00427 }
00428 
00429 /**
00430   * @brief  Get PKA RAM error flag.
00431   * @rmtoll SR           RAMERRF       LL_PKA_IsActiveFlag_RAMERR
00432   * @param  PKAx PKA Instance.
00433   * @retval State of bit (1 or 0).
00434   */
00435 __STATIC_INLINE uint32_t LL_PKA_IsActiveFlag_RAMERR(PKA_TypeDef *PKAx)
00436 {
00437   return ((READ_BIT(PKAx->SR, PKA_SR_RAMERRF) == (PKA_SR_RAMERRF)) ? 1UL : 0UL);
00438 }
00439 
00440 
00441 /**
00442   * @brief  Get PKA end of operation flag.
00443   * @rmtoll SR           PROCENDF      LL_PKA_IsActiveFlag_PROCEND
00444   * @param  PKAx PKA Instance.
00445   * @retval State of bit (1 or 0).
00446   */
00447 __STATIC_INLINE uint32_t LL_PKA_IsActiveFlag_PROCEND(PKA_TypeDef *PKAx)
00448 {
00449   return ((READ_BIT(PKAx->SR, PKA_SR_PROCENDF) == (PKA_SR_PROCENDF)) ? 1UL : 0UL);
00450 }
00451 
00452 /**
00453   * @brief  Get PKA busy flag.
00454   * @rmtoll SR           BUSY          LL_PKA_IsActiveFlag_BUSY
00455   * @param  PKAx PKA Instance.
00456   * @retval State of bit (1 or 0).
00457   */
00458 __STATIC_INLINE uint32_t LL_PKA_IsActiveFlag_BUSY(PKA_TypeDef *PKAx)
00459 {
00460   return ((READ_BIT(PKAx->SR, PKA_SR_BUSY) == (PKA_SR_BUSY)) ? 1UL : 0UL);
00461 }
00462 
00463 /**
00464   * @brief  Clear PKA address error flag.
00465   * @rmtoll CLRFR        ADDRERRFC     LL_PKA_ClearFlag_ADDERR
00466   * @param  PKAx PKA Instance.
00467   * @retval None
00468   */
00469 __STATIC_INLINE void LL_PKA_ClearFlag_ADDERR(PKA_TypeDef *PKAx)
00470 {
00471   SET_BIT(PKAx->CLRFR, PKA_CLRFR_ADDRERRFC);
00472 }
00473 
00474 /**
00475   * @brief  Clear PKA RAM error flag.
00476   * @rmtoll CLRFR        RAMERRFC      LL_PKA_ClearFlag_RAMERR
00477   * @param  PKAx PKA Instance.
00478   * @retval None
00479   */
00480 __STATIC_INLINE void LL_PKA_ClearFlag_RAMERR(PKA_TypeDef *PKAx)
00481 {
00482   SET_BIT(PKAx->CLRFR, PKA_CLRFR_RAMERRFC);
00483 }
00484 
00485 
00486 /**
00487   * @brief  Clear PKA end of operation flag.
00488   * @rmtoll CLRFR        PROCENDFC     LL_PKA_ClearFlag_PROCEND
00489   * @param  PKAx PKA Instance.
00490   * @retval None
00491   */
00492 __STATIC_INLINE void LL_PKA_ClearFlag_PROCEND(PKA_TypeDef *PKAx)
00493 {
00494   SET_BIT(PKAx->CLRFR, PKA_CLRFR_PROCENDFC);
00495 }
00496 
00497 /**
00498   * @}
00499   */
00500 
00501 #if defined(USE_FULL_LL_DRIVER)
00502 
00503 /** @defgroup PKA_LL_EF_Init Initialization and de-initialization functions
00504   * @{
00505   */
00506 
00507 ErrorStatus LL_PKA_DeInit(PKA_TypeDef *PKAx);
00508 ErrorStatus LL_PKA_Init(PKA_TypeDef *PKAx, LL_PKA_InitTypeDef *PKA_InitStruct);
00509 void LL_PKA_StructInit(LL_PKA_InitTypeDef *PKA_InitStruct);
00510 
00511 /**
00512   * @}
00513   */
00514 
00515 #endif /* USE_FULL_LL_DRIVER */
00516 /**
00517   * @}
00518   */
00519 
00520 /**
00521   * @}
00522   */
00523 
00524 #endif /* defined(PKA) */
00525 
00526 /**
00527   * @}
00528   */
00529 
00530 #ifdef __cplusplus
00531 }
00532 #endif
00533 
00534 #endif /* STM32L4xx_LL_PKA_H */