Modified version of the mbed library for use with the Nucleo boards.

Dependents:   EEPROMWrite Full-Project

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Mon Sep 28 10:45:10 2015 +0100
Revision:
630:825f75ca301e
Parent:
441:d2c15dda23c1
Synchronized with git revision 54fbe4144faf309c37205a5d39fa665daa919f10

Full URL: https://github.com/mbedmicro/mbed/commit/54fbe4144faf309c37205a5d39fa665daa919f10/

NUCLEO_F031K6 : Add new target

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 340:28d1f895c6fe 1 /**
mbed_official 340:28d1f895c6fe 2 ******************************************************************************
mbed_official 340:28d1f895c6fe 3 * @file stm32f0xx_hal_rcc_ex.h
mbed_official 340:28d1f895c6fe 4 * @author MCD Application Team
mbed_official 630:825f75ca301e 5 * @version V1.3.0
mbed_official 630:825f75ca301e 6 * @date 26-June-2015
mbed_official 340:28d1f895c6fe 7 * @brief Header file of RCC HAL Extension module.
mbed_official 340:28d1f895c6fe 8 ******************************************************************************
mbed_official 340:28d1f895c6fe 9 * @attention
mbed_official 340:28d1f895c6fe 10 *
mbed_official 630:825f75ca301e 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 340:28d1f895c6fe 12 *
mbed_official 340:28d1f895c6fe 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 340:28d1f895c6fe 14 * are permitted provided that the following conditions are met:
mbed_official 340:28d1f895c6fe 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 340:28d1f895c6fe 16 * this list of conditions and the following disclaimer.
mbed_official 340:28d1f895c6fe 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 340:28d1f895c6fe 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 340:28d1f895c6fe 19 * and/or other materials provided with the distribution.
mbed_official 340:28d1f895c6fe 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 340:28d1f895c6fe 21 * may be used to endorse or promote products derived from this software
mbed_official 340:28d1f895c6fe 22 * without specific prior written permission.
mbed_official 340:28d1f895c6fe 23 *
mbed_official 340:28d1f895c6fe 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 340:28d1f895c6fe 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 340:28d1f895c6fe 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 340:28d1f895c6fe 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 340:28d1f895c6fe 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 340:28d1f895c6fe 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 340:28d1f895c6fe 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 340:28d1f895c6fe 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 340:28d1f895c6fe 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 340:28d1f895c6fe 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 340:28d1f895c6fe 34 *
mbed_official 340:28d1f895c6fe 35 ******************************************************************************
mbed_official 340:28d1f895c6fe 36 */
mbed_official 340:28d1f895c6fe 37
mbed_official 340:28d1f895c6fe 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 340:28d1f895c6fe 39 #ifndef __STM32F0xx_HAL_RCC_EX_H
mbed_official 630:825f75ca301e 40 #define __HAL_RCC_STM32F0xx_HAL_RCC_EX_H
mbed_official 340:28d1f895c6fe 41
mbed_official 340:28d1f895c6fe 42 #ifdef __cplusplus
mbed_official 340:28d1f895c6fe 43 extern "C" {
mbed_official 340:28d1f895c6fe 44 #endif
mbed_official 340:28d1f895c6fe 45
mbed_official 340:28d1f895c6fe 46 /* Includes ------------------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 47 #include "stm32f0xx_hal_def.h"
mbed_official 340:28d1f895c6fe 48
mbed_official 340:28d1f895c6fe 49 /** @addtogroup STM32F0xx_HAL_Driver
mbed_official 340:28d1f895c6fe 50 * @{
mbed_official 340:28d1f895c6fe 51 */
mbed_official 340:28d1f895c6fe 52
mbed_official 630:825f75ca301e 53 /** @addtogroup RCC
mbed_official 630:825f75ca301e 54 * @{
mbed_official 630:825f75ca301e 55 */
mbed_official 630:825f75ca301e 56
mbed_official 630:825f75ca301e 57 /** @addtogroup RCC_Private_Macros
mbed_official 630:825f75ca301e 58 * @{
mbed_official 630:825f75ca301e 59 */
mbed_official 630:825f75ca301e 60 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 61 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 62 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 63 #define IS_RCC_OSCILLATORTYPE(OSCILLATOR) (((OSCILLATOR) == RCC_OSCILLATORTYPE_NONE) || \
mbed_official 630:825f75ca301e 64 (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) || \
mbed_official 630:825f75ca301e 65 (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) || \
mbed_official 630:825f75ca301e 66 (((OSCILLATOR) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) || \
mbed_official 630:825f75ca301e 67 (((OSCILLATOR) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) || \
mbed_official 630:825f75ca301e 68 (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSI14) == RCC_OSCILLATORTYPE_HSI14) || \
mbed_official 630:825f75ca301e 69 (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSI48) == RCC_OSCILLATORTYPE_HSI48))
mbed_official 630:825f75ca301e 70 #define IS_RCC_SYSCLKSOURCE(SOURCE) (((SOURCE) == RCC_SYSCLKSOURCE_HSI) || \
mbed_official 630:825f75ca301e 71 ((SOURCE) == RCC_SYSCLKSOURCE_HSE) || \
mbed_official 630:825f75ca301e 72 ((SOURCE) == RCC_SYSCLKSOURCE_PLLCLK) || \
mbed_official 630:825f75ca301e 73 ((SOURCE) == RCC_SYSCLKSOURCE_HSI48))
mbed_official 630:825f75ca301e 74
mbed_official 630:825f75ca301e 75 #define IS_RCC_SYSCLKSOURCE_STATUS(SOURCE) (((SOURCE) == RCC_SYSCLKSOURCE_STATUS_HSI) || \
mbed_official 630:825f75ca301e 76 ((SOURCE) == RCC_SYSCLKSOURCE_STATUS_HSE) || \
mbed_official 630:825f75ca301e 77 ((SOURCE) == RCC_SYSCLKSOURCE_STATUS_PLLCLK) || \
mbed_official 630:825f75ca301e 78 ((SOURCE) == RCC_SYSCLKSOURCE_STATUS_HSI48))
mbed_official 630:825f75ca301e 79 #define IS_RCC_PLLSOURCE(SOURCE) (((SOURCE) == RCC_PLLSOURCE_HSI) || \
mbed_official 630:825f75ca301e 80 ((SOURCE) == RCC_PLLSOURCE_HSI48) || \
mbed_official 630:825f75ca301e 81 ((SOURCE) == RCC_PLLSOURCE_HSE))
mbed_official 630:825f75ca301e 82 #define IS_RCC_HSI48(HSI48) (((HSI48) == RCC_HSI48_OFF) || ((HSI48) == RCC_HSI48_ON))
mbed_official 630:825f75ca301e 83 #else
mbed_official 630:825f75ca301e 84 #define IS_RCC_OSCILLATORTYPE(OSCILLATOR) (((OSCILLATOR) == RCC_OSCILLATORTYPE_NONE) || \
mbed_official 630:825f75ca301e 85 (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) || \
mbed_official 630:825f75ca301e 86 (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) || \
mbed_official 630:825f75ca301e 87 (((OSCILLATOR) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) || \
mbed_official 630:825f75ca301e 88 (((OSCILLATOR) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) || \
mbed_official 630:825f75ca301e 89 (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSI14) == RCC_OSCILLATORTYPE_HSI14))
mbed_official 630:825f75ca301e 90 #define IS_RCC_SYSCLKSOURCE(SOURCE) (((SOURCE) == RCC_SYSCLKSOURCE_HSI) || \
mbed_official 630:825f75ca301e 91 ((SOURCE) == RCC_SYSCLKSOURCE_HSE) || \
mbed_official 630:825f75ca301e 92 ((SOURCE) == RCC_SYSCLKSOURCE_PLLCLK))
mbed_official 630:825f75ca301e 93
mbed_official 630:825f75ca301e 94 #define IS_RCC_SYSCLKSOURCE_STATUS(SOURCE) (((SOURCE) == RCC_SYSCLKSOURCE_STATUS_HSI) || \
mbed_official 630:825f75ca301e 95 ((SOURCE) == RCC_SYSCLKSOURCE_STATUS_HSE) || \
mbed_official 630:825f75ca301e 96 ((SOURCE) == RCC_SYSCLKSOURCE_STATUS_PLLCLK))
mbed_official 630:825f75ca301e 97 #define IS_RCC_PLLSOURCE(SOURCE) (((SOURCE) == RCC_PLLSOURCE_HSI) || \
mbed_official 630:825f75ca301e 98 ((SOURCE) == RCC_PLLSOURCE_HSE))
mbed_official 630:825f75ca301e 99
mbed_official 630:825f75ca301e 100 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 101 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 102 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 103
mbed_official 630:825f75ca301e 104 #if defined(STM32F030x6) || defined(STM32F031x6) || defined(STM32F038xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 105 || defined(STM32F070xB) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 106
mbed_official 630:825f75ca301e 107 #define IS_RCC_MCO1SOURCE(SOURCE) (((SOURCE) == RCC_MCOSOURCE_NONE) || \
mbed_official 630:825f75ca301e 108 ((SOURCE) == RCC_MCOSOURCE_LSI) || \
mbed_official 630:825f75ca301e 109 ((SOURCE) == RCC_MCOSOURCE_LSE) || \
mbed_official 630:825f75ca301e 110 ((SOURCE) == RCC_MCOSOURCE_SYSCLK) || \
mbed_official 630:825f75ca301e 111 ((SOURCE) == RCC_MCOSOURCE_HSI) || \
mbed_official 630:825f75ca301e 112 ((SOURCE) == RCC_MCOSOURCE_HSE) || \
mbed_official 630:825f75ca301e 113 ((SOURCE) == RCC_MCOSOURCE_PLLCLK_NODIV) || \
mbed_official 630:825f75ca301e 114 ((SOURCE) == RCC_MCOSOURCE_PLLCLK_DIV2) || \
mbed_official 630:825f75ca301e 115 ((SOURCE) == RCC_MCOSOURCE_HSI14))
mbed_official 630:825f75ca301e 116
mbed_official 630:825f75ca301e 117 #endif /* STM32F030x6 || STM32F031x6 || STM32F038xx || STM32F070x6 || STM32F070xB || STM32F030xC */
mbed_official 630:825f75ca301e 118
mbed_official 630:825f75ca301e 119 #if defined(STM32F030x8) || defined(STM32F051x8) || defined(STM32F058xx)
mbed_official 630:825f75ca301e 120
mbed_official 630:825f75ca301e 121 #define IS_RCC_MCO1SOURCE(SOURCE) (((SOURCE) == RCC_MCOSOURCE_NONE) || \
mbed_official 630:825f75ca301e 122 ((SOURCE) == RCC_MCOSOURCE_LSI) || \
mbed_official 630:825f75ca301e 123 ((SOURCE) == RCC_MCOSOURCE_LSE) || \
mbed_official 630:825f75ca301e 124 ((SOURCE) == RCC_MCOSOURCE_SYSCLK) || \
mbed_official 630:825f75ca301e 125 ((SOURCE) == RCC_MCOSOURCE_HSI) || \
mbed_official 630:825f75ca301e 126 ((SOURCE) == RCC_MCOSOURCE_HSE) || \
mbed_official 630:825f75ca301e 127 ((SOURCE) == RCC_MCOSOURCE_PLLCLK_DIV2) || \
mbed_official 630:825f75ca301e 128 ((SOURCE) == RCC_MCOSOURCE_HSI14))
mbed_official 630:825f75ca301e 129
mbed_official 630:825f75ca301e 130 #endif /* STM32F030x8 || STM32F051x8 || STM32F058xx */
mbed_official 630:825f75ca301e 131
mbed_official 630:825f75ca301e 132 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 133 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 134 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 135
mbed_official 630:825f75ca301e 136 #define IS_RCC_MCO1SOURCE(SOURCE) (((SOURCE) == RCC_MCOSOURCE_NONE) || \
mbed_official 630:825f75ca301e 137 ((SOURCE) == RCC_MCOSOURCE_LSI) || \
mbed_official 630:825f75ca301e 138 ((SOURCE) == RCC_MCOSOURCE_LSE) || \
mbed_official 630:825f75ca301e 139 ((SOURCE) == RCC_MCOSOURCE_SYSCLK) || \
mbed_official 630:825f75ca301e 140 ((SOURCE) == RCC_MCOSOURCE_HSI) || \
mbed_official 630:825f75ca301e 141 ((SOURCE) == RCC_MCOSOURCE_HSE) || \
mbed_official 630:825f75ca301e 142 ((SOURCE) == RCC_MCOSOURCE_PLLCLK_NODIV) || \
mbed_official 630:825f75ca301e 143 ((SOURCE) == RCC_MCOSOURCE_PLLCLK_DIV2) || \
mbed_official 630:825f75ca301e 144 ((SOURCE) == RCC_MCOSOURCE_HSI14) || \
mbed_official 630:825f75ca301e 145 ((SOURCE) == RCC_MCOSOURCE_HSI48))
mbed_official 630:825f75ca301e 146
mbed_official 630:825f75ca301e 147 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 148 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 149 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 150
mbed_official 630:825f75ca301e 151 /**
mbed_official 630:825f75ca301e 152 * @}
mbed_official 630:825f75ca301e 153 */
mbed_official 630:825f75ca301e 154
mbed_official 630:825f75ca301e 155 /** @addtogroup RCC_Exported_Constants
mbed_official 630:825f75ca301e 156 * @{
mbed_official 630:825f75ca301e 157 */
mbed_official 630:825f75ca301e 158 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 159 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 160 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 161
mbed_official 630:825f75ca301e 162 /** @addtogroup RCC_PLL_Clock_Source
mbed_official 630:825f75ca301e 163 * @{
mbed_official 630:825f75ca301e 164 */
mbed_official 630:825f75ca301e 165 #define RCC_PLLSOURCE_HSI RCC_CFGR_PLLSRC_HSI_PREDIV
mbed_official 630:825f75ca301e 166 #define RCC_PLLSOURCE_HSI48 RCC_CFGR_PLLSRC_HSI48_PREDIV
mbed_official 630:825f75ca301e 167
mbed_official 630:825f75ca301e 168 /**
mbed_official 630:825f75ca301e 169 * @}
mbed_official 630:825f75ca301e 170 */
mbed_official 630:825f75ca301e 171
mbed_official 630:825f75ca301e 172 /** @addtogroup RCC_Oscillator_Type
mbed_official 630:825f75ca301e 173 * @{
mbed_official 630:825f75ca301e 174 */
mbed_official 630:825f75ca301e 175 #define RCC_OSCILLATORTYPE_HSI48 ((uint32_t)0x00000020)
mbed_official 630:825f75ca301e 176 /**
mbed_official 630:825f75ca301e 177 * @}
mbed_official 630:825f75ca301e 178 */
mbed_official 630:825f75ca301e 179
mbed_official 630:825f75ca301e 180 /** @addtogroup RCC_Interrupt
mbed_official 630:825f75ca301e 181 * @{
mbed_official 630:825f75ca301e 182 */
mbed_official 630:825f75ca301e 183 #define RCC_IT_HSI48 RCC_CIR_HSI48RDYF /*!< HSI48 Ready Interrupt flag */
mbed_official 630:825f75ca301e 184 /**
mbed_official 630:825f75ca301e 185 * @}
mbed_official 630:825f75ca301e 186 */
mbed_official 630:825f75ca301e 187
mbed_official 630:825f75ca301e 188 /** @addtogroup RCC_Flag
mbed_official 630:825f75ca301e 189 * @{
mbed_official 630:825f75ca301e 190 */
mbed_official 630:825f75ca301e 191 #define RCC_FLAG_HSI48RDY ((uint8_t)((CR2_REG_INDEX << 5) | RCC_CR2_HSI48RDY_BitNumber))
mbed_official 630:825f75ca301e 192 /**
mbed_official 630:825f75ca301e 193 * @}
mbed_official 630:825f75ca301e 194 */
mbed_official 630:825f75ca301e 195
mbed_official 630:825f75ca301e 196 /** @addtogroup RCC_System_Clock_Source
mbed_official 630:825f75ca301e 197 * @{
mbed_official 630:825f75ca301e 198 */
mbed_official 630:825f75ca301e 199 #define RCC_SYSCLKSOURCE_HSI48 RCC_CFGR_SW_HSI48
mbed_official 630:825f75ca301e 200 /**
mbed_official 630:825f75ca301e 201 * @}
mbed_official 630:825f75ca301e 202 */
mbed_official 630:825f75ca301e 203
mbed_official 630:825f75ca301e 204 /** @addtogroup RCC_System_Clock_Source_Status
mbed_official 630:825f75ca301e 205 * @{
mbed_official 630:825f75ca301e 206 */
mbed_official 630:825f75ca301e 207 #define RCC_SYSCLKSOURCE_STATUS_HSI48 RCC_CFGR_SWS_HSI48
mbed_official 630:825f75ca301e 208 /**
mbed_official 630:825f75ca301e 209 * @}
mbed_official 630:825f75ca301e 210 */
mbed_official 630:825f75ca301e 211
mbed_official 630:825f75ca301e 212 #else
mbed_official 630:825f75ca301e 213 /** @addtogroup RCC_PLL_Clock_Source
mbed_official 630:825f75ca301e 214 * @{
mbed_official 630:825f75ca301e 215 */
mbed_official 630:825f75ca301e 216
mbed_official 630:825f75ca301e 217 #if defined(STM32F070xB) || defined(STM32F070x6) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 218 #define RCC_PLLSOURCE_HSI RCC_CFGR_PLLSRC_HSI_PREDIV
mbed_official 630:825f75ca301e 219 #else
mbed_official 630:825f75ca301e 220 #define RCC_PLLSOURCE_HSI RCC_CFGR_PLLSRC_HSI_DIV2
mbed_official 630:825f75ca301e 221 #endif
mbed_official 630:825f75ca301e 222
mbed_official 630:825f75ca301e 223 /**
mbed_official 630:825f75ca301e 224 * @}
mbed_official 630:825f75ca301e 225 */
mbed_official 630:825f75ca301e 226
mbed_official 630:825f75ca301e 227 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 228 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 229 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 230
mbed_official 630:825f75ca301e 231 /** @addtogroup RCC_MCO_Clock_Source
mbed_official 630:825f75ca301e 232 * @{
mbed_official 630:825f75ca301e 233 */
mbed_official 630:825f75ca301e 234
mbed_official 630:825f75ca301e 235 #if defined(STM32F030x6) || defined(STM32F031x6) || defined(STM32F038xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 236 || defined(STM32F070xB) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 237
mbed_official 630:825f75ca301e 238 #define RCC_MCOSOURCE_PLLCLK_NODIV (RCC_CFGR_MCO_PLL | RCC_CFGR_PLLNODIV)
mbed_official 630:825f75ca301e 239
mbed_official 630:825f75ca301e 240 #endif /* STM32F030x6 || STM32F031x6 || STM32F038xx || STM32F070x6 || STM32F070xB || STM32F030xC */
mbed_official 630:825f75ca301e 241
mbed_official 630:825f75ca301e 242 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 243 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 244 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 245
mbed_official 630:825f75ca301e 246 #define RCC_MCOSOURCE_HSI48 RCC_CFGR_MCO_HSI48
mbed_official 630:825f75ca301e 247 #define RCC_MCOSOURCE_PLLCLK_NODIV (RCC_CFGR_MCO_PLL | RCC_CFGR_PLLNODIV)
mbed_official 630:825f75ca301e 248
mbed_official 630:825f75ca301e 249 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 250 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 251 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 252 /**
mbed_official 630:825f75ca301e 253 * @}
mbed_official 630:825f75ca301e 254 */
mbed_official 630:825f75ca301e 255
mbed_official 630:825f75ca301e 256 /**
mbed_official 630:825f75ca301e 257 * @}
mbed_official 630:825f75ca301e 258 */
mbed_official 630:825f75ca301e 259
mbed_official 630:825f75ca301e 260 /**
mbed_official 630:825f75ca301e 261 * @}
mbed_official 630:825f75ca301e 262 */
mbed_official 630:825f75ca301e 263
mbed_official 340:28d1f895c6fe 264 /** @addtogroup RCCEx
mbed_official 340:28d1f895c6fe 265 * @{
mbed_official 340:28d1f895c6fe 266 */
mbed_official 340:28d1f895c6fe 267
mbed_official 630:825f75ca301e 268 /* Private macro -------------------------------------------------------------*/
mbed_official 630:825f75ca301e 269 /** @defgroup RCCEx_Private_Macros RCCEx Private Macros
mbed_official 630:825f75ca301e 270 * @{
mbed_official 630:825f75ca301e 271 */
mbed_official 630:825f75ca301e 272 #if defined(STM32F030x6) || defined(STM32F030x8) || defined(STM32F031x6) || defined(STM32F038xx)\
mbed_official 630:825f75ca301e 273 || defined(STM32F030xC)
mbed_official 630:825f75ca301e 274
mbed_official 630:825f75ca301e 275 #define IS_RCC_PERIPHCLK(SELECTION) ((SELECTION) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_I2C1 | \
mbed_official 630:825f75ca301e 276 RCC_PERIPHCLK_RTC))
mbed_official 630:825f75ca301e 277 #endif /* STM32F030x6 || STM32F030x8 || STM32F031x6 || STM32F038xx ||
mbed_official 630:825f75ca301e 278 STM32F030xC */
mbed_official 630:825f75ca301e 279
mbed_official 630:825f75ca301e 280 #if defined(STM32F070x6) || defined(STM32F070xB)
mbed_official 630:825f75ca301e 281
mbed_official 630:825f75ca301e 282 #define IS_RCC_PERIPHCLK(SELECTION) ((SELECTION) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_I2C1 | \
mbed_official 630:825f75ca301e 283 RCC_PERIPHCLK_RTC | RCC_PERIPHCLK_USB))
mbed_official 630:825f75ca301e 284 #endif /* STM32F070x6 || STM32F070xB */
mbed_official 630:825f75ca301e 285
mbed_official 630:825f75ca301e 286 #if defined(STM32F042x6) || defined(STM32F048xx)
mbed_official 630:825f75ca301e 287
mbed_official 630:825f75ca301e 288 #define IS_RCC_PERIPHCLK(SELECTION) ((SELECTION) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_I2C1 | \
mbed_official 630:825f75ca301e 289 RCC_PERIPHCLK_CEC | RCC_PERIPHCLK_RTC | \
mbed_official 630:825f75ca301e 290 RCC_PERIPHCLK_USB))
mbed_official 630:825f75ca301e 291 #endif /* STM32F042x6 || STM32F048xx */
mbed_official 630:825f75ca301e 292
mbed_official 630:825f75ca301e 293 #if defined(STM32F051x8) || defined(STM32F058xx)
mbed_official 630:825f75ca301e 294
mbed_official 630:825f75ca301e 295 #define IS_RCC_PERIPHCLK(SELECTION) ((SELECTION) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_I2C1 | \
mbed_official 630:825f75ca301e 296 RCC_PERIPHCLK_CEC | RCC_PERIPHCLK_RTC))
mbed_official 630:825f75ca301e 297 #endif /* STM32F051x8 || STM32F058xx */
mbed_official 630:825f75ca301e 298
mbed_official 630:825f75ca301e 299 #if defined(STM32F071xB)
mbed_official 630:825f75ca301e 300
mbed_official 630:825f75ca301e 301 #define IS_RCC_PERIPHCLK(SELECTION) ((SELECTION) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | \
mbed_official 630:825f75ca301e 302 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_CEC | \
mbed_official 630:825f75ca301e 303 RCC_PERIPHCLK_RTC))
mbed_official 630:825f75ca301e 304 #endif /* STM32F071xB */
mbed_official 630:825f75ca301e 305
mbed_official 630:825f75ca301e 306 #if defined(STM32F072xB) || defined(STM32F078xx)
mbed_official 630:825f75ca301e 307
mbed_official 630:825f75ca301e 308 #define IS_RCC_PERIPHCLK(SELECTION) ((SELECTION) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | \
mbed_official 630:825f75ca301e 309 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_CEC | \
mbed_official 630:825f75ca301e 310 RCC_PERIPHCLK_RTC | RCC_PERIPHCLK_USB))
mbed_official 630:825f75ca301e 311 #endif /* STM32F072xB || STM32F078xx */
mbed_official 630:825f75ca301e 312
mbed_official 630:825f75ca301e 313 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 314
mbed_official 630:825f75ca301e 315 #define IS_RCC_PERIPHCLK(SELECTION) ((SELECTION) <= (RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_USART2 | \
mbed_official 630:825f75ca301e 316 RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK_CEC | \
mbed_official 630:825f75ca301e 317 RCC_PERIPHCLK_RTC | RCC_PERIPHCLK_USART3 ))
mbed_official 630:825f75ca301e 318 #endif /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 319
mbed_official 630:825f75ca301e 320 #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx)
mbed_official 630:825f75ca301e 321
mbed_official 630:825f75ca301e 322 #define IS_RCC_USBCLKSOURCE(SOURCE) (((SOURCE) == RCC_USBCLKSOURCE_HSI48) || \
mbed_official 630:825f75ca301e 323 ((SOURCE) == RCC_USBCLKSOURCE_PLLCLK))
mbed_official 630:825f75ca301e 324
mbed_official 630:825f75ca301e 325 #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx */
mbed_official 630:825f75ca301e 326
mbed_official 630:825f75ca301e 327 #if defined(STM32F070x6) || defined(STM32F070xB)
mbed_official 630:825f75ca301e 328
mbed_official 630:825f75ca301e 329 #define IS_RCC_USBCLKSOURCE(SOURCE) (((SOURCE) == RCC_USBCLKSOURCE_PLLCLK))
mbed_official 630:825f75ca301e 330
mbed_official 630:825f75ca301e 331 #endif /* STM32F070x6 || STM32F070xB */
mbed_official 630:825f75ca301e 332
mbed_official 630:825f75ca301e 333 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 334 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 335
mbed_official 630:825f75ca301e 336 #define IS_RCC_USART2CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART2CLKSOURCE_PCLK1) || \
mbed_official 630:825f75ca301e 337 ((SOURCE) == RCC_USART2CLKSOURCE_SYSCLK) || \
mbed_official 630:825f75ca301e 338 ((SOURCE) == RCC_USART2CLKSOURCE_LSE) || \
mbed_official 630:825f75ca301e 339 ((SOURCE) == RCC_USART2CLKSOURCE_HSI))
mbed_official 630:825f75ca301e 340
mbed_official 630:825f75ca301e 341 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 342 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 343
mbed_official 630:825f75ca301e 344 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 345
mbed_official 630:825f75ca301e 346 #define IS_RCC_USART3CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART3CLKSOURCE_PCLK1) || \
mbed_official 630:825f75ca301e 347 ((SOURCE) == RCC_USART3CLKSOURCE_SYSCLK) || \
mbed_official 630:825f75ca301e 348 ((SOURCE) == RCC_USART3CLKSOURCE_LSE) || \
mbed_official 630:825f75ca301e 349 ((SOURCE) == RCC_USART3CLKSOURCE_HSI))
mbed_official 630:825f75ca301e 350 #endif /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 351
mbed_official 630:825f75ca301e 352
mbed_official 630:825f75ca301e 353 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 354 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 355 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 356 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 357
mbed_official 630:825f75ca301e 358 #define IS_RCC_CECCLKSOURCE(SOURCE) (((SOURCE) == RCC_CECCLKSOURCE_HSI) || \
mbed_official 630:825f75ca301e 359 ((SOURCE) == RCC_CECCLKSOURCE_LSE))
mbed_official 630:825f75ca301e 360 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 361 /* STM32F051x8 || STM32F058xx || */
mbed_official 630:825f75ca301e 362 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 363 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 364
mbed_official 630:825f75ca301e 365 #if defined(STM32F030x8) || defined(STM32F051x8) || defined(STM32F058xx)
mbed_official 630:825f75ca301e 366
mbed_official 630:825f75ca301e 367 #define IS_RCC_MCODIV(DIV) (((DIV) == RCC_MCODIV_1))
mbed_official 630:825f75ca301e 368
mbed_official 630:825f75ca301e 369 #endif /* STM32F030x8 || STM32F051x8 || STM32F058xx */
mbed_official 630:825f75ca301e 370
mbed_official 630:825f75ca301e 371 #if defined(STM32F030x6) || defined(STM32F031x6) || defined(STM32F038xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 372 || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F071xB) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 373 || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 374 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 375
mbed_official 630:825f75ca301e 376 #define IS_RCC_MCODIV(DIV) (((DIV) == RCC_MCO_DIV1) || ((DIV) == RCC_MCO_DIV2) || \
mbed_official 630:825f75ca301e 377 ((DIV) == RCC_MCO_DIV4) || ((DIV) == RCC_MCO_DIV8) || \
mbed_official 630:825f75ca301e 378 ((DIV) == RCC_MCO_DIV16) || ((DIV) == RCC_MCO_DIV32) || \
mbed_official 630:825f75ca301e 379 ((DIV) == RCC_MCO_DIV64) || ((DIV) == RCC_MCO_DIV128))
mbed_official 630:825f75ca301e 380
mbed_official 630:825f75ca301e 381 #endif /* STM32F030x6 || STM32F031x6 || STM32F038xx || STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 382 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070x6 || STM32F070xB */
mbed_official 630:825f75ca301e 383 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 384
mbed_official 630:825f75ca301e 385 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 386 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 387 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 388
mbed_official 630:825f75ca301e 389 #define IS_RCC_CRS_SYNC_SOURCE(_SOURCE_) (((_SOURCE_) == RCC_CRS_SYNC_SOURCE_GPIO) || \
mbed_official 630:825f75ca301e 390 ((_SOURCE_) == RCC_CRS_SYNC_SOURCE_LSE) || \
mbed_official 630:825f75ca301e 391 ((_SOURCE_) == RCC_CRS_SYNC_SOURCE_USB))
mbed_official 630:825f75ca301e 392 #define IS_RCC_CRS_SYNC_DIV(_DIV_) (((_DIV_) == RCC_CRS_SYNC_DIV1) || ((_DIV_) == RCC_CRS_SYNC_DIV2) || \
mbed_official 630:825f75ca301e 393 ((_DIV_) == RCC_CRS_SYNC_DIV4) || ((_DIV_) == RCC_CRS_SYNC_DIV8) || \
mbed_official 630:825f75ca301e 394 ((_DIV_) == RCC_CRS_SYNC_DIV16) || ((_DIV_) == RCC_CRS_SYNC_DIV32) || \
mbed_official 630:825f75ca301e 395 ((_DIV_) == RCC_CRS_SYNC_DIV64) || ((_DIV_) == RCC_CRS_SYNC_DIV128))
mbed_official 630:825f75ca301e 396 #define IS_RCC_CRS_SYNC_POLARITY(_POLARITY_) (((_POLARITY_) == RCC_CRS_SYNC_POLARITY_RISING) || \
mbed_official 630:825f75ca301e 397 ((_POLARITY_) == RCC_CRS_SYNC_POLARITY_FALLING))
mbed_official 630:825f75ca301e 398 #define IS_RCC_CRS_RELOADVALUE(_VALUE_) (((_VALUE_) <= 0xFFFF))
mbed_official 630:825f75ca301e 399 #define IS_RCC_CRS_ERRORLIMIT(_VALUE_) (((_VALUE_) <= 0xFF))
mbed_official 630:825f75ca301e 400 #define IS_RCC_CRS_HSI48CALIBRATION(_VALUE_) (((_VALUE_) <= 0x3F))
mbed_official 630:825f75ca301e 401 #define IS_RCC_CRS_FREQERRORDIR(_DIR_) (((_DIR_) == RCC_CRS_FREQERRORDIR_UP) || \
mbed_official 630:825f75ca301e 402 ((_DIR_) == RCC_CRS_FREQERRORDIR_DOWN))
mbed_official 630:825f75ca301e 403 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 404 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 405 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 406 /**
mbed_official 630:825f75ca301e 407 * @}
mbed_official 630:825f75ca301e 408 */
mbed_official 630:825f75ca301e 409
mbed_official 340:28d1f895c6fe 410 /* Exported types ------------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 411
mbed_official 340:28d1f895c6fe 412 /** @defgroup RCCEx_Exported_Types RCCEx Exported Types
mbed_official 340:28d1f895c6fe 413 * @{
mbed_official 340:28d1f895c6fe 414 */
mbed_official 340:28d1f895c6fe 415
mbed_official 340:28d1f895c6fe 416 /**
mbed_official 340:28d1f895c6fe 417 * @brief RCC extended clocks structure definition
mbed_official 340:28d1f895c6fe 418 */
mbed_official 630:825f75ca301e 419 #if defined(STM32F030x6) || defined(STM32F030x8) || defined(STM32F031x6) || defined(STM32F038xx)\
mbed_official 630:825f75ca301e 420 || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 421 typedef struct
mbed_official 340:28d1f895c6fe 422 {
mbed_official 340:28d1f895c6fe 423 uint32_t PeriphClockSelection; /*!< The Extended Clock to be configured.
mbed_official 340:28d1f895c6fe 424 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */
mbed_official 340:28d1f895c6fe 425
mbed_official 340:28d1f895c6fe 426 uint32_t RTCClockSelection; /*!< Specifies RTC Clock Prescalers Selection
mbed_official 340:28d1f895c6fe 427 This parameter can be a value of @ref RCC_RTC_Clock_Source */
mbed_official 340:28d1f895c6fe 428
mbed_official 340:28d1f895c6fe 429 uint32_t Usart1ClockSelection; /*!< USART1 clock source
mbed_official 340:28d1f895c6fe 430 This parameter can be a value of @ref RCC_USART1_Clock_Source */
mbed_official 340:28d1f895c6fe 431
mbed_official 340:28d1f895c6fe 432 uint32_t I2c1ClockSelection; /*!< I2C1 clock source
mbed_official 340:28d1f895c6fe 433 This parameter can be a value of @ref RCC_I2C1_Clock_Source */
mbed_official 340:28d1f895c6fe 434
mbed_official 340:28d1f895c6fe 435 }RCC_PeriphCLKInitTypeDef;
mbed_official 441:d2c15dda23c1 436 #endif /* STM32F030x6 || STM32F030x8 || STM32F031x6 || STM32F038xx ||
mbed_official 441:d2c15dda23c1 437 STM32F030xC */
mbed_official 441:d2c15dda23c1 438
mbed_official 441:d2c15dda23c1 439 #if defined(STM32F070x6) || defined(STM32F070xB)
mbed_official 441:d2c15dda23c1 440 typedef struct
mbed_official 441:d2c15dda23c1 441 {
mbed_official 441:d2c15dda23c1 442 uint32_t PeriphClockSelection; /*!< The Extended Clock to be configured.
mbed_official 441:d2c15dda23c1 443 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */
mbed_official 441:d2c15dda23c1 444
mbed_official 441:d2c15dda23c1 445 uint32_t RTCClockSelection; /*!< Specifies RTC Clock Prescalers Selection
mbed_official 441:d2c15dda23c1 446 This parameter can be a value of @ref RCC_RTC_Clock_Source */
mbed_official 441:d2c15dda23c1 447
mbed_official 441:d2c15dda23c1 448 uint32_t Usart1ClockSelection; /*!< USART1 clock source
mbed_official 441:d2c15dda23c1 449 This parameter can be a value of @ref RCC_USART1_Clock_Source */
mbed_official 441:d2c15dda23c1 450
mbed_official 441:d2c15dda23c1 451 uint32_t I2c1ClockSelection; /*!< I2C1 clock source
mbed_official 441:d2c15dda23c1 452 This parameter can be a value of @ref RCC_I2C1_Clock_Source */
mbed_official 441:d2c15dda23c1 453
mbed_official 441:d2c15dda23c1 454 uint32_t UsbClockSelection; /*!< USB clock source
mbed_official 441:d2c15dda23c1 455 This parameter can be a value of @ref RCCEx_USB_Clock_Source */
mbed_official 441:d2c15dda23c1 456
mbed_official 441:d2c15dda23c1 457 }RCC_PeriphCLKInitTypeDef;
mbed_official 441:d2c15dda23c1 458 #endif /* STM32F070x6 || STM32F070xB */
mbed_official 340:28d1f895c6fe 459
mbed_official 340:28d1f895c6fe 460 #if defined(STM32F042x6) || defined(STM32F048xx)
mbed_official 340:28d1f895c6fe 461 typedef struct
mbed_official 340:28d1f895c6fe 462 {
mbed_official 340:28d1f895c6fe 463 uint32_t PeriphClockSelection; /*!< The Extended Clock to be configured.
mbed_official 340:28d1f895c6fe 464 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */
mbed_official 340:28d1f895c6fe 465
mbed_official 340:28d1f895c6fe 466 uint32_t RTCClockSelection; /*!< Specifies RTC Clock Prescalers Selection
mbed_official 340:28d1f895c6fe 467 This parameter can be a value of @ref RCC_RTC_Clock_Source */
mbed_official 340:28d1f895c6fe 468
mbed_official 340:28d1f895c6fe 469 uint32_t Usart1ClockSelection; /*!< USART1 clock source
mbed_official 340:28d1f895c6fe 470 This parameter can be a value of @ref RCC_USART1_Clock_Source */
mbed_official 340:28d1f895c6fe 471
mbed_official 340:28d1f895c6fe 472 uint32_t I2c1ClockSelection; /*!< I2C1 clock source
mbed_official 340:28d1f895c6fe 473 This parameter can be a value of @ref RCC_I2C1_Clock_Source */
mbed_official 340:28d1f895c6fe 474
mbed_official 340:28d1f895c6fe 475 uint32_t CecClockSelection; /*!< HDMI CEC clock source
mbed_official 340:28d1f895c6fe 476 This parameter can be a value of @ref RCCEx_CEC_Clock_Source */
mbed_official 340:28d1f895c6fe 477
mbed_official 340:28d1f895c6fe 478 uint32_t UsbClockSelection; /*!< USB clock source
mbed_official 340:28d1f895c6fe 479 This parameter can be a value of @ref RCCEx_USB_Clock_Source */
mbed_official 340:28d1f895c6fe 480
mbed_official 340:28d1f895c6fe 481 }RCC_PeriphCLKInitTypeDef;
mbed_official 340:28d1f895c6fe 482 #endif /* STM32F042x6 || STM32F048xx */
mbed_official 340:28d1f895c6fe 483
mbed_official 340:28d1f895c6fe 484 #if defined(STM32F051x8) || defined(STM32F058xx)
mbed_official 340:28d1f895c6fe 485 typedef struct
mbed_official 340:28d1f895c6fe 486 {
mbed_official 340:28d1f895c6fe 487 uint32_t PeriphClockSelection; /*!< The Extended Clock to be configured.
mbed_official 340:28d1f895c6fe 488 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */
mbed_official 340:28d1f895c6fe 489
mbed_official 340:28d1f895c6fe 490 uint32_t RTCClockSelection; /*!< Specifies RTC Clock Prescalers Selection
mbed_official 340:28d1f895c6fe 491 This parameter can be a value of @ref RCC_RTC_Clock_Source */
mbed_official 340:28d1f895c6fe 492
mbed_official 340:28d1f895c6fe 493 uint32_t Usart1ClockSelection; /*!< USART1 clock source
mbed_official 340:28d1f895c6fe 494 This parameter can be a value of @ref RCC_USART1_Clock_Source */
mbed_official 340:28d1f895c6fe 495
mbed_official 340:28d1f895c6fe 496 uint32_t I2c1ClockSelection; /*!< I2C1 clock source
mbed_official 340:28d1f895c6fe 497 This parameter can be a value of @ref RCC_I2C1_Clock_Source */
mbed_official 340:28d1f895c6fe 498
mbed_official 340:28d1f895c6fe 499 uint32_t CecClockSelection; /*!< HDMI CEC clock source
mbed_official 340:28d1f895c6fe 500 This parameter can be a value of @ref RCCEx_CEC_Clock_Source */
mbed_official 340:28d1f895c6fe 501
mbed_official 340:28d1f895c6fe 502 }RCC_PeriphCLKInitTypeDef;
mbed_official 340:28d1f895c6fe 503 #endif /* STM32F051x8 || STM32F058xx */
mbed_official 340:28d1f895c6fe 504
mbed_official 340:28d1f895c6fe 505 #if defined(STM32F071xB)
mbed_official 340:28d1f895c6fe 506 typedef struct
mbed_official 340:28d1f895c6fe 507 {
mbed_official 340:28d1f895c6fe 508 uint32_t PeriphClockSelection; /*!< The Extended Clock to be configured.
mbed_official 340:28d1f895c6fe 509 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */
mbed_official 340:28d1f895c6fe 510
mbed_official 340:28d1f895c6fe 511 uint32_t RTCClockSelection; /*!< Specifies RTC Clock Prescalers Selection
mbed_official 340:28d1f895c6fe 512 This parameter can be a value of @ref RCC_RTC_Clock_Source */
mbed_official 340:28d1f895c6fe 513
mbed_official 340:28d1f895c6fe 514 uint32_t Usart1ClockSelection; /*!< USART1 clock source
mbed_official 340:28d1f895c6fe 515 This parameter can be a value of @ref RCC_USART1_Clock_Source */
mbed_official 340:28d1f895c6fe 516
mbed_official 340:28d1f895c6fe 517 uint32_t Usart2ClockSelection; /*!< USART2 clock source
mbed_official 340:28d1f895c6fe 518 This parameter can be a value of @ref RCCEx_USART2_Clock_Source */
mbed_official 340:28d1f895c6fe 519
mbed_official 340:28d1f895c6fe 520 uint32_t I2c1ClockSelection; /*!< I2C1 clock source
mbed_official 340:28d1f895c6fe 521 This parameter can be a value of @ref RCC_I2C1_Clock_Source */
mbed_official 340:28d1f895c6fe 522
mbed_official 340:28d1f895c6fe 523 uint32_t CecClockSelection; /*!< HDMI CEC clock source
mbed_official 340:28d1f895c6fe 524 This parameter can be a value of @ref RCCEx_CEC_Clock_Source */
mbed_official 340:28d1f895c6fe 525
mbed_official 340:28d1f895c6fe 526 }RCC_PeriphCLKInitTypeDef;
mbed_official 340:28d1f895c6fe 527 #endif /* STM32F071xB */
mbed_official 340:28d1f895c6fe 528
mbed_official 340:28d1f895c6fe 529 #if defined(STM32F072xB) || defined(STM32F078xx)
mbed_official 340:28d1f895c6fe 530 typedef struct
mbed_official 340:28d1f895c6fe 531 {
mbed_official 340:28d1f895c6fe 532 uint32_t PeriphClockSelection; /*!< The Extended Clock to be configured.
mbed_official 340:28d1f895c6fe 533 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */
mbed_official 340:28d1f895c6fe 534
mbed_official 340:28d1f895c6fe 535 uint32_t RTCClockSelection; /*!< Specifies RTC Clock Prescalers Selection
mbed_official 340:28d1f895c6fe 536 This parameter can be a value of @ref RCC_RTC_Clock_Source */
mbed_official 340:28d1f895c6fe 537
mbed_official 340:28d1f895c6fe 538 uint32_t Usart1ClockSelection; /*!< USART1 clock source
mbed_official 340:28d1f895c6fe 539 This parameter can be a value of @ref RCC_USART1_Clock_Source */
mbed_official 340:28d1f895c6fe 540
mbed_official 340:28d1f895c6fe 541 uint32_t Usart2ClockSelection; /*!< USART2 clock source
mbed_official 340:28d1f895c6fe 542 This parameter can be a value of @ref RCCEx_USART2_Clock_Source */
mbed_official 340:28d1f895c6fe 543
mbed_official 340:28d1f895c6fe 544 uint32_t I2c1ClockSelection; /*!< I2C1 clock source
mbed_official 340:28d1f895c6fe 545 This parameter can be a value of @ref RCC_I2C1_Clock_Source */
mbed_official 340:28d1f895c6fe 546
mbed_official 340:28d1f895c6fe 547 uint32_t CecClockSelection; /*!< HDMI CEC clock source
mbed_official 340:28d1f895c6fe 548 This parameter can be a value of @ref RCCEx_CEC_Clock_Source */
mbed_official 340:28d1f895c6fe 549
mbed_official 340:28d1f895c6fe 550 uint32_t UsbClockSelection; /*!< USB clock source
mbed_official 340:28d1f895c6fe 551 This parameter can be a value of @ref RCCEx_USB_Clock_Source */
mbed_official 340:28d1f895c6fe 552
mbed_official 340:28d1f895c6fe 553 }RCC_PeriphCLKInitTypeDef;
mbed_official 340:28d1f895c6fe 554 #endif /* STM32F072xB || STM32F078xx */
mbed_official 340:28d1f895c6fe 555
mbed_official 340:28d1f895c6fe 556
mbed_official 340:28d1f895c6fe 557 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 558 typedef struct
mbed_official 340:28d1f895c6fe 559 {
mbed_official 340:28d1f895c6fe 560 uint32_t PeriphClockSelection; /*!< The Extended Clock to be configured.
mbed_official 340:28d1f895c6fe 561 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */
mbed_official 340:28d1f895c6fe 562
mbed_official 340:28d1f895c6fe 563 uint32_t RTCClockSelection; /*!< Specifies RTC Clock Prescalers Selection
mbed_official 340:28d1f895c6fe 564 This parameter can be a value of @ref RCC_RTC_Clock_Source */
mbed_official 340:28d1f895c6fe 565
mbed_official 340:28d1f895c6fe 566 uint32_t Usart1ClockSelection; /*!< USART1 clock source
mbed_official 340:28d1f895c6fe 567 This parameter can be a value of @ref RCC_USART1_Clock_Source */
mbed_official 340:28d1f895c6fe 568
mbed_official 340:28d1f895c6fe 569 uint32_t Usart2ClockSelection; /*!< USART2 clock source
mbed_official 340:28d1f895c6fe 570 This parameter can be a value of @ref RCCEx_USART2_Clock_Source */
mbed_official 340:28d1f895c6fe 571
mbed_official 340:28d1f895c6fe 572 uint32_t Usart3ClockSelection; /*!< USART3 clock source
mbed_official 340:28d1f895c6fe 573 This parameter can be a value of @ref RCCEx_USART3_Clock_Source */
mbed_official 340:28d1f895c6fe 574
mbed_official 340:28d1f895c6fe 575 uint32_t I2c1ClockSelection; /*!< I2C1 clock source
mbed_official 340:28d1f895c6fe 576 This parameter can be a value of @ref RCC_I2C1_Clock_Source */
mbed_official 340:28d1f895c6fe 577
mbed_official 340:28d1f895c6fe 578 uint32_t CecClockSelection; /*!< HDMI CEC clock source
mbed_official 340:28d1f895c6fe 579 This parameter can be a value of @ref RCCEx_CEC_Clock_Source */
mbed_official 340:28d1f895c6fe 580
mbed_official 340:28d1f895c6fe 581 }RCC_PeriphCLKInitTypeDef;
mbed_official 340:28d1f895c6fe 582 #endif /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 583
mbed_official 630:825f75ca301e 584 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 585 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 586 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 587
mbed_official 340:28d1f895c6fe 588 /**
mbed_official 340:28d1f895c6fe 589 * @brief RCC_CRS Init structure definition
mbed_official 340:28d1f895c6fe 590 */
mbed_official 340:28d1f895c6fe 591 typedef struct
mbed_official 340:28d1f895c6fe 592 {
mbed_official 340:28d1f895c6fe 593 uint32_t Prescaler; /*!< Specifies the division factor of the SYNC signal.
mbed_official 340:28d1f895c6fe 594 This parameter can be a value of @ref RCCEx_CRS_SynchroDivider */
mbed_official 340:28d1f895c6fe 595
mbed_official 340:28d1f895c6fe 596 uint32_t Source; /*!< Specifies the SYNC signal source.
mbed_official 340:28d1f895c6fe 597 This parameter can be a value of @ref RCCEx_CRS_SynchroSource */
mbed_official 340:28d1f895c6fe 598
mbed_official 340:28d1f895c6fe 599 uint32_t Polarity; /*!< Specifies the input polarity for the SYNC signal source.
mbed_official 340:28d1f895c6fe 600 This parameter can be a value of @ref RCCEx_CRS_SynchroPolarity */
mbed_official 340:28d1f895c6fe 601
mbed_official 340:28d1f895c6fe 602 uint32_t ReloadValue; /*!< Specifies the value to be loaded in the frequency error counter with each SYNC event.
mbed_official 340:28d1f895c6fe 603 It can be calculated in using macro __HAL_RCC_CRS_CALCULATE_RELOADVALUE(_FTARGET_, _FSYNC_)
mbed_official 340:28d1f895c6fe 604 This parameter must be a number between 0 and 0xFFFF or a value of @ref RCCEx_CRS_ReloadValueDefault .*/
mbed_official 340:28d1f895c6fe 605
mbed_official 340:28d1f895c6fe 606 uint32_t ErrorLimitValue; /*!< Specifies the value to be used to evaluate the captured frequency error value.
mbed_official 340:28d1f895c6fe 607 This parameter must be a number between 0 and 0xFF or a value of @ref RCCEx_CRS_ErrorLimitDefault */
mbed_official 340:28d1f895c6fe 608
mbed_official 340:28d1f895c6fe 609 uint32_t HSI48CalibrationValue; /*!< Specifies a user-programmable trimming value to the HSI48 oscillator.
mbed_official 340:28d1f895c6fe 610 This parameter must be a number between 0 and 0x3F or a value of @ref RCCEx_CRS_HSI48CalibrationDefault */
mbed_official 340:28d1f895c6fe 611
mbed_official 340:28d1f895c6fe 612 }RCC_CRSInitTypeDef;
mbed_official 340:28d1f895c6fe 613
mbed_official 340:28d1f895c6fe 614 /**
mbed_official 340:28d1f895c6fe 615 * @brief RCC_CRS Synchronization structure definition
mbed_official 340:28d1f895c6fe 616 */
mbed_official 340:28d1f895c6fe 617 typedef struct
mbed_official 340:28d1f895c6fe 618 {
mbed_official 340:28d1f895c6fe 619 uint32_t ReloadValue; /*!< Specifies the value loaded in the Counter reload value.
mbed_official 340:28d1f895c6fe 620 This parameter must be a number between 0 and 0xFFFF*/
mbed_official 340:28d1f895c6fe 621
mbed_official 340:28d1f895c6fe 622 uint32_t HSI48CalibrationValue; /*!< Specifies value loaded in HSI48 oscillator smooth trimming.
mbed_official 340:28d1f895c6fe 623 This parameter must be a number between 0 and 0x3F */
mbed_official 340:28d1f895c6fe 624
mbed_official 340:28d1f895c6fe 625 uint32_t FreqErrorCapture; /*!< Specifies the value loaded in the .FECAP, the frequency error counter
mbed_official 340:28d1f895c6fe 626 value latched in the time of the last SYNC event.
mbed_official 340:28d1f895c6fe 627 This parameter must be a number between 0 and 0xFFFF */
mbed_official 340:28d1f895c6fe 628
mbed_official 340:28d1f895c6fe 629 uint32_t FreqErrorDirection; /*!< Specifies the value loaded in the .FEDIR, the counting direction of the
mbed_official 340:28d1f895c6fe 630 frequency error counter latched in the time of the last SYNC event.
mbed_official 340:28d1f895c6fe 631 It shows whether the actual frequency is below or above the target.
mbed_official 340:28d1f895c6fe 632 This parameter must be a value of @ref RCCEx_CRS_FreqErrorDirection*/
mbed_official 340:28d1f895c6fe 633
mbed_official 340:28d1f895c6fe 634 }RCC_CRSSynchroInfoTypeDef;
mbed_official 340:28d1f895c6fe 635
mbed_official 441:d2c15dda23c1 636 #endif /* STM32F042x6 || STM32F048xx */
mbed_official 340:28d1f895c6fe 637 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 638 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 639
mbed_official 340:28d1f895c6fe 640 /**
mbed_official 340:28d1f895c6fe 641 * @}
mbed_official 340:28d1f895c6fe 642 */
mbed_official 340:28d1f895c6fe 643
mbed_official 340:28d1f895c6fe 644 /* Exported constants --------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 645
mbed_official 340:28d1f895c6fe 646 /** @defgroup RCCEx_Exported_Constants RCCEx Exported Constants
mbed_official 340:28d1f895c6fe 647 * @{
mbed_official 340:28d1f895c6fe 648 */
mbed_official 340:28d1f895c6fe 649
mbed_official 630:825f75ca301e 650 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 651 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 652 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 653 /** @defgroup RCCEx_HSI48_Config RCCEx HSI48 Config
mbed_official 630:825f75ca301e 654 * @{
mbed_official 630:825f75ca301e 655 */
mbed_official 630:825f75ca301e 656 #define RCC_HSI48_OFF ((uint8_t)0x00)
mbed_official 630:825f75ca301e 657 #define RCC_HSI48_ON ((uint8_t)0x01)
mbed_official 630:825f75ca301e 658
mbed_official 630:825f75ca301e 659 /**
mbed_official 630:825f75ca301e 660 * @}
mbed_official 630:825f75ca301e 661 */
mbed_official 630:825f75ca301e 662
mbed_official 441:d2c15dda23c1 663 /** @defgroup RCCEx_CRS_Status RCCEx CRS Status
mbed_official 441:d2c15dda23c1 664 * @{
mbed_official 441:d2c15dda23c1 665 */
mbed_official 441:d2c15dda23c1 666 #define RCC_CRS_NONE ((uint32_t)0x00000000)
mbed_official 441:d2c15dda23c1 667 #define RCC_CRS_TIMEOUT ((uint32_t)0x00000001)
mbed_official 441:d2c15dda23c1 668 #define RCC_CRS_SYNCOK ((uint32_t)0x00000002)
mbed_official 441:d2c15dda23c1 669 #define RCC_CRS_SYNCWARM ((uint32_t)0x00000004)
mbed_official 441:d2c15dda23c1 670 #define RCC_CRS_SYNCERR ((uint32_t)0x00000008)
mbed_official 441:d2c15dda23c1 671 #define RCC_CRS_SYNCMISS ((uint32_t)0x00000010)
mbed_official 441:d2c15dda23c1 672 #define RCC_CRS_TRIMOV ((uint32_t)0x00000020)
mbed_official 441:d2c15dda23c1 673
mbed_official 441:d2c15dda23c1 674 /**
mbed_official 441:d2c15dda23c1 675 * @}
mbed_official 441:d2c15dda23c1 676 */
mbed_official 441:d2c15dda23c1 677
mbed_official 630:825f75ca301e 678 #else
mbed_official 630:825f75ca301e 679
mbed_official 630:825f75ca301e 680 /** @defgroup RCCEx_HSI48_Config RCCEx HSI48 Config
mbed_official 630:825f75ca301e 681 * @{
mbed_official 630:825f75ca301e 682 */
mbed_official 630:825f75ca301e 683 #define RCC_HSI48_OFF ((uint8_t)0x00)
mbed_official 630:825f75ca301e 684 /**
mbed_official 630:825f75ca301e 685 * @}
mbed_official 630:825f75ca301e 686 */
mbed_official 630:825f75ca301e 687
mbed_official 630:825f75ca301e 688 #endif /* STM32F042x6 || STM32F048xx */
mbed_official 630:825f75ca301e 689 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 690 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 691
mbed_official 340:28d1f895c6fe 692 /** @defgroup RCCEx_Periph_Clock_Selection RCCEx Periph Clock Selection
mbed_official 340:28d1f895c6fe 693 * @{
mbed_official 340:28d1f895c6fe 694 */
mbed_official 630:825f75ca301e 695 #if defined(STM32F030x6) || defined(STM32F030x8) || defined(STM32F031x6) || defined(STM32F038xx)\
mbed_official 630:825f75ca301e 696 || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 697 #define RCC_PERIPHCLK_USART1 ((uint32_t)0x00000001)
mbed_official 340:28d1f895c6fe 698 #define RCC_PERIPHCLK_I2C1 ((uint32_t)0x00000020)
mbed_official 340:28d1f895c6fe 699 #define RCC_PERIPHCLK_RTC ((uint32_t)0x00010000)
mbed_official 340:28d1f895c6fe 700
mbed_official 441:d2c15dda23c1 701 #endif /* STM32F030x6 || STM32F030x8 || STM32F031x6 || STM32F038xx ||
mbed_official 441:d2c15dda23c1 702 STM32F030xC */
mbed_official 441:d2c15dda23c1 703
mbed_official 441:d2c15dda23c1 704 #if defined(STM32F070x6) || defined(STM32F070xB)
mbed_official 441:d2c15dda23c1 705 #define RCC_PERIPHCLK_USART1 ((uint32_t)0x00000001)
mbed_official 441:d2c15dda23c1 706 #define RCC_PERIPHCLK_I2C1 ((uint32_t)0x00000020)
mbed_official 441:d2c15dda23c1 707 #define RCC_PERIPHCLK_RTC ((uint32_t)0x00010000)
mbed_official 441:d2c15dda23c1 708 #define RCC_PERIPHCLK_USB ((uint32_t)0x00020000)
mbed_official 441:d2c15dda23c1 709
mbed_official 441:d2c15dda23c1 710 #endif /* STM32F070x6 || STM32F070xB */
mbed_official 340:28d1f895c6fe 711
mbed_official 340:28d1f895c6fe 712 #if defined(STM32F042x6) || defined(STM32F048xx)
mbed_official 340:28d1f895c6fe 713 #define RCC_PERIPHCLK_USART1 ((uint32_t)0x00000001)
mbed_official 340:28d1f895c6fe 714 #define RCC_PERIPHCLK_I2C1 ((uint32_t)0x00000020)
mbed_official 340:28d1f895c6fe 715 #define RCC_PERIPHCLK_CEC ((uint32_t)0x00000400)
mbed_official 340:28d1f895c6fe 716 #define RCC_PERIPHCLK_RTC ((uint32_t)0x00010000)
mbed_official 340:28d1f895c6fe 717 #define RCC_PERIPHCLK_USB ((uint32_t)0x00020000)
mbed_official 340:28d1f895c6fe 718
mbed_official 340:28d1f895c6fe 719 #endif /* STM32F042x6 || STM32F048xx */
mbed_official 340:28d1f895c6fe 720
mbed_official 340:28d1f895c6fe 721 #if defined(STM32F051x8) || defined(STM32F058xx)
mbed_official 340:28d1f895c6fe 722 #define RCC_PERIPHCLK_USART1 ((uint32_t)0x00000001)
mbed_official 340:28d1f895c6fe 723 #define RCC_PERIPHCLK_I2C1 ((uint32_t)0x00000020)
mbed_official 340:28d1f895c6fe 724 #define RCC_PERIPHCLK_CEC ((uint32_t)0x00000400)
mbed_official 340:28d1f895c6fe 725 #define RCC_PERIPHCLK_RTC ((uint32_t)0x00010000)
mbed_official 340:28d1f895c6fe 726
mbed_official 340:28d1f895c6fe 727 #endif /* STM32F051x8 || STM32F058xx */
mbed_official 340:28d1f895c6fe 728
mbed_official 340:28d1f895c6fe 729 #if defined(STM32F071xB)
mbed_official 340:28d1f895c6fe 730 #define RCC_PERIPHCLK_USART1 ((uint32_t)0x00000001)
mbed_official 340:28d1f895c6fe 731 #define RCC_PERIPHCLK_USART2 ((uint32_t)0x00000002)
mbed_official 340:28d1f895c6fe 732 #define RCC_PERIPHCLK_I2C1 ((uint32_t)0x00000020)
mbed_official 340:28d1f895c6fe 733 #define RCC_PERIPHCLK_CEC ((uint32_t)0x00000400)
mbed_official 340:28d1f895c6fe 734 #define RCC_PERIPHCLK_RTC ((uint32_t)0x00010000)
mbed_official 340:28d1f895c6fe 735
mbed_official 340:28d1f895c6fe 736 #endif /* STM32F071xB */
mbed_official 340:28d1f895c6fe 737
mbed_official 340:28d1f895c6fe 738 #if defined(STM32F072xB) || defined(STM32F078xx)
mbed_official 340:28d1f895c6fe 739 #define RCC_PERIPHCLK_USART1 ((uint32_t)0x00000001)
mbed_official 340:28d1f895c6fe 740 #define RCC_PERIPHCLK_USART2 ((uint32_t)0x00000002)
mbed_official 340:28d1f895c6fe 741 #define RCC_PERIPHCLK_I2C1 ((uint32_t)0x00000020)
mbed_official 340:28d1f895c6fe 742 #define RCC_PERIPHCLK_CEC ((uint32_t)0x00000400)
mbed_official 340:28d1f895c6fe 743 #define RCC_PERIPHCLK_RTC ((uint32_t)0x00010000)
mbed_official 340:28d1f895c6fe 744 #define RCC_PERIPHCLK_USB ((uint32_t)0x00020000)
mbed_official 340:28d1f895c6fe 745
mbed_official 340:28d1f895c6fe 746 #endif /* STM32F072xB || STM32F078xx */
mbed_official 340:28d1f895c6fe 747
mbed_official 340:28d1f895c6fe 748 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 749 #define RCC_PERIPHCLK_USART1 ((uint32_t)0x00000001)
mbed_official 340:28d1f895c6fe 750 #define RCC_PERIPHCLK_USART2 ((uint32_t)0x00000002)
mbed_official 340:28d1f895c6fe 751 #define RCC_PERIPHCLK_I2C1 ((uint32_t)0x00000020)
mbed_official 340:28d1f895c6fe 752 #define RCC_PERIPHCLK_CEC ((uint32_t)0x00000400)
mbed_official 340:28d1f895c6fe 753 #define RCC_PERIPHCLK_RTC ((uint32_t)0x00010000)
mbed_official 340:28d1f895c6fe 754 #define RCC_PERIPHCLK_USART3 ((uint32_t)0x00040000)
mbed_official 340:28d1f895c6fe 755
mbed_official 340:28d1f895c6fe 756 #endif /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 757
mbed_official 340:28d1f895c6fe 758 /**
mbed_official 340:28d1f895c6fe 759 * @}
mbed_official 340:28d1f895c6fe 760 */
mbed_official 340:28d1f895c6fe 761
mbed_official 340:28d1f895c6fe 762 #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx)
mbed_official 340:28d1f895c6fe 763
mbed_official 340:28d1f895c6fe 764 /** @defgroup RCCEx_USB_Clock_Source RCCEx USB Clock Source
mbed_official 340:28d1f895c6fe 765 * @{
mbed_official 340:28d1f895c6fe 766 */
mbed_official 340:28d1f895c6fe 767 #define RCC_USBCLKSOURCE_HSI48 RCC_CFGR3_USBSW_HSI48
mbed_official 340:28d1f895c6fe 768 #define RCC_USBCLKSOURCE_PLLCLK RCC_CFGR3_USBSW_PLLCLK
mbed_official 340:28d1f895c6fe 769
mbed_official 340:28d1f895c6fe 770 /**
mbed_official 340:28d1f895c6fe 771 * @}
mbed_official 340:28d1f895c6fe 772 */
mbed_official 340:28d1f895c6fe 773
mbed_official 340:28d1f895c6fe 774 #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx */
mbed_official 340:28d1f895c6fe 775
mbed_official 441:d2c15dda23c1 776 #if defined(STM32F070x6) || defined(STM32F070xB)
mbed_official 441:d2c15dda23c1 777
mbed_official 441:d2c15dda23c1 778 /** @defgroup RCCEx_USB_Clock_Source RCCEx USB Clock Source
mbed_official 441:d2c15dda23c1 779 * @{
mbed_official 441:d2c15dda23c1 780 */
mbed_official 441:d2c15dda23c1 781 #define RCC_USBCLKSOURCE_PLLCLK RCC_CFGR3_USBSW_PLLCLK
mbed_official 441:d2c15dda23c1 782
mbed_official 441:d2c15dda23c1 783 /**
mbed_official 441:d2c15dda23c1 784 * @}
mbed_official 441:d2c15dda23c1 785 */
mbed_official 441:d2c15dda23c1 786
mbed_official 441:d2c15dda23c1 787 #endif /* STM32F070x6 || STM32F070xB */
mbed_official 441:d2c15dda23c1 788
mbed_official 630:825f75ca301e 789 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 790 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 791
mbed_official 340:28d1f895c6fe 792 /** @defgroup RCCEx_USART2_Clock_Source RCCEx USART2 Clock Source
mbed_official 340:28d1f895c6fe 793 * @{
mbed_official 340:28d1f895c6fe 794 */
mbed_official 340:28d1f895c6fe 795 #define RCC_USART2CLKSOURCE_PCLK1 RCC_CFGR3_USART2SW_PCLK
mbed_official 340:28d1f895c6fe 796 #define RCC_USART2CLKSOURCE_SYSCLK RCC_CFGR3_USART2SW_SYSCLK
mbed_official 340:28d1f895c6fe 797 #define RCC_USART2CLKSOURCE_LSE RCC_CFGR3_USART2SW_LSE
mbed_official 340:28d1f895c6fe 798 #define RCC_USART2CLKSOURCE_HSI RCC_CFGR3_USART2SW_HSI
mbed_official 340:28d1f895c6fe 799
mbed_official 340:28d1f895c6fe 800 /**
mbed_official 340:28d1f895c6fe 801 * @}
mbed_official 340:28d1f895c6fe 802 */
mbed_official 340:28d1f895c6fe 803
mbed_official 340:28d1f895c6fe 804 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 805 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 806
mbed_official 340:28d1f895c6fe 807 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 808
mbed_official 340:28d1f895c6fe 809 /** @defgroup RCCEx_USART3_Clock_Source RCCEx USART3 Clock Source
mbed_official 340:28d1f895c6fe 810 * @{
mbed_official 340:28d1f895c6fe 811 */
mbed_official 340:28d1f895c6fe 812 #define RCC_USART3CLKSOURCE_PCLK1 RCC_CFGR3_USART3SW_PCLK
mbed_official 340:28d1f895c6fe 813 #define RCC_USART3CLKSOURCE_SYSCLK RCC_CFGR3_USART3SW_SYSCLK
mbed_official 340:28d1f895c6fe 814 #define RCC_USART3CLKSOURCE_LSE RCC_CFGR3_USART3SW_LSE
mbed_official 340:28d1f895c6fe 815 #define RCC_USART3CLKSOURCE_HSI RCC_CFGR3_USART3SW_HSI
mbed_official 340:28d1f895c6fe 816
mbed_official 340:28d1f895c6fe 817 /**
mbed_official 340:28d1f895c6fe 818 * @}
mbed_official 340:28d1f895c6fe 819 */
mbed_official 340:28d1f895c6fe 820
mbed_official 340:28d1f895c6fe 821 #endif /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 822
mbed_official 340:28d1f895c6fe 823
mbed_official 630:825f75ca301e 824 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 825 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 826 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 827 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 828
mbed_official 340:28d1f895c6fe 829 /** @defgroup RCCEx_CEC_Clock_Source RCCEx CEC Clock Source
mbed_official 340:28d1f895c6fe 830 * @{
mbed_official 340:28d1f895c6fe 831 */
mbed_official 340:28d1f895c6fe 832 #define RCC_CECCLKSOURCE_HSI RCC_CFGR3_CECSW_HSI_DIV244
mbed_official 340:28d1f895c6fe 833 #define RCC_CECCLKSOURCE_LSE RCC_CFGR3_CECSW_LSE
mbed_official 340:28d1f895c6fe 834
mbed_official 340:28d1f895c6fe 835 /**
mbed_official 340:28d1f895c6fe 836 * @}
mbed_official 340:28d1f895c6fe 837 */
mbed_official 340:28d1f895c6fe 838
mbed_official 340:28d1f895c6fe 839 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 840 /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 841 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 842 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 843
mbed_official 340:28d1f895c6fe 844 /** @defgroup RCCEx_MCOx_Clock_Prescaler RCCEx MCOx Clock Prescaler
mbed_official 340:28d1f895c6fe 845 * @{
mbed_official 340:28d1f895c6fe 846 */
mbed_official 340:28d1f895c6fe 847
mbed_official 340:28d1f895c6fe 848 #if defined(STM32F030x8) || defined(STM32F051x8) || defined(STM32F058xx)
mbed_official 340:28d1f895c6fe 849
mbed_official 630:825f75ca301e 850 #define RCC_MCODIV_1 ((uint32_t)0x00000000)
mbed_official 340:28d1f895c6fe 851
mbed_official 340:28d1f895c6fe 852 #endif /* STM32F030x8 || STM32F051x8 || STM32F058xx */
mbed_official 340:28d1f895c6fe 853
mbed_official 630:825f75ca301e 854 #if defined(STM32F030x6) || defined(STM32F031x6) || defined(STM32F038xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 855 || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F071xB) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 856 || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 857 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 858
mbed_official 340:28d1f895c6fe 859 #define RCC_MCO_DIV1 ((uint32_t)0x00000000)
mbed_official 340:28d1f895c6fe 860 #define RCC_MCO_DIV2 ((uint32_t)0x10000000)
mbed_official 340:28d1f895c6fe 861 #define RCC_MCO_DIV4 ((uint32_t)0x20000000)
mbed_official 340:28d1f895c6fe 862 #define RCC_MCO_DIV8 ((uint32_t)0x30000000)
mbed_official 340:28d1f895c6fe 863 #define RCC_MCO_DIV16 ((uint32_t)0x40000000)
mbed_official 340:28d1f895c6fe 864 #define RCC_MCO_DIV32 ((uint32_t)0x50000000)
mbed_official 340:28d1f895c6fe 865 #define RCC_MCO_DIV64 ((uint32_t)0x60000000)
mbed_official 340:28d1f895c6fe 866 #define RCC_MCO_DIV128 ((uint32_t)0x70000000)
mbed_official 340:28d1f895c6fe 867
mbed_official 340:28d1f895c6fe 868 #endif /* STM32F030x6 || STM32F031x6 || STM32F038xx || STM32F042x6 || STM32F048xx || */
mbed_official 441:d2c15dda23c1 869 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070x6 || STM32F070xB */
mbed_official 441:d2c15dda23c1 870 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 871
mbed_official 340:28d1f895c6fe 872 /**
mbed_official 340:28d1f895c6fe 873 * @}
mbed_official 340:28d1f895c6fe 874 */
mbed_official 340:28d1f895c6fe 875
mbed_official 630:825f75ca301e 876 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 877 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 878 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 879
mbed_official 340:28d1f895c6fe 880 /** @defgroup RCCEx_CRS_SynchroSource RCCEx CRS SynchroSource
mbed_official 340:28d1f895c6fe 881 * @{
mbed_official 340:28d1f895c6fe 882 */
mbed_official 340:28d1f895c6fe 883 #define RCC_CRS_SYNC_SOURCE_GPIO ((uint32_t)0x00) /*!< Synchro Signal soucre GPIO */
mbed_official 340:28d1f895c6fe 884 #define RCC_CRS_SYNC_SOURCE_LSE CRS_CFGR_SYNCSRC_0 /*!< Synchro Signal source LSE */
mbed_official 340:28d1f895c6fe 885 #define RCC_CRS_SYNC_SOURCE_USB CRS_CFGR_SYNCSRC_1 /*!< Synchro Signal source USB SOF (default)*/
mbed_official 340:28d1f895c6fe 886
mbed_official 340:28d1f895c6fe 887 /**
mbed_official 340:28d1f895c6fe 888 * @}
mbed_official 340:28d1f895c6fe 889 */
mbed_official 340:28d1f895c6fe 890
mbed_official 340:28d1f895c6fe 891 /** @defgroup RCCEx_CRS_SynchroDivider RCCEx CRS SynchroDivider
mbed_official 340:28d1f895c6fe 892 * @{
mbed_official 340:28d1f895c6fe 893 */
mbed_official 340:28d1f895c6fe 894 #define RCC_CRS_SYNC_DIV1 ((uint32_t)0x00) /*!< Synchro Signal not divided (default) */
mbed_official 340:28d1f895c6fe 895 #define RCC_CRS_SYNC_DIV2 CRS_CFGR_SYNCDIV_0 /*!< Synchro Signal divided by 2 */
mbed_official 340:28d1f895c6fe 896 #define RCC_CRS_SYNC_DIV4 CRS_CFGR_SYNCDIV_1 /*!< Synchro Signal divided by 4 */
mbed_official 340:28d1f895c6fe 897 #define RCC_CRS_SYNC_DIV8 (CRS_CFGR_SYNCDIV_1 | CRS_CFGR_SYNCDIV_0) /*!< Synchro Signal divided by 8 */
mbed_official 340:28d1f895c6fe 898 #define RCC_CRS_SYNC_DIV16 CRS_CFGR_SYNCDIV_2 /*!< Synchro Signal divided by 16 */
mbed_official 340:28d1f895c6fe 899 #define RCC_CRS_SYNC_DIV32 (CRS_CFGR_SYNCDIV_2 | CRS_CFGR_SYNCDIV_0) /*!< Synchro Signal divided by 32 */
mbed_official 340:28d1f895c6fe 900 #define RCC_CRS_SYNC_DIV64 (CRS_CFGR_SYNCDIV_2 | CRS_CFGR_SYNCDIV_1) /*!< Synchro Signal divided by 64 */
mbed_official 340:28d1f895c6fe 901 #define RCC_CRS_SYNC_DIV128 CRS_CFGR_SYNCDIV /*!< Synchro Signal divided by 128 */
mbed_official 340:28d1f895c6fe 902
mbed_official 340:28d1f895c6fe 903 /**
mbed_official 340:28d1f895c6fe 904 * @}
mbed_official 340:28d1f895c6fe 905 */
mbed_official 340:28d1f895c6fe 906
mbed_official 340:28d1f895c6fe 907 /** @defgroup RCCEx_CRS_SynchroPolarity RCCEx CRS SynchroPolarity
mbed_official 340:28d1f895c6fe 908 * @{
mbed_official 340:28d1f895c6fe 909 */
mbed_official 340:28d1f895c6fe 910 #define RCC_CRS_SYNC_POLARITY_RISING ((uint32_t)0x00) /*!< Synchro Active on rising edge (default) */
mbed_official 340:28d1f895c6fe 911 #define RCC_CRS_SYNC_POLARITY_FALLING CRS_CFGR_SYNCPOL /*!< Synchro Active on falling edge */
mbed_official 340:28d1f895c6fe 912
mbed_official 340:28d1f895c6fe 913 /**
mbed_official 340:28d1f895c6fe 914 * @}
mbed_official 340:28d1f895c6fe 915 */
mbed_official 340:28d1f895c6fe 916
mbed_official 340:28d1f895c6fe 917 /** @defgroup RCCEx_CRS_ReloadValueDefault RCCEx CRS ReloadValueDefault
mbed_official 340:28d1f895c6fe 918 * @{
mbed_official 340:28d1f895c6fe 919 */
mbed_official 340:28d1f895c6fe 920 #define RCC_CRS_RELOADVALUE_DEFAULT ((uint32_t)0xBB7F) /*!< The reset value of the RELOAD field corresponds
mbed_official 340:28d1f895c6fe 921 to a target frequency of 48 MHz and a synchronization signal frequency of 1 kHz (SOF signal from USB). */
mbed_official 340:28d1f895c6fe 922
mbed_official 340:28d1f895c6fe 923 /**
mbed_official 340:28d1f895c6fe 924 * @}
mbed_official 340:28d1f895c6fe 925 */
mbed_official 340:28d1f895c6fe 926
mbed_official 340:28d1f895c6fe 927 /** @defgroup RCCEx_CRS_ErrorLimitDefault RCCEx CRS ErrorLimitDefault
mbed_official 340:28d1f895c6fe 928 * @{
mbed_official 340:28d1f895c6fe 929 */
mbed_official 340:28d1f895c6fe 930 #define RCC_CRS_ERRORLIMIT_DEFAULT ((uint32_t)0x22) /*!< Default Frequency error limit */
mbed_official 340:28d1f895c6fe 931
mbed_official 340:28d1f895c6fe 932 /**
mbed_official 340:28d1f895c6fe 933 * @}
mbed_official 340:28d1f895c6fe 934 */
mbed_official 340:28d1f895c6fe 935
mbed_official 340:28d1f895c6fe 936 /** @defgroup RCCEx_CRS_HSI48CalibrationDefault RCCEx CRS HSI48CalibrationDefault
mbed_official 340:28d1f895c6fe 937 * @{
mbed_official 340:28d1f895c6fe 938 */
mbed_official 340:28d1f895c6fe 939 #define RCC_CRS_HSI48CALIBRATION_DEFAULT ((uint32_t)0x20) /*!< The default value is 32, which corresponds to the middle of the trimming interval.
mbed_official 340:28d1f895c6fe 940 The trimming step is around 67 kHz between two consecutive TRIM steps. A higher TRIM value
mbed_official 340:28d1f895c6fe 941 corresponds to a higher output frequency */
mbed_official 340:28d1f895c6fe 942
mbed_official 340:28d1f895c6fe 943 /**
mbed_official 340:28d1f895c6fe 944 * @}
mbed_official 340:28d1f895c6fe 945 */
mbed_official 340:28d1f895c6fe 946
mbed_official 340:28d1f895c6fe 947 /** @defgroup RCCEx_CRS_FreqErrorDirection RCCEx CRS FreqErrorDirection
mbed_official 340:28d1f895c6fe 948 * @{
mbed_official 340:28d1f895c6fe 949 */
mbed_official 340:28d1f895c6fe 950 #define RCC_CRS_FREQERRORDIR_UP ((uint32_t)0x00) /*!< Upcounting direction, the actual frequency is above the target */
mbed_official 340:28d1f895c6fe 951 #define RCC_CRS_FREQERRORDIR_DOWN ((uint32_t)CRS_ISR_FEDIR) /*!< Downcounting direction, the actual frequency is below the target */
mbed_official 340:28d1f895c6fe 952
mbed_official 340:28d1f895c6fe 953 /**
mbed_official 340:28d1f895c6fe 954 * @}
mbed_official 340:28d1f895c6fe 955 */
mbed_official 340:28d1f895c6fe 956
mbed_official 340:28d1f895c6fe 957 /** @defgroup RCCEx_CRS_Interrupt_Sources RCCEx CRS Interrupt Sources
mbed_official 340:28d1f895c6fe 958 * @{
mbed_official 340:28d1f895c6fe 959 */
mbed_official 340:28d1f895c6fe 960 #define RCC_CRS_IT_SYNCOK CRS_ISR_SYNCOKF /*!< SYNC event OK */
mbed_official 340:28d1f895c6fe 961 #define RCC_CRS_IT_SYNCWARN CRS_ISR_SYNCWARNF /*!< SYNC warning */
mbed_official 340:28d1f895c6fe 962 #define RCC_CRS_IT_ERR CRS_ISR_ERRF /*!< error */
mbed_official 340:28d1f895c6fe 963 #define RCC_CRS_IT_ESYNC CRS_ISR_ESYNCF /*!< Expected SYNC */
mbed_official 340:28d1f895c6fe 964 #define RCC_CRS_IT_TRIMOVF CRS_ISR_TRIMOVF /*!< Trimming overflow or underflow */
mbed_official 340:28d1f895c6fe 965 #define RCC_CRS_IT_SYNCERR CRS_ISR_SYNCERR /*!< SYNC error */
mbed_official 340:28d1f895c6fe 966 #define RCC_CRS_IT_SYNCMISS CRS_ISR_SYNCMISS /*!< SYNC missed*/
mbed_official 340:28d1f895c6fe 967
mbed_official 340:28d1f895c6fe 968 /**
mbed_official 340:28d1f895c6fe 969 * @}
mbed_official 340:28d1f895c6fe 970 */
mbed_official 340:28d1f895c6fe 971
mbed_official 340:28d1f895c6fe 972 /** @defgroup RCCEx_CRS_Flags RCCEx CRS Flags
mbed_official 340:28d1f895c6fe 973 * @{
mbed_official 340:28d1f895c6fe 974 */
mbed_official 340:28d1f895c6fe 975 #define RCC_CRS_FLAG_SYNCOK CRS_ISR_SYNCOKF /* SYNC event OK flag */
mbed_official 340:28d1f895c6fe 976 #define RCC_CRS_FLAG_SYNCWARN CRS_ISR_SYNCWARNF /* SYNC warning flag */
mbed_official 340:28d1f895c6fe 977 #define RCC_CRS_FLAG_ERR CRS_ISR_ERRF /* Error flag */
mbed_official 340:28d1f895c6fe 978 #define RCC_CRS_FLAG_ESYNC CRS_ISR_ESYNCF /* Expected SYNC flag */
mbed_official 340:28d1f895c6fe 979 #define RCC_CRS_FLAG_TRIMOVF CRS_ISR_TRIMOVF /*!< Trimming overflow or underflow */
mbed_official 340:28d1f895c6fe 980 #define RCC_CRS_FLAG_SYNCERR CRS_ISR_SYNCERR /*!< SYNC error */
mbed_official 340:28d1f895c6fe 981 #define RCC_CRS_FLAG_SYNCMISS CRS_ISR_SYNCMISS /*!< SYNC missed*/
mbed_official 340:28d1f895c6fe 982
mbed_official 340:28d1f895c6fe 983 /**
mbed_official 340:28d1f895c6fe 984 * @}
mbed_official 340:28d1f895c6fe 985 */
mbed_official 340:28d1f895c6fe 986
mbed_official 441:d2c15dda23c1 987 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 441:d2c15dda23c1 988 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 441:d2c15dda23c1 989 /* STM32F091xC || STM32F098xx */
mbed_official 441:d2c15dda23c1 990
mbed_official 340:28d1f895c6fe 991 /**
mbed_official 340:28d1f895c6fe 992 * @}
mbed_official 340:28d1f895c6fe 993 */
mbed_official 340:28d1f895c6fe 994
mbed_official 340:28d1f895c6fe 995 /* Exported macros ------------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 996 /** @defgroup RCCEx_Exported_Macros RCCEx Exported Macros
mbed_official 340:28d1f895c6fe 997 * @{
mbed_official 340:28d1f895c6fe 998 */
mbed_official 340:28d1f895c6fe 999
mbed_official 340:28d1f895c6fe 1000 /** @defgroup RCCEx_Peripheral_Clock_Enable_Disable RCCEx_Peripheral_Clock_Enable_Disable
mbed_official 340:28d1f895c6fe 1001 * @brief Enables or disables the AHB1 peripheral clock.
mbed_official 340:28d1f895c6fe 1002 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 340:28d1f895c6fe 1003 * is disabled and the application software has to enable this clock before
mbed_official 340:28d1f895c6fe 1004 * using it.
mbed_official 340:28d1f895c6fe 1005 * @{
mbed_official 340:28d1f895c6fe 1006 */
mbed_official 630:825f75ca301e 1007 #if defined(STM32F030x6) || defined(STM32F030x8)\
mbed_official 630:825f75ca301e 1008 || defined(STM32F051x8) || defined(STM32F058xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1009 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1010 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1011
mbed_official 630:825f75ca301e 1012 #define __HAL_RCC_GPIOD_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1013 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1014 SET_BIT(RCC->AHBENR, RCC_AHBENR_GPIODEN);\
mbed_official 630:825f75ca301e 1015 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1016 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_GPIODEN);\
mbed_official 630:825f75ca301e 1017 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1018 } while(0)
mbed_official 340:28d1f895c6fe 1019
mbed_official 630:825f75ca301e 1020 #define __HAL_RCC_GPIOD_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_GPIODEN))
mbed_official 340:28d1f895c6fe 1021
mbed_official 441:d2c15dda23c1 1022 #endif /* STM32F030x6 || STM32F030x8 || */
mbed_official 441:d2c15dda23c1 1023 /* STM32F051x8 || STM32F058xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1024 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 441:d2c15dda23c1 1025 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1026
mbed_official 630:825f75ca301e 1027 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1028 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1029
mbed_official 630:825f75ca301e 1030 #define __HAL_RCC_GPIOE_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1031 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1032 SET_BIT(RCC->AHBENR, RCC_AHBENR_GPIOEEN);\
mbed_official 630:825f75ca301e 1033 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1034 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_GPIOEEN);\
mbed_official 630:825f75ca301e 1035 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1036 } while(0)
mbed_official 340:28d1f895c6fe 1037
mbed_official 630:825f75ca301e 1038 #define __HAL_RCC_GPIOE_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_GPIOEEN))
mbed_official 340:28d1f895c6fe 1039
mbed_official 441:d2c15dda23c1 1040 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1041 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1042
mbed_official 630:825f75ca301e 1043 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1044 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1045 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1046 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1047
mbed_official 630:825f75ca301e 1048 #define __HAL_RCC_TSC_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1049 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1050 SET_BIT(RCC->AHBENR, RCC_AHBENR_TSCEN);\
mbed_official 630:825f75ca301e 1051 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1052 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_TSCEN);\
mbed_official 630:825f75ca301e 1053 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1054 } while(0)
mbed_official 340:28d1f895c6fe 1055
mbed_official 630:825f75ca301e 1056 #define __HAL_RCC_TSC_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_TSCEN))
mbed_official 340:28d1f895c6fe 1057
mbed_official 340:28d1f895c6fe 1058 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1059 /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1060 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1061 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1062
mbed_official 340:28d1f895c6fe 1063 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1064
mbed_official 630:825f75ca301e 1065 #define __HAL_RCC_DMA2_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1066 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1067 SET_BIT(RCC->AHBENR, RCC_AHBENR_DMA2EN);\
mbed_official 630:825f75ca301e 1068 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1069 tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_DMA2EN);\
mbed_official 630:825f75ca301e 1070 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1071 } while(0)
mbed_official 340:28d1f895c6fe 1072
mbed_official 630:825f75ca301e 1073 #define __HAL_RCC_DMA2_CLK_DISABLE() (RCC->AHBENR &= ~(RCC_AHBENR_DMA2EN))
mbed_official 340:28d1f895c6fe 1074
mbed_official 340:28d1f895c6fe 1075 #endif /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1076
mbed_official 340:28d1f895c6fe 1077 /** @brief Enable or disable the Low Speed APB (APB1) peripheral clock.
mbed_official 340:28d1f895c6fe 1078 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 340:28d1f895c6fe 1079 * is disabled and the application software has to enable this clock before
mbed_official 340:28d1f895c6fe 1080 * using it.
mbed_official 340:28d1f895c6fe 1081 */
mbed_official 630:825f75ca301e 1082 #if defined(STM32F030x8)\
mbed_official 630:825f75ca301e 1083 || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1084 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1085 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1086 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1087
mbed_official 630:825f75ca301e 1088 #define __HAL_RCC_USART2_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1089 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1090 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_USART2EN);\
mbed_official 630:825f75ca301e 1091 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1092 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART2EN);\
mbed_official 630:825f75ca301e 1093 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1094 } while(0)
mbed_official 630:825f75ca301e 1095
mbed_official 630:825f75ca301e 1096 #define __HAL_RCC_USART2_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_USART2EN))
mbed_official 340:28d1f895c6fe 1097
mbed_official 630:825f75ca301e 1098 #endif /* STM32F030x8 || STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 1099 /* STM32F051x8 || STM32F058xx || STM32F070x6 || */
mbed_official 630:825f75ca301e 1100 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 630:825f75ca301e 1101 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1102
mbed_official 630:825f75ca301e 1103 #if defined(STM32F030x8)\
mbed_official 630:825f75ca301e 1104 || defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1105 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1106 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1107 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1108
mbed_official 630:825f75ca301e 1109 #define __HAL_RCC_SPI2_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1110 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1111 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI2EN);\
mbed_official 630:825f75ca301e 1112 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1113 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_SPI2EN);\
mbed_official 630:825f75ca301e 1114 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1115 } while(0)
mbed_official 630:825f75ca301e 1116
mbed_official 630:825f75ca301e 1117 #define __HAL_RCC_SPI2_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_SPI2EN))
mbed_official 340:28d1f895c6fe 1118
mbed_official 340:28d1f895c6fe 1119 #endif /* STM32F030x8 || STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1120 /* STM32F051x8 || STM32F058xx || */
mbed_official 441:d2c15dda23c1 1121 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1122 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1123
mbed_official 630:825f75ca301e 1124 #if defined(STM32F031x6) || defined(STM32F038xx)\
mbed_official 630:825f75ca301e 1125 || defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1126 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1127 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1128 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1129
mbed_official 630:825f75ca301e 1130 #define __HAL_RCC_TIM2_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1131 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1132 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM2EN);\
mbed_official 630:825f75ca301e 1133 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1134 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM2EN);\
mbed_official 630:825f75ca301e 1135 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1136 } while(0)
mbed_official 340:28d1f895c6fe 1137
mbed_official 630:825f75ca301e 1138 #define __HAL_RCC_TIM2_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM2EN))
mbed_official 340:28d1f895c6fe 1139
mbed_official 340:28d1f895c6fe 1140 #endif /* STM32F031x6 || STM32F038xx || */
mbed_official 340:28d1f895c6fe 1141 /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1142 /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1143 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1144 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1145
mbed_official 630:825f75ca301e 1146 #if defined(STM32F030x8) \
mbed_official 630:825f75ca301e 1147 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1148 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1149 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1150
mbed_official 630:825f75ca301e 1151 #define __HAL_RCC_TIM6_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1152 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1153 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN);\
mbed_official 630:825f75ca301e 1154 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1155 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM6EN);\
mbed_official 630:825f75ca301e 1156 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1157 } while(0)
mbed_official 630:825f75ca301e 1158 #define __HAL_RCC_I2C2_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1159 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1160 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C2EN);\
mbed_official 630:825f75ca301e 1161 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1162 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C2EN);\
mbed_official 630:825f75ca301e 1163 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1164 } while(0)
mbed_official 340:28d1f895c6fe 1165
mbed_official 630:825f75ca301e 1166 #define __HAL_RCC_TIM6_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM6EN))
mbed_official 630:825f75ca301e 1167 #define __HAL_RCC_I2C2_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C2EN))
mbed_official 340:28d1f895c6fe 1168
mbed_official 340:28d1f895c6fe 1169 #endif /* STM32F030x8 || */
mbed_official 340:28d1f895c6fe 1170 /* STM32F051x8 || STM32F058xx || */
mbed_official 441:d2c15dda23c1 1171 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1172 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1173
mbed_official 630:825f75ca301e 1174 #if defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1175 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1176 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1177
mbed_official 630:825f75ca301e 1178 #define __HAL_RCC_DAC1_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1179 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1180 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN);\
mbed_official 630:825f75ca301e 1181 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1182 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_DACEN);\
mbed_official 630:825f75ca301e 1183 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1184 } while(0)
mbed_official 340:28d1f895c6fe 1185
mbed_official 630:825f75ca301e 1186 #define __HAL_RCC_DAC1_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_DACEN))
mbed_official 340:28d1f895c6fe 1187
mbed_official 340:28d1f895c6fe 1188 #endif /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1189 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1190 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1191
mbed_official 630:825f75ca301e 1192 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1193 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1194 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1195 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1196
mbed_official 630:825f75ca301e 1197 #define __HAL_RCC_CEC_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1198 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1199 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_CECEN);\
mbed_official 630:825f75ca301e 1200 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1201 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_CECEN);\
mbed_official 630:825f75ca301e 1202 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1203 } while(0)
mbed_official 340:28d1f895c6fe 1204
mbed_official 630:825f75ca301e 1205 #define __HAL_RCC_CEC_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_CECEN))
mbed_official 340:28d1f895c6fe 1206
mbed_official 340:28d1f895c6fe 1207 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1208 /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1209 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1210 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1211
mbed_official 630:825f75ca301e 1212 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1213 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1214
mbed_official 630:825f75ca301e 1215 #define __HAL_RCC_TIM7_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1216 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1217 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM7EN);\
mbed_official 630:825f75ca301e 1218 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1219 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_TIM7EN);\
mbed_official 630:825f75ca301e 1220 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1221 } while(0)
mbed_official 630:825f75ca301e 1222 #define __HAL_RCC_USART3_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1223 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1224 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_USART3EN);\
mbed_official 630:825f75ca301e 1225 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1226 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART3EN);\
mbed_official 630:825f75ca301e 1227 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1228 } while(0)
mbed_official 630:825f75ca301e 1229 #define __HAL_RCC_USART4_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1230 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1231 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_USART4EN);\
mbed_official 630:825f75ca301e 1232 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1233 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART4EN);\
mbed_official 630:825f75ca301e 1234 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1235 } while(0)
mbed_official 340:28d1f895c6fe 1236
mbed_official 630:825f75ca301e 1237 #define __HAL_RCC_TIM7_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_TIM7EN))
mbed_official 630:825f75ca301e 1238 #define __HAL_RCC_USART3_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_USART3EN))
mbed_official 630:825f75ca301e 1239 #define __HAL_RCC_USART4_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_USART4EN))
mbed_official 340:28d1f895c6fe 1240
mbed_official 441:d2c15dda23c1 1241 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1242 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1243
mbed_official 630:825f75ca301e 1244 #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1245 || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)
mbed_official 340:28d1f895c6fe 1246
mbed_official 630:825f75ca301e 1247 #define __HAL_RCC_USB_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1248 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1249 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_USBEN);\
mbed_official 630:825f75ca301e 1250 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1251 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USBEN);\
mbed_official 630:825f75ca301e 1252 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1253 } while(0)
mbed_official 340:28d1f895c6fe 1254
mbed_official 630:825f75ca301e 1255 #define __HAL_RCC_USB_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_USBEN))
mbed_official 340:28d1f895c6fe 1256
mbed_official 441:d2c15dda23c1 1257 #endif /* STM32F042x6 || STM32F048xx || STM32F070x6 || */
mbed_official 441:d2c15dda23c1 1258 /* STM32F072xB || STM32F078xx || STM32F070xB */
mbed_official 340:28d1f895c6fe 1259
mbed_official 630:825f75ca301e 1260 #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB)\
mbed_official 630:825f75ca301e 1261 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1262
mbed_official 630:825f75ca301e 1263 #define __HAL_RCC_CAN1_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1264 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1265 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_CANEN);\
mbed_official 630:825f75ca301e 1266 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1267 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_CANEN);\
mbed_official 630:825f75ca301e 1268 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1269 } while(0)
mbed_official 630:825f75ca301e 1270 #define __HAL_RCC_CAN1_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_CANEN))
mbed_official 340:28d1f895c6fe 1271
mbed_official 340:28d1f895c6fe 1272 #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || */
mbed_official 340:28d1f895c6fe 1273 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1274
mbed_official 630:825f75ca301e 1275 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1276 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1277 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1278
mbed_official 630:825f75ca301e 1279 #define __HAL_RCC_CRS_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1280 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1281 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_CRSEN);\
mbed_official 630:825f75ca301e 1282 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1283 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_CRSEN);\
mbed_official 630:825f75ca301e 1284 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1285 } while(0)
mbed_official 340:28d1f895c6fe 1286
mbed_official 630:825f75ca301e 1287 #define __HAL_RCC_CRS_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_CRSEN))
mbed_official 340:28d1f895c6fe 1288
mbed_official 340:28d1f895c6fe 1289 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1290 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1291 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1292
mbed_official 441:d2c15dda23c1 1293 #if defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1294
mbed_official 630:825f75ca301e 1295 #define __HAL_RCC_USART5_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1296 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1297 SET_BIT(RCC->APB1ENR, RCC_APB1ENR_USART5EN);\
mbed_official 630:825f75ca301e 1298 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1299 tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_USART5EN);\
mbed_official 630:825f75ca301e 1300 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1301 } while(0)
mbed_official 340:28d1f895c6fe 1302
mbed_official 630:825f75ca301e 1303 #define __HAL_RCC_USART5_CLK_DISABLE() (RCC->APB1ENR &= ~(RCC_APB1ENR_USART5EN))
mbed_official 340:28d1f895c6fe 1304
mbed_official 441:d2c15dda23c1 1305 #endif /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1306
mbed_official 340:28d1f895c6fe 1307 /** @brief Enable or disable the High Speed APB (APB2) peripheral clock.
mbed_official 340:28d1f895c6fe 1308 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 340:28d1f895c6fe 1309 * is disabled and the application software has to enable this clock before
mbed_official 340:28d1f895c6fe 1310 * using it.
mbed_official 340:28d1f895c6fe 1311 */
mbed_official 630:825f75ca301e 1312 #if defined(STM32F030x8) || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1313 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1314 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1315 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1316
mbed_official 630:825f75ca301e 1317 #define __HAL_RCC_TIM15_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1318 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1319 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN);\
mbed_official 630:825f75ca301e 1320 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1321 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN);\
mbed_official 630:825f75ca301e 1322 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1323 } while(0)
mbed_official 340:28d1f895c6fe 1324
mbed_official 630:825f75ca301e 1325 #define __HAL_RCC_TIM15_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_TIM15EN))
mbed_official 340:28d1f895c6fe 1326
mbed_official 441:d2c15dda23c1 1327 #endif /* STM32F030x8 || STM32F042x6 || STM32F048xx || STM32F070x6 || */
mbed_official 340:28d1f895c6fe 1328 /* STM32F051x8 || STM32F058xx || */
mbed_official 441:d2c15dda23c1 1329 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1330 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 441:d2c15dda23c1 1331
mbed_official 441:d2c15dda23c1 1332 #if defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 441:d2c15dda23c1 1333
mbed_official 630:825f75ca301e 1334 #define __HAL_RCC_USART6_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1335 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1336 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_USART6EN);\
mbed_official 630:825f75ca301e 1337 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1338 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART6EN);\
mbed_official 630:825f75ca301e 1339 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1340 } while(0)
mbed_official 441:d2c15dda23c1 1341
mbed_official 630:825f75ca301e 1342 #define __HAL_RCC_USART6_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_USART6EN))
mbed_official 441:d2c15dda23c1 1343
mbed_official 441:d2c15dda23c1 1344 #endif /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1345
mbed_official 340:28d1f895c6fe 1346 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1347
mbed_official 630:825f75ca301e 1348 #define __HAL_RCC_USART7_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1349 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1350 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_USART7EN);\
mbed_official 630:825f75ca301e 1351 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1352 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART7EN);\
mbed_official 630:825f75ca301e 1353 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1354 } while(0)
mbed_official 630:825f75ca301e 1355 #define __HAL_RCC_USART8_CLK_ENABLE() do { \
mbed_official 630:825f75ca301e 1356 __IO uint32_t tmpreg; \
mbed_official 630:825f75ca301e 1357 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_USART8EN);\
mbed_official 630:825f75ca301e 1358 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 630:825f75ca301e 1359 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART8EN);\
mbed_official 630:825f75ca301e 1360 UNUSED(tmpreg); \
mbed_official 630:825f75ca301e 1361 } while(0)
mbed_official 340:28d1f895c6fe 1362
mbed_official 630:825f75ca301e 1363 #define __HAL_RCC_USART7_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_USART7EN))
mbed_official 630:825f75ca301e 1364 #define __HAL_RCC_USART8_CLK_DISABLE() (RCC->APB2ENR &= ~(RCC_APB2ENR_USART8EN))
mbed_official 340:28d1f895c6fe 1365
mbed_official 340:28d1f895c6fe 1366 #endif /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1367
mbed_official 340:28d1f895c6fe 1368 /**
mbed_official 340:28d1f895c6fe 1369 * @}
mbed_official 340:28d1f895c6fe 1370 */
mbed_official 340:28d1f895c6fe 1371
mbed_official 340:28d1f895c6fe 1372
mbed_official 340:28d1f895c6fe 1373 /** @defgroup RCCEx_Force_Release_Peripheral_Reset RCCEx Force Release Peripheral Reset
mbed_official 340:28d1f895c6fe 1374 * @brief Forces or releases peripheral reset.
mbed_official 340:28d1f895c6fe 1375 * @{
mbed_official 340:28d1f895c6fe 1376 */
mbed_official 340:28d1f895c6fe 1377
mbed_official 340:28d1f895c6fe 1378 /** @brief Force or release AHB peripheral reset.
mbed_official 340:28d1f895c6fe 1379 */
mbed_official 630:825f75ca301e 1380 #if defined(STM32F030x6) || defined(STM32F030x8)\
mbed_official 630:825f75ca301e 1381 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1382 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1383 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1384
mbed_official 630:825f75ca301e 1385 #define __HAL_RCC_GPIOD_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_GPIODRST))
mbed_official 340:28d1f895c6fe 1386
mbed_official 630:825f75ca301e 1387 #define __HAL_RCC_GPIOD_RELEASE_RESET() (RCC->AHBRSTR &= ~(RCC_AHBRSTR_GPIODRST))
mbed_official 340:28d1f895c6fe 1388
mbed_official 340:28d1f895c6fe 1389 #endif /* STM32F030x6 || STM32F030x8 || */
mbed_official 340:28d1f895c6fe 1390 /* STM32F051x8 || STM32F058xx || */
mbed_official 441:d2c15dda23c1 1391 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1392 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1393
mbed_official 630:825f75ca301e 1394 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1395 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1396
mbed_official 630:825f75ca301e 1397 #define __HAL_RCC_GPIOE_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_GPIOERST))
mbed_official 340:28d1f895c6fe 1398
mbed_official 630:825f75ca301e 1399 #define __HAL_RCC_GPIOE_RELEASE_RESET() (RCC->AHBRSTR &= ~(RCC_AHBRSTR_GPIOERST))
mbed_official 340:28d1f895c6fe 1400
mbed_official 441:d2c15dda23c1 1401 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1402 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1403
mbed_official 630:825f75ca301e 1404 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1405 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1406 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1407 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1408
mbed_official 630:825f75ca301e 1409 #define __HAL_RCC_TSC_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_TSCRST))
mbed_official 340:28d1f895c6fe 1410
mbed_official 630:825f75ca301e 1411 #define __HAL_RCC_TSC_RELEASE_RESET() (RCC->AHBRSTR &= ~(RCC_AHBRSTR_TSCRST))
mbed_official 340:28d1f895c6fe 1412
mbed_official 340:28d1f895c6fe 1413 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1414 /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1415 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1416 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1417
mbed_official 340:28d1f895c6fe 1418 /** @brief Force or release APB1 peripheral reset.
mbed_official 340:28d1f895c6fe 1419 */
mbed_official 630:825f75ca301e 1420 #if defined(STM32F030x8) \
mbed_official 630:825f75ca301e 1421 || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1422 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1423 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1424 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1425
mbed_official 630:825f75ca301e 1426 #define __HAL_RCC_USART2_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_USART2RST))
mbed_official 630:825f75ca301e 1427 #define __HAL_RCC_SPI2_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_SPI2RST))
mbed_official 340:28d1f895c6fe 1428
mbed_official 630:825f75ca301e 1429 #define __HAL_RCC_USART2_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_USART2RST))
mbed_official 630:825f75ca301e 1430 #define __HAL_RCC_SPI2_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_SPI2RST))
mbed_official 340:28d1f895c6fe 1431
mbed_official 441:d2c15dda23c1 1432 #endif /* STM32F030x8 || STM32F042x6 || STM32F048xx || STM32F070x6 || */
mbed_official 340:28d1f895c6fe 1433 /* STM32F051x8 || STM32F058xx || */
mbed_official 441:d2c15dda23c1 1434 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1435 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1436
mbed_official 630:825f75ca301e 1437 #if defined(STM32F031x6) || defined(STM32F038xx)\
mbed_official 630:825f75ca301e 1438 || defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1439 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1440 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1441 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1442
mbed_official 630:825f75ca301e 1443 #define __HAL_RCC_TIM2_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM2RST))
mbed_official 340:28d1f895c6fe 1444
mbed_official 630:825f75ca301e 1445 #define __HAL_RCC_TIM2_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM2RST))
mbed_official 340:28d1f895c6fe 1446
mbed_official 340:28d1f895c6fe 1447 #endif /* STM32F031x6 || STM32F038xx || */
mbed_official 340:28d1f895c6fe 1448 /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1449 /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1450 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1451 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1452
mbed_official 630:825f75ca301e 1453 #if defined(STM32F030x8) \
mbed_official 630:825f75ca301e 1454 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1455 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1456 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1457
mbed_official 630:825f75ca301e 1458 #define __HAL_RCC_TIM6_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM6RST))
mbed_official 630:825f75ca301e 1459 #define __HAL_RCC_I2C2_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_I2C2RST))
mbed_official 340:28d1f895c6fe 1460
mbed_official 630:825f75ca301e 1461 #define __HAL_RCC_TIM6_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM6RST))
mbed_official 630:825f75ca301e 1462 #define __HAL_RCC_I2C2_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_I2C2RST))
mbed_official 340:28d1f895c6fe 1463
mbed_official 340:28d1f895c6fe 1464 #endif /* STM32F030x8 || */
mbed_official 340:28d1f895c6fe 1465 /* STM32F051x8 || STM32F058xx || */
mbed_official 441:d2c15dda23c1 1466 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1467 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1468
mbed_official 630:825f75ca301e 1469 #if defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1470 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1471 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1472
mbed_official 630:825f75ca301e 1473 #define __HAL_RCC_DAC1_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_DACRST))
mbed_official 340:28d1f895c6fe 1474
mbed_official 630:825f75ca301e 1475 #define __HAL_RCC_DAC1_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_DACRST))
mbed_official 340:28d1f895c6fe 1476
mbed_official 340:28d1f895c6fe 1477 #endif /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1478 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1479 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1480
mbed_official 630:825f75ca301e 1481 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1482 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1483 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1484 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1485
mbed_official 630:825f75ca301e 1486 #define __HAL_RCC_CEC_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_CECRST))
mbed_official 340:28d1f895c6fe 1487
mbed_official 630:825f75ca301e 1488 #define __HAL_RCC_CEC_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_CECRST))
mbed_official 340:28d1f895c6fe 1489
mbed_official 340:28d1f895c6fe 1490 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1491 /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1492 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1493 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1494
mbed_official 630:825f75ca301e 1495 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1496 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1497
mbed_official 630:825f75ca301e 1498 #define __HAL_RCC_TIM7_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_TIM7RST))
mbed_official 630:825f75ca301e 1499 #define __HAL_RCC_USART3_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_USART3RST))
mbed_official 630:825f75ca301e 1500 #define __HAL_RCC_USART4_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_USART4RST))
mbed_official 340:28d1f895c6fe 1501
mbed_official 630:825f75ca301e 1502 #define __HAL_RCC_TIM7_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_TIM7RST))
mbed_official 630:825f75ca301e 1503 #define __HAL_RCC_USART3_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_USART3RST))
mbed_official 630:825f75ca301e 1504 #define __HAL_RCC_USART4_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_USART4RST))
mbed_official 340:28d1f895c6fe 1505
mbed_official 441:d2c15dda23c1 1506 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1507 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1508
mbed_official 630:825f75ca301e 1509 #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1510 || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)
mbed_official 340:28d1f895c6fe 1511
mbed_official 630:825f75ca301e 1512 #define __HAL_RCC_USB_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_USBRST))
mbed_official 340:28d1f895c6fe 1513
mbed_official 630:825f75ca301e 1514 #define __HAL_RCC_USB_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_USBRST))
mbed_official 340:28d1f895c6fe 1515
mbed_official 441:d2c15dda23c1 1516 #endif /* STM32F042x6 || STM32F048xx || STM32F070x6 || */
mbed_official 441:d2c15dda23c1 1517 /* STM32F072xB || STM32F078xx || STM32F070xB */
mbed_official 340:28d1f895c6fe 1518
mbed_official 630:825f75ca301e 1519 #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB)\
mbed_official 630:825f75ca301e 1520 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1521
mbed_official 630:825f75ca301e 1522 #define __HAL_RCC_CAN1_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_CANRST))
mbed_official 340:28d1f895c6fe 1523
mbed_official 630:825f75ca301e 1524 #define __HAL_RCC_CAN1_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_CANRST))
mbed_official 340:28d1f895c6fe 1525
mbed_official 340:28d1f895c6fe 1526 #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || */
mbed_official 340:28d1f895c6fe 1527 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1528
mbed_official 630:825f75ca301e 1529 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1530 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1531 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1532
mbed_official 630:825f75ca301e 1533 #define __HAL_RCC_CRS_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_CRSRST))
mbed_official 340:28d1f895c6fe 1534
mbed_official 630:825f75ca301e 1535 #define __HAL_RCC_CRS_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_CRSRST))
mbed_official 340:28d1f895c6fe 1536
mbed_official 340:28d1f895c6fe 1537 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1538 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1539 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1540
mbed_official 441:d2c15dda23c1 1541 #if defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1542
mbed_official 630:825f75ca301e 1543 #define __HAL_RCC_USART5_FORCE_RESET() (RCC->APB1RSTR |= (RCC_APB1RSTR_USART5RST))
mbed_official 340:28d1f895c6fe 1544
mbed_official 630:825f75ca301e 1545 #define __HAL_RCC_USART5_RELEASE_RESET() (RCC->APB1RSTR &= ~(RCC_APB1RSTR_USART5RST))
mbed_official 340:28d1f895c6fe 1546
mbed_official 441:d2c15dda23c1 1547 #endif /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1548
mbed_official 340:28d1f895c6fe 1549
mbed_official 340:28d1f895c6fe 1550 /** @brief Force or release APB2 peripheral reset.
mbed_official 340:28d1f895c6fe 1551 */
mbed_official 630:825f75ca301e 1552 #if defined(STM32F030x8) || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1553 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1554 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1555 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1556
mbed_official 630:825f75ca301e 1557 #define __HAL_RCC_TIM15_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_TIM15RST))
mbed_official 340:28d1f895c6fe 1558
mbed_official 630:825f75ca301e 1559 #define __HAL_RCC_TIM15_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_TIM15RST))
mbed_official 340:28d1f895c6fe 1560
mbed_official 441:d2c15dda23c1 1561 #endif /* STM32F030x8 || STM32F042x6 || STM32F048xx || STM32F070x6 || */
mbed_official 340:28d1f895c6fe 1562 /* STM32F051x8 || STM32F058xx || */
mbed_official 441:d2c15dda23c1 1563 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1564 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 441:d2c15dda23c1 1565
mbed_official 441:d2c15dda23c1 1566 #if defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 441:d2c15dda23c1 1567
mbed_official 630:825f75ca301e 1568 #define __HAL_RCC_USART6_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_USART6RST))
mbed_official 441:d2c15dda23c1 1569
mbed_official 630:825f75ca301e 1570 #define __HAL_RCC_USART6_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_USART6RST))
mbed_official 441:d2c15dda23c1 1571
mbed_official 441:d2c15dda23c1 1572 #endif /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 340:28d1f895c6fe 1573
mbed_official 340:28d1f895c6fe 1574 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1575
mbed_official 630:825f75ca301e 1576 #define __HAL_RCC_USART7_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_USART7RST))
mbed_official 630:825f75ca301e 1577 #define __HAL_RCC_USART8_FORCE_RESET() (RCC->APB2RSTR |= (RCC_APB2RSTR_USART8RST))
mbed_official 340:28d1f895c6fe 1578
mbed_official 630:825f75ca301e 1579 #define __HAL_RCC_USART7_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_USART7RST))
mbed_official 630:825f75ca301e 1580 #define __HAL_RCC_USART8_RELEASE_RESET() (RCC->APB2RSTR &= ~(RCC_APB2RSTR_USART8RST))
mbed_official 340:28d1f895c6fe 1581
mbed_official 340:28d1f895c6fe 1582 #endif /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1583
mbed_official 340:28d1f895c6fe 1584 /**
mbed_official 340:28d1f895c6fe 1585 * @}
mbed_official 340:28d1f895c6fe 1586 */
mbed_official 630:825f75ca301e 1587
mbed_official 630:825f75ca301e 1588 /** @defgroup RCCEx_Peripheral_Clock_Enable_Disable_Status Peripheral Clock Enable Disable Status
mbed_official 630:825f75ca301e 1589 * @brief Get the enable or disable status of peripheral clock.
mbed_official 630:825f75ca301e 1590 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 630:825f75ca301e 1591 * is disabled and the application software has to enable this clock before
mbed_official 630:825f75ca301e 1592 * using it.
mbed_official 630:825f75ca301e 1593 * @{
mbed_official 630:825f75ca301e 1594 */
mbed_official 630:825f75ca301e 1595 /** @brief AHB Peripheral Clock Enable Disable Status
mbed_official 630:825f75ca301e 1596 */
mbed_official 630:825f75ca301e 1597 #if defined(STM32F030x6) || defined(STM32F030x8)\
mbed_official 630:825f75ca301e 1598 || defined(STM32F051x8) || defined(STM32F058xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1599 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1600 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1601
mbed_official 630:825f75ca301e 1602 #define __HAL_RCC_GPIOD_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_GPIODEN)) != RESET)
mbed_official 630:825f75ca301e 1603 #define __HAL_RCC_GPIOD_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_GPIODEN)) == RESET)
mbed_official 630:825f75ca301e 1604
mbed_official 630:825f75ca301e 1605 #endif /* STM32F030x6 || STM32F030x8 || */
mbed_official 630:825f75ca301e 1606 /* STM32F051x8 || STM32F058xx || STM32F070xB || */
mbed_official 630:825f75ca301e 1607 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 1608 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1609
mbed_official 630:825f75ca301e 1610 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1611 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1612
mbed_official 630:825f75ca301e 1613 #define __HAL_RCC_GPIOE_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_GPIOEEN)) != RESET)
mbed_official 630:825f75ca301e 1614 #define __HAL_RCC_GPIOE_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_GPIOEEN)) == RESET)
mbed_official 630:825f75ca301e 1615
mbed_official 630:825f75ca301e 1616 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 630:825f75ca301e 1617 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1618
mbed_official 630:825f75ca301e 1619 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1620 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1621 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1622 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 1623
mbed_official 630:825f75ca301e 1624 #define __HAL_RCC_TSC_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_TSCEN)) != RESET)
mbed_official 630:825f75ca301e 1625 #define __HAL_RCC_TSC_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_TSCEN)) == RESET)
mbed_official 630:825f75ca301e 1626
mbed_official 630:825f75ca301e 1627 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 1628 /* STM32F051x8 || STM32F058xx || */
mbed_official 630:825f75ca301e 1629 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 1630 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 1631
mbed_official 630:825f75ca301e 1632 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 1633
mbed_official 630:825f75ca301e 1634 #define __HAL_RCC_DMA2_IS_CLK_ENABLED() ((RCC->AHBENR & (RCC_AHBENR_DMA2EN)) != RESET)
mbed_official 630:825f75ca301e 1635 #define __HAL_RCC_DMA2_IS_CLK_DISABLED() ((RCC->AHBENR & (RCC_AHBENR_DMA2EN)) == RESET)
mbed_official 630:825f75ca301e 1636
mbed_official 630:825f75ca301e 1637 #endif /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 1638
mbed_official 630:825f75ca301e 1639 /** @brief APB1 Peripheral Clock Enable Disable Status
mbed_official 630:825f75ca301e 1640 */
mbed_official 630:825f75ca301e 1641 #if defined(STM32F030x8)\
mbed_official 630:825f75ca301e 1642 || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1643 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1644 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1645 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1646
mbed_official 630:825f75ca301e 1647 #define __HAL_RCC_USART2_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART2EN)) != RESET)
mbed_official 630:825f75ca301e 1648 #define __HAL_RCC_USART2_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART2EN)) == RESET)
mbed_official 630:825f75ca301e 1649
mbed_official 630:825f75ca301e 1650 #endif /* STM32F030x8 || STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 1651 /* STM32F051x8 || STM32F058xx || STM32F070x6 || */
mbed_official 630:825f75ca301e 1652 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 630:825f75ca301e 1653 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1654
mbed_official 630:825f75ca301e 1655 #if defined(STM32F030x8)\
mbed_official 630:825f75ca301e 1656 || defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1657 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1658 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1659 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1660
mbed_official 630:825f75ca301e 1661 #define __HAL_RCC_SPI2_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_SPI2EN)) != RESET)
mbed_official 630:825f75ca301e 1662 #define __HAL_RCC_SPI2_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_SPI2EN)) == RESET)
mbed_official 630:825f75ca301e 1663
mbed_official 630:825f75ca301e 1664 #endif /* STM32F030x8 || STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 1665 /* STM32F051x8 || STM32F058xx || */
mbed_official 630:825f75ca301e 1666 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 630:825f75ca301e 1667 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1668
mbed_official 630:825f75ca301e 1669 #if defined(STM32F031x6) || defined(STM32F038xx)\
mbed_official 630:825f75ca301e 1670 || defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1671 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1672 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1673 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 1674
mbed_official 630:825f75ca301e 1675 #define __HAL_RCC_TIM2_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM2EN)) != RESET)
mbed_official 630:825f75ca301e 1676 #define __HAL_RCC_TIM2_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM2EN)) == RESET)
mbed_official 630:825f75ca301e 1677
mbed_official 630:825f75ca301e 1678 #endif /* STM32F031x6 || STM32F038xx || */
mbed_official 630:825f75ca301e 1679 /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 1680 /* STM32F051x8 || STM32F058xx || */
mbed_official 630:825f75ca301e 1681 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 1682 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 1683
mbed_official 630:825f75ca301e 1684 #if defined(STM32F030x8) \
mbed_official 630:825f75ca301e 1685 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1686 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1687 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1688
mbed_official 630:825f75ca301e 1689 #define __HAL_RCC_TIM6_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM6EN)) != RESET)
mbed_official 630:825f75ca301e 1690 #define __HAL_RCC_I2C2_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_I2C2EN)) != RESET)
mbed_official 630:825f75ca301e 1691 #define __HAL_RCC_TIM6_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM6EN)) == RESET)
mbed_official 630:825f75ca301e 1692 #define __HAL_RCC_I2C2_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_I2C2EN)) == RESET)
mbed_official 630:825f75ca301e 1693
mbed_official 630:825f75ca301e 1694 #endif /* STM32F030x8 || */
mbed_official 630:825f75ca301e 1695 /* STM32F051x8 || STM32F058xx || */
mbed_official 630:825f75ca301e 1696 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 630:825f75ca301e 1697 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1698
mbed_official 630:825f75ca301e 1699 #if defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1700 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1701 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 1702
mbed_official 630:825f75ca301e 1703 #define __HAL_RCC_DAC1_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_DAC1EN)) != RESET)
mbed_official 630:825f75ca301e 1704 #define __HAL_RCC_DAC1_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_DAC1EN)) == RESET)
mbed_official 630:825f75ca301e 1705
mbed_official 630:825f75ca301e 1706 #endif /* STM32F051x8 || STM32F058xx || */
mbed_official 630:825f75ca301e 1707 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 1708 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 1709
mbed_official 630:825f75ca301e 1710 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1711 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1712 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1713 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 1714
mbed_official 630:825f75ca301e 1715 #define __HAL_RCC_CEC_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CECEN)) != RESET)
mbed_official 630:825f75ca301e 1716 #define __HAL_RCC_CEC_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CECEN)) == RESET)
mbed_official 630:825f75ca301e 1717
mbed_official 630:825f75ca301e 1718 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 1719 /* STM32F051x8 || STM32F058xx || */
mbed_official 630:825f75ca301e 1720 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 1721 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 1722
mbed_official 630:825f75ca301e 1723 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1724 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1725
mbed_official 630:825f75ca301e 1726 #define __HAL_RCC_TIM7_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM7EN)) != RESET)
mbed_official 630:825f75ca301e 1727 #define __HAL_RCC_USART3_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART3EN)) != RESET)
mbed_official 630:825f75ca301e 1728 #define __HAL_RCC_USART4_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART4EN)) != RESET)
mbed_official 630:825f75ca301e 1729 #define __HAL_RCC_TIM7_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_TIM7EN)) == RESET)
mbed_official 630:825f75ca301e 1730 #define __HAL_RCC_USART3_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART3EN)) == RESET)
mbed_official 630:825f75ca301e 1731 #define __HAL_RCC_USART4_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART4EN)) == RESET)
mbed_official 630:825f75ca301e 1732
mbed_official 630:825f75ca301e 1733 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 630:825f75ca301e 1734 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1735
mbed_official 630:825f75ca301e 1736 #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1737 || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)
mbed_official 630:825f75ca301e 1738
mbed_official 630:825f75ca301e 1739 #define __HAL_RCC_USB_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USBEN)) != RESET)
mbed_official 630:825f75ca301e 1740 #define __HAL_RCC_USB_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USBEN)) == RESET)
mbed_official 630:825f75ca301e 1741
mbed_official 630:825f75ca301e 1742 #endif /* STM32F042x6 || STM32F048xx || STM32F070x6 || */
mbed_official 630:825f75ca301e 1743 /* STM32F072xB || STM32F078xx || STM32F070xB */
mbed_official 630:825f75ca301e 1744
mbed_official 630:825f75ca301e 1745 #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB)\
mbed_official 630:825f75ca301e 1746 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 1747
mbed_official 630:825f75ca301e 1748 #define __HAL_RCC_CAN1_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CAN1EN)) != RESET)
mbed_official 630:825f75ca301e 1749 #define __HAL_RCC_CAN1_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CAN1EN)) == RESET)
mbed_official 630:825f75ca301e 1750
mbed_official 630:825f75ca301e 1751 #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || */
mbed_official 630:825f75ca301e 1752 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 1753
mbed_official 630:825f75ca301e 1754 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1755 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1756 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 1757
mbed_official 630:825f75ca301e 1758 #define __HAL_RCC_CRS_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CRSEN)) != RESET)
mbed_official 630:825f75ca301e 1759 #define __HAL_RCC_CRS_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_CRSEN)) == RESET)
mbed_official 630:825f75ca301e 1760
mbed_official 630:825f75ca301e 1761 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 630:825f75ca301e 1762 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 630:825f75ca301e 1763 /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 1764
mbed_official 630:825f75ca301e 1765 #if defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1766
mbed_official 630:825f75ca301e 1767 #define __HAL_RCC_USART5_IS_CLK_ENABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART5EN)) != RESET)
mbed_official 630:825f75ca301e 1768 #define __HAL_RCC_USART5_IS_CLK_DISABLED() ((RCC->APB1ENR & (RCC_APB1ENR_USART5EN)) == RESET)
mbed_official 630:825f75ca301e 1769
mbed_official 630:825f75ca301e 1770 #endif /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1771
mbed_official 630:825f75ca301e 1772 /** @brief APB1 Peripheral Clock Enable Disable Status
mbed_official 630:825f75ca301e 1773 */
mbed_official 630:825f75ca301e 1774 #if defined(STM32F030x8) || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1775 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1776 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1777 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1778
mbed_official 630:825f75ca301e 1779 #define __HAL_RCC_TIM15_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM15EN)) != RESET)
mbed_official 630:825f75ca301e 1780 #define __HAL_RCC_TIM15_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_TIM15EN)) == RESET)
mbed_official 630:825f75ca301e 1781
mbed_official 630:825f75ca301e 1782 #endif /* STM32F030x8 || STM32F042x6 || STM32F048xx || STM32F070x6 || */
mbed_official 630:825f75ca301e 1783 /* STM32F051x8 || STM32F058xx || */
mbed_official 630:825f75ca301e 1784 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 630:825f75ca301e 1785 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1786
mbed_official 630:825f75ca301e 1787 #if defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 630:825f75ca301e 1788
mbed_official 630:825f75ca301e 1789 #define __HAL_RCC_USART6_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_USART6EN)) != RESET)
mbed_official 630:825f75ca301e 1790 #define __HAL_RCC_USART6_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_USART6EN)) == RESET)
mbed_official 630:825f75ca301e 1791
mbed_official 630:825f75ca301e 1792 #endif /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 630:825f75ca301e 1793
mbed_official 630:825f75ca301e 1794 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 630:825f75ca301e 1795
mbed_official 630:825f75ca301e 1796 #define __HAL_RCC_USART7_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_USART7EN)) != RESET)
mbed_official 630:825f75ca301e 1797 #define __HAL_RCC_USART8_IS_CLK_ENABLED() ((RCC->APB2ENR & (RCC_APB2ENR_USART8EN)) != RESET)
mbed_official 630:825f75ca301e 1798 #define __HAL_RCC_USART7_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_USART7EN)) == RESET)
mbed_official 630:825f75ca301e 1799 #define __HAL_RCC_USART8_IS_CLK_DISABLED() ((RCC->APB2ENR & (RCC_APB2ENR_USART8EN)) == RESET)
mbed_official 630:825f75ca301e 1800
mbed_official 630:825f75ca301e 1801 #endif /* STM32F091xC || STM32F098xx */
mbed_official 630:825f75ca301e 1802 /**
mbed_official 630:825f75ca301e 1803 * @}
mbed_official 630:825f75ca301e 1804 */
mbed_official 630:825f75ca301e 1805
mbed_official 340:28d1f895c6fe 1806
mbed_official 340:28d1f895c6fe 1807 /** @defgroup RCCEx_HSI48_Enable_Disable RCCEx HSI48 Enable Disable
mbed_official 340:28d1f895c6fe 1808 * @brief Macros to enable or disable the Internal 48Mhz High Speed oscillator (HSI48).
mbed_official 340:28d1f895c6fe 1809 * @note The HSI48 is stopped by hardware when entering STOP and STANDBY modes.
mbed_official 340:28d1f895c6fe 1810 * @note HSI48 can not be stopped if it is used as system clock source. In this case,
mbed_official 340:28d1f895c6fe 1811 * you have to select another source of the system clock then stop the HSI14.
mbed_official 340:28d1f895c6fe 1812 * @note After enabling the HSI48 with __HAL_RCC_HSI48_ENABLE(), the application software
mbed_official 340:28d1f895c6fe 1813 * should wait on HSI48RDY flag to be set indicating that HSI48 clock is stable and can be
mbed_official 340:28d1f895c6fe 1814 * used as system clock source. This is not necessary if HAL_RCC_OscConfig() is used.
mbed_official 340:28d1f895c6fe 1815 * @note When the HSI48 is stopped, HSI48RDY flag goes low after 6 HSI48 oscillator
mbed_official 340:28d1f895c6fe 1816 * clock cycles.
mbed_official 340:28d1f895c6fe 1817 * @{
mbed_official 340:28d1f895c6fe 1818 */
mbed_official 630:825f75ca301e 1819 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1820 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1821 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1822
mbed_official 340:28d1f895c6fe 1823 #define __HAL_RCC_HSI48_ENABLE() SET_BIT(RCC->CR2, RCC_CR2_HSI48ON)
mbed_official 340:28d1f895c6fe 1824 #define __HAL_RCC_HSI48_DISABLE() CLEAR_BIT(RCC->CR2, RCC_CR2_HSI48ON)
mbed_official 340:28d1f895c6fe 1825
mbed_official 340:28d1f895c6fe 1826 /** @brief Macro to get the Internal 48Mhz High Speed oscillator (HSI48) state.
mbed_official 340:28d1f895c6fe 1827 * @retval The clock source can be one of the following values:
mbed_official 340:28d1f895c6fe 1828 * @arg RCC_HSI48_ON: HSI48 enabled
mbed_official 340:28d1f895c6fe 1829 * @arg RCC_HSI48_OFF: HSI48 disabled
mbed_official 340:28d1f895c6fe 1830 */
mbed_official 340:28d1f895c6fe 1831 #define __HAL_RCC_GET_HSI48_STATE() \
mbed_official 340:28d1f895c6fe 1832 (((uint32_t)(READ_BIT(RCC->CFGR3, RCC_CR2_HSI48ON)) != RESET) ? RCC_HSI48_ON : RCC_HSI48_OFF)
mbed_official 340:28d1f895c6fe 1833
mbed_official 340:28d1f895c6fe 1834 #else
mbed_official 340:28d1f895c6fe 1835
mbed_official 340:28d1f895c6fe 1836 /** @brief Macro to get the Internal 48Mhz High Speed oscillator (HSI48) state.
mbed_official 340:28d1f895c6fe 1837 * @retval The clock source can be one of the following values:
mbed_official 340:28d1f895c6fe 1838 * @arg RCC_HSI_OFF: HSI48 disabled
mbed_official 340:28d1f895c6fe 1839 */
mbed_official 340:28d1f895c6fe 1840 #define __HAL_RCC_GET_HSI48_STATE() RCC_HSI_OFF
mbed_official 340:28d1f895c6fe 1841
mbed_official 340:28d1f895c6fe 1842 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1843 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1844 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 1845
mbed_official 340:28d1f895c6fe 1846 /**
mbed_official 340:28d1f895c6fe 1847 * @}
mbed_official 340:28d1f895c6fe 1848 */
mbed_official 340:28d1f895c6fe 1849
mbed_official 340:28d1f895c6fe 1850 /** @defgroup RCCEx_Peripheral_Clock_Source_Config RCCEx Peripheral Clock Source Config
mbed_official 340:28d1f895c6fe 1851 * @{
mbed_official 340:28d1f895c6fe 1852 */
mbed_official 630:825f75ca301e 1853 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1854 || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1855 || defined(STM32F070x6) || defined(STM32F070xB)
mbed_official 340:28d1f895c6fe 1856
mbed_official 340:28d1f895c6fe 1857 /** @brief Macro to configure the USB clock (USBCLK).
mbed_official 340:28d1f895c6fe 1858 * @param __USBCLKSource__: specifies the USB clock source.
mbed_official 340:28d1f895c6fe 1859 * This parameter can be one of the following values:
mbed_official 441:d2c15dda23c1 1860 * @arg RCC_USBCLKSOURCE_HSI48: HSI48 selected as USB clock (not available for STM32F070x6 & STM32F070xB)
mbed_official 340:28d1f895c6fe 1861 * @arg RCC_USBCLKSOURCE_PLLCLK: PLL Clock selected as USB clock
mbed_official 340:28d1f895c6fe 1862 */
mbed_official 340:28d1f895c6fe 1863 #define __HAL_RCC_USB_CONFIG(__USBCLKSource__) \
mbed_official 340:28d1f895c6fe 1864 MODIFY_REG(RCC->CFGR3, RCC_CFGR3_USBSW, (uint32_t)(__USBCLKSource__))
mbed_official 340:28d1f895c6fe 1865
mbed_official 340:28d1f895c6fe 1866 /** @brief Macro to get the USB clock source.
mbed_official 340:28d1f895c6fe 1867 * @retval The clock source can be one of the following values:
mbed_official 630:825f75ca301e 1868 * @arg RCC_USBCLKSOURCE_HSI48: HSI48 selected as USB clock
mbed_official 340:28d1f895c6fe 1869 * @arg RCC_USBCLKSOURCE_PLLCLK: PLL Clock selected as USB clock
mbed_official 340:28d1f895c6fe 1870 */
mbed_official 340:28d1f895c6fe 1871 #define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR3, RCC_CFGR3_USBSW)))
mbed_official 340:28d1f895c6fe 1872
mbed_official 340:28d1f895c6fe 1873 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 441:d2c15dda23c1 1874 /* STM32F072xB || STM32F078xx || */
mbed_official 441:d2c15dda23c1 1875 /* STM32F070x6 || STM32F070xB */
mbed_official 340:28d1f895c6fe 1876
mbed_official 630:825f75ca301e 1877 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 1878 || defined(STM32F051x8) || defined(STM32F058xx)\
mbed_official 630:825f75ca301e 1879 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1880 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1881
mbed_official 340:28d1f895c6fe 1882 /** @brief Macro to configure the CEC clock.
mbed_official 340:28d1f895c6fe 1883 * @param __CECCLKSource__: specifies the CEC clock source.
mbed_official 340:28d1f895c6fe 1884 * This parameter can be one of the following values:
mbed_official 340:28d1f895c6fe 1885 * @arg RCC_CECCLKSOURCE_HSI: HSI selected as CEC clock
mbed_official 340:28d1f895c6fe 1886 * @arg RCC_CECCLKSOURCE_LSE: LSE selected as CEC clock
mbed_official 340:28d1f895c6fe 1887 */
mbed_official 340:28d1f895c6fe 1888 #define __HAL_RCC_CEC_CONFIG(__CECCLKSource__) \
mbed_official 340:28d1f895c6fe 1889 MODIFY_REG(RCC->CFGR3, RCC_CFGR3_CECSW, (uint32_t)(__CECCLKSource__))
mbed_official 340:28d1f895c6fe 1890
mbed_official 340:28d1f895c6fe 1891 /** @brief Macro to get the HDMI CEC clock source.
mbed_official 340:28d1f895c6fe 1892 * @retval The clock source can be one of the following values:
mbed_official 340:28d1f895c6fe 1893 * @arg RCC_CECCLKSOURCE_HSI: HSI selected as CEC clock
mbed_official 340:28d1f895c6fe 1894 * @arg RCC_CECCLKSOURCE_LSE: LSE selected as CEC clock
mbed_official 340:28d1f895c6fe 1895 */
mbed_official 340:28d1f895c6fe 1896 #define __HAL_RCC_GET_CEC_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR3, RCC_CFGR3_CECSW)))
mbed_official 340:28d1f895c6fe 1897
mbed_official 340:28d1f895c6fe 1898 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 1899 /* STM32F051x8 || STM32F058xx || */
mbed_official 340:28d1f895c6fe 1900 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 1901 /* STM32F091xC || defined(STM32F098xx) */
mbed_official 340:28d1f895c6fe 1902
mbed_official 630:825f75ca301e 1903 #if defined(STM32F030x6) || defined(STM32F031x6) || defined(STM32F038xx)\
mbed_official 630:825f75ca301e 1904 || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6)\
mbed_official 630:825f75ca301e 1905 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB)\
mbed_official 630:825f75ca301e 1906 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
mbed_official 340:28d1f895c6fe 1907
mbed_official 340:28d1f895c6fe 1908 /** @brief Macro to configure the MCO clock.
mbed_official 340:28d1f895c6fe 1909 * @param __MCOCLKSource__: specifies the MCO clock source.
mbed_official 340:28d1f895c6fe 1910 * This parameter can be one of the following values:
mbed_official 340:28d1f895c6fe 1911 * @arg RCC_MCOSOURCE_HSI: HSI selected as MCO clock
mbed_official 340:28d1f895c6fe 1912 * @arg RCC_MCOSOURCE_HSE: HSE selected as MCO clock
mbed_official 340:28d1f895c6fe 1913 * @arg RCC_MCOSOURCE_LSI: LSI selected as MCO clock
mbed_official 340:28d1f895c6fe 1914 * @arg RCC_MCOSOURCE_LSE: LSE selected as MCO clock
mbed_official 340:28d1f895c6fe 1915 * @arg RCC_MCOSOURCE_PLLCLK_NODIV: PLLCLK selected as MCO clock
mbed_official 340:28d1f895c6fe 1916 * @arg RCC_MCOSOURCE_PLLCLK_DIV2: PLLCLK Divided by 2 selected as MCO clock
mbed_official 340:28d1f895c6fe 1917 * @arg RCC_MCOSOURCE_SYSCLK: System Clock selected as MCO clock
mbed_official 340:28d1f895c6fe 1918 * @arg RCC_MCOSOURCE_HSI14: HSI14 selected as MCO clock
mbed_official 340:28d1f895c6fe 1919 * @arg RCC_MCOSOURCE_HSI48: HSI48 selected as MCO clock
mbed_official 340:28d1f895c6fe 1920 * @param __MCODiv__: specifies the MCO clock prescaler.
mbed_official 340:28d1f895c6fe 1921 * This parameter can be one of the following values:
mbed_official 340:28d1f895c6fe 1922 * @arg RCC_MCO_DIV1: MCO clock source is divided by 1
mbed_official 340:28d1f895c6fe 1923 * @arg RCC_MCO_DIV2: MCO clock source is divided by 2
mbed_official 340:28d1f895c6fe 1924 * @arg RCC_MCO_DIV4: MCO clock source is divided by 4
mbed_official 340:28d1f895c6fe 1925 * @arg RCC_MCO_DIV8: MCO clock source is divided by 8
mbed_official 340:28d1f895c6fe 1926 * @arg RCC_MCO_DIV16: MCO clock source is divided by 16
mbed_official 340:28d1f895c6fe 1927 * @arg RCC_MCO_DIV32: MCO clock source is divided by 32
mbed_official 340:28d1f895c6fe 1928 * @arg RCC_MCO_DIV64: MCO clock source is divided by 64
mbed_official 340:28d1f895c6fe 1929 * @arg RCC_MCO_DIV128: MCO clock source is divided by 128
mbed_official 340:28d1f895c6fe 1930 */
mbed_official 340:28d1f895c6fe 1931 #define __HAL_RCC_MCO_CONFIG(__MCOCLKSource__, __MCODiv__) \
mbed_official 340:28d1f895c6fe 1932 MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCO | RCC_CFGR_MCOPRE), ((__MCOCLKSource__) | (__MCODiv__)))
mbed_official 340:28d1f895c6fe 1933 #else
mbed_official 340:28d1f895c6fe 1934
mbed_official 340:28d1f895c6fe 1935 /** @brief Macro to configure the MCO clock.
mbed_official 340:28d1f895c6fe 1936 * @param __MCOCLKSource__: specifies the MCO clock source.
mbed_official 340:28d1f895c6fe 1937 * This parameter can be one of the following values:
mbed_official 340:28d1f895c6fe 1938 * @arg RCC_MCOSOURCE_HSI: HSI selected as MCO clock
mbed_official 340:28d1f895c6fe 1939 * @arg RCC_MCOSOURCE_HSE: HSE selected as MCO clock
mbed_official 340:28d1f895c6fe 1940 * @arg RCC_MCOSOURCE_LSI: LSI selected as MCO clock
mbed_official 340:28d1f895c6fe 1941 * @arg RCC_MCOSOURCE_LSE: LSE selected as MCO clock
mbed_official 340:28d1f895c6fe 1942 * @arg RCC_MCOSOURCE_PLLCLK_DIV2: PLLCLK Divided by 2 selected as MCO clock
mbed_official 340:28d1f895c6fe 1943 * @arg RCC_MCOSOURCE_SYSCLK: System Clock selected as MCO clock
mbed_official 340:28d1f895c6fe 1944 * @arg RCC_MCOSOURCE_HSI14: HSI14 selected as MCO clock
mbed_official 340:28d1f895c6fe 1945 * @arg RCC_MCOSOURCE_HSI48: HSI48 selected as MCO clock
mbed_official 340:28d1f895c6fe 1946 * @param __MCODiv__: specifies the MCO clock prescaler.
mbed_official 340:28d1f895c6fe 1947 * This parameter can be one of the following values:
mbed_official 630:825f75ca301e 1948 * @arg RCC_MCODIV_1: No division applied on MCO clock source
mbed_official 340:28d1f895c6fe 1949 */
mbed_official 340:28d1f895c6fe 1950 #define __HAL_RCC_MCO_CONFIG(__MCOCLKSource__, __MCODiv__) \
mbed_official 340:28d1f895c6fe 1951 MODIFY_REG(RCC->CFGR, RCC_CFGR_MCO, __MCOCLKSource__)
mbed_official 340:28d1f895c6fe 1952
mbed_official 441:d2c15dda23c1 1953 #endif /* STM32F030x6 || STM32F031x6 || STM32F038xx || STM32F070x6 || */
mbed_official 441:d2c15dda23c1 1954 /* STM32F042x6 || STM32F048xx || */
mbed_official 441:d2c15dda23c1 1955 /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || */
mbed_official 441:d2c15dda23c1 1956 /* STM32F091xC || STM32F098xx || STM32F030xC */
mbed_official 441:d2c15dda23c1 1957
mbed_official 630:825f75ca301e 1958 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 1959 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 441:d2c15dda23c1 1960 /** @brief Macro to configure the USART2 clock (USART2CLK).
mbed_official 441:d2c15dda23c1 1961 * @param __USART2CLKSource__: specifies the USART2 clock source.
mbed_official 441:d2c15dda23c1 1962 * This parameter can be one of the following values:
mbed_official 441:d2c15dda23c1 1963 * @arg RCC_USART2CLKSOURCE_PCLK1: PCLK1 selected as USART2 clock
mbed_official 441:d2c15dda23c1 1964 * @arg RCC_USART2CLKSOURCE_HSI: HSI selected as USART2 clock
mbed_official 441:d2c15dda23c1 1965 * @arg RCC_USART2CLKSOURCE_SYSCLK: System Clock selected as USART2 clock
mbed_official 441:d2c15dda23c1 1966 * @arg RCC_USART2CLKSOURCE_LSE: LSE selected as USART2 clock
mbed_official 441:d2c15dda23c1 1967 */
mbed_official 441:d2c15dda23c1 1968 #define __HAL_RCC_USART2_CONFIG(__USART2CLKSource__) \
mbed_official 441:d2c15dda23c1 1969 MODIFY_REG(RCC->CFGR3, RCC_CFGR3_USART2SW, (uint32_t)(__USART2CLKSource__))
mbed_official 441:d2c15dda23c1 1970
mbed_official 441:d2c15dda23c1 1971 /** @brief Macro to get the USART2 clock source.
mbed_official 441:d2c15dda23c1 1972 * @retval The clock source can be one of the following values:
mbed_official 441:d2c15dda23c1 1973 * @arg RCC_USART2CLKSOURCE_PCLK1: PCLK1 selected as USART2 clock
mbed_official 441:d2c15dda23c1 1974 * @arg RCC_USART2CLKSOURCE_HSI: HSI selected as USART2 clock
mbed_official 441:d2c15dda23c1 1975 * @arg RCC_USART2CLKSOURCE_SYSCLK: System Clock selected as USART2 clock
mbed_official 441:d2c15dda23c1 1976 * @arg RCC_USART2CLKSOURCE_LSE: LSE selected as USART2 clock
mbed_official 441:d2c15dda23c1 1977 */
mbed_official 441:d2c15dda23c1 1978 #define __HAL_RCC_GET_USART2_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR3, RCC_CFGR3_USART2SW)))
mbed_official 441:d2c15dda23c1 1979 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F091xC || STM32F098xx*/
mbed_official 340:28d1f895c6fe 1980
mbed_official 340:28d1f895c6fe 1981 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 1982 /** @brief Macro to configure the USART3 clock (USART3CLK).
mbed_official 340:28d1f895c6fe 1983 * @param __USART3CLKSource__: specifies the USART3 clock source.
mbed_official 340:28d1f895c6fe 1984 * This parameter can be one of the following values:
mbed_official 340:28d1f895c6fe 1985 * @arg RCC_USART3CLKSOURCE_PCLK1: PCLK1 selected as USART3 clock
mbed_official 340:28d1f895c6fe 1986 * @arg RCC_USART3CLKSOURCE_HSI: HSI selected as USART3 clock
mbed_official 340:28d1f895c6fe 1987 * @arg RCC_USART3CLKSOURCE_SYSCLK: System Clock selected as USART3 clock
mbed_official 340:28d1f895c6fe 1988 * @arg RCC_USART3CLKSOURCE_LSE: LSE selected as USART3 clock
mbed_official 340:28d1f895c6fe 1989 */
mbed_official 340:28d1f895c6fe 1990 #define __HAL_RCC_USART3_CONFIG(__USART3CLKSource__) \
mbed_official 340:28d1f895c6fe 1991 MODIFY_REG(RCC->CFGR3, RCC_CFGR3_USART3SW, (uint32_t)(__USART3CLKSource__))
mbed_official 340:28d1f895c6fe 1992
mbed_official 340:28d1f895c6fe 1993 /** @brief Macro to get the USART3 clock source.
mbed_official 340:28d1f895c6fe 1994 * @retval The clock source can be one of the following values:
mbed_official 340:28d1f895c6fe 1995 * @arg RCC_USART3CLKSOURCE_PCLK1: PCLK1 selected as USART3 clock
mbed_official 340:28d1f895c6fe 1996 * @arg RCC_USART3CLKSOURCE_HSI: HSI selected as USART3 clock
mbed_official 340:28d1f895c6fe 1997 * @arg RCC_USART3CLKSOURCE_SYSCLK: System Clock selected as USART3 clock
mbed_official 340:28d1f895c6fe 1998 * @arg RCC_USART3CLKSOURCE_LSE: LSE selected as USART3 clock
mbed_official 340:28d1f895c6fe 1999 */
mbed_official 340:28d1f895c6fe 2000 #define __HAL_RCC_GET_USART3_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR3, RCC_CFGR3_USART3SW)))
mbed_official 340:28d1f895c6fe 2001
mbed_official 441:d2c15dda23c1 2002 #endif /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 2003 /**
mbed_official 340:28d1f895c6fe 2004 * @}
mbed_official 340:28d1f895c6fe 2005 */
mbed_official 340:28d1f895c6fe 2006
mbed_official 630:825f75ca301e 2007 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 2008 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 2009 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 2010
mbed_official 340:28d1f895c6fe 2011 /** @defgroup RCCEx_IT_And_Flag RCCEx IT and Flag
mbed_official 340:28d1f895c6fe 2012 * @{
mbed_official 340:28d1f895c6fe 2013 */
mbed_official 340:28d1f895c6fe 2014 /* Interrupt & Flag management */
mbed_official 340:28d1f895c6fe 2015
mbed_official 340:28d1f895c6fe 2016 /**
mbed_official 340:28d1f895c6fe 2017 * @brief Enables the specified CRS interrupts.
mbed_official 340:28d1f895c6fe 2018 * @param __INTERRUPT__: specifies the CRS interrupt sources to be enabled.
mbed_official 340:28d1f895c6fe 2019 * This parameter can be any combination of the following values:
mbed_official 340:28d1f895c6fe 2020 * @arg RCC_CRS_IT_SYNCOK
mbed_official 340:28d1f895c6fe 2021 * @arg RCC_CRS_IT_SYNCWARN
mbed_official 340:28d1f895c6fe 2022 * @arg RCC_CRS_IT_ERR
mbed_official 340:28d1f895c6fe 2023 * @arg RCC_CRS_IT_ESYNC
mbed_official 340:28d1f895c6fe 2024 * @retval None
mbed_official 340:28d1f895c6fe 2025 */
mbed_official 340:28d1f895c6fe 2026 #define __HAL_RCC_CRS_ENABLE_IT(__INTERRUPT__) (CRS->CR |= (__INTERRUPT__))
mbed_official 340:28d1f895c6fe 2027
mbed_official 340:28d1f895c6fe 2028 /**
mbed_official 340:28d1f895c6fe 2029 * @brief Disables the specified CRS interrupts.
mbed_official 340:28d1f895c6fe 2030 * @param __INTERRUPT__: specifies the CRS interrupt sources to be disabled.
mbed_official 340:28d1f895c6fe 2031 * This parameter can be any combination of the following values:
mbed_official 340:28d1f895c6fe 2032 * @arg RCC_CRS_IT_SYNCOK
mbed_official 340:28d1f895c6fe 2033 * @arg RCC_CRS_IT_SYNCWARN
mbed_official 340:28d1f895c6fe 2034 * @arg RCC_CRS_IT_ERR
mbed_official 340:28d1f895c6fe 2035 * @arg RCC_CRS_IT_ESYNC
mbed_official 340:28d1f895c6fe 2036 * @retval None
mbed_official 340:28d1f895c6fe 2037 */
mbed_official 340:28d1f895c6fe 2038 #define __HAL_RCC_CRS_DISABLE_IT(__INTERRUPT__) (CRS->CR &= ~(__INTERRUPT__))
mbed_official 340:28d1f895c6fe 2039
mbed_official 340:28d1f895c6fe 2040 /** @brief Check the CRS's interrupt has occurred or not.
mbed_official 340:28d1f895c6fe 2041 * @param __INTERRUPT__: specifies the CRS interrupt source to check.
mbed_official 340:28d1f895c6fe 2042 * This parameter can be one of the following values:
mbed_official 340:28d1f895c6fe 2043 * @arg RCC_CRS_IT_SYNCOK
mbed_official 340:28d1f895c6fe 2044 * @arg RCC_CRS_IT_SYNCWARN
mbed_official 340:28d1f895c6fe 2045 * @arg RCC_CRS_IT_ERR
mbed_official 340:28d1f895c6fe 2046 * @arg RCC_CRS_IT_ESYNC
mbed_official 340:28d1f895c6fe 2047 * @retval The new state of __INTERRUPT__ (SET or RESET).
mbed_official 340:28d1f895c6fe 2048 */
mbed_official 340:28d1f895c6fe 2049 #define __HAL_RCC_CRS_GET_IT_SOURCE(__INTERRUPT__) ((CRS->CR & (__INTERRUPT__))? SET : RESET)
mbed_official 340:28d1f895c6fe 2050
mbed_official 340:28d1f895c6fe 2051 /** @brief Clear the CRS's interrupt pending bits
mbed_official 340:28d1f895c6fe 2052 * bits to clear the selected interrupt pending bits.
mbed_official 340:28d1f895c6fe 2053 * @param __INTERRUPT__: specifies the interrupt pending bit to clear.
mbed_official 340:28d1f895c6fe 2054 * This parameter can be any combination of the following values:
mbed_official 340:28d1f895c6fe 2055 * @arg RCC_CRS_IT_SYNCOK
mbed_official 340:28d1f895c6fe 2056 * @arg RCC_CRS_IT_SYNCWARN
mbed_official 340:28d1f895c6fe 2057 * @arg RCC_CRS_IT_ERR
mbed_official 340:28d1f895c6fe 2058 * @arg RCC_CRS_IT_ESYNC
mbed_official 340:28d1f895c6fe 2059 * @arg RCC_CRS_IT_TRIMOVF
mbed_official 340:28d1f895c6fe 2060 * @arg RCC_CRS_IT_SYNCERR
mbed_official 340:28d1f895c6fe 2061 * @arg RCC_CRS_IT_SYNCMISS
mbed_official 340:28d1f895c6fe 2062 */
mbed_official 340:28d1f895c6fe 2063 /* CRS IT Error Mask */
mbed_official 340:28d1f895c6fe 2064 #define RCC_CRS_IT_ERROR_MASK ((uint32_t)(RCC_CRS_IT_TRIMOVF | RCC_CRS_IT_SYNCERR | RCC_CRS_IT_SYNCMISS))
mbed_official 340:28d1f895c6fe 2065
mbed_official 340:28d1f895c6fe 2066 #define __HAL_RCC_CRS_CLEAR_IT(__INTERRUPT__) ((((__INTERRUPT__) & RCC_CRS_IT_ERROR_MASK)!= 0) ? (CRS->ICR |= CRS_ICR_ERRC) : \
mbed_official 340:28d1f895c6fe 2067 (CRS->ICR |= (__INTERRUPT__)))
mbed_official 340:28d1f895c6fe 2068
mbed_official 340:28d1f895c6fe 2069 /**
mbed_official 340:28d1f895c6fe 2070 * @brief Checks whether the specified CRS flag is set or not.
mbed_official 340:28d1f895c6fe 2071 * @param _FLAG_: specifies the flag to check.
mbed_official 340:28d1f895c6fe 2072 * This parameter can be one of the following values:
mbed_official 340:28d1f895c6fe 2073 * @arg RCC_CRS_FLAG_SYNCOK
mbed_official 340:28d1f895c6fe 2074 * @arg RCC_CRS_FLAG_SYNCWARN
mbed_official 340:28d1f895c6fe 2075 * @arg RCC_CRS_FLAG_ERR
mbed_official 340:28d1f895c6fe 2076 * @arg RCC_CRS_FLAG_ESYNC
mbed_official 340:28d1f895c6fe 2077 * @arg RCC_CRS_FLAG_TRIMOVF
mbed_official 340:28d1f895c6fe 2078 * @arg RCC_CRS_FLAG_SYNCERR
mbed_official 340:28d1f895c6fe 2079 * @arg RCC_CRS_FLAG_SYNCMISS
mbed_official 340:28d1f895c6fe 2080 * @retval The new state of _FLAG_ (TRUE or FALSE).
mbed_official 340:28d1f895c6fe 2081 */
mbed_official 340:28d1f895c6fe 2082 #define __HAL_RCC_CRS_GET_FLAG(_FLAG_) ((CRS->ISR & (_FLAG_)) == (_FLAG_))
mbed_official 340:28d1f895c6fe 2083
mbed_official 340:28d1f895c6fe 2084 /**
mbed_official 340:28d1f895c6fe 2085 * @brief Clears the CRS specified FLAG.
mbed_official 340:28d1f895c6fe 2086 * @param _FLAG_: specifies the flag to clear.
mbed_official 340:28d1f895c6fe 2087 * This parameter can be one of the following values:
mbed_official 340:28d1f895c6fe 2088 * @arg RCC_CRS_FLAG_SYNCOK
mbed_official 340:28d1f895c6fe 2089 * @arg RCC_CRS_FLAG_SYNCWARN
mbed_official 340:28d1f895c6fe 2090 * @arg RCC_CRS_FLAG_ERR
mbed_official 340:28d1f895c6fe 2091 * @arg RCC_CRS_FLAG_ESYNC
mbed_official 340:28d1f895c6fe 2092 * @arg RCC_CRS_FLAG_TRIMOVF
mbed_official 340:28d1f895c6fe 2093 * @arg RCC_CRS_FLAG_SYNCERR
mbed_official 340:28d1f895c6fe 2094 * @arg RCC_CRS_FLAG_SYNCMISS
mbed_official 340:28d1f895c6fe 2095 * @retval None
mbed_official 340:28d1f895c6fe 2096 */
mbed_official 340:28d1f895c6fe 2097
mbed_official 340:28d1f895c6fe 2098 /* CRS Flag Error Mask */
mbed_official 340:28d1f895c6fe 2099 #define RCC_CRS_FLAG_ERROR_MASK ((uint32_t)(RCC_CRS_FLAG_TRIMOVF | RCC_CRS_FLAG_SYNCERR | RCC_CRS_FLAG_SYNCMISS))
mbed_official 340:28d1f895c6fe 2100
mbed_official 340:28d1f895c6fe 2101 #define __HAL_RCC_CRS_CLEAR_FLAG(__FLAG__) ((((__FLAG__) & RCC_CRS_FLAG_ERROR_MASK)!= 0) ? (CRS->ICR |= CRS_ICR_ERRC) : \
mbed_official 340:28d1f895c6fe 2102 (CRS->ICR |= (__FLAG__)))
mbed_official 340:28d1f895c6fe 2103
mbed_official 340:28d1f895c6fe 2104 /**
mbed_official 340:28d1f895c6fe 2105 * @}
mbed_official 340:28d1f895c6fe 2106 */
mbed_official 340:28d1f895c6fe 2107
mbed_official 340:28d1f895c6fe 2108 /** @defgroup RCCEx_CRS_Extended_Features RCCEx CRS Extended Features
mbed_official 340:28d1f895c6fe 2109 * @{
mbed_official 340:28d1f895c6fe 2110 */
mbed_official 340:28d1f895c6fe 2111 /**
mbed_official 340:28d1f895c6fe 2112 * @brief Enables the oscillator clock for frequency error counter.
mbed_official 340:28d1f895c6fe 2113 * @note when the CEN bit is set the CRS_CFGR register becomes write-protected.
mbed_official 340:28d1f895c6fe 2114 * @retval None
mbed_official 340:28d1f895c6fe 2115 */
mbed_official 340:28d1f895c6fe 2116 #define __HAL_RCC_CRS_ENABLE_FREQ_ERROR_COUNTER() (CRS->CR |= CRS_CR_CEN)
mbed_official 340:28d1f895c6fe 2117
mbed_official 340:28d1f895c6fe 2118 /**
mbed_official 340:28d1f895c6fe 2119 * @brief Disables the oscillator clock for frequency error counter.
mbed_official 340:28d1f895c6fe 2120 * @retval None
mbed_official 340:28d1f895c6fe 2121 */
mbed_official 340:28d1f895c6fe 2122 #define __HAL_RCC_CRS_DISABLE_FREQ_ERROR_COUNTER() (CRS->CR &= ~CRS_CR_CEN)
mbed_official 340:28d1f895c6fe 2123
mbed_official 340:28d1f895c6fe 2124 /**
mbed_official 340:28d1f895c6fe 2125 * @brief Enables the automatic hardware adjustement of TRIM bits.
mbed_official 340:28d1f895c6fe 2126 * @note When the AUTOTRIMEN bit is set the CRS_CFGR register becomes write-protected.
mbed_official 340:28d1f895c6fe 2127 * @retval None
mbed_official 340:28d1f895c6fe 2128 */
mbed_official 340:28d1f895c6fe 2129 #define __HAL_RCC_CRS_ENABLE_AUTOMATIC_CALIB() (CRS->CR |= CRS_CR_AUTOTRIMEN)
mbed_official 340:28d1f895c6fe 2130
mbed_official 340:28d1f895c6fe 2131 /**
mbed_official 340:28d1f895c6fe 2132 * @brief Enables or disables the automatic hardware adjustement of TRIM bits.
mbed_official 340:28d1f895c6fe 2133 * @retval None
mbed_official 340:28d1f895c6fe 2134 */
mbed_official 340:28d1f895c6fe 2135 #define __HAL_RCC_CRS_DISABLE_AUTOMATIC_CALIB() (CRS->CR &= ~CRS_CR_AUTOTRIMEN)
mbed_official 340:28d1f895c6fe 2136
mbed_official 340:28d1f895c6fe 2137 /**
mbed_official 340:28d1f895c6fe 2138 * @brief Macro to calculate reload value to be set in CRS register according to target and sync frequencies
mbed_official 340:28d1f895c6fe 2139 * @note The RELOAD value should be selected according to the ratio between the target frequency and the frequency
mbed_official 340:28d1f895c6fe 2140 * of the synchronization source after prescaling. It is then decreased by one in order to
mbed_official 340:28d1f895c6fe 2141 * reach the expected synchronization on the zero value. The formula is the following:
mbed_official 340:28d1f895c6fe 2142 * RELOAD = (fTARGET / fSYNC) -1
mbed_official 340:28d1f895c6fe 2143 * @param _FTARGET_ Target frequency (value in Hz)
mbed_official 340:28d1f895c6fe 2144 * @param _FSYNC_ Synchronization signal frequency (value in Hz)
mbed_official 340:28d1f895c6fe 2145 * @retval None
mbed_official 340:28d1f895c6fe 2146 */
mbed_official 340:28d1f895c6fe 2147 #define __HAL_RCC_CRS_CALCULATE_RELOADVALUE(_FTARGET_, _FSYNC_) (((_FTARGET_) / (_FSYNC_)) - 1)
mbed_official 340:28d1f895c6fe 2148
mbed_official 340:28d1f895c6fe 2149 /**
mbed_official 340:28d1f895c6fe 2150 * @}
mbed_official 340:28d1f895c6fe 2151 */
mbed_official 340:28d1f895c6fe 2152
mbed_official 340:28d1f895c6fe 2153 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 2154 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 2155 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 2156
mbed_official 340:28d1f895c6fe 2157 /**
mbed_official 340:28d1f895c6fe 2158 * @}
mbed_official 340:28d1f895c6fe 2159 */
mbed_official 340:28d1f895c6fe 2160
mbed_official 340:28d1f895c6fe 2161 /* Exported functions --------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 2162 /** @addtogroup RCCEx_Exported_Functions
mbed_official 340:28d1f895c6fe 2163 * @{
mbed_official 340:28d1f895c6fe 2164 */
mbed_official 340:28d1f895c6fe 2165
mbed_official 340:28d1f895c6fe 2166 /** @addtogroup RCCEx_Exported_Functions_Group1
mbed_official 340:28d1f895c6fe 2167 * @{
mbed_official 340:28d1f895c6fe 2168 */
mbed_official 340:28d1f895c6fe 2169
mbed_official 340:28d1f895c6fe 2170 HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit);
mbed_official 340:28d1f895c6fe 2171 void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit);
mbed_official 630:825f75ca301e 2172 uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk);
mbed_official 340:28d1f895c6fe 2173
mbed_official 630:825f75ca301e 2174 #if defined(STM32F042x6) || defined(STM32F048xx)\
mbed_official 630:825f75ca301e 2175 || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
mbed_official 630:825f75ca301e 2176 || defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 2177 void HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit);
mbed_official 340:28d1f895c6fe 2178 void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void);
mbed_official 340:28d1f895c6fe 2179 void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo);
mbed_official 441:d2c15dda23c1 2180 uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout);
mbed_official 340:28d1f895c6fe 2181 #endif /* STM32F042x6 || STM32F048xx || */
mbed_official 340:28d1f895c6fe 2182 /* STM32F071xB || STM32F072xB || STM32F078xx || */
mbed_official 340:28d1f895c6fe 2183 /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 2184
mbed_official 340:28d1f895c6fe 2185
mbed_official 340:28d1f895c6fe 2186 /**
mbed_official 340:28d1f895c6fe 2187 * @}
mbed_official 340:28d1f895c6fe 2188 */
mbed_official 340:28d1f895c6fe 2189
mbed_official 340:28d1f895c6fe 2190 /**
mbed_official 340:28d1f895c6fe 2191 * @}
mbed_official 340:28d1f895c6fe 2192 */
mbed_official 340:28d1f895c6fe 2193
mbed_official 340:28d1f895c6fe 2194 /**
mbed_official 340:28d1f895c6fe 2195 * @}
mbed_official 340:28d1f895c6fe 2196 */
mbed_official 340:28d1f895c6fe 2197
mbed_official 340:28d1f895c6fe 2198 /**
mbed_official 340:28d1f895c6fe 2199 * @}
mbed_official 340:28d1f895c6fe 2200 */
mbed_official 340:28d1f895c6fe 2201
mbed_official 340:28d1f895c6fe 2202 #ifdef __cplusplus
mbed_official 340:28d1f895c6fe 2203 }
mbed_official 340:28d1f895c6fe 2204 #endif
mbed_official 340:28d1f895c6fe 2205
mbed_official 340:28d1f895c6fe 2206 #endif /* __STM32F0xx_HAL_RCC_EX_H */
mbed_official 340:28d1f895c6fe 2207
mbed_official 340:28d1f895c6fe 2208 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/