mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 189:f392fc9709a3 1 /**
AnnaBridge 189:f392fc9709a3 2 ******************************************************************************
AnnaBridge 189:f392fc9709a3 3 * @file stm32l4xx_ll_rng.h
AnnaBridge 189:f392fc9709a3 4 * @author MCD Application Team
AnnaBridge 189:f392fc9709a3 5 * @brief Header file of RNG LL module.
AnnaBridge 189:f392fc9709a3 6 ******************************************************************************
AnnaBridge 189:f392fc9709a3 7 * @attention
AnnaBridge 189:f392fc9709a3 8 *
AnnaBridge 189:f392fc9709a3 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
AnnaBridge 189:f392fc9709a3 10 *
AnnaBridge 189:f392fc9709a3 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 189:f392fc9709a3 12 * are permitted provided that the following conditions are met:
AnnaBridge 189:f392fc9709a3 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 189:f392fc9709a3 14 * this list of conditions and the following disclaimer.
AnnaBridge 189:f392fc9709a3 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 189:f392fc9709a3 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 189:f392fc9709a3 17 * and/or other materials provided with the distribution.
AnnaBridge 189:f392fc9709a3 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 189:f392fc9709a3 19 * may be used to endorse or promote products derived from this software
AnnaBridge 189:f392fc9709a3 20 * without specific prior written permission.
AnnaBridge 189:f392fc9709a3 21 *
AnnaBridge 189:f392fc9709a3 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 189:f392fc9709a3 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 189:f392fc9709a3 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 189:f392fc9709a3 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 189:f392fc9709a3 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 189:f392fc9709a3 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 189:f392fc9709a3 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 189:f392fc9709a3 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 189:f392fc9709a3 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 189:f392fc9709a3 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 189:f392fc9709a3 32 *
AnnaBridge 189:f392fc9709a3 33 ******************************************************************************
AnnaBridge 189:f392fc9709a3 34 */
AnnaBridge 189:f392fc9709a3 35
AnnaBridge 189:f392fc9709a3 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 189:f392fc9709a3 37 #ifndef __STM32L4xx_LL_RNG_H
AnnaBridge 189:f392fc9709a3 38 #define __STM32L4xx_LL_RNG_H
AnnaBridge 189:f392fc9709a3 39
AnnaBridge 189:f392fc9709a3 40 #ifdef __cplusplus
AnnaBridge 189:f392fc9709a3 41 extern "C" {
AnnaBridge 189:f392fc9709a3 42 #endif
AnnaBridge 189:f392fc9709a3 43
AnnaBridge 189:f392fc9709a3 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 45 #include "stm32l4xx.h"
AnnaBridge 189:f392fc9709a3 46
AnnaBridge 189:f392fc9709a3 47 /** @addtogroup STM32L4xx_LL_Driver
AnnaBridge 189:f392fc9709a3 48 * @{
AnnaBridge 189:f392fc9709a3 49 */
AnnaBridge 189:f392fc9709a3 50
AnnaBridge 189:f392fc9709a3 51 #if defined(RNG)
AnnaBridge 189:f392fc9709a3 52
AnnaBridge 189:f392fc9709a3 53 /** @defgroup RNG_LL RNG
AnnaBridge 189:f392fc9709a3 54 * @{
AnnaBridge 189:f392fc9709a3 55 */
AnnaBridge 189:f392fc9709a3 56
AnnaBridge 189:f392fc9709a3 57 /* Private types -------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 58 /* Private variables ---------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 59 /* Private constants ---------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 60 /* Private macros ------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 61
AnnaBridge 189:f392fc9709a3 62 /* Exported types ------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 63 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 189:f392fc9709a3 64 /** @defgroup RNG_LL_ES_Init_Struct RNG Exported Init structures
AnnaBridge 189:f392fc9709a3 65 * @{
AnnaBridge 189:f392fc9709a3 66 */
AnnaBridge 189:f392fc9709a3 67
AnnaBridge 189:f392fc9709a3 68
AnnaBridge 189:f392fc9709a3 69 #if defined(RNG_CR_CED)
AnnaBridge 189:f392fc9709a3 70 /**
AnnaBridge 189:f392fc9709a3 71 * @brief LL RNG Init Structure Definition
AnnaBridge 189:f392fc9709a3 72 */
AnnaBridge 189:f392fc9709a3 73 typedef struct
AnnaBridge 189:f392fc9709a3 74 {
AnnaBridge 189:f392fc9709a3 75 uint32_t ClockErrorDetection; /*!< Clock error detection.
AnnaBridge 189:f392fc9709a3 76 This parameter can be one value of @ref RNG_LL_CED.
AnnaBridge 189:f392fc9709a3 77
AnnaBridge 189:f392fc9709a3 78 This parameter can be modified using unitary functions @ref LL_RNG_EnableClkErrorDetect(). */
AnnaBridge 189:f392fc9709a3 79 }LL_RNG_InitTypeDef;
AnnaBridge 189:f392fc9709a3 80 #endif /* defined(RNG_CR_CED) */
AnnaBridge 189:f392fc9709a3 81
AnnaBridge 189:f392fc9709a3 82 /**
AnnaBridge 189:f392fc9709a3 83 * @}
AnnaBridge 189:f392fc9709a3 84 */
AnnaBridge 189:f392fc9709a3 85 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 189:f392fc9709a3 86
AnnaBridge 189:f392fc9709a3 87 /* Exported constants --------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 88 /** @defgroup RNG_LL_Exported_Constants RNG Exported Constants
AnnaBridge 189:f392fc9709a3 89 * @{
AnnaBridge 189:f392fc9709a3 90 */
AnnaBridge 189:f392fc9709a3 91
AnnaBridge 189:f392fc9709a3 92 #if defined(RNG_CR_CED)
AnnaBridge 189:f392fc9709a3 93 /** @defgroup RNG_LL_CED Clock Error Detection
AnnaBridge 189:f392fc9709a3 94 * @{
AnnaBridge 189:f392fc9709a3 95 */
AnnaBridge 189:f392fc9709a3 96 #define LL_RNG_CED_ENABLE 0x00000000U /*!< Clock error detection enabled */
AnnaBridge 189:f392fc9709a3 97 #define LL_RNG_CED_DISABLE RNG_CR_CED /*!< Clock error detection disabled */
AnnaBridge 189:f392fc9709a3 98 /**
AnnaBridge 189:f392fc9709a3 99 * @}
AnnaBridge 189:f392fc9709a3 100 */
AnnaBridge 189:f392fc9709a3 101 #endif /* defined(RNG_CR_CED) */
AnnaBridge 189:f392fc9709a3 102
AnnaBridge 189:f392fc9709a3 103
AnnaBridge 189:f392fc9709a3 104 /** @defgroup RNG_LL_EC_GET_FLAG Get Flags Defines
AnnaBridge 189:f392fc9709a3 105 * @brief Flags defines which can be used with LL_RNG_ReadReg function
AnnaBridge 189:f392fc9709a3 106 * @{
AnnaBridge 189:f392fc9709a3 107 */
AnnaBridge 189:f392fc9709a3 108 #define LL_RNG_SR_DRDY RNG_SR_DRDY /*!< Register contains valid random data */
AnnaBridge 189:f392fc9709a3 109 #define LL_RNG_SR_CECS RNG_SR_CECS /*!< Clock error current status */
AnnaBridge 189:f392fc9709a3 110 #define LL_RNG_SR_SECS RNG_SR_SECS /*!< Seed error current status */
AnnaBridge 189:f392fc9709a3 111 #define LL_RNG_SR_CEIS RNG_SR_CEIS /*!< Clock error interrupt status */
AnnaBridge 189:f392fc9709a3 112 #define LL_RNG_SR_SEIS RNG_SR_SEIS /*!< Seed error interrupt status */
AnnaBridge 189:f392fc9709a3 113 /**
AnnaBridge 189:f392fc9709a3 114 * @}
AnnaBridge 189:f392fc9709a3 115 */
AnnaBridge 189:f392fc9709a3 116
AnnaBridge 189:f392fc9709a3 117 /** @defgroup RNG_LL_EC_IT IT Defines
AnnaBridge 189:f392fc9709a3 118 * @brief IT defines which can be used with LL_RNG_ReadReg and LL_RNG_WriteReg macros
AnnaBridge 189:f392fc9709a3 119 * @{
AnnaBridge 189:f392fc9709a3 120 */
AnnaBridge 189:f392fc9709a3 121 #define LL_RNG_CR_IE RNG_CR_IE /*!< RNG Interrupt enable */
AnnaBridge 189:f392fc9709a3 122 /**
AnnaBridge 189:f392fc9709a3 123 * @}
AnnaBridge 189:f392fc9709a3 124 */
AnnaBridge 189:f392fc9709a3 125
AnnaBridge 189:f392fc9709a3 126 /**
AnnaBridge 189:f392fc9709a3 127 * @}
AnnaBridge 189:f392fc9709a3 128 */
AnnaBridge 189:f392fc9709a3 129
AnnaBridge 189:f392fc9709a3 130 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 131 /** @defgroup RNG_LL_Exported_Macros RNG Exported Macros
AnnaBridge 189:f392fc9709a3 132 * @{
AnnaBridge 189:f392fc9709a3 133 */
AnnaBridge 189:f392fc9709a3 134
AnnaBridge 189:f392fc9709a3 135 /** @defgroup RNG_LL_EM_WRITE_READ Common Write and read registers Macros
AnnaBridge 189:f392fc9709a3 136 * @{
AnnaBridge 189:f392fc9709a3 137 */
AnnaBridge 189:f392fc9709a3 138
AnnaBridge 189:f392fc9709a3 139 /**
AnnaBridge 189:f392fc9709a3 140 * @brief Write a value in RNG register
AnnaBridge 189:f392fc9709a3 141 * @param __INSTANCE__ RNG Instance
AnnaBridge 189:f392fc9709a3 142 * @param __REG__ Register to be written
AnnaBridge 189:f392fc9709a3 143 * @param __VALUE__ Value to be written in the register
AnnaBridge 189:f392fc9709a3 144 * @retval None
AnnaBridge 189:f392fc9709a3 145 */
AnnaBridge 189:f392fc9709a3 146 #define LL_RNG_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 189:f392fc9709a3 147
AnnaBridge 189:f392fc9709a3 148 /**
AnnaBridge 189:f392fc9709a3 149 * @brief Read a value in RNG register
AnnaBridge 189:f392fc9709a3 150 * @param __INSTANCE__ RNG Instance
AnnaBridge 189:f392fc9709a3 151 * @param __REG__ Register to be read
AnnaBridge 189:f392fc9709a3 152 * @retval Register value
AnnaBridge 189:f392fc9709a3 153 */
AnnaBridge 189:f392fc9709a3 154 #define LL_RNG_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 189:f392fc9709a3 155 /**
AnnaBridge 189:f392fc9709a3 156 * @}
AnnaBridge 189:f392fc9709a3 157 */
AnnaBridge 189:f392fc9709a3 158
AnnaBridge 189:f392fc9709a3 159 /**
AnnaBridge 189:f392fc9709a3 160 * @}
AnnaBridge 189:f392fc9709a3 161 */
AnnaBridge 189:f392fc9709a3 162
AnnaBridge 189:f392fc9709a3 163
AnnaBridge 189:f392fc9709a3 164 /* Exported functions --------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 165 /** @defgroup RNG_LL_Exported_Functions RNG Exported Functions
AnnaBridge 189:f392fc9709a3 166 * @{
AnnaBridge 189:f392fc9709a3 167 */
AnnaBridge 189:f392fc9709a3 168 /** @defgroup RNG_LL_EF_Configuration RNG Configuration functions
AnnaBridge 189:f392fc9709a3 169 * @{
AnnaBridge 189:f392fc9709a3 170 */
AnnaBridge 189:f392fc9709a3 171
AnnaBridge 189:f392fc9709a3 172 /**
AnnaBridge 189:f392fc9709a3 173 * @brief Enable Random Number Generation
AnnaBridge 189:f392fc9709a3 174 * @rmtoll CR RNGEN LL_RNG_Enable
AnnaBridge 189:f392fc9709a3 175 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 176 * @retval None
AnnaBridge 189:f392fc9709a3 177 */
AnnaBridge 189:f392fc9709a3 178 __STATIC_INLINE void LL_RNG_Enable(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 179 {
AnnaBridge 189:f392fc9709a3 180 SET_BIT(RNGx->CR, RNG_CR_RNGEN);
AnnaBridge 189:f392fc9709a3 181 }
AnnaBridge 189:f392fc9709a3 182
AnnaBridge 189:f392fc9709a3 183 /**
AnnaBridge 189:f392fc9709a3 184 * @brief Disable Random Number Generation
AnnaBridge 189:f392fc9709a3 185 * @rmtoll CR RNGEN LL_RNG_Disable
AnnaBridge 189:f392fc9709a3 186 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 187 * @retval None
AnnaBridge 189:f392fc9709a3 188 */
AnnaBridge 189:f392fc9709a3 189 __STATIC_INLINE void LL_RNG_Disable(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 190 {
AnnaBridge 189:f392fc9709a3 191 CLEAR_BIT(RNGx->CR, RNG_CR_RNGEN);
AnnaBridge 189:f392fc9709a3 192 }
AnnaBridge 189:f392fc9709a3 193
AnnaBridge 189:f392fc9709a3 194 /**
AnnaBridge 189:f392fc9709a3 195 * @brief Check if Random Number Generator is enabled
AnnaBridge 189:f392fc9709a3 196 * @rmtoll CR RNGEN LL_RNG_IsEnabled
AnnaBridge 189:f392fc9709a3 197 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 198 * @retval State of bit (1 or 0).
AnnaBridge 189:f392fc9709a3 199 */
AnnaBridge 189:f392fc9709a3 200 __STATIC_INLINE uint32_t LL_RNG_IsEnabled(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 201 {
AnnaBridge 189:f392fc9709a3 202 return (READ_BIT(RNGx->CR, RNG_CR_RNGEN) == (RNG_CR_RNGEN));
AnnaBridge 189:f392fc9709a3 203 }
AnnaBridge 189:f392fc9709a3 204
AnnaBridge 189:f392fc9709a3 205 #if defined(RNG_CR_CED)
AnnaBridge 189:f392fc9709a3 206 /**
AnnaBridge 189:f392fc9709a3 207 * @brief Enable RNG Clock Error Detection
AnnaBridge 189:f392fc9709a3 208 * @rmtoll CR CED LL_RNG_EnableClkErrorDetect
AnnaBridge 189:f392fc9709a3 209 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 210 * @retval None
AnnaBridge 189:f392fc9709a3 211 */
AnnaBridge 189:f392fc9709a3 212 __STATIC_INLINE void LL_RNG_EnableClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 213 {
AnnaBridge 189:f392fc9709a3 214 CLEAR_BIT(RNGx->CR, RNG_CR_CED);
AnnaBridge 189:f392fc9709a3 215 }
AnnaBridge 189:f392fc9709a3 216
AnnaBridge 189:f392fc9709a3 217 /**
AnnaBridge 189:f392fc9709a3 218 * @brief Disable RNG Clock Error Detection
AnnaBridge 189:f392fc9709a3 219 * @rmtoll CR CED LL_RNG_DisableClkErrorDetect
AnnaBridge 189:f392fc9709a3 220 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 221 * @retval None
AnnaBridge 189:f392fc9709a3 222 */
AnnaBridge 189:f392fc9709a3 223 __STATIC_INLINE void LL_RNG_DisableClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 224 {
AnnaBridge 189:f392fc9709a3 225 SET_BIT(RNGx->CR, RNG_CR_CED);
AnnaBridge 189:f392fc9709a3 226 }
AnnaBridge 189:f392fc9709a3 227
AnnaBridge 189:f392fc9709a3 228 /**
AnnaBridge 189:f392fc9709a3 229 * @brief Check if RNG Clock Error Detection is enabled
AnnaBridge 189:f392fc9709a3 230 * @rmtoll CR CED LL_RNG_IsEnabledClkErrorDetect
AnnaBridge 189:f392fc9709a3 231 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 232 * @retval State of bit (1 or 0).
AnnaBridge 189:f392fc9709a3 233 */
AnnaBridge 189:f392fc9709a3 234 __STATIC_INLINE uint32_t LL_RNG_IsEnabledClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 235 {
AnnaBridge 189:f392fc9709a3 236 return (!(READ_BIT(RNGx->CR, RNG_CR_CED) == (RNG_CR_CED)));
AnnaBridge 189:f392fc9709a3 237 }
AnnaBridge 189:f392fc9709a3 238 #endif /* defined(RNG_CR_CED) */
AnnaBridge 189:f392fc9709a3 239
AnnaBridge 189:f392fc9709a3 240
AnnaBridge 189:f392fc9709a3 241 /**
AnnaBridge 189:f392fc9709a3 242 * @}
AnnaBridge 189:f392fc9709a3 243 */
AnnaBridge 189:f392fc9709a3 244
AnnaBridge 189:f392fc9709a3 245 /** @defgroup RNG_LL_EF_FLAG_Management FLAG Management
AnnaBridge 189:f392fc9709a3 246 * @{
AnnaBridge 189:f392fc9709a3 247 */
AnnaBridge 189:f392fc9709a3 248
AnnaBridge 189:f392fc9709a3 249 /**
AnnaBridge 189:f392fc9709a3 250 * @brief Indicate if the RNG Data ready Flag is set or not
AnnaBridge 189:f392fc9709a3 251 * @rmtoll SR DRDY LL_RNG_IsActiveFlag_DRDY
AnnaBridge 189:f392fc9709a3 252 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 253 * @retval State of bit (1 or 0).
AnnaBridge 189:f392fc9709a3 254 */
AnnaBridge 189:f392fc9709a3 255 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_DRDY(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 256 {
AnnaBridge 189:f392fc9709a3 257 return (READ_BIT(RNGx->SR, RNG_SR_DRDY) == (RNG_SR_DRDY));
AnnaBridge 189:f392fc9709a3 258 }
AnnaBridge 189:f392fc9709a3 259
AnnaBridge 189:f392fc9709a3 260 /**
AnnaBridge 189:f392fc9709a3 261 * @brief Indicate if the Clock Error Current Status Flag is set or not
AnnaBridge 189:f392fc9709a3 262 * @rmtoll SR CECS LL_RNG_IsActiveFlag_CECS
AnnaBridge 189:f392fc9709a3 263 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 264 * @retval State of bit (1 or 0).
AnnaBridge 189:f392fc9709a3 265 */
AnnaBridge 189:f392fc9709a3 266 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_CECS(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 267 {
AnnaBridge 189:f392fc9709a3 268 return (READ_BIT(RNGx->SR, RNG_SR_CECS) == (RNG_SR_CECS));
AnnaBridge 189:f392fc9709a3 269 }
AnnaBridge 189:f392fc9709a3 270
AnnaBridge 189:f392fc9709a3 271 /**
AnnaBridge 189:f392fc9709a3 272 * @brief Indicate if the Seed Error Current Status Flag is set or not
AnnaBridge 189:f392fc9709a3 273 * @rmtoll SR SECS LL_RNG_IsActiveFlag_SECS
AnnaBridge 189:f392fc9709a3 274 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 275 * @retval State of bit (1 or 0).
AnnaBridge 189:f392fc9709a3 276 */
AnnaBridge 189:f392fc9709a3 277 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_SECS(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 278 {
AnnaBridge 189:f392fc9709a3 279 return (READ_BIT(RNGx->SR, RNG_SR_SECS) == (RNG_SR_SECS));
AnnaBridge 189:f392fc9709a3 280 }
AnnaBridge 189:f392fc9709a3 281
AnnaBridge 189:f392fc9709a3 282 /**
AnnaBridge 189:f392fc9709a3 283 * @brief Indicate if the Clock Error Interrupt Status Flag is set or not
AnnaBridge 189:f392fc9709a3 284 * @rmtoll SR CEIS LL_RNG_IsActiveFlag_CEIS
AnnaBridge 189:f392fc9709a3 285 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 286 * @retval State of bit (1 or 0).
AnnaBridge 189:f392fc9709a3 287 */
AnnaBridge 189:f392fc9709a3 288 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_CEIS(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 289 {
AnnaBridge 189:f392fc9709a3 290 return (READ_BIT(RNGx->SR, RNG_SR_CEIS) == (RNG_SR_CEIS));
AnnaBridge 189:f392fc9709a3 291 }
AnnaBridge 189:f392fc9709a3 292
AnnaBridge 189:f392fc9709a3 293 /**
AnnaBridge 189:f392fc9709a3 294 * @brief Indicate if the Seed Error Interrupt Status Flag is set or not
AnnaBridge 189:f392fc9709a3 295 * @rmtoll SR SEIS LL_RNG_IsActiveFlag_SEIS
AnnaBridge 189:f392fc9709a3 296 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 297 * @retval State of bit (1 or 0).
AnnaBridge 189:f392fc9709a3 298 */
AnnaBridge 189:f392fc9709a3 299 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_SEIS(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 300 {
AnnaBridge 189:f392fc9709a3 301 return (READ_BIT(RNGx->SR, RNG_SR_SEIS) == (RNG_SR_SEIS));
AnnaBridge 189:f392fc9709a3 302 }
AnnaBridge 189:f392fc9709a3 303
AnnaBridge 189:f392fc9709a3 304 /**
AnnaBridge 189:f392fc9709a3 305 * @brief Clear Clock Error interrupt Status (CEIS) Flag
AnnaBridge 189:f392fc9709a3 306 * @rmtoll SR CEIS LL_RNG_ClearFlag_CEIS
AnnaBridge 189:f392fc9709a3 307 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 308 * @retval None
AnnaBridge 189:f392fc9709a3 309 */
AnnaBridge 189:f392fc9709a3 310 __STATIC_INLINE void LL_RNG_ClearFlag_CEIS(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 311 {
AnnaBridge 189:f392fc9709a3 312 WRITE_REG(RNGx->SR, ~RNG_SR_CEIS);
AnnaBridge 189:f392fc9709a3 313 }
AnnaBridge 189:f392fc9709a3 314
AnnaBridge 189:f392fc9709a3 315 /**
AnnaBridge 189:f392fc9709a3 316 * @brief Clear Seed Error interrupt Status (SEIS) Flag
AnnaBridge 189:f392fc9709a3 317 * @rmtoll SR SEIS LL_RNG_ClearFlag_SEIS
AnnaBridge 189:f392fc9709a3 318 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 319 * @retval None
AnnaBridge 189:f392fc9709a3 320 */
AnnaBridge 189:f392fc9709a3 321 __STATIC_INLINE void LL_RNG_ClearFlag_SEIS(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 322 {
AnnaBridge 189:f392fc9709a3 323 WRITE_REG(RNGx->SR, ~RNG_SR_SEIS);
AnnaBridge 189:f392fc9709a3 324 }
AnnaBridge 189:f392fc9709a3 325
AnnaBridge 189:f392fc9709a3 326 /**
AnnaBridge 189:f392fc9709a3 327 * @}
AnnaBridge 189:f392fc9709a3 328 */
AnnaBridge 189:f392fc9709a3 329
AnnaBridge 189:f392fc9709a3 330 /** @defgroup RNG_LL_EF_IT_Management IT Management
AnnaBridge 189:f392fc9709a3 331 * @{
AnnaBridge 189:f392fc9709a3 332 */
AnnaBridge 189:f392fc9709a3 333
AnnaBridge 189:f392fc9709a3 334 /**
AnnaBridge 189:f392fc9709a3 335 * @brief Enable Random Number Generator Interrupt
AnnaBridge 189:f392fc9709a3 336 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 189:f392fc9709a3 337 * @rmtoll CR IE LL_RNG_EnableIT
AnnaBridge 189:f392fc9709a3 338 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 339 * @retval None
AnnaBridge 189:f392fc9709a3 340 */
AnnaBridge 189:f392fc9709a3 341 __STATIC_INLINE void LL_RNG_EnableIT(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 342 {
AnnaBridge 189:f392fc9709a3 343 SET_BIT(RNGx->CR, RNG_CR_IE);
AnnaBridge 189:f392fc9709a3 344 }
AnnaBridge 189:f392fc9709a3 345
AnnaBridge 189:f392fc9709a3 346 /**
AnnaBridge 189:f392fc9709a3 347 * @brief Disable Random Number Generator Interrupt
AnnaBridge 189:f392fc9709a3 348 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 189:f392fc9709a3 349 * @rmtoll CR IE LL_RNG_DisableIT
AnnaBridge 189:f392fc9709a3 350 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 351 * @retval None
AnnaBridge 189:f392fc9709a3 352 */
AnnaBridge 189:f392fc9709a3 353 __STATIC_INLINE void LL_RNG_DisableIT(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 354 {
AnnaBridge 189:f392fc9709a3 355 CLEAR_BIT(RNGx->CR, RNG_CR_IE);
AnnaBridge 189:f392fc9709a3 356 }
AnnaBridge 189:f392fc9709a3 357
AnnaBridge 189:f392fc9709a3 358 /**
AnnaBridge 189:f392fc9709a3 359 * @brief Check if Random Number Generator Interrupt is enabled
AnnaBridge 189:f392fc9709a3 360 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 189:f392fc9709a3 361 * @rmtoll CR IE LL_RNG_IsEnabledIT
AnnaBridge 189:f392fc9709a3 362 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 363 * @retval State of bit (1 or 0).
AnnaBridge 189:f392fc9709a3 364 */
AnnaBridge 189:f392fc9709a3 365 __STATIC_INLINE uint32_t LL_RNG_IsEnabledIT(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 366 {
AnnaBridge 189:f392fc9709a3 367 return (READ_BIT(RNGx->CR, RNG_CR_IE) == (RNG_CR_IE));
AnnaBridge 189:f392fc9709a3 368 }
AnnaBridge 189:f392fc9709a3 369
AnnaBridge 189:f392fc9709a3 370 /**
AnnaBridge 189:f392fc9709a3 371 * @}
AnnaBridge 189:f392fc9709a3 372 */
AnnaBridge 189:f392fc9709a3 373
AnnaBridge 189:f392fc9709a3 374 /** @defgroup RNG_LL_EF_Data_Management Data Management
AnnaBridge 189:f392fc9709a3 375 * @{
AnnaBridge 189:f392fc9709a3 376 */
AnnaBridge 189:f392fc9709a3 377
AnnaBridge 189:f392fc9709a3 378 /**
AnnaBridge 189:f392fc9709a3 379 * @brief Return32-bit Random Number value
AnnaBridge 189:f392fc9709a3 380 * @rmtoll DR RNDATA LL_RNG_ReadRandData32
AnnaBridge 189:f392fc9709a3 381 * @param RNGx RNG Instance
AnnaBridge 189:f392fc9709a3 382 * @retval Generated 32-bit random value
AnnaBridge 189:f392fc9709a3 383 */
AnnaBridge 189:f392fc9709a3 384 __STATIC_INLINE uint32_t LL_RNG_ReadRandData32(RNG_TypeDef *RNGx)
AnnaBridge 189:f392fc9709a3 385 {
AnnaBridge 189:f392fc9709a3 386 return (uint32_t)(READ_REG(RNGx->DR));
AnnaBridge 189:f392fc9709a3 387 }
AnnaBridge 189:f392fc9709a3 388
AnnaBridge 189:f392fc9709a3 389 /**
AnnaBridge 189:f392fc9709a3 390 * @}
AnnaBridge 189:f392fc9709a3 391 */
AnnaBridge 189:f392fc9709a3 392
AnnaBridge 189:f392fc9709a3 393 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 189:f392fc9709a3 394 /** @defgroup RNG_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 189:f392fc9709a3 395 * @{
AnnaBridge 189:f392fc9709a3 396 */
AnnaBridge 189:f392fc9709a3 397 #if defined(RNG_CR_CED)
AnnaBridge 189:f392fc9709a3 398 ErrorStatus LL_RNG_Init(RNG_TypeDef *RNGx, LL_RNG_InitTypeDef *RNG_InitStruct);
AnnaBridge 189:f392fc9709a3 399 void LL_RNG_StructInit(LL_RNG_InitTypeDef *RNG_InitStruct);
AnnaBridge 189:f392fc9709a3 400 #endif /* defined(RNG_CR_CED) */
AnnaBridge 189:f392fc9709a3 401 ErrorStatus LL_RNG_DeInit(RNG_TypeDef *RNGx);
AnnaBridge 189:f392fc9709a3 402
AnnaBridge 189:f392fc9709a3 403 /**
AnnaBridge 189:f392fc9709a3 404 * @}
AnnaBridge 189:f392fc9709a3 405 */
AnnaBridge 189:f392fc9709a3 406 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 189:f392fc9709a3 407
AnnaBridge 189:f392fc9709a3 408 /**
AnnaBridge 189:f392fc9709a3 409 * @}
AnnaBridge 189:f392fc9709a3 410 */
AnnaBridge 189:f392fc9709a3 411
AnnaBridge 189:f392fc9709a3 412 /**
AnnaBridge 189:f392fc9709a3 413 * @}
AnnaBridge 189:f392fc9709a3 414 */
AnnaBridge 189:f392fc9709a3 415
AnnaBridge 189:f392fc9709a3 416 #endif /* defined(RNG) */
AnnaBridge 189:f392fc9709a3 417
AnnaBridge 189:f392fc9709a3 418 /**
AnnaBridge 189:f392fc9709a3 419 * @}
AnnaBridge 189:f392fc9709a3 420 */
AnnaBridge 189:f392fc9709a3 421
AnnaBridge 189:f392fc9709a3 422 #ifdef __cplusplus
AnnaBridge 189:f392fc9709a3 423 }
AnnaBridge 189:f392fc9709a3 424 #endif
AnnaBridge 189:f392fc9709a3 425
AnnaBridge 189:f392fc9709a3 426 #endif /* __STM32L4xx_LL_RNG_H */
AnnaBridge 189:f392fc9709a3 427
AnnaBridge 189:f392fc9709a3 428 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/