mbed library sources

Dependents:   Marvino mbot

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri Aug 14 13:15:17 2015 +0100
Revision:
610:813dcc80987e
Synchronized with git revision 6d84db41c6833e0b9b024741eb0616a5f62d5599

Full URL: https://github.com/mbedmicro/mbed/commit/6d84db41c6833e0b9b024741eb0616a5f62d5599/

DISCO_F746NG - Improvements

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 610:813dcc80987e 1 /**
mbed_official 610:813dcc80987e 2 ******************************************************************************
mbed_official 610:813dcc80987e 3 * @file stm32l4xx_hal_rcc.h
mbed_official 610:813dcc80987e 4 * @author MCD Application Team
mbed_official 610:813dcc80987e 5 * @version V1.0.0
mbed_official 610:813dcc80987e 6 * @date 26-June-2015
mbed_official 610:813dcc80987e 7 * @brief Header file of RCC HAL module.
mbed_official 610:813dcc80987e 8 ******************************************************************************
mbed_official 610:813dcc80987e 9 * @attention
mbed_official 610:813dcc80987e 10 *
mbed_official 610:813dcc80987e 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 610:813dcc80987e 12 *
mbed_official 610:813dcc80987e 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 610:813dcc80987e 14 * are permitted provided that the following conditions are met:
mbed_official 610:813dcc80987e 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 610:813dcc80987e 16 * this list of conditions and the following disclaimer.
mbed_official 610:813dcc80987e 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 610:813dcc80987e 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 610:813dcc80987e 19 * and/or other materials provided with the distribution.
mbed_official 610:813dcc80987e 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 610:813dcc80987e 21 * may be used to endorse or promote products derived from this software
mbed_official 610:813dcc80987e 22 * without specific prior written permission.
mbed_official 610:813dcc80987e 23 *
mbed_official 610:813dcc80987e 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 610:813dcc80987e 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 610:813dcc80987e 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 610:813dcc80987e 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 610:813dcc80987e 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 610:813dcc80987e 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 610:813dcc80987e 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 610:813dcc80987e 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 610:813dcc80987e 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 610:813dcc80987e 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 610:813dcc80987e 34 *
mbed_official 610:813dcc80987e 35 ******************************************************************************
mbed_official 610:813dcc80987e 36 */
mbed_official 610:813dcc80987e 37
mbed_official 610:813dcc80987e 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 610:813dcc80987e 39 #ifndef __STM32L4xx_HAL_RCC_H
mbed_official 610:813dcc80987e 40 #define __STM32L4xx_HAL_RCC_H
mbed_official 610:813dcc80987e 41
mbed_official 610:813dcc80987e 42 #ifdef __cplusplus
mbed_official 610:813dcc80987e 43 extern "C" {
mbed_official 610:813dcc80987e 44 #endif
mbed_official 610:813dcc80987e 45
mbed_official 610:813dcc80987e 46 /* Includes ------------------------------------------------------------------*/
mbed_official 610:813dcc80987e 47 #include "stm32l4xx_hal_def.h"
mbed_official 610:813dcc80987e 48
mbed_official 610:813dcc80987e 49 /** @addtogroup STM32L4xx_HAL_Driver
mbed_official 610:813dcc80987e 50 * @{
mbed_official 610:813dcc80987e 51 */
mbed_official 610:813dcc80987e 52
mbed_official 610:813dcc80987e 53 /** @addtogroup RCC
mbed_official 610:813dcc80987e 54 * @{
mbed_official 610:813dcc80987e 55 */
mbed_official 610:813dcc80987e 56
mbed_official 610:813dcc80987e 57 /* Exported types ------------------------------------------------------------*/
mbed_official 610:813dcc80987e 58 /** @defgroup RCC_Exported_Types RCC Exported Types
mbed_official 610:813dcc80987e 59 * @{
mbed_official 610:813dcc80987e 60 */
mbed_official 610:813dcc80987e 61
mbed_official 610:813dcc80987e 62 /**
mbed_official 610:813dcc80987e 63 * @brief RCC PLL configuration structure definition
mbed_official 610:813dcc80987e 64 */
mbed_official 610:813dcc80987e 65 typedef struct
mbed_official 610:813dcc80987e 66 {
mbed_official 610:813dcc80987e 67 uint32_t PLLState; /*!< The new state of the PLL.
mbed_official 610:813dcc80987e 68 This parameter can be a value of @ref RCC_PLL_Config */
mbed_official 610:813dcc80987e 69
mbed_official 610:813dcc80987e 70 uint32_t PLLSource; /*!< RCC_PLLSource: PLL entry clock source.
mbed_official 610:813dcc80987e 71 This parameter must be a value of @ref RCC_PLL_Clock_Source */
mbed_official 610:813dcc80987e 72
mbed_official 610:813dcc80987e 73 uint32_t PLLM; /*!< PLLM: Division factor for PLL VCO input clock.
mbed_official 610:813dcc80987e 74 This parameter must be a number between Min_Data = 0 and Max_Data = 8 */
mbed_official 610:813dcc80987e 75
mbed_official 610:813dcc80987e 76 uint32_t PLLN; /*!< PLLN: Multiplication factor for PLL VCO output clock.
mbed_official 610:813dcc80987e 77 This parameter must be a number between Min_Data = 8 and Max_Data = 86 */
mbed_official 610:813dcc80987e 78
mbed_official 610:813dcc80987e 79 uint32_t PLLP; /*!< PLLP: Division factor for SAI clock.
mbed_official 610:813dcc80987e 80 This parameter must be a value of @ref RCC_PLLP_Clock_Divider */
mbed_official 610:813dcc80987e 81
mbed_official 610:813dcc80987e 82 uint32_t PLLQ; /*!< PLLQ: Division factor for SDMMC1, RNG and USB clocks.
mbed_official 610:813dcc80987e 83 This parameter must be a value of @ref RCC_PLLQ_Clock_Divider */
mbed_official 610:813dcc80987e 84
mbed_official 610:813dcc80987e 85 uint32_t PLLR; /*!< PLLR: Division for the main system clock.
mbed_official 610:813dcc80987e 86 User have to set the PLLR parameter correctly to not exceed max frequency 80MHZ.
mbed_official 610:813dcc80987e 87 This parameter must be a value of @ref RCC_PLLR_Clock_Divider */
mbed_official 610:813dcc80987e 88
mbed_official 610:813dcc80987e 89 }RCC_PLLInitTypeDef;
mbed_official 610:813dcc80987e 90
mbed_official 610:813dcc80987e 91 /**
mbed_official 610:813dcc80987e 92 * @brief RCC Internal/External Oscillator (HSE, HSI, MSI, LSE and LSI) configuration structure definition
mbed_official 610:813dcc80987e 93 */
mbed_official 610:813dcc80987e 94 typedef struct
mbed_official 610:813dcc80987e 95 {
mbed_official 610:813dcc80987e 96 uint32_t OscillatorType; /*!< The oscillators to be configured.
mbed_official 610:813dcc80987e 97 This parameter can be a value of @ref RCC_Oscillator_Type */
mbed_official 610:813dcc80987e 98
mbed_official 610:813dcc80987e 99 uint32_t HSEState; /*!< The new state of the HSE.
mbed_official 610:813dcc80987e 100 This parameter can be a value of @ref RCC_HSE_Config */
mbed_official 610:813dcc80987e 101
mbed_official 610:813dcc80987e 102 uint32_t LSEState; /*!< The new state of the LSE.
mbed_official 610:813dcc80987e 103 This parameter can be a value of @ref RCC_LSE_Config */
mbed_official 610:813dcc80987e 104
mbed_official 610:813dcc80987e 105 uint32_t HSIState; /*!< The new state of the HSI.
mbed_official 610:813dcc80987e 106 This parameter can be a value of @ref RCC_HSI_Config */
mbed_official 610:813dcc80987e 107
mbed_official 610:813dcc80987e 108 uint32_t HSICalibrationValue; /*!< The calibration trimming value (default is RCC_HSICALIBRATION_DEFAULT).
mbed_official 610:813dcc80987e 109 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F */
mbed_official 610:813dcc80987e 110
mbed_official 610:813dcc80987e 111 uint32_t LSIState; /*!< The new state of the LSI.
mbed_official 610:813dcc80987e 112 This parameter can be a value of @ref RCC_LSI_Config */
mbed_official 610:813dcc80987e 113
mbed_official 610:813dcc80987e 114 uint32_t MSIState; /*!< The new state of the MSI.
mbed_official 610:813dcc80987e 115 This parameter can be a value of @ref RCC_MSI_Config */
mbed_official 610:813dcc80987e 116
mbed_official 610:813dcc80987e 117 uint32_t MSICalibrationValue; /*!< The calibration trimming value (default is RCC_MSICALIBRATION_DEFAULT).
mbed_official 610:813dcc80987e 118 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF */
mbed_official 610:813dcc80987e 119
mbed_official 610:813dcc80987e 120 uint32_t MSIClockRange; /*!< The MSI frequency range.
mbed_official 610:813dcc80987e 121 This parameter can be a value of @ref RCC_MSI_Clock_Range */
mbed_official 610:813dcc80987e 122
mbed_official 610:813dcc80987e 123 RCC_PLLInitTypeDef PLL; /*!< Main PLL structure parameters */
mbed_official 610:813dcc80987e 124
mbed_official 610:813dcc80987e 125 }RCC_OscInitTypeDef;
mbed_official 610:813dcc80987e 126
mbed_official 610:813dcc80987e 127 /**
mbed_official 610:813dcc80987e 128 * @brief RCC System, AHB and APB busses clock configuration structure definition
mbed_official 610:813dcc80987e 129 */
mbed_official 610:813dcc80987e 130 typedef struct
mbed_official 610:813dcc80987e 131 {
mbed_official 610:813dcc80987e 132 uint32_t ClockType; /*!< The clock to be configured.
mbed_official 610:813dcc80987e 133 This parameter can be a value of @ref RCC_System_Clock_Type */
mbed_official 610:813dcc80987e 134
mbed_official 610:813dcc80987e 135 uint32_t SYSCLKSource; /*!< The clock source used as system clock (SYSCLK).
mbed_official 610:813dcc80987e 136 This parameter can be a value of @ref RCC_System_Clock_Source */
mbed_official 610:813dcc80987e 137
mbed_official 610:813dcc80987e 138 uint32_t AHBCLKDivider; /*!< The AHB clock (HCLK) divider. This clock is derived from the system clock (SYSCLK).
mbed_official 610:813dcc80987e 139 This parameter can be a value of @ref RCC_AHB_Clock_Source */
mbed_official 610:813dcc80987e 140
mbed_official 610:813dcc80987e 141 uint32_t APB1CLKDivider; /*!< The APB1 clock (PCLK1) divider. This clock is derived from the AHB clock (HCLK).
mbed_official 610:813dcc80987e 142 This parameter can be a value of @ref RCC_APB1_APB2_Clock_Source */
mbed_official 610:813dcc80987e 143
mbed_official 610:813dcc80987e 144 uint32_t APB2CLKDivider; /*!< The APB2 clock (PCLK2) divider. This clock is derived from the AHB clock (HCLK).
mbed_official 610:813dcc80987e 145 This parameter can be a value of @ref RCC_APB1_APB2_Clock_Source */
mbed_official 610:813dcc80987e 146
mbed_official 610:813dcc80987e 147 }RCC_ClkInitTypeDef;
mbed_official 610:813dcc80987e 148
mbed_official 610:813dcc80987e 149 /**
mbed_official 610:813dcc80987e 150 * @}
mbed_official 610:813dcc80987e 151 */
mbed_official 610:813dcc80987e 152
mbed_official 610:813dcc80987e 153 /* Exported constants --------------------------------------------------------*/
mbed_official 610:813dcc80987e 154 /** @defgroup RCC_Exported_Constants RCC Exported Constants
mbed_official 610:813dcc80987e 155 * @{
mbed_official 610:813dcc80987e 156 */
mbed_official 610:813dcc80987e 157
mbed_official 610:813dcc80987e 158 /** @defgroup RCC_Timeout_Value Timeout Values
mbed_official 610:813dcc80987e 159 * @{
mbed_official 610:813dcc80987e 160 */
mbed_official 610:813dcc80987e 161 #define RCC_DBP_TIMEOUT_VALUE ((uint32_t)100)
mbed_official 610:813dcc80987e 162 #define RCC_LSE_TIMEOUT_VALUE ((uint32_t)5000)
mbed_official 610:813dcc80987e 163 /**
mbed_official 610:813dcc80987e 164 * @}
mbed_official 610:813dcc80987e 165 */
mbed_official 610:813dcc80987e 166
mbed_official 610:813dcc80987e 167 /** @defgroup RCC_Oscillator_Type Oscillator Type
mbed_official 610:813dcc80987e 168 * @{
mbed_official 610:813dcc80987e 169 */
mbed_official 610:813dcc80987e 170 #define RCC_OSCILLATORTYPE_NONE ((uint32_t)0x00000000) /*!< Oscillator configuration unchanged */
mbed_official 610:813dcc80987e 171 #define RCC_OSCILLATORTYPE_HSE ((uint32_t)0x00000001) /*!< HSE to configure */
mbed_official 610:813dcc80987e 172 #define RCC_OSCILLATORTYPE_HSI ((uint32_t)0x00000002) /*!< HSI to configure */
mbed_official 610:813dcc80987e 173 #define RCC_OSCILLATORTYPE_LSE ((uint32_t)0x00000004) /*!< LSE to configure */
mbed_official 610:813dcc80987e 174 #define RCC_OSCILLATORTYPE_LSI ((uint32_t)0x00000008) /*!< LSI to configure */
mbed_official 610:813dcc80987e 175 #define RCC_OSCILLATORTYPE_MSI ((uint32_t)0x00000010) /*!< MSI to configure */
mbed_official 610:813dcc80987e 176 /**
mbed_official 610:813dcc80987e 177 * @}
mbed_official 610:813dcc80987e 178 */
mbed_official 610:813dcc80987e 179
mbed_official 610:813dcc80987e 180 /** @defgroup RCC_HSE_Config HSE Config
mbed_official 610:813dcc80987e 181 * @{
mbed_official 610:813dcc80987e 182 */
mbed_official 610:813dcc80987e 183 #define RCC_HSE_OFF ((uint32_t)0x00000000) /*!< HSE clock deactivation */
mbed_official 610:813dcc80987e 184 #define RCC_HSE_ON RCC_CR_HSEON /*!< HSE clock activation */
mbed_official 610:813dcc80987e 185 #define RCC_HSE_BYPASS ((uint32_t)(RCC_CR_HSEBYP | RCC_CR_HSEON)) /*!< External clock source for HSE clock */
mbed_official 610:813dcc80987e 186 /**
mbed_official 610:813dcc80987e 187 * @}
mbed_official 610:813dcc80987e 188 */
mbed_official 610:813dcc80987e 189
mbed_official 610:813dcc80987e 190 /** @defgroup RCC_LSE_Config LSE Config
mbed_official 610:813dcc80987e 191 * @{
mbed_official 610:813dcc80987e 192 */
mbed_official 610:813dcc80987e 193 #define RCC_LSE_OFF ((uint32_t)0x00000000) /*!< LSE clock deactivation */
mbed_official 610:813dcc80987e 194 #define RCC_LSE_ON RCC_BDCR_LSEON /*!< LSE clock activation */
mbed_official 610:813dcc80987e 195 #define RCC_LSE_BYPASS ((uint32_t)(RCC_BDCR_LSEBYP | RCC_BDCR_LSEON)) /*!< External clock source for LSE clock */
mbed_official 610:813dcc80987e 196 /**
mbed_official 610:813dcc80987e 197 * @}
mbed_official 610:813dcc80987e 198 */
mbed_official 610:813dcc80987e 199
mbed_official 610:813dcc80987e 200 /** @defgroup RCC_HSI_Config HSI Config
mbed_official 610:813dcc80987e 201 * @{
mbed_official 610:813dcc80987e 202 */
mbed_official 610:813dcc80987e 203 #define RCC_HSI_OFF ((uint32_t)0x00000000) /*!< HSI clock deactivation */
mbed_official 610:813dcc80987e 204 #define RCC_HSI_ON RCC_CR_HSION /*!< HSI clock activation */
mbed_official 610:813dcc80987e 205
mbed_official 610:813dcc80987e 206 #define RCC_HSICALIBRATION_DEFAULT ((uint32_t)16) /*!< Default HSI calibration trimming value */
mbed_official 610:813dcc80987e 207 /**
mbed_official 610:813dcc80987e 208 * @}
mbed_official 610:813dcc80987e 209 */
mbed_official 610:813dcc80987e 210
mbed_official 610:813dcc80987e 211 /** @defgroup RCC_LSI_Config LSI Config
mbed_official 610:813dcc80987e 212 * @{
mbed_official 610:813dcc80987e 213 */
mbed_official 610:813dcc80987e 214 #define RCC_LSI_OFF ((uint32_t)0x00000000) /*!< LSI clock deactivation */
mbed_official 610:813dcc80987e 215 #define RCC_LSI_ON RCC_CSR_LSION /*!< LSI clock activation */
mbed_official 610:813dcc80987e 216 /**
mbed_official 610:813dcc80987e 217 * @}
mbed_official 610:813dcc80987e 218 */
mbed_official 610:813dcc80987e 219
mbed_official 610:813dcc80987e 220 /** @defgroup RCC_MSI_Config MSI Config
mbed_official 610:813dcc80987e 221 * @{
mbed_official 610:813dcc80987e 222 */
mbed_official 610:813dcc80987e 223 #define RCC_MSI_OFF ((uint32_t)0x00000000) /*!< MSI clock deactivation */
mbed_official 610:813dcc80987e 224 #define RCC_MSI_ON RCC_CR_MSION /*!< MSI clock activation */
mbed_official 610:813dcc80987e 225
mbed_official 610:813dcc80987e 226 #define RCC_MSICALIBRATION_DEFAULT ((uint32_t)0) /*!< Default MSI calibration trimming value */
mbed_official 610:813dcc80987e 227 /**
mbed_official 610:813dcc80987e 228 * @}
mbed_official 610:813dcc80987e 229 */
mbed_official 610:813dcc80987e 230
mbed_official 610:813dcc80987e 231 /** @defgroup RCC_PLL_Config PLL Config
mbed_official 610:813dcc80987e 232 * @{
mbed_official 610:813dcc80987e 233 */
mbed_official 610:813dcc80987e 234 #define RCC_PLL_NONE ((uint32_t)0x00000000) /*!< PLL configuration unchanged */
mbed_official 610:813dcc80987e 235 #define RCC_PLL_OFF ((uint32_t)0x00000001) /*!< PLL deactivation */
mbed_official 610:813dcc80987e 236 #define RCC_PLL_ON ((uint32_t)0x00000002) /*!< PLL activation */
mbed_official 610:813dcc80987e 237 /**
mbed_official 610:813dcc80987e 238 * @}
mbed_official 610:813dcc80987e 239 */
mbed_official 610:813dcc80987e 240
mbed_official 610:813dcc80987e 241 /** @defgroup RCC_PLLP_Clock_Divider PLLP Clock Divider
mbed_official 610:813dcc80987e 242 * @{
mbed_official 610:813dcc80987e 243 */
mbed_official 610:813dcc80987e 244 #define RCC_PLLP_DIV7 ((uint32_t)0x00000007) /*!< PLLP division factor = 7 */
mbed_official 610:813dcc80987e 245 #define RCC_PLLP_DIV17 ((uint32_t)0x00000011) /*!< PLLP division factor = 17 */
mbed_official 610:813dcc80987e 246 /**
mbed_official 610:813dcc80987e 247 * @}
mbed_official 610:813dcc80987e 248 */
mbed_official 610:813dcc80987e 249
mbed_official 610:813dcc80987e 250 /** @defgroup RCC_PLLQ_Clock_Divider PLLQ Clock Divider
mbed_official 610:813dcc80987e 251 * @{
mbed_official 610:813dcc80987e 252 */
mbed_official 610:813dcc80987e 253 #define RCC_PLLQ_DIV2 ((uint32_t)0x00000002) /*!< PLLQ division factor = 2 */
mbed_official 610:813dcc80987e 254 #define RCC_PLLQ_DIV4 ((uint32_t)0x00000004) /*!< PLLQ division factor = 4 */
mbed_official 610:813dcc80987e 255 #define RCC_PLLQ_DIV6 ((uint32_t)0x00000006) /*!< PLLQ division factor = 6 */
mbed_official 610:813dcc80987e 256 #define RCC_PLLQ_DIV8 ((uint32_t)0x00000008) /*!< PLLQ division factor = 8 */
mbed_official 610:813dcc80987e 257 /**
mbed_official 610:813dcc80987e 258 * @}
mbed_official 610:813dcc80987e 259 */
mbed_official 610:813dcc80987e 260
mbed_official 610:813dcc80987e 261 /** @defgroup RCC_PLLR_Clock_Divider PLLR Clock Divider
mbed_official 610:813dcc80987e 262 * @{
mbed_official 610:813dcc80987e 263 */
mbed_official 610:813dcc80987e 264 #define RCC_PLLR_DIV2 ((uint32_t)0x00000002) /*!< PLLR division factor = 2 */
mbed_official 610:813dcc80987e 265 #define RCC_PLLR_DIV4 ((uint32_t)0x00000004) /*!< PLLR division factor = 4 */
mbed_official 610:813dcc80987e 266 #define RCC_PLLR_DIV6 ((uint32_t)0x00000006) /*!< PLLR division factor = 6 */
mbed_official 610:813dcc80987e 267 #define RCC_PLLR_DIV8 ((uint32_t)0x00000008) /*!< PLLR division factor = 8 */
mbed_official 610:813dcc80987e 268 /**
mbed_official 610:813dcc80987e 269 * @}
mbed_official 610:813dcc80987e 270 */
mbed_official 610:813dcc80987e 271
mbed_official 610:813dcc80987e 272 /** @defgroup RCC_PLL_Clock_Source PLL Clock Source
mbed_official 610:813dcc80987e 273 * @{
mbed_official 610:813dcc80987e 274 */
mbed_official 610:813dcc80987e 275 #define RCC_PLLSOURCE_NONE ((uint32_t)0x00000000) /*!< No clock selected as PLL entry clock source */
mbed_official 610:813dcc80987e 276 #define RCC_PLLSOURCE_MSI RCC_PLLCFGR_PLLSRC_MSI /*!< MSI clock selected as PLL entry clock source */
mbed_official 610:813dcc80987e 277 #define RCC_PLLSOURCE_HSI RCC_PLLCFGR_PLLSRC_HSI /*!< HSI clock selected as PLL entry clock source */
mbed_official 610:813dcc80987e 278 #define RCC_PLLSOURCE_HSE RCC_PLLCFGR_PLLSRC_HSE /*!< HSE clock selected as PLL entry clock source */
mbed_official 610:813dcc80987e 279 /**
mbed_official 610:813dcc80987e 280 * @}
mbed_official 610:813dcc80987e 281 */
mbed_official 610:813dcc80987e 282
mbed_official 610:813dcc80987e 283 /** @defgroup RCC_PLL_Clock_Output PLL Clock Output
mbed_official 610:813dcc80987e 284 * @{
mbed_official 610:813dcc80987e 285 */
mbed_official 610:813dcc80987e 286 #define RCC_PLL_SAI3CLK RCC_PLLCFGR_PLLPEN /*!< PLLSAI3CLK selection from main PLL */
mbed_official 610:813dcc80987e 287 #define RCC_PLL_48M1CLK RCC_PLLCFGR_PLLQEN /*!< PLL48M1CLK selection from main PLL */
mbed_official 610:813dcc80987e 288 #define RCC_PLL_SYSCLK RCC_PLLCFGR_PLLREN /*!< PLLCLK selection from main PLL */
mbed_official 610:813dcc80987e 289 /**
mbed_official 610:813dcc80987e 290 * @}
mbed_official 610:813dcc80987e 291 */
mbed_official 610:813dcc80987e 292
mbed_official 610:813dcc80987e 293 /** @defgroup RCC_PLLSAI1_Clock_Output PLLSAI1 Clock Output
mbed_official 610:813dcc80987e 294 * @{
mbed_official 610:813dcc80987e 295 */
mbed_official 610:813dcc80987e 296 #define RCC_PLLSAI1_SAI1CLK RCC_PLLSAI1CFGR_PLLSAI1PEN /*!< PLLSAI1CLK selection from PLLSAI1 */
mbed_official 610:813dcc80987e 297 #define RCC_PLLSAI1_48M2CLK RCC_PLLSAI1CFGR_PLLSAI1QEN /*!< PLL48M2CLK selection from PLLSAI1 */
mbed_official 610:813dcc80987e 298 #define RCC_PLLSAI1_ADC1CLK RCC_PLLSAI1CFGR_PLLSAI1REN /*!< PLLADC1CLK selection from PLLSAI1 */
mbed_official 610:813dcc80987e 299 /**
mbed_official 610:813dcc80987e 300 * @}
mbed_official 610:813dcc80987e 301 */
mbed_official 610:813dcc80987e 302
mbed_official 610:813dcc80987e 303 /** @defgroup RCC_PLLSAI2_Clock_Output PLLSAI2 Clock Output
mbed_official 610:813dcc80987e 304 * @{
mbed_official 610:813dcc80987e 305 */
mbed_official 610:813dcc80987e 306 #define RCC_PLLSAI2_SAI2CLK RCC_PLLSAI2CFGR_PLLSAI2PEN /*!< PLLSAI2CLK selection from PLLSAI2 */
mbed_official 610:813dcc80987e 307 #define RCC_PLLSAI2_ADC2CLK RCC_PLLSAI2CFGR_PLLSAI2REN /*!< PLLADC2CLK selection from PLLSAI2 */
mbed_official 610:813dcc80987e 308 /**
mbed_official 610:813dcc80987e 309 * @}
mbed_official 610:813dcc80987e 310 */
mbed_official 610:813dcc80987e 311
mbed_official 610:813dcc80987e 312 /** @defgroup RCC_MSI_Clock_Range MSI Clock Range
mbed_official 610:813dcc80987e 313 * @{
mbed_official 610:813dcc80987e 314 */
mbed_official 610:813dcc80987e 315 #define RCC_MSIRANGE_0 RCC_CR_MSIRANGE_0 /*!< MSI = 100 KHz */
mbed_official 610:813dcc80987e 316 #define RCC_MSIRANGE_1 RCC_CR_MSIRANGE_1 /*!< MSI = 200 KHz */
mbed_official 610:813dcc80987e 317 #define RCC_MSIRANGE_2 RCC_CR_MSIRANGE_2 /*!< MSI = 400 KHz */
mbed_official 610:813dcc80987e 318 #define RCC_MSIRANGE_3 RCC_CR_MSIRANGE_3 /*!< MSI = 800 KHz */
mbed_official 610:813dcc80987e 319 #define RCC_MSIRANGE_4 RCC_CR_MSIRANGE_4 /*!< MSI = 1 MHz */
mbed_official 610:813dcc80987e 320 #define RCC_MSIRANGE_5 RCC_CR_MSIRANGE_5 /*!< MSI = 2 MHz */
mbed_official 610:813dcc80987e 321 #define RCC_MSIRANGE_6 RCC_CR_MSIRANGE_6 /*!< MSI = 4 MHz */
mbed_official 610:813dcc80987e 322 #define RCC_MSIRANGE_7 RCC_CR_MSIRANGE_7 /*!< MSI = 8 MHz */
mbed_official 610:813dcc80987e 323 #define RCC_MSIRANGE_8 RCC_CR_MSIRANGE_8 /*!< MSI = 16 MHz */
mbed_official 610:813dcc80987e 324 #define RCC_MSIRANGE_9 RCC_CR_MSIRANGE_9 /*!< MSI = 24 MHz */
mbed_official 610:813dcc80987e 325 #define RCC_MSIRANGE_10 RCC_CR_MSIRANGE_10 /*!< MSI = 32 MHz */
mbed_official 610:813dcc80987e 326 #define RCC_MSIRANGE_11 RCC_CR_MSIRANGE_11 /*!< MSI = 48 MHz */
mbed_official 610:813dcc80987e 327 /**
mbed_official 610:813dcc80987e 328 * @}
mbed_official 610:813dcc80987e 329 */
mbed_official 610:813dcc80987e 330
mbed_official 610:813dcc80987e 331 /** @defgroup RCC_System_Clock_Type System Clock Type
mbed_official 610:813dcc80987e 332 * @{
mbed_official 610:813dcc80987e 333 */
mbed_official 610:813dcc80987e 334 #define RCC_CLOCKTYPE_SYSCLK ((uint32_t)0x00000001) /*!< SYSCLK to configure */
mbed_official 610:813dcc80987e 335 #define RCC_CLOCKTYPE_HCLK ((uint32_t)0x00000002) /*!< HCLK to configure */
mbed_official 610:813dcc80987e 336 #define RCC_CLOCKTYPE_PCLK1 ((uint32_t)0x00000004) /*!< PCLK1 to configure */
mbed_official 610:813dcc80987e 337 #define RCC_CLOCKTYPE_PCLK2 ((uint32_t)0x00000008) /*!< PCLK2 to configure */
mbed_official 610:813dcc80987e 338 /**
mbed_official 610:813dcc80987e 339 * @}
mbed_official 610:813dcc80987e 340 */
mbed_official 610:813dcc80987e 341
mbed_official 610:813dcc80987e 342 /** @defgroup RCC_System_Clock_Source System Clock Source
mbed_official 610:813dcc80987e 343 * @{
mbed_official 610:813dcc80987e 344 */
mbed_official 610:813dcc80987e 345 #define RCC_SYSCLKSOURCE_MSI RCC_CFGR_SW_MSI /*!< MSI selection as system clock */
mbed_official 610:813dcc80987e 346 #define RCC_SYSCLKSOURCE_HSI RCC_CFGR_SW_HSI /*!< HSI selection as system clock */
mbed_official 610:813dcc80987e 347 #define RCC_SYSCLKSOURCE_HSE RCC_CFGR_SW_HSE /*!< HSE selection as system clock */
mbed_official 610:813dcc80987e 348 #define RCC_SYSCLKSOURCE_PLLCLK RCC_CFGR_SW_PLL /*!< PLL selection as system clock */
mbed_official 610:813dcc80987e 349 /**
mbed_official 610:813dcc80987e 350 * @}
mbed_official 610:813dcc80987e 351 */
mbed_official 610:813dcc80987e 352
mbed_official 610:813dcc80987e 353 /** @defgroup RCC_System_Clock_Source_Status System Clock Source Status
mbed_official 610:813dcc80987e 354 * @{
mbed_official 610:813dcc80987e 355 */
mbed_official 610:813dcc80987e 356 #define RCC_SYSCLKSOURCE_STATUS_MSI RCC_CFGR_SWS_MSI /*!< MSI used as system clock */
mbed_official 610:813dcc80987e 357 #define RCC_SYSCLKSOURCE_STATUS_HSI RCC_CFGR_SWS_HSI /*!< HSI used as system clock */
mbed_official 610:813dcc80987e 358 #define RCC_SYSCLKSOURCE_STATUS_HSE RCC_CFGR_SWS_HSE /*!< HSE used as system clock */
mbed_official 610:813dcc80987e 359 #define RCC_SYSCLKSOURCE_STATUS_PLLCLK RCC_CFGR_SWS_PLL /*!< PLL used as system clock */
mbed_official 610:813dcc80987e 360 /**
mbed_official 610:813dcc80987e 361 * @}
mbed_official 610:813dcc80987e 362 */
mbed_official 610:813dcc80987e 363
mbed_official 610:813dcc80987e 364 /** @defgroup RCC_AHB_Clock_Source AHB Clock Source
mbed_official 610:813dcc80987e 365 * @{
mbed_official 610:813dcc80987e 366 */
mbed_official 610:813dcc80987e 367 #define RCC_SYSCLK_DIV1 RCC_CFGR_HPRE_DIV1 /*!< SYSCLK not divided */
mbed_official 610:813dcc80987e 368 #define RCC_SYSCLK_DIV2 RCC_CFGR_HPRE_DIV2 /*!< SYSCLK divided by 2 */
mbed_official 610:813dcc80987e 369 #define RCC_SYSCLK_DIV4 RCC_CFGR_HPRE_DIV4 /*!< SYSCLK divided by 4 */
mbed_official 610:813dcc80987e 370 #define RCC_SYSCLK_DIV8 RCC_CFGR_HPRE_DIV8 /*!< SYSCLK divided by 8 */
mbed_official 610:813dcc80987e 371 #define RCC_SYSCLK_DIV16 RCC_CFGR_HPRE_DIV16 /*!< SYSCLK divided by 16 */
mbed_official 610:813dcc80987e 372 #define RCC_SYSCLK_DIV64 RCC_CFGR_HPRE_DIV64 /*!< SYSCLK divided by 64 */
mbed_official 610:813dcc80987e 373 #define RCC_SYSCLK_DIV128 RCC_CFGR_HPRE_DIV128 /*!< SYSCLK divided by 128 */
mbed_official 610:813dcc80987e 374 #define RCC_SYSCLK_DIV256 RCC_CFGR_HPRE_DIV256 /*!< SYSCLK divided by 256 */
mbed_official 610:813dcc80987e 375 #define RCC_SYSCLK_DIV512 RCC_CFGR_HPRE_DIV512 /*!< SYSCLK divided by 512 */
mbed_official 610:813dcc80987e 376 /**
mbed_official 610:813dcc80987e 377 * @}
mbed_official 610:813dcc80987e 378 */
mbed_official 610:813dcc80987e 379
mbed_official 610:813dcc80987e 380 /** @defgroup RCC_APB1_APB2_Clock_Source APB1 APB2 Clock Source
mbed_official 610:813dcc80987e 381 * @{
mbed_official 610:813dcc80987e 382 */
mbed_official 610:813dcc80987e 383 #define RCC_HCLK_DIV1 RCC_CFGR_PPRE1_DIV1 /*!< HCLK not divided */
mbed_official 610:813dcc80987e 384 #define RCC_HCLK_DIV2 RCC_CFGR_PPRE1_DIV2 /*!< HCLK divided by 2 */
mbed_official 610:813dcc80987e 385 #define RCC_HCLK_DIV4 RCC_CFGR_PPRE1_DIV4 /*!< HCLK divided by 4 */
mbed_official 610:813dcc80987e 386 #define RCC_HCLK_DIV8 RCC_CFGR_PPRE1_DIV8 /*!< HCLK divided by 8 */
mbed_official 610:813dcc80987e 387 #define RCC_HCLK_DIV16 RCC_CFGR_PPRE1_DIV16 /*!< HCLK divided by 16 */
mbed_official 610:813dcc80987e 388 /**
mbed_official 610:813dcc80987e 389 * @}
mbed_official 610:813dcc80987e 390 */
mbed_official 610:813dcc80987e 391
mbed_official 610:813dcc80987e 392 /** @defgroup RCC_RTC_Clock_Source RTC Clock Source
mbed_official 610:813dcc80987e 393 * @{
mbed_official 610:813dcc80987e 394 */
mbed_official 610:813dcc80987e 395 #define RCC_RTCCLKSOURCE_LSE RCC_BDCR_RTCSEL_0 /*!< LSE oscillator clock used as RTC clock */
mbed_official 610:813dcc80987e 396 #define RCC_RTCCLKSOURCE_LSI RCC_BDCR_RTCSEL_1 /*!< LSI oscillator clock used as RTC clock */
mbed_official 610:813dcc80987e 397 #define RCC_RTCCLKSOURCE_HSE_DIV32 RCC_BDCR_RTCSEL /*!< HSE oscillator clock divided by 32 used as RTC clock */
mbed_official 610:813dcc80987e 398 /**
mbed_official 610:813dcc80987e 399 * @}
mbed_official 610:813dcc80987e 400 */
mbed_official 610:813dcc80987e 401
mbed_official 610:813dcc80987e 402 /** @defgroup RCC_MCO_Index MCO Index
mbed_official 610:813dcc80987e 403 * @{
mbed_official 610:813dcc80987e 404 */
mbed_official 610:813dcc80987e 405 #define RCC_MCO1 ((uint32_t)0x00000000)
mbed_official 610:813dcc80987e 406 #define RCC_MCO RCC_MCO1 /*!< MCO1 to be compliant with other families with 2 MCOs*/
mbed_official 610:813dcc80987e 407 /**
mbed_official 610:813dcc80987e 408 * @}
mbed_official 610:813dcc80987e 409 */
mbed_official 610:813dcc80987e 410
mbed_official 610:813dcc80987e 411 /** @defgroup RCC_MCO1_Clock_Source MCO1 Clock Source
mbed_official 610:813dcc80987e 412 * @{
mbed_official 610:813dcc80987e 413 */
mbed_official 610:813dcc80987e 414 #define RCC_MCO1SOURCE_SYSCLK RCC_CFGR_MCOSEL_0 /*!< SYSCLK selection as MCO1 source */
mbed_official 610:813dcc80987e 415 #define RCC_MCO1SOURCE_MSI RCC_CFGR_MCOSEL_1 /*!< MSI selection as MCO1 source */
mbed_official 610:813dcc80987e 416 #define RCC_MCO1SOURCE_HSI (RCC_CFGR_MCOSEL_0| RCC_CFGR_MCOSEL_1) /*!< HSI selection as MCO1 source */
mbed_official 610:813dcc80987e 417 #define RCC_MCO1SOURCE_HSE RCC_CFGR_MCOSEL_2 /*!< HSE selection as MCO1 source */
mbed_official 610:813dcc80987e 418 #define RCC_MCO1SOURCE_PLLCLK (RCC_CFGR_MCOSEL_0|RCC_CFGR_MCOSEL_2) /*!< PLLCLK selection as MCO1 source */
mbed_official 610:813dcc80987e 419 #define RCC_MCO1SOURCE_LSI (RCC_CFGR_MCOSEL_1|RCC_CFGR_MCOSEL_2) /*!< LSI selection as MCO1 source */
mbed_official 610:813dcc80987e 420 #define RCC_MCO1SOURCE_LSE RCC_CFGR_MCOSEL /*!< LSE selection as MCO1 source */
mbed_official 610:813dcc80987e 421 /**
mbed_official 610:813dcc80987e 422 * @}
mbed_official 610:813dcc80987e 423 */
mbed_official 610:813dcc80987e 424
mbed_official 610:813dcc80987e 425 /** @defgroup RCC_MCOx_Clock_Prescaler MCO1 Clock Prescaler
mbed_official 610:813dcc80987e 426 * @{
mbed_official 610:813dcc80987e 427 */
mbed_official 610:813dcc80987e 428 #define RCC_MCODIV_1 RCC_CFGR_MCO_PRE_1 /*!< MCO not divided */
mbed_official 610:813dcc80987e 429 #define RCC_MCODIV_2 RCC_CFGR_MCO_PRE_2 /*!< MCO divided by 2 */
mbed_official 610:813dcc80987e 430 #define RCC_MCODIV_4 RCC_CFGR_MCO_PRE_4 /*!< MCO divided by 4 */
mbed_official 610:813dcc80987e 431 #define RCC_MCODIV_8 RCC_CFGR_MCO_PRE_8 /*!< MCO divided by 8 */
mbed_official 610:813dcc80987e 432 #define RCC_MCODIV_16 RCC_CFGR_MCO_PRE_16 /*!< MCO divided by 16 */
mbed_official 610:813dcc80987e 433 /**
mbed_official 610:813dcc80987e 434 * @}
mbed_official 610:813dcc80987e 435 */
mbed_official 610:813dcc80987e 436
mbed_official 610:813dcc80987e 437 /** @defgroup RCC_Interrupt Interrupts
mbed_official 610:813dcc80987e 438 * @{
mbed_official 610:813dcc80987e 439 */
mbed_official 610:813dcc80987e 440 #define RCC_IT_LSIRDY ((uint32_t)0x00000001) /*!< LSI Ready Interrupt flag */
mbed_official 610:813dcc80987e 441 #define RCC_IT_LSERDY ((uint32_t)0x00000002) /*!< LSE Ready Interrupt flag */
mbed_official 610:813dcc80987e 442 #define RCC_IT_MSIRDY ((uint32_t)0x00000004) /*!< MSI Ready Interrupt flag */
mbed_official 610:813dcc80987e 443 #define RCC_IT_HSIRDY ((uint32_t)0x00000008) /*!< HSI Ready Interrupt flag */
mbed_official 610:813dcc80987e 444 #define RCC_IT_HSERDY ((uint32_t)0x00000010) /*!< HSE Ready Interrupt flag */
mbed_official 610:813dcc80987e 445 #define RCC_IT_PLLRDY ((uint32_t)0x00000020) /*!< PLL Ready Interrupt flag */
mbed_official 610:813dcc80987e 446 #define RCC_IT_PLLSAI1RDY ((uint32_t)0x00000040) /*!< PLLSAI1 Ready Interrupt flag */
mbed_official 610:813dcc80987e 447 #define RCC_IT_PLLSAI2RDY ((uint32_t)0x00000080) /*!< PLLSAI2 Ready Interrupt flag */
mbed_official 610:813dcc80987e 448 #define RCC_IT_CSS ((uint32_t)0x00000100) /*!< Clock Security System Interrupt flag */
mbed_official 610:813dcc80987e 449 #define RCC_IT_LSECSS ((uint32_t)0x00000200) /*!< LSE Clock Security System Interrupt flag */
mbed_official 610:813dcc80987e 450 /**
mbed_official 610:813dcc80987e 451 * @}
mbed_official 610:813dcc80987e 452 */
mbed_official 610:813dcc80987e 453
mbed_official 610:813dcc80987e 454 /** @defgroup RCC_Flag Flags
mbed_official 610:813dcc80987e 455 * Elements values convention: 0XXYYYYYb
mbed_official 610:813dcc80987e 456 * - YYYYY : Flag position in the register
mbed_official 610:813dcc80987e 457 * - 0XX : Register index
mbed_official 610:813dcc80987e 458 * - 01: CR register
mbed_official 610:813dcc80987e 459 * - 10: BDCR register
mbed_official 610:813dcc80987e 460 * - 11: CSR register
mbed_official 610:813dcc80987e 461 * @{
mbed_official 610:813dcc80987e 462 */
mbed_official 610:813dcc80987e 463 /* Flags in the CR register */
mbed_official 610:813dcc80987e 464 #define RCC_FLAG_MSIRDY ((uint8_t)((CR_REG_INDEX << 5) | POSITION_VAL(RCC_CR_MSIRDY))) /*!< MSI Ready flag */
mbed_official 610:813dcc80987e 465 #define RCC_FLAG_HSIRDY ((uint8_t)((CR_REG_INDEX << 5) | POSITION_VAL(RCC_CR_HSIRDY))) /*!< HSI Ready flag */
mbed_official 610:813dcc80987e 466 #define RCC_FLAG_HSERDY ((uint8_t)((CR_REG_INDEX << 5) | POSITION_VAL(RCC_CR_HSERDY))) /*!< HSE Ready flag */
mbed_official 610:813dcc80987e 467 #define RCC_FLAG_PLLRDY ((uint8_t)((CR_REG_INDEX << 5) | POSITION_VAL(RCC_CR_PLLRDY))) /*!< PLL Ready flag */
mbed_official 610:813dcc80987e 468 #define RCC_FLAG_PLLSAI1RDY ((uint8_t)((CR_REG_INDEX << 5) | POSITION_VAL(RCC_CR_PLLSAI1RDY))) /*!< PLLSAI1 Ready flag */
mbed_official 610:813dcc80987e 469 #define RCC_FLAG_PLLSAI2RDY ((uint8_t)((CR_REG_INDEX << 5) | POSITION_VAL(RCC_CR_PLLSAI2RDY))) /*!< PLLSAI2 Ready flag */
mbed_official 610:813dcc80987e 470
mbed_official 610:813dcc80987e 471 /* Flags in the BDCR register */
mbed_official 610:813dcc80987e 472 #define RCC_FLAG_LSERDY ((uint8_t)((BDCR_REG_INDEX << 5) | POSITION_VAL(RCC_BDCR_LSERDY))) /*!< LSE Ready flag */
mbed_official 610:813dcc80987e 473 #define RCC_FLAG_LSECSSD ((uint8_t)((BDCR_REG_INDEX << 5) | POSITION_VAL(RCC_BDCR_LSECSSD))) /*!< LSE Clock Security System Interrupt flag */
mbed_official 610:813dcc80987e 474
mbed_official 610:813dcc80987e 475 /* Flags in the CSR register */
mbed_official 610:813dcc80987e 476 #define RCC_FLAG_LSIRDY ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_LSIRDY))) /*!< LSI Ready flag */
mbed_official 610:813dcc80987e 477 #define RCC_FLAG_RMVF ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_RMVF))) /*!< Remove reset flag */
mbed_official 610:813dcc80987e 478 #define RCC_FLAG_FWRST ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_FWRSTF))) /*!< Firewall reset flag */
mbed_official 610:813dcc80987e 479 #define RCC_FLAG_OBLRST ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_OBLRSTF))) /*!< Option Byte Loader reset flag */
mbed_official 610:813dcc80987e 480 #define RCC_FLAG_PINRST ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_PINRSTF))) /*!< PIN reset flag */
mbed_official 610:813dcc80987e 481 #define RCC_FLAG_BORRST ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_BORRSTF))) /*!< BOR reset flag */
mbed_official 610:813dcc80987e 482 #define RCC_FLAG_SFTRST ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_SFTRSTF))) /*!< Software Reset flag */
mbed_official 610:813dcc80987e 483 #define RCC_FLAG_IWDGRST ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_IWDGRSTF))) /*!< Independent Watchdog reset flag */
mbed_official 610:813dcc80987e 484 #define RCC_FLAG_WWDGRST ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_WWDGRSTF))) /*!< Window watchdog reset flag */
mbed_official 610:813dcc80987e 485 #define RCC_FLAG_LPWRRST ((uint8_t)((CSR_REG_INDEX << 5) | POSITION_VAL(RCC_CSR_LPWRRSTF))) /*!< Low-Power reset flag */
mbed_official 610:813dcc80987e 486 /**
mbed_official 610:813dcc80987e 487 * @}
mbed_official 610:813dcc80987e 488 */
mbed_official 610:813dcc80987e 489
mbed_official 610:813dcc80987e 490 /** @defgroup RCC_LSEDrive_Config LSE Drive Config
mbed_official 610:813dcc80987e 491 * @{
mbed_official 610:813dcc80987e 492 */
mbed_official 610:813dcc80987e 493 #define RCC_LSEDRIVE_LOW ((uint32_t)0x00000000) /*!< LSE low drive capability */
mbed_official 610:813dcc80987e 494 #define RCC_LSEDRIVE_MEDIUMLOW RCC_BDCR_LSEDRV_1 /*!< LSE medium low drive capability */
mbed_official 610:813dcc80987e 495 /* Workaround implementation on medium low */
mbed_official 610:813dcc80987e 496 #define RCC_LSEDRIVE_MEDIUMHIGH RCC_BDCR_LSEDRV_0 /*!< LSE medium high drive capability */
mbed_official 610:813dcc80987e 497 /* Workaround implementation on medium high */
mbed_official 610:813dcc80987e 498 #define RCC_LSEDRIVE_HIGH RCC_BDCR_LSEDRV /*!< LSE high drive capability */
mbed_official 610:813dcc80987e 499 /**
mbed_official 610:813dcc80987e 500 * @}
mbed_official 610:813dcc80987e 501 */
mbed_official 610:813dcc80987e 502
mbed_official 610:813dcc80987e 503 /** @defgroup RCC_Stop_WakeUpClock Wake-Up from STOP Clock
mbed_official 610:813dcc80987e 504 * @{
mbed_official 610:813dcc80987e 505 */
mbed_official 610:813dcc80987e 506 #define RCC_STOP_WAKEUPCLOCK_MSI ((uint32_t)0x00000000) /*!< MSI selection after wake-up from STOP */
mbed_official 610:813dcc80987e 507 #define RCC_STOP_WAKEUPCLOCK_HSI RCC_CFGR_STOPWUCK /*!< HSI selection after wake-up from STOP */
mbed_official 610:813dcc80987e 508 /**
mbed_official 610:813dcc80987e 509 * @}
mbed_official 610:813dcc80987e 510 */
mbed_official 610:813dcc80987e 511
mbed_official 610:813dcc80987e 512 /**
mbed_official 610:813dcc80987e 513 * @}
mbed_official 610:813dcc80987e 514 */
mbed_official 610:813dcc80987e 515
mbed_official 610:813dcc80987e 516 /* Exported macros -----------------------------------------------------------*/
mbed_official 610:813dcc80987e 517
mbed_official 610:813dcc80987e 518 /** @defgroup RCC_Exported_Macros RCC Exported Macros
mbed_official 610:813dcc80987e 519 * @{
mbed_official 610:813dcc80987e 520 */
mbed_official 610:813dcc80987e 521
mbed_official 610:813dcc80987e 522 /** @defgroup RCC_AHB1_Peripheral_Clock_Enable_Disable AHB1 Peripheral Clock Enable Disable
mbed_official 610:813dcc80987e 523 * @brief Enable or disable the AHB1 peripheral clock.
mbed_official 610:813dcc80987e 524 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 525 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 526 * using it.
mbed_official 610:813dcc80987e 527 * @{
mbed_official 610:813dcc80987e 528 */
mbed_official 610:813dcc80987e 529
mbed_official 610:813dcc80987e 530 #define __HAL_RCC_DMA1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 531 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 532 SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA1EN); \
mbed_official 610:813dcc80987e 533 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 534 tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA1EN); \
mbed_official 610:813dcc80987e 535 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 536 } while(0)
mbed_official 610:813dcc80987e 537
mbed_official 610:813dcc80987e 538 #define __HAL_RCC_DMA2_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 539 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 540 SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA2EN); \
mbed_official 610:813dcc80987e 541 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 542 tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA2EN); \
mbed_official 610:813dcc80987e 543 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 544 } while(0)
mbed_official 610:813dcc80987e 545
mbed_official 610:813dcc80987e 546 #define __HAL_RCC_FLASH_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 547 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 548 SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_FLASHEN); \
mbed_official 610:813dcc80987e 549 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 550 tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_FLASHEN); \
mbed_official 610:813dcc80987e 551 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 552 } while(0)
mbed_official 610:813dcc80987e 553
mbed_official 610:813dcc80987e 554 #define __HAL_RCC_CRC_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 555 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 556 SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_CRCEN); \
mbed_official 610:813dcc80987e 557 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 558 tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_CRCEN); \
mbed_official 610:813dcc80987e 559 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 560 } while(0)
mbed_official 610:813dcc80987e 561
mbed_official 610:813dcc80987e 562 #define __HAL_RCC_TSC_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 563 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 564 SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_TSCEN); \
mbed_official 610:813dcc80987e 565 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 566 tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_TSCEN); \
mbed_official 610:813dcc80987e 567 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 568 } while(0)
mbed_official 610:813dcc80987e 569
mbed_official 610:813dcc80987e 570 #define __HAL_RCC_DMA1_CLK_DISABLE() CLEAR_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA1EN)
mbed_official 610:813dcc80987e 571
mbed_official 610:813dcc80987e 572 #define __HAL_RCC_DMA2_CLK_DISABLE() CLEAR_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA2EN)
mbed_official 610:813dcc80987e 573
mbed_official 610:813dcc80987e 574 #define __HAL_RCC_FLASH_CLK_DISABLE() CLEAR_BIT(RCC->AHB1ENR, RCC_AHB1ENR_FLASHEN)
mbed_official 610:813dcc80987e 575
mbed_official 610:813dcc80987e 576 #define __HAL_RCC_CRC_CLK_DISABLE() CLEAR_BIT(RCC->AHB1ENR, RCC_AHB1ENR_CRCEN)
mbed_official 610:813dcc80987e 577
mbed_official 610:813dcc80987e 578 #define __HAL_RCC_TSC_CLK_DISABLE() CLEAR_BIT(RCC->AHB1ENR, RCC_AHB1ENR_TSCEN)
mbed_official 610:813dcc80987e 579
mbed_official 610:813dcc80987e 580 /**
mbed_official 610:813dcc80987e 581 * @}
mbed_official 610:813dcc80987e 582 */
mbed_official 610:813dcc80987e 583
mbed_official 610:813dcc80987e 584 /** @defgroup RCC_AHB2_Clock_Enable_Disable AHB2 Peripheral Clock Enable Disable
mbed_official 610:813dcc80987e 585 * @brief Enable or disable the AHB2 peripheral clock.
mbed_official 610:813dcc80987e 586 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 587 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 588 * using it.
mbed_official 610:813dcc80987e 589 * @{
mbed_official 610:813dcc80987e 590 */
mbed_official 610:813dcc80987e 591
mbed_official 610:813dcc80987e 592 #define __HAL_RCC_GPIOA_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 593 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 594 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOAEN); \
mbed_official 610:813dcc80987e 595 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 596 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOAEN); \
mbed_official 610:813dcc80987e 597 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 598 } while(0)
mbed_official 610:813dcc80987e 599
mbed_official 610:813dcc80987e 600 #define __HAL_RCC_GPIOB_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 601 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 602 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOBEN); \
mbed_official 610:813dcc80987e 603 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 604 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOBEN); \
mbed_official 610:813dcc80987e 605 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 606 } while(0)
mbed_official 610:813dcc80987e 607
mbed_official 610:813dcc80987e 608 #define __HAL_RCC_GPIOC_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 609 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 610 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOCEN); \
mbed_official 610:813dcc80987e 611 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 612 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOCEN); \
mbed_official 610:813dcc80987e 613 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 614 } while(0)
mbed_official 610:813dcc80987e 615
mbed_official 610:813dcc80987e 616 #define __HAL_RCC_GPIOD_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 617 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 618 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIODEN); \
mbed_official 610:813dcc80987e 619 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 620 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIODEN); \
mbed_official 610:813dcc80987e 621 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 622 } while(0)
mbed_official 610:813dcc80987e 623
mbed_official 610:813dcc80987e 624 #define __HAL_RCC_GPIOE_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 625 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 626 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOEEN); \
mbed_official 610:813dcc80987e 627 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 628 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOEEN); \
mbed_official 610:813dcc80987e 629 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 630 } while(0)
mbed_official 610:813dcc80987e 631
mbed_official 610:813dcc80987e 632 #define __HAL_RCC_GPIOF_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 633 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 634 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOFEN); \
mbed_official 610:813dcc80987e 635 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 636 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOFEN); \
mbed_official 610:813dcc80987e 637 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 638 } while(0)
mbed_official 610:813dcc80987e 639
mbed_official 610:813dcc80987e 640 #define __HAL_RCC_GPIOG_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 641 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 642 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOGEN); \
mbed_official 610:813dcc80987e 643 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 644 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOGEN); \
mbed_official 610:813dcc80987e 645 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 646 } while(0)
mbed_official 610:813dcc80987e 647
mbed_official 610:813dcc80987e 648 #define __HAL_RCC_GPIOH_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 649 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 650 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOHEN); \
mbed_official 610:813dcc80987e 651 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 652 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOHEN); \
mbed_official 610:813dcc80987e 653 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 654 } while(0)
mbed_official 610:813dcc80987e 655
mbed_official 610:813dcc80987e 656 #define __HAL_RCC_ADC_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 657 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 658 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_ADCEN); \
mbed_official 610:813dcc80987e 659 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 660 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_ADCEN); \
mbed_official 610:813dcc80987e 661 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 662 } while(0)
mbed_official 610:813dcc80987e 663
mbed_official 610:813dcc80987e 664 #define __HAL_RCC_RNG_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 665 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 666 SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_RNGEN); \
mbed_official 610:813dcc80987e 667 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 668 tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_RNGEN); \
mbed_official 610:813dcc80987e 669 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 670 } while(0)
mbed_official 610:813dcc80987e 671
mbed_official 610:813dcc80987e 672 #define __HAL_RCC_GPIOA_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOAEN)
mbed_official 610:813dcc80987e 673
mbed_official 610:813dcc80987e 674 #define __HAL_RCC_GPIOB_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOBEN)
mbed_official 610:813dcc80987e 675
mbed_official 610:813dcc80987e 676 #define __HAL_RCC_GPIOC_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOCEN)
mbed_official 610:813dcc80987e 677
mbed_official 610:813dcc80987e 678 #define __HAL_RCC_GPIOD_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIODEN)
mbed_official 610:813dcc80987e 679
mbed_official 610:813dcc80987e 680 #define __HAL_RCC_GPIOE_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOEEN)
mbed_official 610:813dcc80987e 681
mbed_official 610:813dcc80987e 682 #define __HAL_RCC_GPIOF_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOFEN)
mbed_official 610:813dcc80987e 683
mbed_official 610:813dcc80987e 684 #define __HAL_RCC_GPIOG_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOGEN)
mbed_official 610:813dcc80987e 685
mbed_official 610:813dcc80987e 686 #define __HAL_RCC_GPIOH_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOHEN)
mbed_official 610:813dcc80987e 687
mbed_official 610:813dcc80987e 688 #define __HAL_RCC_ADC_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_ADCEN)
mbed_official 610:813dcc80987e 689
mbed_official 610:813dcc80987e 690 #define __HAL_RCC_RNG_CLK_DISABLE() CLEAR_BIT(RCC->AHB2ENR, RCC_AHB2ENR_RNGEN)
mbed_official 610:813dcc80987e 691
mbed_official 610:813dcc80987e 692 /**
mbed_official 610:813dcc80987e 693 * @}
mbed_official 610:813dcc80987e 694 */
mbed_official 610:813dcc80987e 695
mbed_official 610:813dcc80987e 696 /** @defgroup RCC_AHB3_Clock_Enable_Disable AHB3 Peripheral Clock Enable Disable
mbed_official 610:813dcc80987e 697 * @brief Enable or disable the AHB3 peripheral clock.
mbed_official 610:813dcc80987e 698 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 699 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 700 * using it.
mbed_official 610:813dcc80987e 701 * @{
mbed_official 610:813dcc80987e 702 */
mbed_official 610:813dcc80987e 703
mbed_official 610:813dcc80987e 704 #define __HAL_RCC_FMC_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 705 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 706 SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); \
mbed_official 610:813dcc80987e 707 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 708 tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); \
mbed_official 610:813dcc80987e 709 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 710 } while(0)
mbed_official 610:813dcc80987e 711
mbed_official 610:813dcc80987e 712 #define __HAL_RCC_QSPI_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 713 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 714 SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_QSPIEN); \
mbed_official 610:813dcc80987e 715 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 716 tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_QSPIEN); \
mbed_official 610:813dcc80987e 717 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 718 } while(0)
mbed_official 610:813dcc80987e 719
mbed_official 610:813dcc80987e 720 #define __HAL_RCC_FMC_CLK_DISABLE() CLEAR_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN)
mbed_official 610:813dcc80987e 721
mbed_official 610:813dcc80987e 722 #define __HAL_RCC_QSPI_CLK_DISABLE() CLEAR_BIT(RCC->AHB3ENR, RCC_AHB3ENR_QSPIEN)
mbed_official 610:813dcc80987e 723
mbed_official 610:813dcc80987e 724 /**
mbed_official 610:813dcc80987e 725 * @}
mbed_official 610:813dcc80987e 726 */
mbed_official 610:813dcc80987e 727
mbed_official 610:813dcc80987e 728 /** @defgroup RCC_APB1_Clock_Enable_Disable APB1 Peripheral Clock Enable Disable
mbed_official 610:813dcc80987e 729 * @brief Enable or disable the APB1 peripheral clock.
mbed_official 610:813dcc80987e 730 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 731 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 732 * using it.
mbed_official 610:813dcc80987e 733 * @{
mbed_official 610:813dcc80987e 734 */
mbed_official 610:813dcc80987e 735
mbed_official 610:813dcc80987e 736 #define __HAL_RCC_TIM2_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 737 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 738 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM2EN); \
mbed_official 610:813dcc80987e 739 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 740 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM2EN); \
mbed_official 610:813dcc80987e 741 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 742 } while(0)
mbed_official 610:813dcc80987e 743
mbed_official 610:813dcc80987e 744 #define __HAL_RCC_TIM3_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 745 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 746 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM3EN); \
mbed_official 610:813dcc80987e 747 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 748 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM3EN); \
mbed_official 610:813dcc80987e 749 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 750 } while(0)
mbed_official 610:813dcc80987e 751
mbed_official 610:813dcc80987e 752 #define __HAL_RCC_TIM4_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 753 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 754 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM4EN); \
mbed_official 610:813dcc80987e 755 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 756 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM4EN); \
mbed_official 610:813dcc80987e 757 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 758 } while(0)
mbed_official 610:813dcc80987e 759
mbed_official 610:813dcc80987e 760 #define __HAL_RCC_TIM5_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 761 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 762 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM5EN); \
mbed_official 610:813dcc80987e 763 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 764 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM5EN); \
mbed_official 610:813dcc80987e 765 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 766 } while(0)
mbed_official 610:813dcc80987e 767
mbed_official 610:813dcc80987e 768 #define __HAL_RCC_TIM6_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 769 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 770 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM6EN); \
mbed_official 610:813dcc80987e 771 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 772 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM6EN); \
mbed_official 610:813dcc80987e 773 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 774 } while(0)
mbed_official 610:813dcc80987e 775
mbed_official 610:813dcc80987e 776 #define __HAL_RCC_TIM7_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 777 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 778 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM7EN); \
mbed_official 610:813dcc80987e 779 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 780 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM7EN); \
mbed_official 610:813dcc80987e 781 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 782 } while(0)
mbed_official 610:813dcc80987e 783
mbed_official 610:813dcc80987e 784 #define __HAL_RCC_WWDG_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 785 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 786 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_WWDGEN); \
mbed_official 610:813dcc80987e 787 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 788 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_WWDGEN); \
mbed_official 610:813dcc80987e 789 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 790 } while(0)
mbed_official 610:813dcc80987e 791
mbed_official 610:813dcc80987e 792 #define __HAL_RCC_SPI2_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 793 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 794 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI2EN); \
mbed_official 610:813dcc80987e 795 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 796 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI2EN); \
mbed_official 610:813dcc80987e 797 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 798 } while(0)
mbed_official 610:813dcc80987e 799
mbed_official 610:813dcc80987e 800 #define __HAL_RCC_SPI3_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 801 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 802 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI3EN); \
mbed_official 610:813dcc80987e 803 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 804 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI3EN); \
mbed_official 610:813dcc80987e 805 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 806 } while(0)
mbed_official 610:813dcc80987e 807
mbed_official 610:813dcc80987e 808 #define __HAL_RCC_USART2_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 809 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 810 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART2EN); \
mbed_official 610:813dcc80987e 811 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 812 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART2EN); \
mbed_official 610:813dcc80987e 813 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 814 } while(0)
mbed_official 610:813dcc80987e 815
mbed_official 610:813dcc80987e 816 #define __HAL_RCC_USART3_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 817 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 818 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART3EN); \
mbed_official 610:813dcc80987e 819 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 820 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART3EN); \
mbed_official 610:813dcc80987e 821 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 822 } while(0)
mbed_official 610:813dcc80987e 823
mbed_official 610:813dcc80987e 824 #define __HAL_RCC_UART4_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 825 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 826 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART4EN); \
mbed_official 610:813dcc80987e 827 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 828 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART4EN); \
mbed_official 610:813dcc80987e 829 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 830 } while(0)
mbed_official 610:813dcc80987e 831
mbed_official 610:813dcc80987e 832 #define __HAL_RCC_UART5_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 833 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 834 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART5EN); \
mbed_official 610:813dcc80987e 835 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 836 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART5EN); \
mbed_official 610:813dcc80987e 837 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 838 } while(0)
mbed_official 610:813dcc80987e 839
mbed_official 610:813dcc80987e 840 #define __HAL_RCC_I2C1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 841 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 842 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C1EN); \
mbed_official 610:813dcc80987e 843 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 844 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C1EN); \
mbed_official 610:813dcc80987e 845 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 846 } while(0)
mbed_official 610:813dcc80987e 847
mbed_official 610:813dcc80987e 848 #define __HAL_RCC_I2C2_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 849 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 850 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C2EN); \
mbed_official 610:813dcc80987e 851 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 852 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C2EN); \
mbed_official 610:813dcc80987e 853 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 854 } while(0)
mbed_official 610:813dcc80987e 855
mbed_official 610:813dcc80987e 856 #define __HAL_RCC_I2C3_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 857 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 858 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C3EN); \
mbed_official 610:813dcc80987e 859 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 860 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C3EN); \
mbed_official 610:813dcc80987e 861 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 862 } while(0)
mbed_official 610:813dcc80987e 863
mbed_official 610:813dcc80987e 864 #define __HAL_RCC_CAN1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 865 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 866 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_CAN1EN); \
mbed_official 610:813dcc80987e 867 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 868 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_CAN1EN); \
mbed_official 610:813dcc80987e 869 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 870 } while(0)
mbed_official 610:813dcc80987e 871
mbed_official 610:813dcc80987e 872 #define __HAL_RCC_PWR_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 873 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 874 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_PWREN); \
mbed_official 610:813dcc80987e 875 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 876 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_PWREN); \
mbed_official 610:813dcc80987e 877 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 878 } while(0)
mbed_official 610:813dcc80987e 879
mbed_official 610:813dcc80987e 880 #define __HAL_RCC_DAC1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 881 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 882 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_DAC1EN); \
mbed_official 610:813dcc80987e 883 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 884 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_DAC1EN); \
mbed_official 610:813dcc80987e 885 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 886 } while(0)
mbed_official 610:813dcc80987e 887
mbed_official 610:813dcc80987e 888 #define __HAL_RCC_OPAMP_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 889 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 890 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_OPAMPEN); \
mbed_official 610:813dcc80987e 891 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 892 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_OPAMPEN); \
mbed_official 610:813dcc80987e 893 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 894 } while(0)
mbed_official 610:813dcc80987e 895
mbed_official 610:813dcc80987e 896 #define __HAL_RCC_LPTIM1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 897 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 898 SET_BIT(RCC->APB1ENR1, RCC_APB1ENR1_LPTIM1EN); \
mbed_official 610:813dcc80987e 899 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 900 tmpreg = READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_LPTIM1EN); \
mbed_official 610:813dcc80987e 901 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 902 } while(0)
mbed_official 610:813dcc80987e 903
mbed_official 610:813dcc80987e 904 #define __HAL_RCC_LPUART1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 905 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 906 SET_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPUART1EN); \
mbed_official 610:813dcc80987e 907 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 908 tmpreg = READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPUART1EN); \
mbed_official 610:813dcc80987e 909 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 910 } while(0)
mbed_official 610:813dcc80987e 911
mbed_official 610:813dcc80987e 912 #define __HAL_RCC_SWPMI1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 913 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 914 SET_BIT(RCC->APB1ENR2, RCC_APB1ENR2_SWPMI1EN); \
mbed_official 610:813dcc80987e 915 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 916 tmpreg = READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_SWPMI1EN); \
mbed_official 610:813dcc80987e 917 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 918 } while(0)
mbed_official 610:813dcc80987e 919
mbed_official 610:813dcc80987e 920 #define __HAL_RCC_LPTIM2_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 921 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 922 SET_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPTIM2EN); \
mbed_official 610:813dcc80987e 923 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 924 tmpreg = READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPTIM2EN); \
mbed_official 610:813dcc80987e 925 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 926 } while(0)
mbed_official 610:813dcc80987e 927
mbed_official 610:813dcc80987e 928 #define __HAL_RCC_TIM2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM2EN)
mbed_official 610:813dcc80987e 929
mbed_official 610:813dcc80987e 930 #define __HAL_RCC_TIM3_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM3EN)
mbed_official 610:813dcc80987e 931
mbed_official 610:813dcc80987e 932 #define __HAL_RCC_TIM4_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM4EN)
mbed_official 610:813dcc80987e 933
mbed_official 610:813dcc80987e 934 #define __HAL_RCC_TIM5_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM5EN)
mbed_official 610:813dcc80987e 935
mbed_official 610:813dcc80987e 936 #define __HAL_RCC_TIM6_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM6EN)
mbed_official 610:813dcc80987e 937
mbed_official 610:813dcc80987e 938 #define __HAL_RCC_TIM7_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM7EN)
mbed_official 610:813dcc80987e 939
mbed_official 610:813dcc80987e 940 #define __HAL_RCC_WWDG_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_WWDGEN)
mbed_official 610:813dcc80987e 941
mbed_official 610:813dcc80987e 942 #define __HAL_RCC_SPI2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI2EN)
mbed_official 610:813dcc80987e 943
mbed_official 610:813dcc80987e 944 #define __HAL_RCC_SPI3_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI3EN)
mbed_official 610:813dcc80987e 945
mbed_official 610:813dcc80987e 946 #define __HAL_RCC_USART2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART2EN)
mbed_official 610:813dcc80987e 947
mbed_official 610:813dcc80987e 948 #define __HAL_RCC_USART3_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART3EN)
mbed_official 610:813dcc80987e 949
mbed_official 610:813dcc80987e 950 #define __HAL_RCC_UART4_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART4EN)
mbed_official 610:813dcc80987e 951
mbed_official 610:813dcc80987e 952 #define __HAL_RCC_UART5_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART5EN)
mbed_official 610:813dcc80987e 953
mbed_official 610:813dcc80987e 954 #define __HAL_RCC_I2C1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C1EN)
mbed_official 610:813dcc80987e 955
mbed_official 610:813dcc80987e 956 #define __HAL_RCC_I2C2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C2EN)
mbed_official 610:813dcc80987e 957
mbed_official 610:813dcc80987e 958 #define __HAL_RCC_I2C3_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C3EN)
mbed_official 610:813dcc80987e 959
mbed_official 610:813dcc80987e 960 #define __HAL_RCC_CAN1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_CAN1EN)
mbed_official 610:813dcc80987e 961
mbed_official 610:813dcc80987e 962 #define __HAL_RCC_PWR_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_PWREN)
mbed_official 610:813dcc80987e 963
mbed_official 610:813dcc80987e 964 #define __HAL_RCC_DAC1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_DAC1EN)
mbed_official 610:813dcc80987e 965
mbed_official 610:813dcc80987e 966 #define __HAL_RCC_OPAMP_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_OPAMPEN)
mbed_official 610:813dcc80987e 967
mbed_official 610:813dcc80987e 968 #define __HAL_RCC_LPTIM1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_LPTIM1EN)
mbed_official 610:813dcc80987e 969
mbed_official 610:813dcc80987e 970 #define __HAL_RCC_LPUART1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPUART1EN)
mbed_official 610:813dcc80987e 971
mbed_official 610:813dcc80987e 972 #define __HAL_RCC_SWPMI1_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR2, RCC_APB1ENR2_SWPMI1EN)
mbed_official 610:813dcc80987e 973
mbed_official 610:813dcc80987e 974 #define __HAL_RCC_LPTIM2_CLK_DISABLE() CLEAR_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPTIM2EN)
mbed_official 610:813dcc80987e 975
mbed_official 610:813dcc80987e 976 /**
mbed_official 610:813dcc80987e 977 * @}
mbed_official 610:813dcc80987e 978 */
mbed_official 610:813dcc80987e 979
mbed_official 610:813dcc80987e 980 /** @defgroup RCC_APB2_Clock_Enable_Disable APB2 Peripheral Clock Enable Disable
mbed_official 610:813dcc80987e 981 * @brief Enable or disable the APB2 peripheral clock.
mbed_official 610:813dcc80987e 982 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 983 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 984 * using it.
mbed_official 610:813dcc80987e 985 * @{
mbed_official 610:813dcc80987e 986 */
mbed_official 610:813dcc80987e 987
mbed_official 610:813dcc80987e 988 #define __HAL_RCC_SYSCFG_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 989 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 990 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SYSCFGEN); \
mbed_official 610:813dcc80987e 991 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 992 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SYSCFGEN); \
mbed_official 610:813dcc80987e 993 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 994 } while(0)
mbed_official 610:813dcc80987e 995
mbed_official 610:813dcc80987e 996 #define __HAL_RCC_FIREWALL_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 997 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 998 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_FWEN); \
mbed_official 610:813dcc80987e 999 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1000 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_FWEN); \
mbed_official 610:813dcc80987e 1001 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1002 } while(0)
mbed_official 610:813dcc80987e 1003
mbed_official 610:813dcc80987e 1004 #define __HAL_RCC_SDMMC1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1005 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1006 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SDMMC1EN); \
mbed_official 610:813dcc80987e 1007 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1008 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SDMMC1EN); \
mbed_official 610:813dcc80987e 1009 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1010 } while(0)
mbed_official 610:813dcc80987e 1011
mbed_official 610:813dcc80987e 1012 #define __HAL_RCC_TIM1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1013 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1014 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM1EN); \
mbed_official 610:813dcc80987e 1015 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1016 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM1EN); \
mbed_official 610:813dcc80987e 1017 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1018 } while(0)
mbed_official 610:813dcc80987e 1019
mbed_official 610:813dcc80987e 1020 #define __HAL_RCC_SPI1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1021 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1022 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI1EN); \
mbed_official 610:813dcc80987e 1023 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1024 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI1EN); \
mbed_official 610:813dcc80987e 1025 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1026 } while(0)
mbed_official 610:813dcc80987e 1027
mbed_official 610:813dcc80987e 1028 #define __HAL_RCC_TIM8_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1029 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1030 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN); \
mbed_official 610:813dcc80987e 1031 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1032 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN); \
mbed_official 610:813dcc80987e 1033 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1034 } while(0)
mbed_official 610:813dcc80987e 1035
mbed_official 610:813dcc80987e 1036 #define __HAL_RCC_USART1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1037 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1038 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_USART1EN); \
mbed_official 610:813dcc80987e 1039 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1040 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART1EN); \
mbed_official 610:813dcc80987e 1041 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1042 } while(0)
mbed_official 610:813dcc80987e 1043
mbed_official 610:813dcc80987e 1044
mbed_official 610:813dcc80987e 1045 #define __HAL_RCC_TIM15_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1046 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1047 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN); \
mbed_official 610:813dcc80987e 1048 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1049 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN); \
mbed_official 610:813dcc80987e 1050 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1051 } while(0)
mbed_official 610:813dcc80987e 1052
mbed_official 610:813dcc80987e 1053 #define __HAL_RCC_TIM16_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1054 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1055 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN); \
mbed_official 610:813dcc80987e 1056 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1057 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN); \
mbed_official 610:813dcc80987e 1058 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1059 } while(0)
mbed_official 610:813dcc80987e 1060
mbed_official 610:813dcc80987e 1061 #define __HAL_RCC_TIM17_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1062 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1063 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN); \
mbed_official 610:813dcc80987e 1064 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1065 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN); \
mbed_official 610:813dcc80987e 1066 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1067 } while(0)
mbed_official 610:813dcc80987e 1068
mbed_official 610:813dcc80987e 1069 #define __HAL_RCC_SAI1_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1070 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1071 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI1EN); \
mbed_official 610:813dcc80987e 1072 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1073 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI1EN); \
mbed_official 610:813dcc80987e 1074 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1075 } while(0)
mbed_official 610:813dcc80987e 1076
mbed_official 610:813dcc80987e 1077 #define __HAL_RCC_SAI2_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1078 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1079 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI2EN); \
mbed_official 610:813dcc80987e 1080 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1081 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI2EN); \
mbed_official 610:813dcc80987e 1082 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1083 } while(0)
mbed_official 610:813dcc80987e 1084
mbed_official 610:813dcc80987e 1085 #define __HAL_RCC_DFSDM_CLK_ENABLE() do { \
mbed_official 610:813dcc80987e 1086 __IO uint32_t tmpreg; \
mbed_official 610:813dcc80987e 1087 SET_BIT(RCC->APB2ENR, RCC_APB2ENR_DFSDMEN); \
mbed_official 610:813dcc80987e 1088 /* Delay after an RCC peripheral clock enabling */ \
mbed_official 610:813dcc80987e 1089 tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_DFSDMEN); \
mbed_official 610:813dcc80987e 1090 UNUSED(tmpreg); \
mbed_official 610:813dcc80987e 1091 } while(0)
mbed_official 610:813dcc80987e 1092
mbed_official 610:813dcc80987e 1093 #define __HAL_RCC_SYSCFG_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_SYSCFGEN)
mbed_official 610:813dcc80987e 1094
mbed_official 610:813dcc80987e 1095 #define __HAL_RCC_SDMMC1_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_SDMMC1EN)
mbed_official 610:813dcc80987e 1096
mbed_official 610:813dcc80987e 1097 #define __HAL_RCC_TIM1_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM1EN)
mbed_official 610:813dcc80987e 1098
mbed_official 610:813dcc80987e 1099 #define __HAL_RCC_SPI1_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI1EN)
mbed_official 610:813dcc80987e 1100
mbed_official 610:813dcc80987e 1101 #define __HAL_RCC_TIM8_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN)
mbed_official 610:813dcc80987e 1102
mbed_official 610:813dcc80987e 1103 #define __HAL_RCC_USART1_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_USART1EN)
mbed_official 610:813dcc80987e 1104
mbed_official 610:813dcc80987e 1105 #define __HAL_RCC_TIM15_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN)
mbed_official 610:813dcc80987e 1106
mbed_official 610:813dcc80987e 1107 #define __HAL_RCC_TIM16_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN)
mbed_official 610:813dcc80987e 1108
mbed_official 610:813dcc80987e 1109 #define __HAL_RCC_TIM17_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN)
mbed_official 610:813dcc80987e 1110
mbed_official 610:813dcc80987e 1111 #define __HAL_RCC_SAI1_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI1EN)
mbed_official 610:813dcc80987e 1112
mbed_official 610:813dcc80987e 1113 #define __HAL_RCC_SAI2_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI2EN)
mbed_official 610:813dcc80987e 1114
mbed_official 610:813dcc80987e 1115 #define __HAL_RCC_DFSDM_CLK_DISABLE() CLEAR_BIT(RCC->APB2ENR, RCC_APB2ENR_DFSDMEN)
mbed_official 610:813dcc80987e 1116
mbed_official 610:813dcc80987e 1117 /**
mbed_official 610:813dcc80987e 1118 * @}
mbed_official 610:813dcc80987e 1119 */
mbed_official 610:813dcc80987e 1120
mbed_official 610:813dcc80987e 1121 /** @defgroup RCC_AHB1_Peripheral_Clock_Enable_Disable_Status AHB1 Peripheral Clock Enabled or Disabled Status
mbed_official 610:813dcc80987e 1122 * @brief Check whether the AHB1 peripheral clock is enabled or not.
mbed_official 610:813dcc80987e 1123 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 1124 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 1125 * using it.
mbed_official 610:813dcc80987e 1126 * @{
mbed_official 610:813dcc80987e 1127 */
mbed_official 610:813dcc80987e 1128
mbed_official 610:813dcc80987e 1129 #define __HAL_RCC_DMA1_IS_CLK_ENABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA1EN) != RESET)
mbed_official 610:813dcc80987e 1130
mbed_official 610:813dcc80987e 1131 #define __HAL_RCC_DMA2_IS_CLK_ENABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA2EN) != RESET)
mbed_official 610:813dcc80987e 1132
mbed_official 610:813dcc80987e 1133 #define __HAL_RCC_FLASH_IS_CLK_ENABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_FLASHEN) != RESET)
mbed_official 610:813dcc80987e 1134
mbed_official 610:813dcc80987e 1135 #define __HAL_RCC_CRC_IS_CLK_ENABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_CRCEN) != RESET)
mbed_official 610:813dcc80987e 1136
mbed_official 610:813dcc80987e 1137 #define __HAL_RCC_TSC_IS_CLK_ENABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_TSCEN) != RESET)
mbed_official 610:813dcc80987e 1138
mbed_official 610:813dcc80987e 1139 #define __HAL_RCC_DMA1_IS_CLK_DISABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA1EN) == RESET)
mbed_official 610:813dcc80987e 1140
mbed_official 610:813dcc80987e 1141 #define __HAL_RCC_DMA2_IS_CLK_DISABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA2EN) == RESET)
mbed_official 610:813dcc80987e 1142
mbed_official 610:813dcc80987e 1143 #define __HAL_RCC_FLASH_IS_CLK_DISABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_FLASHEN) == RESET)
mbed_official 610:813dcc80987e 1144
mbed_official 610:813dcc80987e 1145 #define __HAL_RCC_CRC_IS_CLK_DISABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_CRCEN) == RESET)
mbed_official 610:813dcc80987e 1146
mbed_official 610:813dcc80987e 1147 #define __HAL_RCC_TSC_IS_CLK_DISABLED() (READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_TSCEN) == RESET)
mbed_official 610:813dcc80987e 1148
mbed_official 610:813dcc80987e 1149 /**
mbed_official 610:813dcc80987e 1150 * @}
mbed_official 610:813dcc80987e 1151 */
mbed_official 610:813dcc80987e 1152
mbed_official 610:813dcc80987e 1153 /** @defgroup RCC_AHB2_Clock_Enable_Disable_Status AHB2 Peripheral Clock Enabled or Disabled Status
mbed_official 610:813dcc80987e 1154 * @brief Check whether the AHB2 peripheral clock is enabled or not.
mbed_official 610:813dcc80987e 1155 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 1156 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 1157 * using it.
mbed_official 610:813dcc80987e 1158 * @{
mbed_official 610:813dcc80987e 1159 */
mbed_official 610:813dcc80987e 1160
mbed_official 610:813dcc80987e 1161 #define __HAL_RCC_GPIOA_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOAEN) != RESET)
mbed_official 610:813dcc80987e 1162
mbed_official 610:813dcc80987e 1163 #define __HAL_RCC_GPIOB_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOCEN) != RESET)
mbed_official 610:813dcc80987e 1164
mbed_official 610:813dcc80987e 1165 #define __HAL_RCC_GPIOC_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOCEN) != RESET)
mbed_official 610:813dcc80987e 1166
mbed_official 610:813dcc80987e 1167 #define __HAL_RCC_GPIOD_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIODEN) != RESET)
mbed_official 610:813dcc80987e 1168
mbed_official 610:813dcc80987e 1169 #define __HAL_RCC_GPIOE_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOEEN) != RESET)
mbed_official 610:813dcc80987e 1170
mbed_official 610:813dcc80987e 1171 #define __HAL_RCC_GPIOF_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOFEN) != RESET)
mbed_official 610:813dcc80987e 1172
mbed_official 610:813dcc80987e 1173 #define __HAL_RCC_GPIOG_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOGEN) != RESET)
mbed_official 610:813dcc80987e 1174
mbed_official 610:813dcc80987e 1175 #define __HAL_RCC_GPIOH_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOHEN) != RESET)
mbed_official 610:813dcc80987e 1176
mbed_official 610:813dcc80987e 1177 #define __HAL_RCC_ADC_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_ADCEN) != RESET)
mbed_official 610:813dcc80987e 1178
mbed_official 610:813dcc80987e 1179 #define __HAL_RCC_RNG_IS_CLK_ENABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_RNGEN) != RESET)
mbed_official 610:813dcc80987e 1180
mbed_official 610:813dcc80987e 1181 #define __HAL_RCC_GPIOA_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOAEN) == RESET)
mbed_official 610:813dcc80987e 1182
mbed_official 610:813dcc80987e 1183 #define __HAL_RCC_GPIOB_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOBEN) == RESET)
mbed_official 610:813dcc80987e 1184
mbed_official 610:813dcc80987e 1185 #define __HAL_RCC_GPIOC_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOCEN) == RESET)
mbed_official 610:813dcc80987e 1186
mbed_official 610:813dcc80987e 1187 #define __HAL_RCC_GPIOD_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIODEN) == RESET)
mbed_official 610:813dcc80987e 1188
mbed_official 610:813dcc80987e 1189 #define __HAL_RCC_GPIOE_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOEEN) == RESET)
mbed_official 610:813dcc80987e 1190
mbed_official 610:813dcc80987e 1191 #define __HAL_RCC_GPIOF_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOFEN) == RESET)
mbed_official 610:813dcc80987e 1192
mbed_official 610:813dcc80987e 1193 #define __HAL_RCC_GPIOG_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOGEN) == RESET)
mbed_official 610:813dcc80987e 1194
mbed_official 610:813dcc80987e 1195 #define __HAL_RCC_GPIOH_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_GPIOHEN) == RESET)
mbed_official 610:813dcc80987e 1196
mbed_official 610:813dcc80987e 1197 #define __HAL_RCC_ADC_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_ADCEN) == RESET)
mbed_official 610:813dcc80987e 1198
mbed_official 610:813dcc80987e 1199 #define __HAL_RCC_RNG_IS_CLK_DISABLED() (READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_RNGEN) == RESET)
mbed_official 610:813dcc80987e 1200
mbed_official 610:813dcc80987e 1201 /**
mbed_official 610:813dcc80987e 1202 * @}
mbed_official 610:813dcc80987e 1203 */
mbed_official 610:813dcc80987e 1204
mbed_official 610:813dcc80987e 1205 /** @defgroup RCC_AHB3_Clock_Enable_Disable_Status AHB3 Peripheral Clock Enabled or Disabled Status
mbed_official 610:813dcc80987e 1206 * @brief Check whether the AHB3 peripheral clock is enabled or not.
mbed_official 610:813dcc80987e 1207 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 1208 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 1209 * using it.
mbed_official 610:813dcc80987e 1210 * @{
mbed_official 610:813dcc80987e 1211 */
mbed_official 610:813dcc80987e 1212
mbed_official 610:813dcc80987e 1213 #define __HAL_RCC_FMC_IS_CLK_ENABLED() (READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN) != RESET)
mbed_official 610:813dcc80987e 1214
mbed_official 610:813dcc80987e 1215 #define __HAL_RCC_QSPI_IS_CLK_ENABLED() (READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_QSPIEN) != RESET)
mbed_official 610:813dcc80987e 1216
mbed_official 610:813dcc80987e 1217 #define __HAL_RCC_FMC_IS_CLK_DISABLED() (READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN) == RESET)
mbed_official 610:813dcc80987e 1218
mbed_official 610:813dcc80987e 1219 #define __HAL_RCC_QSPI_IS_CLK_DISABLED() (READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_QSPIEN) == RESET)
mbed_official 610:813dcc80987e 1220
mbed_official 610:813dcc80987e 1221 /**
mbed_official 610:813dcc80987e 1222 * @}
mbed_official 610:813dcc80987e 1223 */
mbed_official 610:813dcc80987e 1224
mbed_official 610:813dcc80987e 1225 /** @defgroup RCC_APB1_Clock_Enable_Disable_Status APB1 Peripheral Clock Enabled or Disabled Status
mbed_official 610:813dcc80987e 1226 * @brief Check whether the APB1 peripheral clock is enabled or not.
mbed_official 610:813dcc80987e 1227 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 1228 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 1229 * using it.
mbed_official 610:813dcc80987e 1230 * @{
mbed_official 610:813dcc80987e 1231 */
mbed_official 610:813dcc80987e 1232
mbed_official 610:813dcc80987e 1233 #define __HAL_RCC_TIM2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM2EN) != RESET)
mbed_official 610:813dcc80987e 1234
mbed_official 610:813dcc80987e 1235 #define __HAL_RCC_TIM3_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM3EN) != RESET)
mbed_official 610:813dcc80987e 1236
mbed_official 610:813dcc80987e 1237 #define __HAL_RCC_TIM4_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM4EN) != RESET)
mbed_official 610:813dcc80987e 1238
mbed_official 610:813dcc80987e 1239 #define __HAL_RCC_TIM5_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM5EN) != RESET)
mbed_official 610:813dcc80987e 1240
mbed_official 610:813dcc80987e 1241 #define __HAL_RCC_TIM6_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM6EN) != RESET)
mbed_official 610:813dcc80987e 1242
mbed_official 610:813dcc80987e 1243 #define __HAL_RCC_TIM7_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM7EN) != RESET)
mbed_official 610:813dcc80987e 1244
mbed_official 610:813dcc80987e 1245 #define __HAL_RCC_WWDG_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_WWDGEN) != RESET)
mbed_official 610:813dcc80987e 1246
mbed_official 610:813dcc80987e 1247 #define __HAL_RCC_SPI2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI2EN) != RESET)
mbed_official 610:813dcc80987e 1248
mbed_official 610:813dcc80987e 1249 #define __HAL_RCC_SPI3_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI3EN) != RESET)
mbed_official 610:813dcc80987e 1250
mbed_official 610:813dcc80987e 1251 #define __HAL_RCC_USART2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART2EN) != RESET)
mbed_official 610:813dcc80987e 1252
mbed_official 610:813dcc80987e 1253 #define __HAL_RCC_USART3_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART3EN) != RESET)
mbed_official 610:813dcc80987e 1254
mbed_official 610:813dcc80987e 1255 #define __HAL_RCC_UART4_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART4EN) != RESET)
mbed_official 610:813dcc80987e 1256
mbed_official 610:813dcc80987e 1257 #define __HAL_RCC_UART5_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART5EN) != RESET)
mbed_official 610:813dcc80987e 1258
mbed_official 610:813dcc80987e 1259 #define __HAL_RCC_I2C1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C1EN) != RESET)
mbed_official 610:813dcc80987e 1260
mbed_official 610:813dcc80987e 1261 #define __HAL_RCC_I2C2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C2EN) != RESET)
mbed_official 610:813dcc80987e 1262
mbed_official 610:813dcc80987e 1263 #define __HAL_RCC_I2C3_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C3EN) != RESET)
mbed_official 610:813dcc80987e 1264
mbed_official 610:813dcc80987e 1265 #define __HAL_RCC_CAN1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_CAN1EN) != RESET)
mbed_official 610:813dcc80987e 1266
mbed_official 610:813dcc80987e 1267 #define __HAL_RCC_PWR_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_PWREN) != RESET)
mbed_official 610:813dcc80987e 1268
mbed_official 610:813dcc80987e 1269 #define __HAL_RCC_DAC1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_DAC1EN) != RESET)
mbed_official 610:813dcc80987e 1270
mbed_official 610:813dcc80987e 1271 #define __HAL_RCC_OPAMP_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_OPAMPEN) != RESET)
mbed_official 610:813dcc80987e 1272
mbed_official 610:813dcc80987e 1273 #define __HAL_RCC_LPTIM1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_LPTIM1EN) != RESET)
mbed_official 610:813dcc80987e 1274
mbed_official 610:813dcc80987e 1275 #define __HAL_RCC_LPUART1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPUART1EN) != RESET)
mbed_official 610:813dcc80987e 1276
mbed_official 610:813dcc80987e 1277 #define __HAL_RCC_SWPMI1_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_SWPMI1EN) != RESET)
mbed_official 610:813dcc80987e 1278
mbed_official 610:813dcc80987e 1279 #define __HAL_RCC_LPTIM2_IS_CLK_ENABLED() (READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPTIM2EN) != RESET)
mbed_official 610:813dcc80987e 1280
mbed_official 610:813dcc80987e 1281 #define __HAL_RCC_TIM2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM2EN) == RESET)
mbed_official 610:813dcc80987e 1282
mbed_official 610:813dcc80987e 1283 #define __HAL_RCC_TIM3_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM3EN) == RESET)
mbed_official 610:813dcc80987e 1284
mbed_official 610:813dcc80987e 1285 #define __HAL_RCC_TIM4_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM4EN) == RESET)
mbed_official 610:813dcc80987e 1286
mbed_official 610:813dcc80987e 1287 #define __HAL_RCC_TIM5_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM5EN) == RESET)
mbed_official 610:813dcc80987e 1288
mbed_official 610:813dcc80987e 1289 #define __HAL_RCC_TIM6_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM6EN) == RESET)
mbed_official 610:813dcc80987e 1290
mbed_official 610:813dcc80987e 1291 #define __HAL_RCC_TIM7_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_TIM7EN) == RESET)
mbed_official 610:813dcc80987e 1292
mbed_official 610:813dcc80987e 1293 #define __HAL_RCC_WWDG_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_WWDGEN) == RESET)
mbed_official 610:813dcc80987e 1294
mbed_official 610:813dcc80987e 1295 #define __HAL_RCC_SPI2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI2EN) == RESET)
mbed_official 610:813dcc80987e 1296
mbed_official 610:813dcc80987e 1297 #define __HAL_RCC_SPI3_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_SPI3EN) == RESET)
mbed_official 610:813dcc80987e 1298
mbed_official 610:813dcc80987e 1299 #define __HAL_RCC_USART2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART2EN) == RESET)
mbed_official 610:813dcc80987e 1300
mbed_official 610:813dcc80987e 1301 #define __HAL_RCC_USART3_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_USART3EN) == RESET)
mbed_official 610:813dcc80987e 1302
mbed_official 610:813dcc80987e 1303 #define __HAL_RCC_UART4_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART4EN) == RESET)
mbed_official 610:813dcc80987e 1304
mbed_official 610:813dcc80987e 1305 #define __HAL_RCC_UART5_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_UART5EN) == RESET)
mbed_official 610:813dcc80987e 1306
mbed_official 610:813dcc80987e 1307 #define __HAL_RCC_I2C1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C1EN) == RESET)
mbed_official 610:813dcc80987e 1308
mbed_official 610:813dcc80987e 1309 #define __HAL_RCC_I2C2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C2EN) == RESET)
mbed_official 610:813dcc80987e 1310
mbed_official 610:813dcc80987e 1311 #define __HAL_RCC_I2C3_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_I2C3EN) == RESET)
mbed_official 610:813dcc80987e 1312
mbed_official 610:813dcc80987e 1313 #define __HAL_RCC_CAN1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_CAN1EN) == RESET)
mbed_official 610:813dcc80987e 1314
mbed_official 610:813dcc80987e 1315 #define __HAL_RCC_PWR_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_PWREN) == RESET)
mbed_official 610:813dcc80987e 1316
mbed_official 610:813dcc80987e 1317 #define __HAL_RCC_DAC1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_DAC1EN) == RESET)
mbed_official 610:813dcc80987e 1318
mbed_official 610:813dcc80987e 1319 #define __HAL_RCC_OPAMP_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_OPAMPEN) == RESET)
mbed_official 610:813dcc80987e 1320
mbed_official 610:813dcc80987e 1321 #define __HAL_RCC_LPTIM1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR1, RCC_APB1ENR1_LPTIM1EN) == RESET)
mbed_official 610:813dcc80987e 1322
mbed_official 610:813dcc80987e 1323 #define __HAL_RCC_LPUART1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPUART1EN) == RESET)
mbed_official 610:813dcc80987e 1324
mbed_official 610:813dcc80987e 1325 #define __HAL_RCC_SWPMI1_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_SWPMI1EN) == RESET)
mbed_official 610:813dcc80987e 1326
mbed_official 610:813dcc80987e 1327 #define __HAL_RCC_LPTIM2_IS_CLK_DISABLED() (READ_BIT(RCC->APB1ENR2, RCC_APB1ENR2_LPTIM2EN) == RESET)
mbed_official 610:813dcc80987e 1328
mbed_official 610:813dcc80987e 1329 /**
mbed_official 610:813dcc80987e 1330 * @}
mbed_official 610:813dcc80987e 1331 */
mbed_official 610:813dcc80987e 1332
mbed_official 610:813dcc80987e 1333 /** @defgroup RCC_APB2_Clock_Enable_Disable_Status APB2 Peripheral Clock Enabled or Disabled Status
mbed_official 610:813dcc80987e 1334 * @brief Check whether the APB2 peripheral clock is enabled or not.
mbed_official 610:813dcc80987e 1335 * @note After reset, the peripheral clock (used for registers read/write access)
mbed_official 610:813dcc80987e 1336 * is disabled and the application software has to enable this clock before
mbed_official 610:813dcc80987e 1337 * using it.
mbed_official 610:813dcc80987e 1338 * @{
mbed_official 610:813dcc80987e 1339 */
mbed_official 610:813dcc80987e 1340
mbed_official 610:813dcc80987e 1341 #define __HAL_RCC_SYSCFG_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SYSCFGEN) != RESET)
mbed_official 610:813dcc80987e 1342
mbed_official 610:813dcc80987e 1343 #define __HAL_RCC_FIREWALL_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_FWEN) != RESET)
mbed_official 610:813dcc80987e 1344
mbed_official 610:813dcc80987e 1345 #define __HAL_RCC_SDMMC1_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SDMMC1EN) != RESET)
mbed_official 610:813dcc80987e 1346
mbed_official 610:813dcc80987e 1347 #define __HAL_RCC_TIM1_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM1EN) != RESET)
mbed_official 610:813dcc80987e 1348
mbed_official 610:813dcc80987e 1349 #define __HAL_RCC_SPI1_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI1EN) != RESET)
mbed_official 610:813dcc80987e 1350
mbed_official 610:813dcc80987e 1351 #define __HAL_RCC_TIM8_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN) != RESET)
mbed_official 610:813dcc80987e 1352
mbed_official 610:813dcc80987e 1353 #define __HAL_RCC_USART1_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART1EN) != RESET)
mbed_official 610:813dcc80987e 1354
mbed_official 610:813dcc80987e 1355 #define __HAL_RCC_TIM15_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN) != RESET)
mbed_official 610:813dcc80987e 1356
mbed_official 610:813dcc80987e 1357 #define __HAL_RCC_TIM16_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN) != RESET)
mbed_official 610:813dcc80987e 1358
mbed_official 610:813dcc80987e 1359 #define __HAL_RCC_TIM17_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN) != RESET)
mbed_official 610:813dcc80987e 1360
mbed_official 610:813dcc80987e 1361 #define __HAL_RCC_SAI1_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI1EN) != RESET)
mbed_official 610:813dcc80987e 1362
mbed_official 610:813dcc80987e 1363 #define __HAL_RCC_SAI2_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI2EN) != RESET)
mbed_official 610:813dcc80987e 1364
mbed_official 610:813dcc80987e 1365 #define __HAL_RCC_DFSDM_IS_CLK_ENABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_DFSDMEN) != RESET)
mbed_official 610:813dcc80987e 1366
mbed_official 610:813dcc80987e 1367 #define __HAL_RCC_SYSCFG_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SYSCFGEN) == RESET)
mbed_official 610:813dcc80987e 1368
mbed_official 610:813dcc80987e 1369 #define __HAL_RCC_SDMMC1_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SDMMC1EN) == RESET)
mbed_official 610:813dcc80987e 1370
mbed_official 610:813dcc80987e 1371 #define __HAL_RCC_TIM1_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM1EN) == RESET)
mbed_official 610:813dcc80987e 1372
mbed_official 610:813dcc80987e 1373 #define __HAL_RCC_SPI1_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI1EN) == RESET)
mbed_official 610:813dcc80987e 1374
mbed_official 610:813dcc80987e 1375 #define __HAL_RCC_TIM8_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN) == RESET)
mbed_official 610:813dcc80987e 1376
mbed_official 610:813dcc80987e 1377 #define __HAL_RCC_USART1_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART1EN) == RESET)
mbed_official 610:813dcc80987e 1378
mbed_official 610:813dcc80987e 1379 #define __HAL_RCC_TIM15_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN) == RESET)
mbed_official 610:813dcc80987e 1380
mbed_official 610:813dcc80987e 1381 #define __HAL_RCC_TIM16_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN) == RESET)
mbed_official 610:813dcc80987e 1382
mbed_official 610:813dcc80987e 1383 #define __HAL_RCC_TIM17_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN) == RESET)
mbed_official 610:813dcc80987e 1384
mbed_official 610:813dcc80987e 1385 #define __HAL_RCC_SAI1_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI1EN) == RESET)
mbed_official 610:813dcc80987e 1386
mbed_official 610:813dcc80987e 1387 #define __HAL_RCC_SAI2_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI2EN) == RESET)
mbed_official 610:813dcc80987e 1388
mbed_official 610:813dcc80987e 1389 #define __HAL_RCC_DFSDM_IS_CLK_DISABLED() (READ_BIT(RCC->APB2ENR, RCC_APB2ENR_DFSDMEN) == RESET)
mbed_official 610:813dcc80987e 1390
mbed_official 610:813dcc80987e 1391 /**
mbed_official 610:813dcc80987e 1392 * @}
mbed_official 610:813dcc80987e 1393 */
mbed_official 610:813dcc80987e 1394
mbed_official 610:813dcc80987e 1395 /** @defgroup RCC_AHB1_Force_Release_Reset AHB1 Peripheral Force Release Reset
mbed_official 610:813dcc80987e 1396 * @brief Force or release AHB1 peripheral reset.
mbed_official 610:813dcc80987e 1397 * @{
mbed_official 610:813dcc80987e 1398 */
mbed_official 610:813dcc80987e 1399 #define __HAL_RCC_AHB1_FORCE_RESET() WRITE_REG(RCC->AHB1RSTR, 0xFFFFFFFF)
mbed_official 610:813dcc80987e 1400
mbed_official 610:813dcc80987e 1401 #define __HAL_RCC_DMA1_FORCE_RESET() SET_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_DMA1RST)
mbed_official 610:813dcc80987e 1402
mbed_official 610:813dcc80987e 1403 #define __HAL_RCC_DMA2_FORCE_RESET() SET_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_DMA2RST)
mbed_official 610:813dcc80987e 1404
mbed_official 610:813dcc80987e 1405 #define __HAL_RCC_FLASH_FORCE_RESET() SET_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_FLASHRST)
mbed_official 610:813dcc80987e 1406
mbed_official 610:813dcc80987e 1407 #define __HAL_RCC_CRC_FORCE_RESET() SET_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_CRCRST)
mbed_official 610:813dcc80987e 1408
mbed_official 610:813dcc80987e 1409 #define __HAL_RCC_TSC_FORCE_RESET() SET_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_TSCRST)
mbed_official 610:813dcc80987e 1410
mbed_official 610:813dcc80987e 1411 #define __HAL_RCC_AHB1_RELEASE_RESET() WRITE_REG(RCC->AHB1RSTR, 0x00000000)
mbed_official 610:813dcc80987e 1412
mbed_official 610:813dcc80987e 1413 #define __HAL_RCC_DMA1_RELEASE_RESET() CLEAR_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_DMA1RST)
mbed_official 610:813dcc80987e 1414
mbed_official 610:813dcc80987e 1415 #define __HAL_RCC_DMA2_RELEASE_RESET() CLEAR_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_DMA2RST)
mbed_official 610:813dcc80987e 1416
mbed_official 610:813dcc80987e 1417 #define __HAL_RCC_FLASH_RELEASE_RESET() CLEAR_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_FLASHRST)
mbed_official 610:813dcc80987e 1418
mbed_official 610:813dcc80987e 1419 #define __HAL_RCC_CRC_RELEASE_RESET() CLEAR_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_CRCRST)
mbed_official 610:813dcc80987e 1420
mbed_official 610:813dcc80987e 1421 #define __HAL_RCC_TSC_RELEASE_RESET() CLEAR_BIT(RCC->AHB1RSTR, RCC_AHB1RSTR_TSCRST)
mbed_official 610:813dcc80987e 1422
mbed_official 610:813dcc80987e 1423 /**
mbed_official 610:813dcc80987e 1424 * @}
mbed_official 610:813dcc80987e 1425 */
mbed_official 610:813dcc80987e 1426
mbed_official 610:813dcc80987e 1427 /** @defgroup RCC_AHB2_Force_Release_Reset AHB2 Peripheral Force Release Reset
mbed_official 610:813dcc80987e 1428 * @brief Force or release AHB2 peripheral reset.
mbed_official 610:813dcc80987e 1429 * @{
mbed_official 610:813dcc80987e 1430 */
mbed_official 610:813dcc80987e 1431 #define __HAL_RCC_AHB2_FORCE_RESET() WRITE_REG(RCC->AHB2RSTR, 0xFFFFFFFF)
mbed_official 610:813dcc80987e 1432
mbed_official 610:813dcc80987e 1433 #define __HAL_RCC_GPIOA_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOARST)
mbed_official 610:813dcc80987e 1434
mbed_official 610:813dcc80987e 1435 #define __HAL_RCC_GPIOB_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOBRST)
mbed_official 610:813dcc80987e 1436
mbed_official 610:813dcc80987e 1437 #define __HAL_RCC_GPIOC_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOCRST)
mbed_official 610:813dcc80987e 1438
mbed_official 610:813dcc80987e 1439 #define __HAL_RCC_GPIOD_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIODRST)
mbed_official 610:813dcc80987e 1440
mbed_official 610:813dcc80987e 1441 #define __HAL_RCC_GPIOE_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOERST)
mbed_official 610:813dcc80987e 1442
mbed_official 610:813dcc80987e 1443 #define __HAL_RCC_GPIOF_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOFRST)
mbed_official 610:813dcc80987e 1444
mbed_official 610:813dcc80987e 1445 #define __HAL_RCC_GPIOG_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOGRST)
mbed_official 610:813dcc80987e 1446
mbed_official 610:813dcc80987e 1447 #define __HAL_RCC_GPIOH_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOHRST)
mbed_official 610:813dcc80987e 1448
mbed_official 610:813dcc80987e 1449 #define __HAL_RCC_ADC_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_ADCRST)
mbed_official 610:813dcc80987e 1450
mbed_official 610:813dcc80987e 1451 #define __HAL_RCC_RNG_FORCE_RESET() SET_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_RNGRST)
mbed_official 610:813dcc80987e 1452
mbed_official 610:813dcc80987e 1453 #define __HAL_RCC_AHB2_RELEASE_RESET() WRITE_REG(RCC->AHB2RSTR, 0x00000000)
mbed_official 610:813dcc80987e 1454
mbed_official 610:813dcc80987e 1455 #define __HAL_RCC_GPIOA_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOARST)
mbed_official 610:813dcc80987e 1456
mbed_official 610:813dcc80987e 1457 #define __HAL_RCC_GPIOB_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOBRST)
mbed_official 610:813dcc80987e 1458
mbed_official 610:813dcc80987e 1459 #define __HAL_RCC_GPIOC_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOCRST)
mbed_official 610:813dcc80987e 1460
mbed_official 610:813dcc80987e 1461 #define __HAL_RCC_GPIOD_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIODRST)
mbed_official 610:813dcc80987e 1462
mbed_official 610:813dcc80987e 1463 #define __HAL_RCC_GPIOE_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOERST)
mbed_official 610:813dcc80987e 1464
mbed_official 610:813dcc80987e 1465 #define __HAL_RCC_GPIOF_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOFRST)
mbed_official 610:813dcc80987e 1466
mbed_official 610:813dcc80987e 1467 #define __HAL_RCC_GPIOG_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOGRST)
mbed_official 610:813dcc80987e 1468
mbed_official 610:813dcc80987e 1469 #define __HAL_RCC_GPIOH_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_GPIOHRST)
mbed_official 610:813dcc80987e 1470
mbed_official 610:813dcc80987e 1471 #define __HAL_RCC_ADC_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_ADCRST)
mbed_official 610:813dcc80987e 1472
mbed_official 610:813dcc80987e 1473 #define __HAL_RCC_RNG_RELEASE_RESET() CLEAR_BIT(RCC->AHB2RSTR, RCC_AHB2RSTR_RNGRST)
mbed_official 610:813dcc80987e 1474
mbed_official 610:813dcc80987e 1475 /**
mbed_official 610:813dcc80987e 1476 * @}
mbed_official 610:813dcc80987e 1477 */
mbed_official 610:813dcc80987e 1478
mbed_official 610:813dcc80987e 1479 /** @defgroup RCC_AHB3_Force_Release_Reset AHB3 Peripheral Force Release Reset
mbed_official 610:813dcc80987e 1480 * @brief Force or release AHB3 peripheral reset.
mbed_official 610:813dcc80987e 1481 * @{
mbed_official 610:813dcc80987e 1482 */
mbed_official 610:813dcc80987e 1483 #define __HAL_RCC_AHB3_FORCE_RESET() WRITE_REG(RCC->AHB3RSTR, 0xFFFFFFFF)
mbed_official 610:813dcc80987e 1484
mbed_official 610:813dcc80987e 1485 #define __HAL_RCC_FMC_FORCE_RESET() SET_BIT(RCC->AHB3RSTR, RCC_AHB3RSTR_FMCRST)
mbed_official 610:813dcc80987e 1486
mbed_official 610:813dcc80987e 1487 #define __HAL_RCC_QSPI_FORCE_RESET() SET_BIT(RCC->AHB3RSTR, RCC_AHB3RSTR_QSPIRST)
mbed_official 610:813dcc80987e 1488
mbed_official 610:813dcc80987e 1489 #define __HAL_RCC_AHB3_RELEASE_RESET() WRITE_REG(RCC->AHB3RSTR, 0x00000000)
mbed_official 610:813dcc80987e 1490
mbed_official 610:813dcc80987e 1491 #define __HAL_RCC_FMC_RELEASE_RESET() CLEAR_BIT(RCC->AHB3RSTR, RCC_AHB3RSTR_FMCRST)
mbed_official 610:813dcc80987e 1492
mbed_official 610:813dcc80987e 1493 #define __HAL_RCC_QSPI_RELEASE_RESET() CLEAR_BIT(RCC->AHB3RSTR, RCC_AHB3RSTR_QSPIRST)
mbed_official 610:813dcc80987e 1494
mbed_official 610:813dcc80987e 1495 /**
mbed_official 610:813dcc80987e 1496 * @}
mbed_official 610:813dcc80987e 1497 */
mbed_official 610:813dcc80987e 1498
mbed_official 610:813dcc80987e 1499 /** @defgroup RCC_APB1_Force_Release_Reset APB1 Peripheral Force Release Reset
mbed_official 610:813dcc80987e 1500 * @brief Force or release APB1 peripheral reset.
mbed_official 610:813dcc80987e 1501 * @{
mbed_official 610:813dcc80987e 1502 */
mbed_official 610:813dcc80987e 1503 #define __HAL_RCC_APB1_FORCE_RESET() WRITE_REG(RCC->APB1RSTR1, 0xFFFFFFFF)
mbed_official 610:813dcc80987e 1504
mbed_official 610:813dcc80987e 1505 #define __HAL_RCC_TIM2_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM2RST)
mbed_official 610:813dcc80987e 1506
mbed_official 610:813dcc80987e 1507 #define __HAL_RCC_TIM3_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM3RST)
mbed_official 610:813dcc80987e 1508
mbed_official 610:813dcc80987e 1509 #define __HAL_RCC_TIM4_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM4RST)
mbed_official 610:813dcc80987e 1510
mbed_official 610:813dcc80987e 1511 #define __HAL_RCC_TIM5_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM5RST)
mbed_official 610:813dcc80987e 1512
mbed_official 610:813dcc80987e 1513 #define __HAL_RCC_TIM6_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM6RST)
mbed_official 610:813dcc80987e 1514
mbed_official 610:813dcc80987e 1515 #define __HAL_RCC_TIM7_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM7RST)
mbed_official 610:813dcc80987e 1516
mbed_official 610:813dcc80987e 1517 #define __HAL_RCC_SPI2_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_SPI2RST)
mbed_official 610:813dcc80987e 1518
mbed_official 610:813dcc80987e 1519 #define __HAL_RCC_SPI3_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_SPI3RST)
mbed_official 610:813dcc80987e 1520
mbed_official 610:813dcc80987e 1521 #define __HAL_RCC_USART2_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_USART2RST)
mbed_official 610:813dcc80987e 1522
mbed_official 610:813dcc80987e 1523 #define __HAL_RCC_USART3_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_USART3RST)
mbed_official 610:813dcc80987e 1524
mbed_official 610:813dcc80987e 1525 #define __HAL_RCC_UART4_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_UART4RST)
mbed_official 610:813dcc80987e 1526
mbed_official 610:813dcc80987e 1527 #define __HAL_RCC_UART5_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_UART5RST)
mbed_official 610:813dcc80987e 1528
mbed_official 610:813dcc80987e 1529 #define __HAL_RCC_I2C1_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_I2C1RST)
mbed_official 610:813dcc80987e 1530
mbed_official 610:813dcc80987e 1531 #define __HAL_RCC_I2C2_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_I2C2RST)
mbed_official 610:813dcc80987e 1532
mbed_official 610:813dcc80987e 1533 #define __HAL_RCC_I2C3_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_I2C3RST)
mbed_official 610:813dcc80987e 1534
mbed_official 610:813dcc80987e 1535 #define __HAL_RCC_CAN1_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_CAN1RST)
mbed_official 610:813dcc80987e 1536
mbed_official 610:813dcc80987e 1537 #define __HAL_RCC_PWR_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_PWRRST)
mbed_official 610:813dcc80987e 1538
mbed_official 610:813dcc80987e 1539 #define __HAL_RCC_DAC1_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_DAC1RST)
mbed_official 610:813dcc80987e 1540
mbed_official 610:813dcc80987e 1541 #define __HAL_RCC_OPAMP_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_OPAMPRST)
mbed_official 610:813dcc80987e 1542
mbed_official 610:813dcc80987e 1543 #define __HAL_RCC_LPTIM1_FORCE_RESET() SET_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_LPTIM1RST)
mbed_official 610:813dcc80987e 1544
mbed_official 610:813dcc80987e 1545 #define __HAL_RCC_LPUART1_FORCE_RESET() SET_BIT(RCC->APB1RSTR2, RCC_APB1RSTR2_LPUART1RST)
mbed_official 610:813dcc80987e 1546
mbed_official 610:813dcc80987e 1547 #define __HAL_RCC_SWPMI1_FORCE_RESET() SET_BIT(RCC->APB1RSTR2, RCC_APB1RSTR2_SWPMI1RST)
mbed_official 610:813dcc80987e 1548
mbed_official 610:813dcc80987e 1549 #define __HAL_RCC_LPTIM2_FORCE_RESET() SET_BIT(RCC->APB1RSTR2, RCC_APB1RSTR2_LPTIM2RST)
mbed_official 610:813dcc80987e 1550
mbed_official 610:813dcc80987e 1551 #define __HAL_RCC_APB1_RELEASE_RESET() WRITE_REG(RCC->APB1RSTR1, 0x00000000)
mbed_official 610:813dcc80987e 1552
mbed_official 610:813dcc80987e 1553 #define __HAL_RCC_TIM2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM2RST)
mbed_official 610:813dcc80987e 1554
mbed_official 610:813dcc80987e 1555 #define __HAL_RCC_TIM3_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM3RST)
mbed_official 610:813dcc80987e 1556
mbed_official 610:813dcc80987e 1557 #define __HAL_RCC_TIM4_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM4RST)
mbed_official 610:813dcc80987e 1558
mbed_official 610:813dcc80987e 1559 #define __HAL_RCC_TIM5_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM5RST)
mbed_official 610:813dcc80987e 1560
mbed_official 610:813dcc80987e 1561 #define __HAL_RCC_TIM6_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM6RST)
mbed_official 610:813dcc80987e 1562
mbed_official 610:813dcc80987e 1563 #define __HAL_RCC_TIM7_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_TIM7RST)
mbed_official 610:813dcc80987e 1564
mbed_official 610:813dcc80987e 1565 #define __HAL_RCC_SPI2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_SPI2RST)
mbed_official 610:813dcc80987e 1566
mbed_official 610:813dcc80987e 1567 #define __HAL_RCC_SPI3_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_SPI3RST)
mbed_official 610:813dcc80987e 1568
mbed_official 610:813dcc80987e 1569 #define __HAL_RCC_USART2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_USART2RST)
mbed_official 610:813dcc80987e 1570
mbed_official 610:813dcc80987e 1571 #define __HAL_RCC_USART3_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_USART3RST)
mbed_official 610:813dcc80987e 1572
mbed_official 610:813dcc80987e 1573 #define __HAL_RCC_UART4_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_UART4RST)
mbed_official 610:813dcc80987e 1574
mbed_official 610:813dcc80987e 1575 #define __HAL_RCC_UART5_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_UART5RST)
mbed_official 610:813dcc80987e 1576
mbed_official 610:813dcc80987e 1577 #define __HAL_RCC_I2C1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_I2C1RST)
mbed_official 610:813dcc80987e 1578
mbed_official 610:813dcc80987e 1579 #define __HAL_RCC_I2C2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_I2C2RST)
mbed_official 610:813dcc80987e 1580
mbed_official 610:813dcc80987e 1581 #define __HAL_RCC_I2C3_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_I2C3RST)
mbed_official 610:813dcc80987e 1582
mbed_official 610:813dcc80987e 1583 #define __HAL_RCC_CAN1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_CAN1RST)
mbed_official 610:813dcc80987e 1584
mbed_official 610:813dcc80987e 1585 #define __HAL_RCC_PWR_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_PWRRST)
mbed_official 610:813dcc80987e 1586
mbed_official 610:813dcc80987e 1587 #define __HAL_RCC_DAC1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_DAC1RST)
mbed_official 610:813dcc80987e 1588
mbed_official 610:813dcc80987e 1589 #define __HAL_RCC_OPAMP_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_OPAMPRST)
mbed_official 610:813dcc80987e 1590
mbed_official 610:813dcc80987e 1591 #define __HAL_RCC_LPTIM1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR1, RCC_APB1RSTR1_LPTIM1RST)
mbed_official 610:813dcc80987e 1592
mbed_official 610:813dcc80987e 1593 #define __HAL_RCC_LPUART1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR2, RCC_APB1RSTR2_LPUART1RST)
mbed_official 610:813dcc80987e 1594
mbed_official 610:813dcc80987e 1595 #define __HAL_RCC_SWPMI1_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR2, RCC_APB1RSTR2_SWPMI1RST)
mbed_official 610:813dcc80987e 1596
mbed_official 610:813dcc80987e 1597 #define __HAL_RCC_LPTIM2_RELEASE_RESET() CLEAR_BIT(RCC->APB1RSTR2, RCC_APB1RSTR2_LPTIM2RST)
mbed_official 610:813dcc80987e 1598
mbed_official 610:813dcc80987e 1599 /**
mbed_official 610:813dcc80987e 1600 * @}
mbed_official 610:813dcc80987e 1601 */
mbed_official 610:813dcc80987e 1602
mbed_official 610:813dcc80987e 1603 /** @defgroup RCC_APB2_Force_Release_Reset APB2 Peripheral Force Release Reset
mbed_official 610:813dcc80987e 1604 * @brief Force or release APB2 peripheral reset.
mbed_official 610:813dcc80987e 1605 * @{
mbed_official 610:813dcc80987e 1606 */
mbed_official 610:813dcc80987e 1607 #define __HAL_RCC_APB2_FORCE_RESET() WRITE_REG(RCC->APB2RSTR, 0xFFFFFFFF)
mbed_official 610:813dcc80987e 1608
mbed_official 610:813dcc80987e 1609 #define __HAL_RCC_SYSCFG_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SYSCFGRST)
mbed_official 610:813dcc80987e 1610
mbed_official 610:813dcc80987e 1611 #define __HAL_RCC_SDMMC1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SDMMC1RST)
mbed_official 610:813dcc80987e 1612
mbed_official 610:813dcc80987e 1613 #define __HAL_RCC_TIM1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM1RST)
mbed_official 610:813dcc80987e 1614
mbed_official 610:813dcc80987e 1615 #define __HAL_RCC_SPI1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SPI1RST)
mbed_official 610:813dcc80987e 1616
mbed_official 610:813dcc80987e 1617 #define __HAL_RCC_TIM8_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM8RST)
mbed_official 610:813dcc80987e 1618
mbed_official 610:813dcc80987e 1619 #define __HAL_RCC_USART1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_USART1RST)
mbed_official 610:813dcc80987e 1620
mbed_official 610:813dcc80987e 1621 #define __HAL_RCC_TIM15_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM15RST)
mbed_official 610:813dcc80987e 1622
mbed_official 610:813dcc80987e 1623 #define __HAL_RCC_TIM16_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM16RST)
mbed_official 610:813dcc80987e 1624
mbed_official 610:813dcc80987e 1625 #define __HAL_RCC_TIM17_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM17RST)
mbed_official 610:813dcc80987e 1626
mbed_official 610:813dcc80987e 1627 #define __HAL_RCC_SAI1_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SAI1RST)
mbed_official 610:813dcc80987e 1628
mbed_official 610:813dcc80987e 1629 #define __HAL_RCC_SAI2_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SAI2RST)
mbed_official 610:813dcc80987e 1630
mbed_official 610:813dcc80987e 1631 #define __HAL_RCC_DFSDM_FORCE_RESET() SET_BIT(RCC->APB2RSTR, RCC_APB2RSTR_DFSDMRST)
mbed_official 610:813dcc80987e 1632
mbed_official 610:813dcc80987e 1633 #define __HAL_RCC_APB2_RELEASE_RESET() WRITE_REG(RCC->APB2RSTR, 0x00000000)
mbed_official 610:813dcc80987e 1634
mbed_official 610:813dcc80987e 1635 #define __HAL_RCC_SYSCFG_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SYSCFGRST)
mbed_official 610:813dcc80987e 1636
mbed_official 610:813dcc80987e 1637 #define __HAL_RCC_SDMMC1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SDMMC1RST)
mbed_official 610:813dcc80987e 1638
mbed_official 610:813dcc80987e 1639 #define __HAL_RCC_TIM1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM1RST)
mbed_official 610:813dcc80987e 1640
mbed_official 610:813dcc80987e 1641 #define __HAL_RCC_SPI1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SPI1RST)
mbed_official 610:813dcc80987e 1642
mbed_official 610:813dcc80987e 1643 #define __HAL_RCC_TIM8_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM8RST)
mbed_official 610:813dcc80987e 1644
mbed_official 610:813dcc80987e 1645 #define __HAL_RCC_USART1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_USART1RST)
mbed_official 610:813dcc80987e 1646
mbed_official 610:813dcc80987e 1647 #define __HAL_RCC_TIM15_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM15RST)
mbed_official 610:813dcc80987e 1648
mbed_official 610:813dcc80987e 1649 #define __HAL_RCC_TIM16_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM16RST)
mbed_official 610:813dcc80987e 1650
mbed_official 610:813dcc80987e 1651 #define __HAL_RCC_TIM17_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_TIM17RST)
mbed_official 610:813dcc80987e 1652
mbed_official 610:813dcc80987e 1653 #define __HAL_RCC_SAI1_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SAI1RST)
mbed_official 610:813dcc80987e 1654
mbed_official 610:813dcc80987e 1655 #define __HAL_RCC_SAI2_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_SAI2RST)
mbed_official 610:813dcc80987e 1656
mbed_official 610:813dcc80987e 1657 #define __HAL_RCC_DFSDM_RELEASE_RESET() CLEAR_BIT(RCC->APB2RSTR, RCC_APB2RSTR_DFSDMRST)
mbed_official 610:813dcc80987e 1658
mbed_official 610:813dcc80987e 1659 /**
mbed_official 610:813dcc80987e 1660 * @}
mbed_official 610:813dcc80987e 1661 */
mbed_official 610:813dcc80987e 1662
mbed_official 610:813dcc80987e 1663 /** @defgroup RCC_AHB1_Clock_Sleep_Enable_Disable AHB1 Peripheral Clock Sleep Enable Disable
mbed_official 610:813dcc80987e 1664 * @brief Enable or disable the AHB1 peripheral clock during Low Power (Sleep) mode.
mbed_official 610:813dcc80987e 1665 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 1666 * power consumption.
mbed_official 610:813dcc80987e 1667 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 1668 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 1669 * @{
mbed_official 610:813dcc80987e 1670 */
mbed_official 610:813dcc80987e 1671
mbed_official 610:813dcc80987e 1672 #define __HAL_RCC_DMA1_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_DMA1SMEN)
mbed_official 610:813dcc80987e 1673
mbed_official 610:813dcc80987e 1674 #define __HAL_RCC_DMA2_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_DMA2SMEN)
mbed_official 610:813dcc80987e 1675
mbed_official 610:813dcc80987e 1676 #define __HAL_RCC_FLASH_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_FLASHSMEN)
mbed_official 610:813dcc80987e 1677
mbed_official 610:813dcc80987e 1678 #define __HAL_RCC_SRAM1_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_SRAM1SMEN)
mbed_official 610:813dcc80987e 1679
mbed_official 610:813dcc80987e 1680 #define __HAL_RCC_CRC_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_CRCSMEN)
mbed_official 610:813dcc80987e 1681
mbed_official 610:813dcc80987e 1682 #define __HAL_RCC_TSC_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_TSCSMEN)
mbed_official 610:813dcc80987e 1683
mbed_official 610:813dcc80987e 1684 #define __HAL_RCC_DMA1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_DMA1SMEN)
mbed_official 610:813dcc80987e 1685
mbed_official 610:813dcc80987e 1686 #define __HAL_RCC_DMA2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_DMA2SMEN)
mbed_official 610:813dcc80987e 1687
mbed_official 610:813dcc80987e 1688 #define __HAL_RCC_FLASH_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_FLASHSMEN)
mbed_official 610:813dcc80987e 1689
mbed_official 610:813dcc80987e 1690 #define __HAL_RCC_SRAM1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_SRAM1SMEN)
mbed_official 610:813dcc80987e 1691
mbed_official 610:813dcc80987e 1692 #define __HAL_RCC_CRC_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_CRCSMEN)
mbed_official 610:813dcc80987e 1693
mbed_official 610:813dcc80987e 1694 #define __HAL_RCC_TSC_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_TSCSMEN)
mbed_official 610:813dcc80987e 1695
mbed_official 610:813dcc80987e 1696 /**
mbed_official 610:813dcc80987e 1697 * @}
mbed_official 610:813dcc80987e 1698 */
mbed_official 610:813dcc80987e 1699
mbed_official 610:813dcc80987e 1700 /** @defgroup RCC_AHB2_Clock_Sleep_Enable_Disable AHB2 Peripheral Clock Sleep Enable Disable
mbed_official 610:813dcc80987e 1701 * @brief Enable or disable the AHB2 peripheral clock during Low Power (Sleep) mode.
mbed_official 610:813dcc80987e 1702 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 1703 * power consumption.
mbed_official 610:813dcc80987e 1704 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 1705 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 1706 * @{
mbed_official 610:813dcc80987e 1707 */
mbed_official 610:813dcc80987e 1708
mbed_official 610:813dcc80987e 1709 #define __HAL_RCC_GPIOA_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOASMEN)
mbed_official 610:813dcc80987e 1710
mbed_official 610:813dcc80987e 1711 #define __HAL_RCC_GPIOB_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOBSMEN)
mbed_official 610:813dcc80987e 1712
mbed_official 610:813dcc80987e 1713 #define __HAL_RCC_GPIOC_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOCSMEN)
mbed_official 610:813dcc80987e 1714
mbed_official 610:813dcc80987e 1715 #define __HAL_RCC_GPIOD_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIODSMEN)
mbed_official 610:813dcc80987e 1716
mbed_official 610:813dcc80987e 1717 #define __HAL_RCC_GPIOE_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOESMEN)
mbed_official 610:813dcc80987e 1718
mbed_official 610:813dcc80987e 1719 #define __HAL_RCC_GPIOF_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOFSMEN)
mbed_official 610:813dcc80987e 1720
mbed_official 610:813dcc80987e 1721 #define __HAL_RCC_GPIOG_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOGSMEN)
mbed_official 610:813dcc80987e 1722
mbed_official 610:813dcc80987e 1723 #define __HAL_RCC_GPIOH_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOHSMEN)
mbed_official 610:813dcc80987e 1724
mbed_official 610:813dcc80987e 1725 #define __HAL_RCC_SRAM2_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_SRAM2SMEN)
mbed_official 610:813dcc80987e 1726
mbed_official 610:813dcc80987e 1727 #define __HAL_RCC_ADC_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_ADCSMEN)
mbed_official 610:813dcc80987e 1728
mbed_official 610:813dcc80987e 1729 #define __HAL_RCC_RNG_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_RNGSMEN)
mbed_official 610:813dcc80987e 1730
mbed_official 610:813dcc80987e 1731 #define __HAL_RCC_GPIOA_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOASMEN)
mbed_official 610:813dcc80987e 1732
mbed_official 610:813dcc80987e 1733 #define __HAL_RCC_GPIOB_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOBSMEN)
mbed_official 610:813dcc80987e 1734
mbed_official 610:813dcc80987e 1735 #define __HAL_RCC_GPIOC_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOCSMEN)
mbed_official 610:813dcc80987e 1736
mbed_official 610:813dcc80987e 1737 #define __HAL_RCC_GPIOD_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIODSMEN)
mbed_official 610:813dcc80987e 1738
mbed_official 610:813dcc80987e 1739 #define __HAL_RCC_GPIOE_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOESMEN)
mbed_official 610:813dcc80987e 1740
mbed_official 610:813dcc80987e 1741 #define __HAL_RCC_GPIOF_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOFSMEN)
mbed_official 610:813dcc80987e 1742
mbed_official 610:813dcc80987e 1743 #define __HAL_RCC_GPIOG_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOGSMEN)
mbed_official 610:813dcc80987e 1744
mbed_official 610:813dcc80987e 1745 #define __HAL_RCC_GPIOH_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOHSMEN)
mbed_official 610:813dcc80987e 1746
mbed_official 610:813dcc80987e 1747 #define __HAL_RCC_ADC_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_ADCSMEN)
mbed_official 610:813dcc80987e 1748
mbed_official 610:813dcc80987e 1749 #define __HAL_RCC_SRAM2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_SRAM2SMEN)
mbed_official 610:813dcc80987e 1750
mbed_official 610:813dcc80987e 1751 #define __HAL_RCC_RNG_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_RNGSMEN)
mbed_official 610:813dcc80987e 1752
mbed_official 610:813dcc80987e 1753 /**
mbed_official 610:813dcc80987e 1754 * @}
mbed_official 610:813dcc80987e 1755 */
mbed_official 610:813dcc80987e 1756
mbed_official 610:813dcc80987e 1757 /** @defgroup RCC_AHB3_Clock_Sleep_Enable_Disable AHB3 Peripheral Clock Sleep Enable Disable
mbed_official 610:813dcc80987e 1758 * @brief Enable or disable the AHB3 peripheral clock during Low Power (Sleep) mode.
mbed_official 610:813dcc80987e 1759 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 1760 * power consumption.
mbed_official 610:813dcc80987e 1761 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 1762 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 1763 * @{
mbed_official 610:813dcc80987e 1764 */
mbed_official 610:813dcc80987e 1765
mbed_official 610:813dcc80987e 1766 #define __HAL_RCC_QSPI_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB3SMENR, RCC_AHB3SMENR_QSPISMEN)
mbed_official 610:813dcc80987e 1767
mbed_official 610:813dcc80987e 1768 #define __HAL_RCC_FMC_CLK_SLEEP_ENABLE() SET_BIT(RCC->AHB3SMENR, RCC_AHB3SMENR_FMCSMEN)
mbed_official 610:813dcc80987e 1769
mbed_official 610:813dcc80987e 1770 #define __HAL_RCC_QSPI_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB3SMENR, RCC_AHB3SMENR_QSPISMEN)
mbed_official 610:813dcc80987e 1771
mbed_official 610:813dcc80987e 1772 #define __HAL_RCC_FMC_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->AHB3SMENR, RCC_AHB3SMENR_FMCSMEN)
mbed_official 610:813dcc80987e 1773
mbed_official 610:813dcc80987e 1774 /**
mbed_official 610:813dcc80987e 1775 * @}
mbed_official 610:813dcc80987e 1776 */
mbed_official 610:813dcc80987e 1777
mbed_official 610:813dcc80987e 1778 /** @defgroup RCC_APB1_Clock_Sleep_Enable_Disable APB1 Peripheral Clock Sleep Enable Disable
mbed_official 610:813dcc80987e 1779 * @brief Enable or disable the APB1 peripheral clock during Low Power (Sleep) mode.
mbed_official 610:813dcc80987e 1780 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 1781 * power consumption.
mbed_official 610:813dcc80987e 1782 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 1783 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 1784 * @{
mbed_official 610:813dcc80987e 1785 */
mbed_official 610:813dcc80987e 1786
mbed_official 610:813dcc80987e 1787 #define __HAL_RCC_TIM2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM2SMEN)
mbed_official 610:813dcc80987e 1788
mbed_official 610:813dcc80987e 1789 #define __HAL_RCC_TIM3_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM3SMEN)
mbed_official 610:813dcc80987e 1790
mbed_official 610:813dcc80987e 1791 #define __HAL_RCC_TIM4_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM4SMEN)
mbed_official 610:813dcc80987e 1792
mbed_official 610:813dcc80987e 1793 #define __HAL_RCC_TIM5_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM5SMEN)
mbed_official 610:813dcc80987e 1794
mbed_official 610:813dcc80987e 1795 #define __HAL_RCC_TIM6_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM6SMEN)
mbed_official 610:813dcc80987e 1796
mbed_official 610:813dcc80987e 1797 #define __HAL_RCC_TIM7_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM7SMEN)
mbed_official 610:813dcc80987e 1798
mbed_official 610:813dcc80987e 1799 #define __HAL_RCC_WWDG_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_WWDGSMEN)
mbed_official 610:813dcc80987e 1800
mbed_official 610:813dcc80987e 1801 #define __HAL_RCC_SPI2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_SPI2SMEN)
mbed_official 610:813dcc80987e 1802
mbed_official 610:813dcc80987e 1803 #define __HAL_RCC_SPI3_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_SPI3SMEN)
mbed_official 610:813dcc80987e 1804
mbed_official 610:813dcc80987e 1805 #define __HAL_RCC_USART2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_USART2SMEN)
mbed_official 610:813dcc80987e 1806
mbed_official 610:813dcc80987e 1807 #define __HAL_RCC_USART3_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_USART3SMEN)
mbed_official 610:813dcc80987e 1808
mbed_official 610:813dcc80987e 1809 #define __HAL_RCC_UART4_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_UART4SMEN)
mbed_official 610:813dcc80987e 1810
mbed_official 610:813dcc80987e 1811 #define __HAL_RCC_UART5_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_UART5SMEN)
mbed_official 610:813dcc80987e 1812
mbed_official 610:813dcc80987e 1813 #define __HAL_RCC_I2C1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C1SMEN)
mbed_official 610:813dcc80987e 1814
mbed_official 610:813dcc80987e 1815 #define __HAL_RCC_I2C2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C2SMEN)
mbed_official 610:813dcc80987e 1816
mbed_official 610:813dcc80987e 1817 #define __HAL_RCC_I2C3_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C3SMEN)
mbed_official 610:813dcc80987e 1818
mbed_official 610:813dcc80987e 1819 #define __HAL_RCC_CAN1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_CAN1SMEN)
mbed_official 610:813dcc80987e 1820
mbed_official 610:813dcc80987e 1821 #define __HAL_RCC_PWR_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_PWRSMEN)
mbed_official 610:813dcc80987e 1822
mbed_official 610:813dcc80987e 1823 #define __HAL_RCC_DAC1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_DAC1SMEN)
mbed_official 610:813dcc80987e 1824
mbed_official 610:813dcc80987e 1825 #define __HAL_RCC_OPAMP_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_OPAMPSMEN)
mbed_official 610:813dcc80987e 1826
mbed_official 610:813dcc80987e 1827 #define __HAL_RCC_LPTIM1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_LPTIM1SMEN)
mbed_official 610:813dcc80987e 1828
mbed_official 610:813dcc80987e 1829 #define __HAL_RCC_LPUART1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_LPUART1SMEN)
mbed_official 610:813dcc80987e 1830
mbed_official 610:813dcc80987e 1831 #define __HAL_RCC_SWPMI1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_SWPMI1SMEN)
mbed_official 610:813dcc80987e 1832
mbed_official 610:813dcc80987e 1833 #define __HAL_RCC_LPTIM2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_LPTIM2SMEN)
mbed_official 610:813dcc80987e 1834
mbed_official 610:813dcc80987e 1835 #define __HAL_RCC_TIM2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM2SMEN)
mbed_official 610:813dcc80987e 1836
mbed_official 610:813dcc80987e 1837 #define __HAL_RCC_TIM3_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM3SMEN)
mbed_official 610:813dcc80987e 1838
mbed_official 610:813dcc80987e 1839 #define __HAL_RCC_TIM4_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM4SMEN)
mbed_official 610:813dcc80987e 1840
mbed_official 610:813dcc80987e 1841 #define __HAL_RCC_TIM5_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM5SMEN)
mbed_official 610:813dcc80987e 1842
mbed_official 610:813dcc80987e 1843 #define __HAL_RCC_TIM6_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM6SMEN)
mbed_official 610:813dcc80987e 1844
mbed_official 610:813dcc80987e 1845 #define __HAL_RCC_TIM7_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM7SMEN)
mbed_official 610:813dcc80987e 1846
mbed_official 610:813dcc80987e 1847 #define __HAL_RCC_WWDG_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_WWDGSMEN)
mbed_official 610:813dcc80987e 1848
mbed_official 610:813dcc80987e 1849 #define __HAL_RCC_SPI2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_SPI2SMEN)
mbed_official 610:813dcc80987e 1850
mbed_official 610:813dcc80987e 1851 #define __HAL_RCC_SPI3_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_SPI3SMEN)
mbed_official 610:813dcc80987e 1852
mbed_official 610:813dcc80987e 1853 #define __HAL_RCC_USART2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_USART2SMEN)
mbed_official 610:813dcc80987e 1854
mbed_official 610:813dcc80987e 1855 #define __HAL_RCC_USART3_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_USART3SMEN)
mbed_official 610:813dcc80987e 1856
mbed_official 610:813dcc80987e 1857 #define __HAL_RCC_UART4_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_UART4SMEN)
mbed_official 610:813dcc80987e 1858
mbed_official 610:813dcc80987e 1859 #define __HAL_RCC_UART5_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_UART5SMEN)
mbed_official 610:813dcc80987e 1860
mbed_official 610:813dcc80987e 1861 #define __HAL_RCC_I2C1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C1SMEN)
mbed_official 610:813dcc80987e 1862
mbed_official 610:813dcc80987e 1863 #define __HAL_RCC_I2C2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C2SMEN)
mbed_official 610:813dcc80987e 1864
mbed_official 610:813dcc80987e 1865 #define __HAL_RCC_I2C3_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C3SMEN)
mbed_official 610:813dcc80987e 1866
mbed_official 610:813dcc80987e 1867 #define __HAL_RCC_CAN1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_CAN1SMEN)
mbed_official 610:813dcc80987e 1868
mbed_official 610:813dcc80987e 1869 #define __HAL_RCC_PWR_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_PWRSMEN)
mbed_official 610:813dcc80987e 1870
mbed_official 610:813dcc80987e 1871 #define __HAL_RCC_DAC1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_DAC1SMEN)
mbed_official 610:813dcc80987e 1872
mbed_official 610:813dcc80987e 1873 #define __HAL_RCC_OPAMP_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_OPAMPSMEN)
mbed_official 610:813dcc80987e 1874
mbed_official 610:813dcc80987e 1875 #define __HAL_RCC_LPTIM1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_LPTIM1SMEN)
mbed_official 610:813dcc80987e 1876
mbed_official 610:813dcc80987e 1877 #define __HAL_RCC_LPUART1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_LPUART1SMEN)
mbed_official 610:813dcc80987e 1878
mbed_official 610:813dcc80987e 1879 #define __HAL_RCC_SWPMI1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_SWPMI1SMEN)
mbed_official 610:813dcc80987e 1880
mbed_official 610:813dcc80987e 1881 #define __HAL_RCC_LPTIM2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_LPTIM2SMEN)
mbed_official 610:813dcc80987e 1882
mbed_official 610:813dcc80987e 1883 /**
mbed_official 610:813dcc80987e 1884 * @}
mbed_official 610:813dcc80987e 1885 */
mbed_official 610:813dcc80987e 1886
mbed_official 610:813dcc80987e 1887 /** @defgroup RCC_APB2_Clock_Sleep_Enable_Disable APB2 Peripheral Clock Sleep Enable Disable
mbed_official 610:813dcc80987e 1888 * @brief Enable or disable the APB2 peripheral clock during Low Power (Sleep) mode.
mbed_official 610:813dcc80987e 1889 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 1890 * power consumption.
mbed_official 610:813dcc80987e 1891 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 1892 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 1893 * @{
mbed_official 610:813dcc80987e 1894 */
mbed_official 610:813dcc80987e 1895
mbed_official 610:813dcc80987e 1896 #define __HAL_RCC_SYSCFG_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SYSCFGSMEN)
mbed_official 610:813dcc80987e 1897
mbed_official 610:813dcc80987e 1898 #define __HAL_RCC_SDMMC1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SDMMC1SMEN)
mbed_official 610:813dcc80987e 1899
mbed_official 610:813dcc80987e 1900 #define __HAL_RCC_TIM1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM1SMEN)
mbed_official 610:813dcc80987e 1901
mbed_official 610:813dcc80987e 1902 #define __HAL_RCC_SPI1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SPI1SMEN)
mbed_official 610:813dcc80987e 1903
mbed_official 610:813dcc80987e 1904 #define __HAL_RCC_TIM8_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM8SMEN)
mbed_official 610:813dcc80987e 1905
mbed_official 610:813dcc80987e 1906 #define __HAL_RCC_USART1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_USART1SMEN)
mbed_official 610:813dcc80987e 1907
mbed_official 610:813dcc80987e 1908 #define __HAL_RCC_TIM15_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM15SMEN)
mbed_official 610:813dcc80987e 1909
mbed_official 610:813dcc80987e 1910 #define __HAL_RCC_TIM16_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM16SMEN)
mbed_official 610:813dcc80987e 1911
mbed_official 610:813dcc80987e 1912 #define __HAL_RCC_TIM17_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM17SMEN)
mbed_official 610:813dcc80987e 1913
mbed_official 610:813dcc80987e 1914 #define __HAL_RCC_SAI1_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SAI1SMEN)
mbed_official 610:813dcc80987e 1915
mbed_official 610:813dcc80987e 1916 #define __HAL_RCC_SAI2_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SAI2SMEN)
mbed_official 610:813dcc80987e 1917
mbed_official 610:813dcc80987e 1918 #define __HAL_RCC_DFSDM_CLK_SLEEP_ENABLE() SET_BIT(RCC->APB2SMENR, RCC_APB2SMENR_DFSDMSMEN)
mbed_official 610:813dcc80987e 1919
mbed_official 610:813dcc80987e 1920 #define __HAL_RCC_SYSCFG_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SYSCFGSMEN)
mbed_official 610:813dcc80987e 1921
mbed_official 610:813dcc80987e 1922 #define __HAL_RCC_SDMMC1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SDMMC1SMEN)
mbed_official 610:813dcc80987e 1923
mbed_official 610:813dcc80987e 1924 #define __HAL_RCC_TIM1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM1SMEN)
mbed_official 610:813dcc80987e 1925
mbed_official 610:813dcc80987e 1926 #define __HAL_RCC_SPI1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SPI1SMEN)
mbed_official 610:813dcc80987e 1927
mbed_official 610:813dcc80987e 1928 #define __HAL_RCC_TIM8_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM8SMEN)
mbed_official 610:813dcc80987e 1929
mbed_official 610:813dcc80987e 1930 #define __HAL_RCC_USART1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_USART1SMEN)
mbed_official 610:813dcc80987e 1931
mbed_official 610:813dcc80987e 1932 #define __HAL_RCC_TIM15_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM15SMEN)
mbed_official 610:813dcc80987e 1933
mbed_official 610:813dcc80987e 1934 #define __HAL_RCC_TIM16_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM16SMEN)
mbed_official 610:813dcc80987e 1935
mbed_official 610:813dcc80987e 1936 #define __HAL_RCC_TIM17_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM17SMEN)
mbed_official 610:813dcc80987e 1937
mbed_official 610:813dcc80987e 1938 #define __HAL_RCC_SAI1_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SAI1SMEN)
mbed_official 610:813dcc80987e 1939
mbed_official 610:813dcc80987e 1940 #define __HAL_RCC_SAI2_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SAI2SMEN)
mbed_official 610:813dcc80987e 1941
mbed_official 610:813dcc80987e 1942 #define __HAL_RCC_DFSDM_CLK_SLEEP_DISABLE() CLEAR_BIT(RCC->APB2SMENR, RCC_APB2SMENR_DFSDMSMEN)
mbed_official 610:813dcc80987e 1943
mbed_official 610:813dcc80987e 1944 /**
mbed_official 610:813dcc80987e 1945 * @}
mbed_official 610:813dcc80987e 1946 */
mbed_official 610:813dcc80987e 1947
mbed_official 610:813dcc80987e 1948 /** @defgroup RCC_AHB1_Clock_Sleep_Enable_Disable_Status AHB1 Peripheral Clock Sleep Enabled or Disabled Status
mbed_official 610:813dcc80987e 1949 * @brief Check whether the AHB1 peripheral clock during Low Power (Sleep) mode is enabled or not.
mbed_official 610:813dcc80987e 1950 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 1951 * power consumption.
mbed_official 610:813dcc80987e 1952 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 1953 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 1954 * @{
mbed_official 610:813dcc80987e 1955 */
mbed_official 610:813dcc80987e 1956
mbed_official 610:813dcc80987e 1957 #define __HAL_RCC_DMA1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_DMA1SMEN) != RESET)
mbed_official 610:813dcc80987e 1958
mbed_official 610:813dcc80987e 1959 #define __HAL_RCC_DMA2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_DMA2SMEN) != RESET)
mbed_official 610:813dcc80987e 1960
mbed_official 610:813dcc80987e 1961 #define __HAL_RCC_FLASH_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_FLASHSMEN) != RESET)
mbed_official 610:813dcc80987e 1962
mbed_official 610:813dcc80987e 1963 #define __HAL_RCC_SRAM1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_SRAM1SMEN) != RESET)
mbed_official 610:813dcc80987e 1964
mbed_official 610:813dcc80987e 1965 #define __HAL_RCC_CRC_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_CRCSMEN) != RESET)
mbed_official 610:813dcc80987e 1966
mbed_official 610:813dcc80987e 1967 #define __HAL_RCC_TSC_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_TSCSMEN) != RESET)
mbed_official 610:813dcc80987e 1968
mbed_official 610:813dcc80987e 1969 #define __HAL_RCC_DMA1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_DMA1SMEN) == RESET)
mbed_official 610:813dcc80987e 1970
mbed_official 610:813dcc80987e 1971 #define __HAL_RCC_DMA2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_DMA2SMEN) == RESET)
mbed_official 610:813dcc80987e 1972
mbed_official 610:813dcc80987e 1973 #define __HAL_RCC_FLASH_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_FLASHSMEN) == RESET)
mbed_official 610:813dcc80987e 1974
mbed_official 610:813dcc80987e 1975 #define __HAL_RCC_SRAM1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_SRAM1SMEN) == RESET)
mbed_official 610:813dcc80987e 1976
mbed_official 610:813dcc80987e 1977 #define __HAL_RCC_CRC_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_CRCSMEN) == RESET)
mbed_official 610:813dcc80987e 1978
mbed_official 610:813dcc80987e 1979 #define __HAL_RCC_TSC_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB1SMENR, RCC_AHB1SMENR_TSCSMEN) == RESET)
mbed_official 610:813dcc80987e 1980
mbed_official 610:813dcc80987e 1981 /**
mbed_official 610:813dcc80987e 1982 * @}
mbed_official 610:813dcc80987e 1983 */
mbed_official 610:813dcc80987e 1984
mbed_official 610:813dcc80987e 1985 /** @defgroup RCC_AHB2_Clock_Sleep_Enable_Disable_Status AHB2 Peripheral Clock Sleep Enabled or Disabled Status
mbed_official 610:813dcc80987e 1986 * @brief Check whether the AHB2 peripheral clock during Low Power (Sleep) mode is enabled or not.
mbed_official 610:813dcc80987e 1987 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 1988 * power consumption.
mbed_official 610:813dcc80987e 1989 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 1990 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 1991 * @{
mbed_official 610:813dcc80987e 1992 */
mbed_official 610:813dcc80987e 1993
mbed_official 610:813dcc80987e 1994 #define __HAL_RCC_GPIOA_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOASMEN) != RESET)
mbed_official 610:813dcc80987e 1995
mbed_official 610:813dcc80987e 1996 #define __HAL_RCC_GPIOB_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOBSMEN) != RESET)
mbed_official 610:813dcc80987e 1997
mbed_official 610:813dcc80987e 1998 #define __HAL_RCC_GPIOC_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOCSMEN) != RESET)
mbed_official 610:813dcc80987e 1999
mbed_official 610:813dcc80987e 2000 #define __HAL_RCC_GPIOD_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIODSMEN) != RESET)
mbed_official 610:813dcc80987e 2001
mbed_official 610:813dcc80987e 2002 #define __HAL_RCC_GPIOE_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOESMEN) != RESET)
mbed_official 610:813dcc80987e 2003
mbed_official 610:813dcc80987e 2004 #define __HAL_RCC_GPIOF_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOFSMEN) != RESET)
mbed_official 610:813dcc80987e 2005
mbed_official 610:813dcc80987e 2006 #define __HAL_RCC_GPIOG_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOGSMEN) != RESET)
mbed_official 610:813dcc80987e 2007
mbed_official 610:813dcc80987e 2008 #define __HAL_RCC_GPIOH_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOHSMEN) != RESET)
mbed_official 610:813dcc80987e 2009
mbed_official 610:813dcc80987e 2010 #define __HAL_RCC_SRAM2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_SRAM2SMEN) != RESET)
mbed_official 610:813dcc80987e 2011
mbed_official 610:813dcc80987e 2012 #define __HAL_RCC_ADC_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_ADCSMEN) != RESET)
mbed_official 610:813dcc80987e 2013
mbed_official 610:813dcc80987e 2014 #define __HAL_RCC_RNG_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_RNGSMEN) != RESET)
mbed_official 610:813dcc80987e 2015
mbed_official 610:813dcc80987e 2016 #define __HAL_RCC_GPIOA_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOASMEN) == RESET)
mbed_official 610:813dcc80987e 2017
mbed_official 610:813dcc80987e 2018 #define __HAL_RCC_GPIOB_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOBSMEN) == RESET)
mbed_official 610:813dcc80987e 2019
mbed_official 610:813dcc80987e 2020 #define __HAL_RCC_GPIOC_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOCSMEN) == RESET)
mbed_official 610:813dcc80987e 2021
mbed_official 610:813dcc80987e 2022 #define __HAL_RCC_GPIOD_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIODSMEN) == RESET)
mbed_official 610:813dcc80987e 2023
mbed_official 610:813dcc80987e 2024 #define __HAL_RCC_GPIOE_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOESMEN) == RESET)
mbed_official 610:813dcc80987e 2025
mbed_official 610:813dcc80987e 2026 #define __HAL_RCC_GPIOF_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOFSMEN) == RESET)
mbed_official 610:813dcc80987e 2027
mbed_official 610:813dcc80987e 2028 #define __HAL_RCC_GPIOG_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOGSMEN) == RESET)
mbed_official 610:813dcc80987e 2029
mbed_official 610:813dcc80987e 2030 #define __HAL_RCC_GPIOH_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_GPIOHSMEN) == RESET)
mbed_official 610:813dcc80987e 2031
mbed_official 610:813dcc80987e 2032 #define __HAL_RCC_ADC_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_ADCSMEN) == RESET)
mbed_official 610:813dcc80987e 2033
mbed_official 610:813dcc80987e 2034 #define __HAL_RCC_SRAM2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_SRAM2SMEN) == RESET)
mbed_official 610:813dcc80987e 2035
mbed_official 610:813dcc80987e 2036 #define __HAL_RCC_RNG_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB2SMENR, RCC_AHB2SMENR_RNGSMEN) == RESET)
mbed_official 610:813dcc80987e 2037
mbed_official 610:813dcc80987e 2038 /**
mbed_official 610:813dcc80987e 2039 * @}
mbed_official 610:813dcc80987e 2040 */
mbed_official 610:813dcc80987e 2041
mbed_official 610:813dcc80987e 2042 /** @defgroup RCC_AHB3_Clock_Sleep_Enable_Disable_Status AHB3 Peripheral Clock Sleep Enabled or Disabled Status
mbed_official 610:813dcc80987e 2043 * @brief Check whether the AHB3 peripheral clock during Low Power (Sleep) mode is enabled or not.
mbed_official 610:813dcc80987e 2044 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 2045 * power consumption.
mbed_official 610:813dcc80987e 2046 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 2047 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 2048 * @{
mbed_official 610:813dcc80987e 2049 */
mbed_official 610:813dcc80987e 2050
mbed_official 610:813dcc80987e 2051 #define __HAL_RCC_QSPI_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB3SMENR, RCC_AHB3SMENR_QSPISMEN) != RESET)
mbed_official 610:813dcc80987e 2052
mbed_official 610:813dcc80987e 2053 #define __HAL_RCC_FMC_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->AHB3SMENR, RCC_AHB3SMENR_FMCSMEN) != RESET)
mbed_official 610:813dcc80987e 2054
mbed_official 610:813dcc80987e 2055 #define __HAL_RCC_QSPI_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB3SMENR, RCC_AHB3SMENR_QSPISMEN) == RESET)
mbed_official 610:813dcc80987e 2056
mbed_official 610:813dcc80987e 2057 #define __HAL_RCC_FMC_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->AHB3SMENR, RCC_AHB3SMENR_FMCSMEN) == RESET)
mbed_official 610:813dcc80987e 2058
mbed_official 610:813dcc80987e 2059 /**
mbed_official 610:813dcc80987e 2060 * @}
mbed_official 610:813dcc80987e 2061 */
mbed_official 610:813dcc80987e 2062
mbed_official 610:813dcc80987e 2063 /** @defgroup RCC_APB1_Clock_Sleep_Enable_Disable_Status APB1 Peripheral Clock Sleep Enabled or Disabled Status
mbed_official 610:813dcc80987e 2064 * @brief Check whether the APB1 peripheral clock during Low Power (Sleep) mode is enabled or not.
mbed_official 610:813dcc80987e 2065 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 2066 * power consumption.
mbed_official 610:813dcc80987e 2067 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 2068 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 2069 * @{
mbed_official 610:813dcc80987e 2070 */
mbed_official 610:813dcc80987e 2071
mbed_official 610:813dcc80987e 2072 #define __HAL_RCC_TIM2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM2SMEN) != RESET)
mbed_official 610:813dcc80987e 2073
mbed_official 610:813dcc80987e 2074 #define __HAL_RCC_TIM3_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM3SMEN) != RESET)
mbed_official 610:813dcc80987e 2075
mbed_official 610:813dcc80987e 2076 #define __HAL_RCC_TIM4_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM4SMEN) != RESET)
mbed_official 610:813dcc80987e 2077
mbed_official 610:813dcc80987e 2078 #define __HAL_RCC_TIM5_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM5SMEN) != RESET)
mbed_official 610:813dcc80987e 2079
mbed_official 610:813dcc80987e 2080 #define __HAL_RCC_TIM6_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM6SMEN) != RESET)
mbed_official 610:813dcc80987e 2081
mbed_official 610:813dcc80987e 2082 #define __HAL_RCC_TIM7_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM7SMEN) != RESET)
mbed_official 610:813dcc80987e 2083
mbed_official 610:813dcc80987e 2084 #define __HAL_RCC_WWDG_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_WWDGSMEN) != RESET)
mbed_official 610:813dcc80987e 2085
mbed_official 610:813dcc80987e 2086 #define __HAL_RCC_SPI2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_SPI2SMEN) != RESET)
mbed_official 610:813dcc80987e 2087
mbed_official 610:813dcc80987e 2088 #define __HAL_RCC_SPI3_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_SPI3SMEN) != RESET)
mbed_official 610:813dcc80987e 2089
mbed_official 610:813dcc80987e 2090 #define __HAL_RCC_USART2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_USART2SMEN) != RESET)
mbed_official 610:813dcc80987e 2091
mbed_official 610:813dcc80987e 2092 #define __HAL_RCC_USART3_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_USART3SMEN) != RESET)
mbed_official 610:813dcc80987e 2093
mbed_official 610:813dcc80987e 2094 #define __HAL_RCC_UART4_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_UART4SMEN) != RESET)
mbed_official 610:813dcc80987e 2095
mbed_official 610:813dcc80987e 2096 #define __HAL_RCC_UART5_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_UART5SMEN) != RESET)
mbed_official 610:813dcc80987e 2097
mbed_official 610:813dcc80987e 2098 #define __HAL_RCC_I2C1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C1SMEN) != RESET)
mbed_official 610:813dcc80987e 2099
mbed_official 610:813dcc80987e 2100 #define __HAL_RCC_I2C2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C2SMEN) != RESET)
mbed_official 610:813dcc80987e 2101
mbed_official 610:813dcc80987e 2102 #define __HAL_RCC_I2C3_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C3SMEN) != RESET)
mbed_official 610:813dcc80987e 2103
mbed_official 610:813dcc80987e 2104 #define __HAL_RCC_CAN1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_CAN1SMEN) != RESET)
mbed_official 610:813dcc80987e 2105
mbed_official 610:813dcc80987e 2106 #define __HAL_RCC_PWR_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_PWRSMEN) != RESET)
mbed_official 610:813dcc80987e 2107
mbed_official 610:813dcc80987e 2108 #define __HAL_RCC_DAC1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_DAC1SMEN) != RESET)
mbed_official 610:813dcc80987e 2109
mbed_official 610:813dcc80987e 2110 #define __HAL_RCC_OPAMP_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_OPAMPSMEN) != RESET)
mbed_official 610:813dcc80987e 2111
mbed_official 610:813dcc80987e 2112 #define __HAL_RCC_LPTIM1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_LPTIM1SMEN) != RESET)
mbed_official 610:813dcc80987e 2113
mbed_official 610:813dcc80987e 2114 #define __HAL_RCC_LPUART1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_LPUART1SMEN) != RESET)
mbed_official 610:813dcc80987e 2115
mbed_official 610:813dcc80987e 2116 #define __HAL_RCC_SWPMI1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_SWPMI1SMEN) != RESET)
mbed_official 610:813dcc80987e 2117
mbed_official 610:813dcc80987e 2118 #define __HAL_RCC_LPTIM2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_LPTIM2SMEN) != RESET)
mbed_official 610:813dcc80987e 2119
mbed_official 610:813dcc80987e 2120 #define __HAL_RCC_TIM2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM2SMEN) == RESET)
mbed_official 610:813dcc80987e 2121
mbed_official 610:813dcc80987e 2122 #define __HAL_RCC_TIM3_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM3SMEN) == RESET)
mbed_official 610:813dcc80987e 2123
mbed_official 610:813dcc80987e 2124 #define __HAL_RCC_TIM4_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM4SMEN) == RESET)
mbed_official 610:813dcc80987e 2125
mbed_official 610:813dcc80987e 2126 #define __HAL_RCC_TIM5_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM5SMEN) == RESET)
mbed_official 610:813dcc80987e 2127
mbed_official 610:813dcc80987e 2128 #define __HAL_RCC_TIM6_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM6SMEN) == RESET)
mbed_official 610:813dcc80987e 2129
mbed_official 610:813dcc80987e 2130 #define __HAL_RCC_TIM7_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_TIM7SMEN) == RESET)
mbed_official 610:813dcc80987e 2131
mbed_official 610:813dcc80987e 2132 #define __HAL_RCC_WWDG_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_WWDGSMEN) == RESET)
mbed_official 610:813dcc80987e 2133
mbed_official 610:813dcc80987e 2134 #define __HAL_RCC_SPI2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_SPI2SMEN) == RESET)
mbed_official 610:813dcc80987e 2135
mbed_official 610:813dcc80987e 2136 #define __HAL_RCC_SPI3_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_SPI3SMEN) == RESET)
mbed_official 610:813dcc80987e 2137
mbed_official 610:813dcc80987e 2138 #define __HAL_RCC_USART2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_USART2SMEN) == RESET)
mbed_official 610:813dcc80987e 2139
mbed_official 610:813dcc80987e 2140 #define __HAL_RCC_USART3_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_USART3SMEN) == RESET)
mbed_official 610:813dcc80987e 2141
mbed_official 610:813dcc80987e 2142 #define __HAL_RCC_UART4_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_UART4SMEN) == RESET)
mbed_official 610:813dcc80987e 2143
mbed_official 610:813dcc80987e 2144 #define __HAL_RCC_UART5_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_UART5SMEN) == RESET)
mbed_official 610:813dcc80987e 2145
mbed_official 610:813dcc80987e 2146 #define __HAL_RCC_I2C1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C1SMEN) == RESET)
mbed_official 610:813dcc80987e 2147
mbed_official 610:813dcc80987e 2148 #define __HAL_RCC_I2C2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C2SMEN) == RESET)
mbed_official 610:813dcc80987e 2149
mbed_official 610:813dcc80987e 2150 #define __HAL_RCC_I2C3_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_I2C3SMEN) == RESET)
mbed_official 610:813dcc80987e 2151
mbed_official 610:813dcc80987e 2152 #define __HAL_RCC_CAN1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_CAN1SMEN) == RESET)
mbed_official 610:813dcc80987e 2153
mbed_official 610:813dcc80987e 2154 #define __HAL_RCC_PWR_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_PWRSMEN) == RESET)
mbed_official 610:813dcc80987e 2155
mbed_official 610:813dcc80987e 2156 #define __HAL_RCC_DAC1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_DAC1SMEN) == RESET)
mbed_official 610:813dcc80987e 2157
mbed_official 610:813dcc80987e 2158 #define __HAL_RCC_OPAMP_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_OPAMPSMEN) == RESET)
mbed_official 610:813dcc80987e 2159
mbed_official 610:813dcc80987e 2160 #define __HAL_RCC_LPTIM1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR1, RCC_APB1SMENR1_LPTIM1SMEN) == RESET)
mbed_official 610:813dcc80987e 2161
mbed_official 610:813dcc80987e 2162 #define __HAL_RCC_LPUART1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_LPUART1SMEN) == RESET)
mbed_official 610:813dcc80987e 2163
mbed_official 610:813dcc80987e 2164 #define __HAL_RCC_SWPMI1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_SWPMI1SMEN) == RESET)
mbed_official 610:813dcc80987e 2165
mbed_official 610:813dcc80987e 2166 #define __HAL_RCC_LPTIM2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB1SMENR2, RCC_APB1SMENR2_LPTIM2SMEN) == RESET)
mbed_official 610:813dcc80987e 2167
mbed_official 610:813dcc80987e 2168 /**
mbed_official 610:813dcc80987e 2169 * @}
mbed_official 610:813dcc80987e 2170 */
mbed_official 610:813dcc80987e 2171
mbed_official 610:813dcc80987e 2172 /** @defgroup RCC_APB2_Clock_Sleep_Enable_Disable_Status APB2 Peripheral Clock Sleep Enabled or Disabled Status
mbed_official 610:813dcc80987e 2173 * @brief Check whether the APB2 peripheral clock during Low Power (Sleep) mode is enabled or not.
mbed_official 610:813dcc80987e 2174 * @note Peripheral clock gating in SLEEP mode can be used to further reduce
mbed_official 610:813dcc80987e 2175 * power consumption.
mbed_official 610:813dcc80987e 2176 * @note After wakeup from SLEEP mode, the peripheral clock is enabled again.
mbed_official 610:813dcc80987e 2177 * @note By default, all peripheral clocks are enabled during SLEEP mode.
mbed_official 610:813dcc80987e 2178 * @{
mbed_official 610:813dcc80987e 2179 */
mbed_official 610:813dcc80987e 2180
mbed_official 610:813dcc80987e 2181 #define __HAL_RCC_SYSCFG_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SYSCFGSMEN) != RESET)
mbed_official 610:813dcc80987e 2182
mbed_official 610:813dcc80987e 2183 #define __HAL_RCC_SDMMC1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SDMMC1SMEN) != RESET)
mbed_official 610:813dcc80987e 2184
mbed_official 610:813dcc80987e 2185 #define __HAL_RCC_TIM1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM1SMEN) != RESET)
mbed_official 610:813dcc80987e 2186
mbed_official 610:813dcc80987e 2187 #define __HAL_RCC_SPI1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SPI1SMEN) != RESET)
mbed_official 610:813dcc80987e 2188
mbed_official 610:813dcc80987e 2189 #define __HAL_RCC_TIM8_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM8SMEN) != RESET)
mbed_official 610:813dcc80987e 2190
mbed_official 610:813dcc80987e 2191 #define __HAL_RCC_USART1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_USART1SMEN) != RESET)
mbed_official 610:813dcc80987e 2192
mbed_official 610:813dcc80987e 2193 #define __HAL_RCC_TIM15_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM15SMEN) != RESET)
mbed_official 610:813dcc80987e 2194
mbed_official 610:813dcc80987e 2195 #define __HAL_RCC_TIM16_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM16SMEN) != RESET)
mbed_official 610:813dcc80987e 2196
mbed_official 610:813dcc80987e 2197 #define __HAL_RCC_TIM17_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM17SMEN) != RESET)
mbed_official 610:813dcc80987e 2198
mbed_official 610:813dcc80987e 2199 #define __HAL_RCC_SAI1_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SAI1SMEN) != RESET)
mbed_official 610:813dcc80987e 2200
mbed_official 610:813dcc80987e 2201 #define __HAL_RCC_SAI2_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SAI2SMEN) != RESET)
mbed_official 610:813dcc80987e 2202
mbed_official 610:813dcc80987e 2203 #define __HAL_RCC_DFSDM_IS_CLK_SLEEP_ENABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_DFSDMSMEN) != RESET)
mbed_official 610:813dcc80987e 2204
mbed_official 610:813dcc80987e 2205 #define __HAL_RCC_SYSCFG_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SYSCFGSMEN) == RESET)
mbed_official 610:813dcc80987e 2206
mbed_official 610:813dcc80987e 2207 #define __HAL_RCC_SDMMC1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SDMMC1SMEN) == RESET)
mbed_official 610:813dcc80987e 2208
mbed_official 610:813dcc80987e 2209 #define __HAL_RCC_TIM1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM1SMEN) == RESET)
mbed_official 610:813dcc80987e 2210
mbed_official 610:813dcc80987e 2211 #define __HAL_RCC_SPI1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SPI1SMEN) == RESET)
mbed_official 610:813dcc80987e 2212
mbed_official 610:813dcc80987e 2213 #define __HAL_RCC_TIM8_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM8SMEN) == RESET)
mbed_official 610:813dcc80987e 2214
mbed_official 610:813dcc80987e 2215 #define __HAL_RCC_USART1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_USART1SMEN) == RESET)
mbed_official 610:813dcc80987e 2216
mbed_official 610:813dcc80987e 2217 #define __HAL_RCC_TIM15_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM15SMEN) == RESET)
mbed_official 610:813dcc80987e 2218
mbed_official 610:813dcc80987e 2219 #define __HAL_RCC_TIM16_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM16SMEN) == RESET)
mbed_official 610:813dcc80987e 2220
mbed_official 610:813dcc80987e 2221 #define __HAL_RCC_TIM17_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_TIM17SMEN) == RESET)
mbed_official 610:813dcc80987e 2222
mbed_official 610:813dcc80987e 2223 #define __HAL_RCC_SAI1_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SAI1SMEN) == RESET)
mbed_official 610:813dcc80987e 2224
mbed_official 610:813dcc80987e 2225 #define __HAL_RCC_SAI2_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_SAI2SMEN) == RESET)
mbed_official 610:813dcc80987e 2226
mbed_official 610:813dcc80987e 2227 #define __HAL_RCC_DFSDM_IS_CLK_SLEEP_DISABLED() (READ_BIT(RCC->APB2SMENR, RCC_APB2SMENR_DFSDMSMEN) == RESET)
mbed_official 610:813dcc80987e 2228
mbed_official 610:813dcc80987e 2229 /**
mbed_official 610:813dcc80987e 2230 * @}
mbed_official 610:813dcc80987e 2231 */
mbed_official 610:813dcc80987e 2232
mbed_official 610:813dcc80987e 2233 /** @defgroup RCC_Backup_Domain_Reset RCC Backup Domain Reset
mbed_official 610:813dcc80987e 2234 * @{
mbed_official 610:813dcc80987e 2235 */
mbed_official 610:813dcc80987e 2236
mbed_official 610:813dcc80987e 2237 /** @brief Macros to force or release the Backup domain reset.
mbed_official 610:813dcc80987e 2238 * @note This function resets the RTC peripheral (including the backup registers)
mbed_official 610:813dcc80987e 2239 * and the RTC clock source selection in RCC_CSR register.
mbed_official 610:813dcc80987e 2240 * @note The BKPSRAM is not affected by this reset.
mbed_official 610:813dcc80987e 2241 * @retval None
mbed_official 610:813dcc80987e 2242 */
mbed_official 610:813dcc80987e 2243 #define __HAL_RCC_BACKUPRESET_FORCE() SET_BIT(RCC->BDCR, RCC_BDCR_BDRST)
mbed_official 610:813dcc80987e 2244
mbed_official 610:813dcc80987e 2245 #define __HAL_RCC_BACKUPRESET_RELEASE() CLEAR_BIT(RCC->BDCR, RCC_BDCR_BDRST)
mbed_official 610:813dcc80987e 2246
mbed_official 610:813dcc80987e 2247 /**
mbed_official 610:813dcc80987e 2248 * @}
mbed_official 610:813dcc80987e 2249 */
mbed_official 610:813dcc80987e 2250
mbed_official 610:813dcc80987e 2251 /** @defgroup RCC_RTC_Clock_Configuration RCC RTC Clock Configuration
mbed_official 610:813dcc80987e 2252 * @{
mbed_official 610:813dcc80987e 2253 */
mbed_official 610:813dcc80987e 2254
mbed_official 610:813dcc80987e 2255 /** @brief Macros to enable or disable the RTC clock.
mbed_official 610:813dcc80987e 2256 * @note As the RTC is in the Backup domain and write access is denied to
mbed_official 610:813dcc80987e 2257 * this domain after reset, you have to enable write access using
mbed_official 610:813dcc80987e 2258 * HAL_PWR_EnableBkUpAccess() function before to configure the RTC
mbed_official 610:813dcc80987e 2259 * (to be done once after reset).
mbed_official 610:813dcc80987e 2260 * @note These macros must be used after the RTC clock source was selected.
mbed_official 610:813dcc80987e 2261 * @retval None
mbed_official 610:813dcc80987e 2262 */
mbed_official 610:813dcc80987e 2263 #define __HAL_RCC_RTC_ENABLE() SET_BIT(RCC->BDCR, RCC_BDCR_RTCEN)
mbed_official 610:813dcc80987e 2264
mbed_official 610:813dcc80987e 2265 #define __HAL_RCC_RTC_DISABLE() CLEAR_BIT(RCC->BDCR, RCC_BDCR_RTCEN)
mbed_official 610:813dcc80987e 2266
mbed_official 610:813dcc80987e 2267 /**
mbed_official 610:813dcc80987e 2268 * @}
mbed_official 610:813dcc80987e 2269 */
mbed_official 610:813dcc80987e 2270
mbed_official 610:813dcc80987e 2271 /** @brief Macros to enable or disable the Internal High Speed oscillator (HSI).
mbed_official 610:813dcc80987e 2272 * @note The HSI is stopped by hardware when entering STOP and STANDBY modes.
mbed_official 610:813dcc80987e 2273 * It is used (enabled by hardware) as system clock source after startup
mbed_official 610:813dcc80987e 2274 * from Reset, wakeup from STOP and STANDBY mode, or in case of failure
mbed_official 610:813dcc80987e 2275 * of the HSE used directly or indirectly as system clock (if the Clock
mbed_official 610:813dcc80987e 2276 * Security System CSS is enabled).
mbed_official 610:813dcc80987e 2277 * @note HSI can not be stopped if it is used as system clock source. In this case,
mbed_official 610:813dcc80987e 2278 * you have to select another source of the system clock then stop the HSI.
mbed_official 610:813dcc80987e 2279 * @note After enabling the HSI, the application software should wait on HSIRDY
mbed_official 610:813dcc80987e 2280 * flag to be set indicating that HSI clock is stable and can be used as
mbed_official 610:813dcc80987e 2281 * system clock source.
mbed_official 610:813dcc80987e 2282 * This parameter can be: ENABLE or DISABLE.
mbed_official 610:813dcc80987e 2283 * @note When the HSI is stopped, HSIRDY flag goes low after 6 HSI oscillator
mbed_official 610:813dcc80987e 2284 * clock cycles.
mbed_official 610:813dcc80987e 2285 * @retval None
mbed_official 610:813dcc80987e 2286 */
mbed_official 610:813dcc80987e 2287 #define __HAL_RCC_HSI_ENABLE() SET_BIT(RCC->CR, RCC_CR_HSION)
mbed_official 610:813dcc80987e 2288
mbed_official 610:813dcc80987e 2289 #define __HAL_RCC_HSI_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_HSION)
mbed_official 610:813dcc80987e 2290
mbed_official 610:813dcc80987e 2291 /** @brief Macro to adjust the Internal High Speed oscillator (HSI) calibration value.
mbed_official 610:813dcc80987e 2292 * @note The calibration is used to compensate for the variations in voltage
mbed_official 610:813dcc80987e 2293 * and temperature that influence the frequency of the internal HSI RC.
mbed_official 610:813dcc80987e 2294 * @param __HSICALIBRATIONVALUE__: specifies the calibration trimming value
mbed_official 610:813dcc80987e 2295 * (default is RCC_HSICALIBRATION_DEFAULT).
mbed_official 610:813dcc80987e 2296 * This parameter must be a number between 0 and 31.
mbed_official 610:813dcc80987e 2297 * @retval None
mbed_official 610:813dcc80987e 2298 */
mbed_official 610:813dcc80987e 2299 #define __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(__HSICALIBRATIONVALUE__) \
mbed_official 610:813dcc80987e 2300 MODIFY_REG(RCC->ICSCR, RCC_ICSCR_HSITRIM, (uint32_t)(__HSICALIBRATIONVALUE__) << POSITION_VAL(RCC_ICSCR_HSITRIM))
mbed_official 610:813dcc80987e 2301
mbed_official 610:813dcc80987e 2302 /**
mbed_official 610:813dcc80987e 2303 * @brief Macros to enable or disable the wakeup the Internal High Speed oscillator (HSI)
mbed_official 610:813dcc80987e 2304 * in parallel to the Internal Multi Speed oscillator (MSI) used at system wakeup.
mbed_official 610:813dcc80987e 2305 * @note The enable of this function has not effect on the HSION bit.
mbed_official 610:813dcc80987e 2306 * This parameter can be: ENABLE or DISABLE.
mbed_official 610:813dcc80987e 2307 * @retval None
mbed_official 610:813dcc80987e 2308 */
mbed_official 610:813dcc80987e 2309 #define __HAL_RCC_HSIAUTOMATIC_START_ENABLE() SET_BIT(RCC->CR, RCC_CR_HSIASFS)
mbed_official 610:813dcc80987e 2310
mbed_official 610:813dcc80987e 2311 #define __HAL_RCC_HSIAUTOMATIC_START_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_HSIASFS)
mbed_official 610:813dcc80987e 2312
mbed_official 610:813dcc80987e 2313 /**
mbed_official 610:813dcc80987e 2314 * @brief Macros to enable or disable the force of the Internal High Speed oscillator (HSI)
mbed_official 610:813dcc80987e 2315 * in STOP mode to be quickly available as kernel clock for USARTs and I2Cs.
mbed_official 610:813dcc80987e 2316 * @note Keeping the HSI ON in STOP mode allows to avoid slowing down the communication
mbed_official 610:813dcc80987e 2317 * speed because of the HSI startup time.
mbed_official 610:813dcc80987e 2318 * @note The enable of this function has not effect on the HSION bit.
mbed_official 610:813dcc80987e 2319 * This parameter can be: ENABLE or DISABLE.
mbed_official 610:813dcc80987e 2320 * @retval None
mbed_official 610:813dcc80987e 2321 */
mbed_official 610:813dcc80987e 2322 #define __HAL_RCC_HSISTOP_ENABLE() SET_BIT(RCC->CR, RCC_CR_HSIKERON)
mbed_official 610:813dcc80987e 2323
mbed_official 610:813dcc80987e 2324 #define __HAL_RCC_HSISTOP_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_HSIKERON)
mbed_official 610:813dcc80987e 2325
mbed_official 610:813dcc80987e 2326 /**
mbed_official 610:813dcc80987e 2327 * @brief Macros to enable or disable the Internal Multi Speed oscillator (MSI).
mbed_official 610:813dcc80987e 2328 * @note The MSI is stopped by hardware when entering STOP and STANDBY modes.
mbed_official 610:813dcc80987e 2329 * It is used (enabled by hardware) as system clock source after
mbed_official 610:813dcc80987e 2330 * startup from Reset, wakeup from STOP and STANDBY mode, or in case
mbed_official 610:813dcc80987e 2331 * of failure of the HSE used directly or indirectly as system clock
mbed_official 610:813dcc80987e 2332 * (if the Clock Security System CSS is enabled).
mbed_official 610:813dcc80987e 2333 * @note MSI can not be stopped if it is used as system clock source.
mbed_official 610:813dcc80987e 2334 * In this case, you have to select another source of the system
mbed_official 610:813dcc80987e 2335 * clock then stop the MSI.
mbed_official 610:813dcc80987e 2336 * @note After enabling the MSI, the application software should wait on
mbed_official 610:813dcc80987e 2337 * MSIRDY flag to be set indicating that MSI clock is stable and can
mbed_official 610:813dcc80987e 2338 * be used as system clock source.
mbed_official 610:813dcc80987e 2339 * @note When the MSI is stopped, MSIRDY flag goes low after 6 MSI oscillator
mbed_official 610:813dcc80987e 2340 * clock cycles.
mbed_official 610:813dcc80987e 2341 * @retval None
mbed_official 610:813dcc80987e 2342 */
mbed_official 610:813dcc80987e 2343 #define __HAL_RCC_MSI_ENABLE() SET_BIT(RCC->CR, RCC_CR_MSION)
mbed_official 610:813dcc80987e 2344
mbed_official 610:813dcc80987e 2345 #define __HAL_RCC_MSI_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_MSION)
mbed_official 610:813dcc80987e 2346
mbed_official 610:813dcc80987e 2347 /** @brief Macro Adjusts the Internal Multi Speed oscillator (MSI) calibration value.
mbed_official 610:813dcc80987e 2348 * @note The calibration is used to compensate for the variations in voltage
mbed_official 610:813dcc80987e 2349 * and temperature that influence the frequency of the internal MSI RC.
mbed_official 610:813dcc80987e 2350 * Refer to the Application Note AN3300 for more details on how to
mbed_official 610:813dcc80987e 2351 * calibrate the MSI.
mbed_official 610:813dcc80987e 2352 * @param __MSICALIBRATIONVALUE__: specifies the calibration trimming value
mbed_official 610:813dcc80987e 2353 * (default is RCC_MSICALIBRATION_DEFAULT).
mbed_official 610:813dcc80987e 2354 * This parameter must be a number between 0 and 255.
mbed_official 610:813dcc80987e 2355 * @retval None
mbed_official 610:813dcc80987e 2356 */
mbed_official 610:813dcc80987e 2357 #define __HAL_RCC_MSI_CALIBRATIONVALUE_ADJUST(__MSICALIBRATIONVALUE__) \
mbed_official 610:813dcc80987e 2358 MODIFY_REG(RCC->ICSCR, RCC_ICSCR_MSITRIM, (uint32_t)(__MSICALIBRATIONVALUE__) << 8)
mbed_official 610:813dcc80987e 2359
mbed_official 610:813dcc80987e 2360 /**
mbed_official 610:813dcc80987e 2361 * @brief Macro configures the Internal Multi Speed oscillator (MSI) clock range in run mode
mbed_official 610:813dcc80987e 2362 * @note After restart from Reset , the MSI clock is around 4 MHz.
mbed_official 610:813dcc80987e 2363 * After stop the startup clock can be MSI (at any of its possible
mbed_official 610:813dcc80987e 2364 * frequencies, the one that was used before entering stop mode) or HSI.
mbed_official 610:813dcc80987e 2365 * After Standby its frequency can be selected between 4 possible values
mbed_official 610:813dcc80987e 2366 * (1, 2, 4 or 8 MHz).
mbed_official 610:813dcc80987e 2367 * @note MSIRANGE can be modified when MSI is OFF (MSION=0) or when MSI is ready
mbed_official 610:813dcc80987e 2368 * (MSIRDY=1).
mbed_official 610:813dcc80987e 2369 * @note The MSI clock range after reset can be modified on the fly.
mbed_official 610:813dcc80987e 2370 * @param __MSIRANGEVALUE__: specifies the MSI clock range.
mbed_official 610:813dcc80987e 2371 * This parameter must be one of the following values:
mbed_official 610:813dcc80987e 2372 * @arg RCC_MSIRANGE_0: MSI clock is around 100 KHz
mbed_official 610:813dcc80987e 2373 * @arg RCC_MSIRANGE_1: MSI clock is around 200 KHz
mbed_official 610:813dcc80987e 2374 * @arg RCC_MSIRANGE_2: MSI clock is around 400 KHz
mbed_official 610:813dcc80987e 2375 * @arg RCC_MSIRANGE_3: MSI clock is around 800 KHz
mbed_official 610:813dcc80987e 2376 * @arg RCC_MSIRANGE_4: MSI clock is around 1 MHz
mbed_official 610:813dcc80987e 2377 * @arg RCC_MSIRANGE_5: MSI clock is around 2MHz
mbed_official 610:813dcc80987e 2378 * @arg RCC_MSIRANGE_6: MSI clock is around 4MHz (default after Reset)
mbed_official 610:813dcc80987e 2379 * @arg RCC_MSIRANGE_7: MSI clock is around 8 MHz
mbed_official 610:813dcc80987e 2380 * @arg RCC_MSIRANGE_8: MSI clock is around 16 MHz
mbed_official 610:813dcc80987e 2381 * @arg RCC_MSIRANGE_9: MSI clock is around 24 MHz
mbed_official 610:813dcc80987e 2382 * @arg RCC_MSIRANGE_10: MSI clock is around 32 MHz
mbed_official 610:813dcc80987e 2383 * @arg RCC_MSIRANGE_11: MSI clock is around 48 MHz
mbed_official 610:813dcc80987e 2384 * @retval None
mbed_official 610:813dcc80987e 2385 */
mbed_official 610:813dcc80987e 2386 #define __HAL_RCC_MSI_RANGE_CONFIG(__MSIRANGEVALUE__) \
mbed_official 610:813dcc80987e 2387 do { \
mbed_official 610:813dcc80987e 2388 SET_BIT(RCC->CR, RCC_CR_MSIRGSEL); \
mbed_official 610:813dcc80987e 2389 MODIFY_REG(RCC->CR, RCC_CR_MSIRANGE, (__MSIRANGEVALUE__)); \
mbed_official 610:813dcc80987e 2390 } while(0)
mbed_official 610:813dcc80987e 2391
mbed_official 610:813dcc80987e 2392 /**
mbed_official 610:813dcc80987e 2393 * @brief Macro configures the Internal Multi Speed oscillator (MSI) clock range after Standby mode
mbed_official 610:813dcc80987e 2394 * After Standby its frequency can be selected between 4 possible values (1, 2, 4 or 8 MHz).
mbed_official 610:813dcc80987e 2395 * @param __MSIRANGEVALUE__: specifies the MSI clock range.
mbed_official 610:813dcc80987e 2396 * This parameter must be one of the following values:
mbed_official 610:813dcc80987e 2397 * @arg RCC_MSIRANGE_4: MSI clock is around 1 MHz
mbed_official 610:813dcc80987e 2398 * @arg RCC_MSIRANGE_5: MSI clock is around 2MHz
mbed_official 610:813dcc80987e 2399 * @arg RCC_MSIRANGE_6: MSI clock is around 4MHz (default after Reset)
mbed_official 610:813dcc80987e 2400 * @arg RCC_MSIRANGE_7: MSI clock is around 8 MHz
mbed_official 610:813dcc80987e 2401 * @retval None
mbed_official 610:813dcc80987e 2402 */
mbed_official 610:813dcc80987e 2403 #define __HAL_RCC_MSI_STANDBY_RANGE_CONFIG(__MSIRANGEVALUE__) \
mbed_official 610:813dcc80987e 2404 MODIFY_REG(RCC->CSR, RCC_CSR_MSISRANGE, (__MSIRANGEVALUE__) << 4U)
mbed_official 610:813dcc80987e 2405
mbed_official 610:813dcc80987e 2406 /** @brief Macro to get the Internal Multi Speed oscillator (MSI) clock range in run mode
mbed_official 610:813dcc80987e 2407 * @retval MSI clock range.
mbed_official 610:813dcc80987e 2408 * This parameter must be one of the following values:
mbed_official 610:813dcc80987e 2409 * @arg RCC_MSIRANGE_0: MSI clock is around 100 KHz
mbed_official 610:813dcc80987e 2410 * @arg RCC_MSIRANGE_1: MSI clock is around 200 KHz
mbed_official 610:813dcc80987e 2411 * @arg RCC_MSIRANGE_2: MSI clock is around 400 KHz
mbed_official 610:813dcc80987e 2412 * @arg RCC_MSIRANGE_3: MSI clock is around 800 KHz
mbed_official 610:813dcc80987e 2413 * @arg RCC_MSIRANGE_4: MSI clock is around 1 MHz
mbed_official 610:813dcc80987e 2414 * @arg RCC_MSIRANGE_5: MSI clock is around 2MHz
mbed_official 610:813dcc80987e 2415 * @arg RCC_MSIRANGE_6: MSI clock is around 4MHz (default after Reset)
mbed_official 610:813dcc80987e 2416 * @arg RCC_MSIRANGE_7: MSI clock is around 8 MHz
mbed_official 610:813dcc80987e 2417 * @arg RCC_MSIRANGE_8: MSI clock is around 16 MHz
mbed_official 610:813dcc80987e 2418 * @arg RCC_MSIRANGE_9: MSI clock is around 24 MHz
mbed_official 610:813dcc80987e 2419 * @arg RCC_MSIRANGE_10: MSI clock is around 32 MHz
mbed_official 610:813dcc80987e 2420 * @arg RCC_MSIRANGE_11: MSI clock is around 48 MHz
mbed_official 610:813dcc80987e 2421 */
mbed_official 610:813dcc80987e 2422 #define __HAL_RCC_GET_MSI_RANGE() \
mbed_official 610:813dcc80987e 2423 ((READ_BIT(RCC->CR, RCC_CR_MSIRGSEL) != RESET) ? \
mbed_official 610:813dcc80987e 2424 (uint32_t)(READ_BIT(RCC->CR, RCC_CR_MSIRANGE)) : \
mbed_official 610:813dcc80987e 2425 (uint32_t)(READ_BIT(RCC->CSR, RCC_CSR_MSISRANGE) >> 4))
mbed_official 610:813dcc80987e 2426
mbed_official 610:813dcc80987e 2427 /** @brief Macros to enable or disable the Internal Low Speed oscillator (LSI).
mbed_official 610:813dcc80987e 2428 * @note After enabling the LSI, the application software should wait on
mbed_official 610:813dcc80987e 2429 * LSIRDY flag to be set indicating that LSI clock is stable and can
mbed_official 610:813dcc80987e 2430 * be used to clock the IWDG and/or the RTC.
mbed_official 610:813dcc80987e 2431 * @note LSI can not be disabled if the IWDG is running.
mbed_official 610:813dcc80987e 2432 * @note When the LSI is stopped, LSIRDY flag goes low after 6 LSI oscillator
mbed_official 610:813dcc80987e 2433 * clock cycles.
mbed_official 610:813dcc80987e 2434 * @retval None
mbed_official 610:813dcc80987e 2435 */
mbed_official 610:813dcc80987e 2436 #define __HAL_RCC_LSI_ENABLE() SET_BIT(RCC->CSR, RCC_CSR_LSION)
mbed_official 610:813dcc80987e 2437
mbed_official 610:813dcc80987e 2438 #define __HAL_RCC_LSI_DISABLE() CLEAR_BIT(RCC->CSR, RCC_CSR_LSION)
mbed_official 610:813dcc80987e 2439
mbed_official 610:813dcc80987e 2440 /**
mbed_official 610:813dcc80987e 2441 * @brief Macro to configure the External High Speed oscillator (HSE).
mbed_official 610:813dcc80987e 2442 * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not
mbed_official 610:813dcc80987e 2443 * supported by this macro. User should request a transition to HSE Off
mbed_official 610:813dcc80987e 2444 * first and then HSE On or HSE Bypass.
mbed_official 610:813dcc80987e 2445 * @note After enabling the HSE (RCC_HSE_ON or RCC_HSE_Bypass), the application
mbed_official 610:813dcc80987e 2446 * software should wait on HSERDY flag to be set indicating that HSE clock
mbed_official 610:813dcc80987e 2447 * is stable and can be used to clock the PLL and/or system clock.
mbed_official 610:813dcc80987e 2448 * @note HSE state can not be changed if it is used directly or through the
mbed_official 610:813dcc80987e 2449 * PLL as system clock. In this case, you have to select another source
mbed_official 610:813dcc80987e 2450 * of the system clock then change the HSE state (ex. disable it).
mbed_official 610:813dcc80987e 2451 * @note The HSE is stopped by hardware when entering STOP and STANDBY modes.
mbed_official 610:813dcc80987e 2452 * @note This function reset the CSSON bit, so if the clock security system(CSS)
mbed_official 610:813dcc80987e 2453 * was previously enabled you have to enable it again after calling this
mbed_official 610:813dcc80987e 2454 * function.
mbed_official 610:813dcc80987e 2455 * @param __STATE__: specifies the new state of the HSE.
mbed_official 610:813dcc80987e 2456 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2457 * @arg RCC_HSE_OFF: turn OFF the HSE oscillator, HSERDY flag goes low after
mbed_official 610:813dcc80987e 2458 * 6 HSE oscillator clock cycles.
mbed_official 610:813dcc80987e 2459 * @arg RCC_HSE_ON: turn ON the HSE oscillator.
mbed_official 610:813dcc80987e 2460 * @arg RCC_HSE_BYPASS: HSE oscillator bypassed with external clock.
mbed_official 610:813dcc80987e 2461 * @retval None
mbed_official 610:813dcc80987e 2462 */
mbed_official 610:813dcc80987e 2463 #define __HAL_RCC_HSE_CONFIG(__STATE__) \
mbed_official 610:813dcc80987e 2464 do { \
mbed_official 610:813dcc80987e 2465 if((__STATE__) == RCC_HSE_ON) \
mbed_official 610:813dcc80987e 2466 { \
mbed_official 610:813dcc80987e 2467 SET_BIT(RCC->CR, RCC_CR_HSEON); \
mbed_official 610:813dcc80987e 2468 } \
mbed_official 610:813dcc80987e 2469 else if((__STATE__) == RCC_HSE_BYPASS) \
mbed_official 610:813dcc80987e 2470 { \
mbed_official 610:813dcc80987e 2471 CLEAR_BIT(RCC->CR, RCC_CR_HSEON); \
mbed_official 610:813dcc80987e 2472 SET_BIT(RCC->CR, RCC_CR_HSEBYP); \
mbed_official 610:813dcc80987e 2473 SET_BIT(RCC->CR, RCC_CR_HSEON); \
mbed_official 610:813dcc80987e 2474 } \
mbed_official 610:813dcc80987e 2475 else \
mbed_official 610:813dcc80987e 2476 { \
mbed_official 610:813dcc80987e 2477 CLEAR_BIT(RCC->CR, RCC_CR_HSEON); \
mbed_official 610:813dcc80987e 2478 CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); \
mbed_official 610:813dcc80987e 2479 } \
mbed_official 610:813dcc80987e 2480 } while(0)
mbed_official 610:813dcc80987e 2481
mbed_official 610:813dcc80987e 2482 /**
mbed_official 610:813dcc80987e 2483 * @brief Macro to configure the External Low Speed oscillator (LSE).
mbed_official 610:813dcc80987e 2484 * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not
mbed_official 610:813dcc80987e 2485 * supported by this macro. User should request a transition to LSE Off
mbed_official 610:813dcc80987e 2486 * first and then LSE On or LSE Bypass.
mbed_official 610:813dcc80987e 2487 * @note As the LSE is in the Backup domain and write access is denied to
mbed_official 610:813dcc80987e 2488 * this domain after reset, you have to enable write access using
mbed_official 610:813dcc80987e 2489 * HAL_PWR_EnableBkUpAccess() function before to configure the LSE
mbed_official 610:813dcc80987e 2490 * (to be done once after reset).
mbed_official 610:813dcc80987e 2491 * @note After enabling the LSE (RCC_LSE_ON or RCC_LSE_BYPASS), the application
mbed_official 610:813dcc80987e 2492 * software should wait on LSERDY flag to be set indicating that LSE clock
mbed_official 610:813dcc80987e 2493 * is stable and can be used to clock the RTC.
mbed_official 610:813dcc80987e 2494 * @param __STATE__: specifies the new state of the LSE.
mbed_official 610:813dcc80987e 2495 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2496 * @arg RCC_LSE_OFF: turn OFF the LSE oscillator, LSERDY flag goes low after
mbed_official 610:813dcc80987e 2497 * 6 LSE oscillator clock cycles.
mbed_official 610:813dcc80987e 2498 * @arg RCC_LSE_ON: turn ON the LSE oscillator.
mbed_official 610:813dcc80987e 2499 * @arg RCC_LSE_BYPASS: LSE oscillator bypassed with external clock.
mbed_official 610:813dcc80987e 2500 * @retval None
mbed_official 610:813dcc80987e 2501 */
mbed_official 610:813dcc80987e 2502 #define __HAL_RCC_LSE_CONFIG(__STATE__) \
mbed_official 610:813dcc80987e 2503 do { \
mbed_official 610:813dcc80987e 2504 if((__STATE__) == RCC_LSE_ON) \
mbed_official 610:813dcc80987e 2505 { \
mbed_official 610:813dcc80987e 2506 SET_BIT(RCC->BDCR, RCC_BDCR_LSEON); \
mbed_official 610:813dcc80987e 2507 } \
mbed_official 610:813dcc80987e 2508 else if((__STATE__) == RCC_LSE_OFF) \
mbed_official 610:813dcc80987e 2509 { \
mbed_official 610:813dcc80987e 2510 CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEON); \
mbed_official 610:813dcc80987e 2511 CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEBYP); \
mbed_official 610:813dcc80987e 2512 } \
mbed_official 610:813dcc80987e 2513 else if((__STATE__) == RCC_LSE_BYPASS) \
mbed_official 610:813dcc80987e 2514 { \
mbed_official 610:813dcc80987e 2515 CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEON); \
mbed_official 610:813dcc80987e 2516 SET_BIT(RCC->BDCR, RCC_BDCR_LSEBYP); \
mbed_official 610:813dcc80987e 2517 SET_BIT(RCC->BDCR, RCC_BDCR_LSEON); \
mbed_official 610:813dcc80987e 2518 } \
mbed_official 610:813dcc80987e 2519 else \
mbed_official 610:813dcc80987e 2520 { \
mbed_official 610:813dcc80987e 2521 CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEON); \
mbed_official 610:813dcc80987e 2522 CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEBYP); \
mbed_official 610:813dcc80987e 2523 } \
mbed_official 610:813dcc80987e 2524 } while(0)
mbed_official 610:813dcc80987e 2525
mbed_official 610:813dcc80987e 2526 /** @brief Macros to configure the RTC clock (RTCCLK).
mbed_official 610:813dcc80987e 2527 * @note As the RTC clock configuration bits are in the Backup domain and write
mbed_official 610:813dcc80987e 2528 * access is denied to this domain after reset, you have to enable write
mbed_official 610:813dcc80987e 2529 * access using the Power Backup Access macro before to configure
mbed_official 610:813dcc80987e 2530 * the RTC clock source (to be done once after reset).
mbed_official 610:813dcc80987e 2531 * @note Once the RTC clock is configured it cannot be changed unless the
mbed_official 610:813dcc80987e 2532 * Backup domain is reset using __HAL_RCC_BACKUPRESET_FORCE() macro, or by
mbed_official 610:813dcc80987e 2533 * a Power On Reset (POR).
mbed_official 610:813dcc80987e 2534 *
mbed_official 610:813dcc80987e 2535 * @param __RTC_CLKSOURCE__: specifies the RTC clock source.
mbed_official 610:813dcc80987e 2536 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2537 * @arg RCC_RTCCLKSOURCE_LSE: LSE selected as RTC clock.
mbed_official 610:813dcc80987e 2538 * @arg RCC_RTCCLKSOURCE_LSI: LSI selected as RTC clock.
mbed_official 610:813dcc80987e 2539 * @arg RCC_RTCCLKSOURCE_HSE_DIV32: HSE clock divided by 32 selected
mbed_official 610:813dcc80987e 2540 *
mbed_official 610:813dcc80987e 2541 * @note If the LSE or LSI is used as RTC clock source, the RTC continues to
mbed_official 610:813dcc80987e 2542 * work in STOP and STANDBY modes, and can be used as wakeup source.
mbed_official 610:813dcc80987e 2543 * However, when the HSE clock is used as RTC clock source, the RTC
mbed_official 610:813dcc80987e 2544 * cannot be used in STOP and STANDBY modes.
mbed_official 610:813dcc80987e 2545 * @note The maximum input clock frequency for RTC is 1MHz (when using HSE as
mbed_official 610:813dcc80987e 2546 * RTC clock source).
mbed_official 610:813dcc80987e 2547 * @retval None
mbed_official 610:813dcc80987e 2548 */
mbed_official 610:813dcc80987e 2549 #define __HAL_RCC_RTC_CONFIG(__RTC_CLKSOURCE__) \
mbed_official 610:813dcc80987e 2550 MODIFY_REG( RCC->BDCR, RCC_BDCR_RTCSEL, (__RTC_CLKSOURCE__))
mbed_official 610:813dcc80987e 2551
mbed_official 610:813dcc80987e 2552
mbed_official 610:813dcc80987e 2553 /** @brief Macro to get the RTC clock source.
mbed_official 610:813dcc80987e 2554 * @retval The returned value can be one of the following:
mbed_official 610:813dcc80987e 2555 * @arg RCC_RTCCLKSOURCE_LSE: LSE selected as RTC clock.
mbed_official 610:813dcc80987e 2556 * @arg RCC_RTCCLKSOURCE_LSI: LSI selected as RTC clock.
mbed_official 610:813dcc80987e 2557 * @arg RCC_RTCCLKSOURCE_HSE_DIV32: HSE clock divided by 32 selected
mbed_official 610:813dcc80987e 2558 */
mbed_official 610:813dcc80987e 2559 #define __HAL_RCC_GET_RTC_SOURCE() ((uint32_t)(READ_BIT(RCC->BDCR, RCC_BDCR_RTCSEL)))
mbed_official 610:813dcc80987e 2560
mbed_official 610:813dcc80987e 2561 /** @brief Macros to enable or disable the main PLL.
mbed_official 610:813dcc80987e 2562 * @note After enabling the main PLL, the application software should wait on
mbed_official 610:813dcc80987e 2563 * PLLRDY flag to be set indicating that PLL clock is stable and can
mbed_official 610:813dcc80987e 2564 * be used as system clock source.
mbed_official 610:813dcc80987e 2565 * @note The main PLL can not be disabled if it is used as system clock source
mbed_official 610:813dcc80987e 2566 * @note The main PLL is disabled by hardware when entering STOP and STANDBY modes.
mbed_official 610:813dcc80987e 2567 * @retval None
mbed_official 610:813dcc80987e 2568 */
mbed_official 610:813dcc80987e 2569 #define __HAL_RCC_PLL_ENABLE() SET_BIT(RCC->CR, RCC_CR_PLLON)
mbed_official 610:813dcc80987e 2570
mbed_official 610:813dcc80987e 2571 #define __HAL_RCC_PLL_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_PLLON)
mbed_official 610:813dcc80987e 2572
mbed_official 610:813dcc80987e 2573 /** @brief Macro to configure the PLL clock source.
mbed_official 610:813dcc80987e 2574 * @note This function must be used only when the main PLL is disabled.
mbed_official 610:813dcc80987e 2575 * @param __PLLSOURCE__: specifies the PLL entry clock source.
mbed_official 610:813dcc80987e 2576 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2577 * @arg RCC_PLLSOURCE_NONE: No clock selected as PLL clock entry
mbed_official 610:813dcc80987e 2578 * @arg RCC_PLLSOURCE_MSI: MSI oscillator clock selected as PLL clock entry
mbed_official 610:813dcc80987e 2579 * @arg RCC_PLLSOURCE_HSI: HSI oscillator clock selected as PLL clock entry
mbed_official 610:813dcc80987e 2580 * @arg RCC_PLLSOURCE_HSE: HSE oscillator clock selected as PLL clock entry
mbed_official 610:813dcc80987e 2581 * @note This clock source is common for the main PLL and audio PLL (PLLSAI1 and PLLSAI2).
mbed_official 610:813dcc80987e 2582 * @retval None
mbed_official 610:813dcc80987e 2583 *
mbed_official 610:813dcc80987e 2584 */
mbed_official 610:813dcc80987e 2585 #define __HAL_RCC_PLL_PLLSOURCE_CONFIG(__PLLSOURCE__) \
mbed_official 610:813dcc80987e 2586 MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC, (__PLLSOURCE__))
mbed_official 610:813dcc80987e 2587
mbed_official 610:813dcc80987e 2588 /** @brief Macro to configure the PLL multiplication factor.
mbed_official 610:813dcc80987e 2589 * @note This function must be used only when the main PLL is disabled.
mbed_official 610:813dcc80987e 2590 * @param __PLLM__: specifies the division factor for PLL VCO input clock
mbed_official 610:813dcc80987e 2591 * This parameter must be a number between Min_Data = 1 and Max_Data = 8.
mbed_official 610:813dcc80987e 2592 * @note You have to set the PLLM parameter correctly to ensure that the VCO input
mbed_official 610:813dcc80987e 2593 * frequency ranges from 4 to 16 MHz. It is recommended to select a frequency
mbed_official 610:813dcc80987e 2594 * of 16 MHz to limit PLL jitter.
mbed_official 610:813dcc80987e 2595 * @retval None
mbed_official 610:813dcc80987e 2596 *
mbed_official 610:813dcc80987e 2597 */
mbed_official 610:813dcc80987e 2598 #define __HAL_RCC_PLL_PLLM_CONFIG(__PLLM__) \
mbed_official 610:813dcc80987e 2599 MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLLM, ((__PLLM__) - 1) << 4U)
mbed_official 610:813dcc80987e 2600
mbed_official 610:813dcc80987e 2601 /**
mbed_official 610:813dcc80987e 2602 * @brief Macro to configure the main PLL clock source, multiplication and division factors.
mbed_official 610:813dcc80987e 2603 * @note This function must be used only when the main PLL is disabled.
mbed_official 610:813dcc80987e 2604 *
mbed_official 610:813dcc80987e 2605 * @param __PLLSOURCE__: specifies the PLL entry clock source.
mbed_official 610:813dcc80987e 2606 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2607 * @arg RCC_PLLSOURCE_NONE: No clock selected as PLL clock entry
mbed_official 610:813dcc80987e 2608 * @arg RCC_PLLSOURCE_MSI: MSI oscillator clock selected as PLL clock entry
mbed_official 610:813dcc80987e 2609 * @arg RCC_PLLSOURCE_HSI: HSI oscillator clock selected as PLL clock entry
mbed_official 610:813dcc80987e 2610 * @arg RCC_PLLSOURCE_HSE: HSE oscillator clock selected as PLL clock entry
mbed_official 610:813dcc80987e 2611 * @note This clock source is common for the main PLL and audio PLL (PLLSAI1 and PLLSAI2).
mbed_official 610:813dcc80987e 2612 *
mbed_official 610:813dcc80987e 2613 * @param __PLLM__: specifies the division factor for PLL VCO input clock.
mbed_official 610:813dcc80987e 2614 * This parameter must be a number between 1 and 8.
mbed_official 610:813dcc80987e 2615 * @note You have to set the PLLM parameter correctly to ensure that the VCO input
mbed_official 610:813dcc80987e 2616 * frequency ranges from 4 to 16 MHz. It is recommended to select a frequency
mbed_official 610:813dcc80987e 2617 * of 16 MHz to limit PLL jitter.
mbed_official 610:813dcc80987e 2618 *
mbed_official 610:813dcc80987e 2619 * @param __PLLN__: specifies the multiplication factor for PLL VCO output clock.
mbed_official 610:813dcc80987e 2620 * This parameter must be a number between 8 and 86.
mbed_official 610:813dcc80987e 2621 * @note You have to set the PLLN parameter correctly to ensure that the VCO
mbed_official 610:813dcc80987e 2622 * output frequency is between 64 and 344 MHz.
mbed_official 610:813dcc80987e 2623 *
mbed_official 610:813dcc80987e 2624 * @param __PLLP__: specifies the division factor for SAI clock.
mbed_official 610:813dcc80987e 2625 * This parameter must be a number in the range (7 or 17).
mbed_official 610:813dcc80987e 2626 *
mbed_official 610:813dcc80987e 2627 * @param __PLLQ__: specifies the division factor for OTG FS, SDMMC1 and RNG clocks.
mbed_official 610:813dcc80987e 2628 * This parameter must be in the range (2, 4, 6 or 8).
mbed_official 610:813dcc80987e 2629 * @note If the USB OTG FS is used in your application, you have to set the
mbed_official 610:813dcc80987e 2630 * PLLQ parameter correctly to have 48 MHz clock for the USB. However,
mbed_official 610:813dcc80987e 2631 * the SDMMC1 and RNG need a frequency lower than or equal to 48 MHz to work
mbed_official 610:813dcc80987e 2632 * correctly.
mbed_official 610:813dcc80987e 2633 * @param __PLLR__: specifies the division factor for the main system clock.
mbed_official 610:813dcc80987e 2634 * @note You have to set the PLLR parameter correctly to not exceed 80MHZ.
mbed_official 610:813dcc80987e 2635 * This parameter must be in the range (2, 4, 6 or 8).
mbed_official 610:813dcc80987e 2636 * @retval None
mbed_official 610:813dcc80987e 2637 */
mbed_official 610:813dcc80987e 2638 #define __HAL_RCC_PLL_CONFIG(__PLLSOURCE__, __PLLM__, __PLLN__, __PLLP__, __PLLQ__,__PLLR__ ) \
mbed_official 610:813dcc80987e 2639 (RCC->PLLCFGR = (((__PLLM__) - 1) << 4U) | ((__PLLN__) << 8U) | (((__PLLP__) >> 4U ) << 17U) | \
mbed_official 610:813dcc80987e 2640 (__PLLSOURCE__) | ((((__PLLQ__) >> 1U) - 1) << 21U) | ((((__PLLR__) >> 1U) - 1) << 25U))
mbed_official 610:813dcc80987e 2641
mbed_official 610:813dcc80987e 2642 /** @brief Macro to get the oscillator used as PLL clock source.
mbed_official 610:813dcc80987e 2643 * @retval The oscillator used as PLL clock source. The returned value can be one
mbed_official 610:813dcc80987e 2644 * of the following:
mbed_official 610:813dcc80987e 2645 * - RCC_PLLSOURCE_NONE: No oscillator is used as PLL clock source.
mbed_official 610:813dcc80987e 2646 * - RCC_PLLSOURCE_MSI: MSI oscillator is used as PLL clock source.
mbed_official 610:813dcc80987e 2647 * - RCC_PLLSOURCE_HSI: HSI oscillator is used as PLL clock source.
mbed_official 610:813dcc80987e 2648 * - RCC_PLLSOURCE_HSE: HSE oscillator is used as PLL clock source.
mbed_official 610:813dcc80987e 2649 */
mbed_official 610:813dcc80987e 2650 #define __HAL_RCC_GET_PLL_OSCSOURCE() ((uint32_t)(RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC))
mbed_official 610:813dcc80987e 2651
mbed_official 610:813dcc80987e 2652 /**
mbed_official 610:813dcc80987e 2653 * @brief Enable or disable each clock output (RCC_PLL_SYSCLK, RCC_PLL_48M1CLK, RCC_PLL_SAI3CLK)
mbed_official 610:813dcc80987e 2654 * @note Enabling/disabling clock outputs RCC_PLL_SAI3CLK and RCC_PLL_48M1CLK can be done at anytime
mbed_official 610:813dcc80987e 2655 * without the need to stop the PLL in order to save power. But RCC_PLL_SYSCLK cannot
mbed_official 610:813dcc80987e 2656 * be stopped if used as System Clock.
mbed_official 610:813dcc80987e 2657 * @param __PLLCLOCKOUT__: specifies the PLL clock to be output.
mbed_official 610:813dcc80987e 2658 * This parameter can be one or a combination of the following values:
mbed_official 610:813dcc80987e 2659 * @arg RCC_PLL_SAI3CLK: This clock is used to generate an accurate clock to achieve
mbed_official 610:813dcc80987e 2660 * high-quality audio performance on SAI interface in case.
mbed_official 610:813dcc80987e 2661 * @arg RCC_PLL_48M1CLK: This Clock is used to generate the clock for the USB OTG FS (48 MHz),
mbed_official 610:813dcc80987e 2662 * the random analog generator (<=48 MHz) and the SDMMC1 (<= 48 MHz).
mbed_official 610:813dcc80987e 2663 * @arg RCC_PLL_SYSCLK: This Clock is used to generate the high speed system clock (up to 80MHz)
mbed_official 610:813dcc80987e 2664 * @retval None
mbed_official 610:813dcc80987e 2665 */
mbed_official 610:813dcc80987e 2666 #define __HAL_RCC_PLLCLKOUT_ENABLE(__PLLCLOCKOUT__) SET_BIT(RCC->PLLCFGR, (__PLLCLOCKOUT__))
mbed_official 610:813dcc80987e 2667
mbed_official 610:813dcc80987e 2668 #define __HAL_RCC_PLLCLKOUT_DISABLE(__PLLCLOCKOUT__) CLEAR_BIT(RCC->PLLCFGR, (__PLLCLOCKOUT__))
mbed_official 610:813dcc80987e 2669
mbed_official 610:813dcc80987e 2670 /**
mbed_official 610:813dcc80987e 2671 * @brief Get clock output enable status (RCC_PLL_SYSCLK, RCC_PLL_48M1CLK, RCC_PLL_SAI3CLK)
mbed_official 610:813dcc80987e 2672 * @param __PLLCLOCKOUT__: specifies the output PLL clock to be checked.
mbed_official 610:813dcc80987e 2673 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2674 * @arg RCC_PLL_SAI3CLK: This clock is used to generate an accurate clock to achieve
mbed_official 610:813dcc80987e 2675 * high-quality audio performance on SAI interface in case.
mbed_official 610:813dcc80987e 2676 * @arg RCC_PLL_48M1CLK: This Clock is used to generate the clock for the USB OTG FS (48 MHz),
mbed_official 610:813dcc80987e 2677 * the random analog generator (<=48 MHz) and the SDMMC1 (<= 48 MHz).
mbed_official 610:813dcc80987e 2678 * @arg RCC_PLL_SYSCLK: This Clock is used to generate the high speed system clock (up to 80MHz)
mbed_official 610:813dcc80987e 2679 * @retval SET / RESET
mbed_official 610:813dcc80987e 2680 */
mbed_official 610:813dcc80987e 2681 #define __HAL_RCC_GET_PLLCLKOUT_CONFIG(__PLLCLOCKOUT__) READ_BIT(RCC->PLLCFGR, (__PLLCLOCKOUT__))
mbed_official 610:813dcc80987e 2682
mbed_official 610:813dcc80987e 2683 /**
mbed_official 610:813dcc80987e 2684 * @brief Macro to configure the system clock source.
mbed_official 610:813dcc80987e 2685 * @param __SYSCLKSOURCE__: specifies the system clock source.
mbed_official 610:813dcc80987e 2686 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2687 * - RCC_SYSCLKSOURCE_MSI: MSI oscillator is used as system clock source.
mbed_official 610:813dcc80987e 2688 * - RCC_SYSCLKSOURCE_HSI: HSI oscillator is used as system clock source.
mbed_official 610:813dcc80987e 2689 * - RCC_SYSCLKSOURCE_HSE: HSE oscillator is used as system clock source.
mbed_official 610:813dcc80987e 2690 * - RCC_SYSCLKSOURCE_PLLCLK: PLL output is used as system clock source.
mbed_official 610:813dcc80987e 2691 * @retval None
mbed_official 610:813dcc80987e 2692 */
mbed_official 610:813dcc80987e 2693 #define __HAL_RCC_SYSCLK_CONFIG(__SYSCLKSOURCE__) \
mbed_official 610:813dcc80987e 2694 MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, (__SYSCLKSOURCE__))
mbed_official 610:813dcc80987e 2695
mbed_official 610:813dcc80987e 2696 /** @brief Macro to get the clock source used as system clock.
mbed_official 610:813dcc80987e 2697 * @retval The clock source used as system clock. The returned value can be one
mbed_official 610:813dcc80987e 2698 * of the following:
mbed_official 610:813dcc80987e 2699 * - RCC_SYSCLKSOURCE_STATUS_MSI: MSI used as system clock.
mbed_official 610:813dcc80987e 2700 * - RCC_SYSCLKSOURCE_STATUS_HSI: HSI used as system clock.
mbed_official 610:813dcc80987e 2701 * - RCC_SYSCLKSOURCE_STATUS_HSE: HSE used as system clock.
mbed_official 610:813dcc80987e 2702 * - RCC_SYSCLKSOURCE_STATUS_PLLCLK: PLL used as system clock.
mbed_official 610:813dcc80987e 2703 */
mbed_official 610:813dcc80987e 2704 #define __HAL_RCC_GET_SYSCLK_SOURCE() ((uint32_t)(RCC->CFGR & RCC_CFGR_SWS))
mbed_official 610:813dcc80987e 2705
mbed_official 610:813dcc80987e 2706 /**
mbed_official 610:813dcc80987e 2707 * @brief Macro to configures the External Low Speed oscillator (LSE) drive capability.
mbed_official 610:813dcc80987e 2708 * @note As the LSE is in the Backup domain and write access is denied to
mbed_official 610:813dcc80987e 2709 * this domain after reset, you have to enable write access using
mbed_official 610:813dcc80987e 2710 * HAL_PWR_EnableBkUpAccess() function before to configure the LSE
mbed_official 610:813dcc80987e 2711 * (to be done once after reset).
mbed_official 610:813dcc80987e 2712 * @param __LSEDRIVE__: specifies the new state of the LSE drive capability.
mbed_official 610:813dcc80987e 2713 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2714 * @arg RCC_LSEDRIVE_LOW: LSE oscillator low drive capability.
mbed_official 610:813dcc80987e 2715 * @arg RCC_LSEDRIVE_MEDIUMLOW: LSE oscillator medium low drive capability.
mbed_official 610:813dcc80987e 2716 * @arg RCC_LSEDRIVE_MEDIUMHIGH: LSE oscillator medium high drive capability.
mbed_official 610:813dcc80987e 2717 * @arg RCC_LSEDRIVE_HIGH: LSE oscillator high drive capability.
mbed_official 610:813dcc80987e 2718 * @retval None
mbed_official 610:813dcc80987e 2719 */
mbed_official 610:813dcc80987e 2720 #define __HAL_RCC_LSEDRIVE_CONFIG(__LSEDRIVE__) \
mbed_official 610:813dcc80987e 2721 MODIFY_REG(RCC->BDCR, RCC_BDCR_LSEDRV, (uint32_t)(__LSEDRIVE__))
mbed_official 610:813dcc80987e 2722
mbed_official 610:813dcc80987e 2723 /**
mbed_official 610:813dcc80987e 2724 * @brief Macro to configures the wake up from stop clock.
mbed_official 610:813dcc80987e 2725 * @param __STOPWUCLK__: specifies the clock source used after wake up from stop.
mbed_official 610:813dcc80987e 2726 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2727 * @arg RCC_STOP_WAKEUPCLOCK_MSI: MSI selected as system clock source
mbed_official 610:813dcc80987e 2728 * @arg RCC_STOP_WAKEUPCLOCK_HSI: HSI selected as system clock source
mbed_official 610:813dcc80987e 2729 * @retval None
mbed_official 610:813dcc80987e 2730 */
mbed_official 610:813dcc80987e 2731 #define __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(__STOPWUCLK__) \
mbed_official 610:813dcc80987e 2732 MODIFY_REG(RCC->CFGR, RCC_CFGR_STOPWUCK, (__STOPWUCLK__))
mbed_official 610:813dcc80987e 2733
mbed_official 610:813dcc80987e 2734
mbed_official 610:813dcc80987e 2735 /** @defgroup RCC_Flags_Interrupts_Management Flags Interrupts Management
mbed_official 610:813dcc80987e 2736 * @brief macros to manage the specified RCC Flags and interrupts.
mbed_official 610:813dcc80987e 2737 * @{
mbed_official 610:813dcc80987e 2738 */
mbed_official 610:813dcc80987e 2739
mbed_official 610:813dcc80987e 2740 /** @brief Enable RCC interrupt (Perform Byte access to RCC_CIR[14:8] bits to enable
mbed_official 610:813dcc80987e 2741 * the selected interrupts).
mbed_official 610:813dcc80987e 2742 * @param __INTERRUPT__: specifies the RCC interrupt sources to be enabled.
mbed_official 610:813dcc80987e 2743 * This parameter can be any combination of the following values:
mbed_official 610:813dcc80987e 2744 * @arg RCC_IT_LSIRDY: LSI ready interrupt
mbed_official 610:813dcc80987e 2745 * @arg RCC_IT_LSERDY: LSE ready interrupt
mbed_official 610:813dcc80987e 2746 * @arg RCC_IT_MSIRDY: HSI ready interrupt
mbed_official 610:813dcc80987e 2747 * @arg RCC_IT_HSIRDY: HSI ready interrupt
mbed_official 610:813dcc80987e 2748 * @arg RCC_IT_HSERDY: HSE ready interrupt
mbed_official 610:813dcc80987e 2749 * @arg RCC_IT_PLLRDY: main PLL ready interrupt
mbed_official 610:813dcc80987e 2750 * @arg RCC_IT_PLLSAI1RDY: PLLSAI1 ready interrupt
mbed_official 610:813dcc80987e 2751 * @arg RCC_IT_PLLSAI2RDY: PLLSAI2 ready interrupt
mbed_official 610:813dcc80987e 2752 * @arg RCC_IT_LSECSS: Clock security system interrupt
mbed_official 610:813dcc80987e 2753 * @retval None
mbed_official 610:813dcc80987e 2754 */
mbed_official 610:813dcc80987e 2755 #define __HAL_RCC_ENABLE_IT(__INTERRUPT__) SET_BIT(RCC->CIER, (__INTERRUPT__))
mbed_official 610:813dcc80987e 2756
mbed_official 610:813dcc80987e 2757 /** @brief Disable RCC interrupt (Perform Byte access to RCC_CIR[14:8] bits to disable
mbed_official 610:813dcc80987e 2758 * the selected interrupts).
mbed_official 610:813dcc80987e 2759 * @param __INTERRUPT__: specifies the RCC interrupt sources to be disabled.
mbed_official 610:813dcc80987e 2760 * This parameter can be any combination of the following values:
mbed_official 610:813dcc80987e 2761 * @arg RCC_IT_LSIRDY: LSI ready interrupt
mbed_official 610:813dcc80987e 2762 * @arg RCC_IT_LSERDY: LSE ready interrupt
mbed_official 610:813dcc80987e 2763 * @arg RCC_IT_MSIRDY: HSI ready interrupt
mbed_official 610:813dcc80987e 2764 * @arg RCC_IT_HSIRDY: HSI ready interrupt
mbed_official 610:813dcc80987e 2765 * @arg RCC_IT_HSERDY: HSE ready interrupt
mbed_official 610:813dcc80987e 2766 * @arg RCC_IT_PLLRDY: main PLL ready interrupt
mbed_official 610:813dcc80987e 2767 * @arg RCC_IT_PLLSAI1RDY: PLLSAI1 ready interrupt
mbed_official 610:813dcc80987e 2768 * @arg RCC_IT_PLLSAI2RDY: PLLSAI2 ready interrupt
mbed_official 610:813dcc80987e 2769 * @arg RCC_IT_LSECSS: Clock security system interrupt
mbed_official 610:813dcc80987e 2770 * @retval None
mbed_official 610:813dcc80987e 2771 */
mbed_official 610:813dcc80987e 2772 #define __HAL_RCC_DISABLE_IT(__INTERRUPT__) CLEAR_BIT(RCC->CIER, (__INTERRUPT__))
mbed_official 610:813dcc80987e 2773
mbed_official 610:813dcc80987e 2774 /** @brief Clear the RCC's interrupt pending bits (Perform Byte access to RCC_CIR[23:16]
mbed_official 610:813dcc80987e 2775 * bits to clear the selected interrupt pending bits.
mbed_official 610:813dcc80987e 2776 * @param __INTERRUPT__: specifies the interrupt pending bit to clear.
mbed_official 610:813dcc80987e 2777 * This parameter can be any combination of the following values:
mbed_official 610:813dcc80987e 2778 * @arg RCC_IT_LSIRDY: LSI ready interrupt
mbed_official 610:813dcc80987e 2779 * @arg RCC_IT_LSERDY: LSE ready interrupt
mbed_official 610:813dcc80987e 2780 * @arg RCC_IT_MSIRDY: MSI ready interrupt
mbed_official 610:813dcc80987e 2781 * @arg RCC_IT_HSIRDY: HSI ready interrupt
mbed_official 610:813dcc80987e 2782 * @arg RCC_IT_HSERDY: HSE ready interrupt
mbed_official 610:813dcc80987e 2783 * @arg RCC_IT_PLLRDY: main PLL ready interrupt
mbed_official 610:813dcc80987e 2784 * @arg RCC_IT_PLLSAI1RDY: PLLSAI1 ready interrupt
mbed_official 610:813dcc80987e 2785 * @arg RCC_IT_PLLSAI2RDY: PLLSAI2 ready interrupt
mbed_official 610:813dcc80987e 2786 * @arg RCC_IT_HSECSS: HSE Clock Security interrupt
mbed_official 610:813dcc80987e 2787 * @arg RCC_IT_LSECSS: Clock security system interrupt
mbed_official 610:813dcc80987e 2788 * @retval None
mbed_official 610:813dcc80987e 2789 */
mbed_official 610:813dcc80987e 2790 #define __HAL_RCC_CLEAR_IT(__INTERRUPT__) (RCC->CICR = (__INTERRUPT__))
mbed_official 610:813dcc80987e 2791
mbed_official 610:813dcc80987e 2792 /** @brief Check whether the RCC interrupt has occurred or not.
mbed_official 610:813dcc80987e 2793 * @param __INTERRUPT__: specifies the RCC interrupt source to check.
mbed_official 610:813dcc80987e 2794 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2795 * @arg RCC_IT_LSIRDY: LSI ready interrupt
mbed_official 610:813dcc80987e 2796 * @arg RCC_IT_LSERDY: LSE ready interrupt
mbed_official 610:813dcc80987e 2797 * @arg RCC_IT_MSIRDY: MSI ready interrupt
mbed_official 610:813dcc80987e 2798 * @arg RCC_IT_HSIRDY: HSI ready interrupt
mbed_official 610:813dcc80987e 2799 * @arg RCC_IT_HSERDY: HSE ready interrupt
mbed_official 610:813dcc80987e 2800 * @arg RCC_IT_PLLRDY: main PLL ready interrupt
mbed_official 610:813dcc80987e 2801 * @arg RCC_IT_PLLSAI1RDY: PLLSAI1 ready interrupt
mbed_official 610:813dcc80987e 2802 * @arg RCC_IT_PLLSAI2RDY: PLLSAI2 ready interrupt
mbed_official 610:813dcc80987e 2803 * @arg RCC_IT_HSECSS: HSE Clock Security interrupt
mbed_official 610:813dcc80987e 2804 * @arg RCC_IT_LSECSS: Clock security system interrupt
mbed_official 610:813dcc80987e 2805 * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
mbed_official 610:813dcc80987e 2806 */
mbed_official 610:813dcc80987e 2807 #define __HAL_RCC_GET_IT_SOURCE(__INTERRUPT__) ((RCC->CIFR & (__INTERRUPT__)) == (__INTERRUPT__))
mbed_official 610:813dcc80987e 2808
mbed_official 610:813dcc80987e 2809 /** @brief Set RMVF bit to clear the reset flags.
mbed_official 610:813dcc80987e 2810 * The reset flags are: RCC_FLAG_FWRRST, RCC_FLAG_OBLRST, RCC_FLAG_PINRST, RCC_FLAG_BORRST,
mbed_official 610:813dcc80987e 2811 * RCC_FLAG_SFTRST, RCC_FLAG_IWDGRST, RCC_FLAG_WWDGRST and RCC_FLAG_LPWRRST.
mbed_official 610:813dcc80987e 2812 * @retval None
mbed_official 610:813dcc80987e 2813 */
mbed_official 610:813dcc80987e 2814 #define __HAL_RCC_CLEAR_RESET_FLAGS() (RCC->CSR |= RCC_CSR_RMVF)
mbed_official 610:813dcc80987e 2815
mbed_official 610:813dcc80987e 2816 /** @brief Check whether the selected RCC flag is set or not.
mbed_official 610:813dcc80987e 2817 * @param __FLAG__: specifies the flag to check.
mbed_official 610:813dcc80987e 2818 * This parameter can be one of the following values:
mbed_official 610:813dcc80987e 2819 * @arg RCC_FLAG_MSIRDY: MSI oscillator clock ready
mbed_official 610:813dcc80987e 2820 * @arg RCC_FLAG_HSIRDY: HSI oscillator clock ready
mbed_official 610:813dcc80987e 2821 * @arg RCC_FLAG_HSERDY: HSE oscillator clock ready
mbed_official 610:813dcc80987e 2822 * @arg RCC_FLAG_PLLRDY: main PLL clock ready
mbed_official 610:813dcc80987e 2823 * @arg RCC_FLAG_PLLSAI2RDY: PLLSAI2 clock ready
mbed_official 610:813dcc80987e 2824 * @arg RCC_FLAG_PLLSAI1RDY: PLLSAI1 clock ready
mbed_official 610:813dcc80987e 2825 * @arg RCC_FLAG_LSERDY: LSE oscillator clock ready
mbed_official 610:813dcc80987e 2826 * @arg RCC_FLAG_LSECSSD: Clock security system failure on LSE oscillator detection
mbed_official 610:813dcc80987e 2827 * @arg RCC_FLAG_LSIRDY: LSI oscillator clock ready
mbed_official 610:813dcc80987e 2828 * @arg RCC_FLAG_BORRST: BOR reset
mbed_official 610:813dcc80987e 2829 * @arg RCC_FLAG_OBLRST: OBLRST reset
mbed_official 610:813dcc80987e 2830 * @arg RCC_FLAG_PINRST: Pin reset
mbed_official 610:813dcc80987e 2831 * @arg RCC_FLAG_FWRST: FIREWALL reset
mbed_official 610:813dcc80987e 2832 * @arg RCC_FLAG_RMVF: Remove reset Flag
mbed_official 610:813dcc80987e 2833 * @arg RCC_FLAG_SFTRST: Software reset
mbed_official 610:813dcc80987e 2834 * @arg RCC_FLAG_IWDGRST: Independent Watchdog reset
mbed_official 610:813dcc80987e 2835 * @arg RCC_FLAG_WWDGRST: Window Watchdog reset
mbed_official 610:813dcc80987e 2836 * @arg RCC_FLAG_LPWRRST: Low Power reset
mbed_official 610:813dcc80987e 2837 * @retval The new state of __FLAG__ (TRUE or FALSE).
mbed_official 610:813dcc80987e 2838 */
mbed_official 610:813dcc80987e 2839 #define __HAL_RCC_GET_FLAG(__FLAG__) (((((((__FLAG__) >> 5U) == 1U) ? RCC->CR : \
mbed_official 610:813dcc80987e 2840 ((((__FLAG__) >> 5U) == 2U) ? RCC->BDCR : \
mbed_official 610:813dcc80987e 2841 ((((__FLAG__) >> 5U) == 3U) ? RCC->CSR : RCC->CIFR))) & \
mbed_official 610:813dcc80987e 2842 ((uint32_t)1 << ((__FLAG__) & RCC_FLAG_MASK))) != 0) \
mbed_official 610:813dcc80987e 2843 ? 1 : 0)
mbed_official 610:813dcc80987e 2844
mbed_official 610:813dcc80987e 2845 /**
mbed_official 610:813dcc80987e 2846 * @}
mbed_official 610:813dcc80987e 2847 */
mbed_official 610:813dcc80987e 2848
mbed_official 610:813dcc80987e 2849 /**
mbed_official 610:813dcc80987e 2850 * @}
mbed_official 610:813dcc80987e 2851 */
mbed_official 610:813dcc80987e 2852
mbed_official 610:813dcc80987e 2853 /* Private constants ---------------------------------------------------------*/
mbed_official 610:813dcc80987e 2854 /** @defgroup RCC_Private_Constants RCC Private Constants
mbed_official 610:813dcc80987e 2855 * @{
mbed_official 610:813dcc80987e 2856 */
mbed_official 610:813dcc80987e 2857 /* Defines used for Flags */
mbed_official 610:813dcc80987e 2858 #define CR_REG_INDEX ((uint8_t)1)
mbed_official 610:813dcc80987e 2859 #define BDCR_REG_INDEX ((uint8_t)2)
mbed_official 610:813dcc80987e 2860 #define CSR_REG_INDEX ((uint8_t)3)
mbed_official 610:813dcc80987e 2861
mbed_official 610:813dcc80987e 2862 #define RCC_FLAG_MASK ((uint8_t)0x1F)
mbed_official 610:813dcc80987e 2863 /**
mbed_official 610:813dcc80987e 2864 * @}
mbed_official 610:813dcc80987e 2865 */
mbed_official 610:813dcc80987e 2866
mbed_official 610:813dcc80987e 2867 /* Private macros ------------------------------------------------------------*/
mbed_official 610:813dcc80987e 2868 /** @addtogroup RCC_Private_Macros
mbed_official 610:813dcc80987e 2869 * @{
mbed_official 610:813dcc80987e 2870 */
mbed_official 610:813dcc80987e 2871
mbed_official 610:813dcc80987e 2872 #define IS_RCC_OSCILLATORTYPE(__OSCILLATOR__) (((__OSCILLATOR__) == RCC_OSCILLATORTYPE_NONE) || \
mbed_official 610:813dcc80987e 2873 (((__OSCILLATOR__) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) || \
mbed_official 610:813dcc80987e 2874 (((__OSCILLATOR__) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) || \
mbed_official 610:813dcc80987e 2875 (((__OSCILLATOR__) & RCC_OSCILLATORTYPE_MSI) == RCC_OSCILLATORTYPE_MSI) || \
mbed_official 610:813dcc80987e 2876 (((__OSCILLATOR__) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) || \
mbed_official 610:813dcc80987e 2877 (((__OSCILLATOR__) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE))
mbed_official 610:813dcc80987e 2878
mbed_official 610:813dcc80987e 2879 #define IS_RCC_HSE(__HSE__) (((__HSE__) == RCC_HSE_OFF) || ((__HSE__) == RCC_HSE_ON) || \
mbed_official 610:813dcc80987e 2880 ((__HSE__) == RCC_HSE_BYPASS))
mbed_official 610:813dcc80987e 2881
mbed_official 610:813dcc80987e 2882 #define IS_RCC_LSE(__LSE__) (((__LSE__) == RCC_LSE_OFF) || ((__LSE__) == RCC_LSE_ON) || \
mbed_official 610:813dcc80987e 2883 ((__LSE__) == RCC_LSE_BYPASS))
mbed_official 610:813dcc80987e 2884
mbed_official 610:813dcc80987e 2885 #define IS_RCC_HSI(__HSI__) (((__HSI__) == RCC_HSI_OFF) || ((__HSI__) == RCC_HSI_ON))
mbed_official 610:813dcc80987e 2886
mbed_official 610:813dcc80987e 2887 #define IS_RCC_CALIBRATION_VALUE(__VALUE__) ((__VALUE__) <= (uint32_t)31)
mbed_official 610:813dcc80987e 2888
mbed_official 610:813dcc80987e 2889 #define IS_RCC_LSI(__LSI__) (((__LSI__) == RCC_LSI_OFF) || ((__LSI__) == RCC_LSI_ON))
mbed_official 610:813dcc80987e 2890
mbed_official 610:813dcc80987e 2891 #define IS_RCC_MSI(__MSI__) (((__MSI__) == RCC_MSI_OFF) || ((__MSI__) == RCC_MSI_ON))
mbed_official 610:813dcc80987e 2892
mbed_official 610:813dcc80987e 2893 #define IS_RCC_MSICALIBRATION_VALUE(__VALUE__) ((__VALUE__) <= (uint32_t)255)
mbed_official 610:813dcc80987e 2894
mbed_official 610:813dcc80987e 2895 #define IS_RCC_PLL(__PLL__) (((__PLL__) == RCC_PLL_NONE) ||((__PLL__) == RCC_PLL_OFF) || \
mbed_official 610:813dcc80987e 2896 ((__PLL__) == RCC_PLL_ON))
mbed_official 610:813dcc80987e 2897
mbed_official 610:813dcc80987e 2898 #define IS_RCC_PLLSOURCE(__SOURCE__) (((__SOURCE__) == RCC_PLLSOURCE_NONE) || \
mbed_official 610:813dcc80987e 2899 ((__SOURCE__) == RCC_PLLSOURCE_MSI) || \
mbed_official 610:813dcc80987e 2900 ((__SOURCE__) == RCC_PLLSOURCE_HSI) || \
mbed_official 610:813dcc80987e 2901 ((__SOURCE__) == RCC_PLLSOURCE_HSE))
mbed_official 610:813dcc80987e 2902
mbed_official 610:813dcc80987e 2903 #define IS_RCC_PLLM_VALUE(__VALUE__) ((__VALUE__) <= 8)
mbed_official 610:813dcc80987e 2904
mbed_official 610:813dcc80987e 2905 #define IS_RCC_PLLN_VALUE(__VALUE__) ((8 <= (__VALUE__)) && ((__VALUE__) <= 86))
mbed_official 610:813dcc80987e 2906
mbed_official 610:813dcc80987e 2907 #define IS_RCC_PLLP_VALUE(__VALUE__) (((__VALUE__) == 7) || ((__VALUE__) == 17) )
mbed_official 610:813dcc80987e 2908
mbed_official 610:813dcc80987e 2909 #define IS_RCC_PLLQ_VALUE(__VALUE__) (((__VALUE__) == 2 ) || ((__VALUE__) == 4) || \
mbed_official 610:813dcc80987e 2910 ((__VALUE__) == 6) || ((__VALUE__) == 8))
mbed_official 610:813dcc80987e 2911
mbed_official 610:813dcc80987e 2912 #define IS_RCC_PLLR_VALUE(__VALUE__) (((__VALUE__) == 2 ) || ((__VALUE__) == 4) || \
mbed_official 610:813dcc80987e 2913 ((__VALUE__) == 6) || ((__VALUE__) == 8))
mbed_official 610:813dcc80987e 2914
mbed_official 610:813dcc80987e 2915 #define IS_RCC_PLLSAI1CLOCKOUT_VALUE(__VALUE__) (((((__VALUE__) & RCC_PLLSAI1_SAI1CLK) == RCC_PLLSAI1_SAI1CLK) || \
mbed_official 610:813dcc80987e 2916 (((__VALUE__) & RCC_PLLSAI1_48M2CLK) == RCC_PLLSAI1_48M2CLK) || \
mbed_official 610:813dcc80987e 2917 (((__VALUE__) & RCC_PLLSAI1_ADC1CLK) == RCC_PLLSAI1_ADC1CLK)) && \
mbed_official 610:813dcc80987e 2918 (((__VALUE__) & ~(RCC_PLLSAI1_SAI1CLK|RCC_PLLSAI1_48M2CLK|RCC_PLLSAI1_ADC1CLK)) == 0))
mbed_official 610:813dcc80987e 2919
mbed_official 610:813dcc80987e 2920 #define IS_RCC_PLLSAI2CLOCKOUT_VALUE(__VALUE__) (((((__VALUE__) & RCC_PLLSAI2_SAI2CLK) == RCC_PLLSAI2_SAI2CLK ) || \
mbed_official 610:813dcc80987e 2921 (((__VALUE__) & RCC_PLLSAI2_ADC2CLK) == RCC_PLLSAI2_ADC2CLK)) && \
mbed_official 610:813dcc80987e 2922 (((__VALUE__) & ~(RCC_PLLSAI2_SAI2CLK|RCC_PLLSAI2_ADC2CLK)) == 0))
mbed_official 610:813dcc80987e 2923
mbed_official 610:813dcc80987e 2924 #define IS_RCC_MSI_CLOCK_RANGE(__RANGE__) (((__RANGE__) == RCC_MSIRANGE_0) || \
mbed_official 610:813dcc80987e 2925 ((__RANGE__) == RCC_MSIRANGE_1) || \
mbed_official 610:813dcc80987e 2926 ((__RANGE__) == RCC_MSIRANGE_2) || \
mbed_official 610:813dcc80987e 2927 ((__RANGE__) == RCC_MSIRANGE_3) || \
mbed_official 610:813dcc80987e 2928 ((__RANGE__) == RCC_MSIRANGE_4) || \
mbed_official 610:813dcc80987e 2929 ((__RANGE__) == RCC_MSIRANGE_5) || \
mbed_official 610:813dcc80987e 2930 ((__RANGE__) == RCC_MSIRANGE_6) || \
mbed_official 610:813dcc80987e 2931 ((__RANGE__) == RCC_MSIRANGE_7) || \
mbed_official 610:813dcc80987e 2932 ((__RANGE__) == RCC_MSIRANGE_8) || \
mbed_official 610:813dcc80987e 2933 ((__RANGE__) == RCC_MSIRANGE_9) || \
mbed_official 610:813dcc80987e 2934 ((__RANGE__) == RCC_MSIRANGE_10) || \
mbed_official 610:813dcc80987e 2935 ((__RANGE__) == RCC_MSIRANGE_11))
mbed_official 610:813dcc80987e 2936
mbed_official 610:813dcc80987e 2937 #define IS_RCC_MSI_STANDBY_CLOCK_RANGE(__RANGE__) (((__RANGE__) == RCC_MSIRANGE_4) || \
mbed_official 610:813dcc80987e 2938 ((__RANGE__) == RCC_MSIRANGE_5) || \
mbed_official 610:813dcc80987e 2939 ((__RANGE__) == RCC_MSIRANGE_6) || \
mbed_official 610:813dcc80987e 2940 ((__RANGE__) == RCC_MSIRANGE_7))
mbed_official 610:813dcc80987e 2941
mbed_official 610:813dcc80987e 2942 #define IS_RCC_CLOCKTYPE(__CLK__) ((1 <= (__CLK__)) && ((__CLK__) <= 15))
mbed_official 610:813dcc80987e 2943
mbed_official 610:813dcc80987e 2944 #define IS_RCC_SYSCLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_SYSCLKSOURCE_MSI) || \
mbed_official 610:813dcc80987e 2945 ((__SOURCE__) == RCC_SYSCLKSOURCE_HSI) || \
mbed_official 610:813dcc80987e 2946 ((__SOURCE__) == RCC_SYSCLKSOURCE_HSE) || \
mbed_official 610:813dcc80987e 2947 ((__SOURCE__) == RCC_SYSCLKSOURCE_PLLCLK))
mbed_official 610:813dcc80987e 2948
mbed_official 610:813dcc80987e 2949 #define IS_RCC_HCLK(__HCLK__) (((__HCLK__) == RCC_SYSCLK_DIV1) || ((__HCLK__) == RCC_SYSCLK_DIV2) || \
mbed_official 610:813dcc80987e 2950 ((__HCLK__) == RCC_SYSCLK_DIV4) || ((__HCLK__) == RCC_SYSCLK_DIV8) || \
mbed_official 610:813dcc80987e 2951 ((__HCLK__) == RCC_SYSCLK_DIV16) || ((__HCLK__) == RCC_SYSCLK_DIV64) || \
mbed_official 610:813dcc80987e 2952 ((__HCLK__) == RCC_SYSCLK_DIV128) || ((__HCLK__) == RCC_SYSCLK_DIV256) || \
mbed_official 610:813dcc80987e 2953 ((__HCLK__) == RCC_SYSCLK_DIV512))
mbed_official 610:813dcc80987e 2954
mbed_official 610:813dcc80987e 2955 #define IS_RCC_PCLK(__PCLK__) (((__PCLK__) == RCC_HCLK_DIV1) || ((__PCLK__) == RCC_HCLK_DIV2) || \
mbed_official 610:813dcc80987e 2956 ((__PCLK__) == RCC_HCLK_DIV4) || ((__PCLK__) == RCC_HCLK_DIV8) || \
mbed_official 610:813dcc80987e 2957 ((__PCLK__) == RCC_HCLK_DIV16))
mbed_official 610:813dcc80987e 2958
mbed_official 610:813dcc80987e 2959 #define IS_RCC_RTCCLKSOURCE(__SOURCE__) (((__SOURCE__) == RCC_RTCCLKSOURCE_LSE) || \
mbed_official 610:813dcc80987e 2960 ((__SOURCE__) == RCC_RTCCLKSOURCE_LSI) || \
mbed_official 610:813dcc80987e 2961 ((__SOURCE__) == RCC_RTCCLKSOURCE_HSE_DIV32))
mbed_official 610:813dcc80987e 2962
mbed_official 610:813dcc80987e 2963 #define IS_RCC_MCO(__MCOX__) ((__MCOX__) == RCC_MCO1)
mbed_official 610:813dcc80987e 2964
mbed_official 610:813dcc80987e 2965 #define IS_RCC_MCO1SOURCE(__SOURCE__) (((__SOURCE__) == RCC_MCO1SOURCE_SYSCLK) || \
mbed_official 610:813dcc80987e 2966 ((__SOURCE__) == RCC_MCO1SOURCE_MSI) || \
mbed_official 610:813dcc80987e 2967 ((__SOURCE__) == RCC_MCO1SOURCE_HSI) || \
mbed_official 610:813dcc80987e 2968 ((__SOURCE__) == RCC_MCO1SOURCE_HSE) || \
mbed_official 610:813dcc80987e 2969 ((__SOURCE__) == RCC_MCO1SOURCE_PLLCLK) || \
mbed_official 610:813dcc80987e 2970 ((__SOURCE__) == RCC_MCO1SOURCE_LSI) || \
mbed_official 610:813dcc80987e 2971 ((__SOURCE__) == RCC_MCO1SOURCE_LSE))
mbed_official 610:813dcc80987e 2972
mbed_official 610:813dcc80987e 2973 #define IS_RCC_MCODIV(__DIV__) (((__DIV__) == RCC_MCODIV_1) || ((__DIV__) == RCC_MCODIV_2) || \
mbed_official 610:813dcc80987e 2974 ((__DIV__) == RCC_MCODIV_4) || ((__DIV__) == RCC_MCODIV_8) || \
mbed_official 610:813dcc80987e 2975 ((__DIV__) == RCC_MCODIV_16))
mbed_official 610:813dcc80987e 2976
mbed_official 610:813dcc80987e 2977 #define IS_RCC_LSE_DRIVE(__DRIVE__) (((__DRIVE__) == RCC_LSEDRIVE_LOW) || \
mbed_official 610:813dcc80987e 2978 ((__DRIVE__) == RCC_LSEDRIVE_MEDIUMLOW) || \
mbed_official 610:813dcc80987e 2979 ((__DRIVE__) == RCC_LSEDRIVE_MEDIUMHIGH) || \
mbed_official 610:813dcc80987e 2980 ((__DRIVE__) == RCC_LSEDRIVE_HIGH))
mbed_official 610:813dcc80987e 2981
mbed_official 610:813dcc80987e 2982 #define IS_RCC_STOP_WAKEUPCLOCK(__SOURCE__) (((__SOURCE__) == RCC_STOP_WAKEUPCLOCK_MSI) || \
mbed_official 610:813dcc80987e 2983 ((__SOURCE__) == RCC_STOP_WAKEUPCLOCK_HSI))
mbed_official 610:813dcc80987e 2984 /**
mbed_official 610:813dcc80987e 2985 * @}
mbed_official 610:813dcc80987e 2986 */
mbed_official 610:813dcc80987e 2987
mbed_official 610:813dcc80987e 2988 /* Include RCC HAL Extended module */
mbed_official 610:813dcc80987e 2989 #include "stm32l4xx_hal_rcc_ex.h"
mbed_official 610:813dcc80987e 2990
mbed_official 610:813dcc80987e 2991 /* Exported functions --------------------------------------------------------*/
mbed_official 610:813dcc80987e 2992 /** @addtogroup RCC_Exported_Functions
mbed_official 610:813dcc80987e 2993 * @{
mbed_official 610:813dcc80987e 2994 */
mbed_official 610:813dcc80987e 2995
mbed_official 610:813dcc80987e 2996
mbed_official 610:813dcc80987e 2997 /** @addtogroup RCC_Exported_Functions_Group1
mbed_official 610:813dcc80987e 2998 * @{
mbed_official 610:813dcc80987e 2999 */
mbed_official 610:813dcc80987e 3000
mbed_official 610:813dcc80987e 3001 /* Initialization and de-initialization functions ******************************/
mbed_official 610:813dcc80987e 3002 void HAL_RCC_DeInit(void);
mbed_official 610:813dcc80987e 3003 HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct);
mbed_official 610:813dcc80987e 3004 HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency);
mbed_official 610:813dcc80987e 3005
mbed_official 610:813dcc80987e 3006 /**
mbed_official 610:813dcc80987e 3007 * @}
mbed_official 610:813dcc80987e 3008 */
mbed_official 610:813dcc80987e 3009
mbed_official 610:813dcc80987e 3010 /** @addtogroup RCC_Exported_Functions_Group2
mbed_official 610:813dcc80987e 3011 * @{
mbed_official 610:813dcc80987e 3012 */
mbed_official 610:813dcc80987e 3013
mbed_official 610:813dcc80987e 3014 /* Peripheral Control functions ************************************************/
mbed_official 610:813dcc80987e 3015 void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv);
mbed_official 610:813dcc80987e 3016 void HAL_RCC_EnableCSS(void);
mbed_official 610:813dcc80987e 3017 uint32_t HAL_RCC_GetSysClockFreq(void);
mbed_official 610:813dcc80987e 3018 uint32_t HAL_RCC_GetHCLKFreq(void);
mbed_official 610:813dcc80987e 3019 uint32_t HAL_RCC_GetPCLK1Freq(void);
mbed_official 610:813dcc80987e 3020 uint32_t HAL_RCC_GetPCLK2Freq(void);
mbed_official 610:813dcc80987e 3021 void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct);
mbed_official 610:813dcc80987e 3022 void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency);
mbed_official 610:813dcc80987e 3023 /* CSS NMI IRQ handler */
mbed_official 610:813dcc80987e 3024 void HAL_RCC_NMI_IRQHandler(void);
mbed_official 610:813dcc80987e 3025 /* User Callbacks in non blocking mode (IT mode) */
mbed_official 610:813dcc80987e 3026 void HAL_RCC_CSSCallback(void);
mbed_official 610:813dcc80987e 3027
mbed_official 610:813dcc80987e 3028 /**
mbed_official 610:813dcc80987e 3029 * @}
mbed_official 610:813dcc80987e 3030 */
mbed_official 610:813dcc80987e 3031
mbed_official 610:813dcc80987e 3032 /**
mbed_official 610:813dcc80987e 3033 * @}
mbed_official 610:813dcc80987e 3034 */
mbed_official 610:813dcc80987e 3035
mbed_official 610:813dcc80987e 3036 /**
mbed_official 610:813dcc80987e 3037 * @}
mbed_official 610:813dcc80987e 3038 */
mbed_official 610:813dcc80987e 3039
mbed_official 610:813dcc80987e 3040 /**
mbed_official 610:813dcc80987e 3041 * @}
mbed_official 610:813dcc80987e 3042 */
mbed_official 610:813dcc80987e 3043
mbed_official 610:813dcc80987e 3044 #ifdef __cplusplus
mbed_official 610:813dcc80987e 3045 }
mbed_official 610:813dcc80987e 3046 #endif
mbed_official 610:813dcc80987e 3047
mbed_official 610:813dcc80987e 3048 #endif /* __STM32L4xx_HAL_RCC_H */
mbed_official 610:813dcc80987e 3049
mbed_official 610:813dcc80987e 3050 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/