STM32L443xx HAL User Manual
|
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 */