1 /** 2 ****************************************************************************** 3 * @file stm32n6xx_hal_rcc_ex.h 4 * @author MCD Application Team 5 * @brief Header file of RCC HAL Extension module. 6 ****************************************************************************** 7 * @attention 8 * 9 * Copyright (c) 2023 STMicroelectronics. 10 * All rights reserved. 11 * 12 * This software is licensed under terms that can be found in the LICENSE file in 13 * the root directory of this software component. 14 * If no LICENSE file comes with this software, it is provided AS-IS. 15 * 16 ****************************************************************************** 17 */ 18 19 /* Define to prevent recursive inclusion -------------------------------------*/ 20 #ifndef STM32N6xx_HAL_RCC_EX_H 21 #define STM32N6xx_HAL_RCC_EX_H 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 /* Includes ------------------------------------------------------------------*/ 28 #include "stm32n6xx_hal_def.h" 29 30 /** @addtogroup STM32N6xx_HAL_Driver 31 * @{ 32 */ 33 34 /** @addtogroup RCCEx 35 * @{ 36 */ 37 38 /* Exported constants --------------------------------------------------------*/ 39 /** @defgroup RCCEx_Exported_Constants RCCEx Exported Constants 40 * @{ 41 */ 42 43 /** @defgroup RCCEx_Periph_Clock_Selection Periph Clock Selection 44 * @{ 45 */ 46 #define RCC_PERIPHCLK_ADC (0x0000000000000001UL) 47 #define RCC_PERIPHCLK_ADF1 (0x0000000000000002UL) 48 #define RCC_PERIPHCLK_CKPER (0x0000000000000004UL) 49 #define RCC_PERIPHCLK_CSI (0x0000000000000008UL) 50 #define RCC_PERIPHCLK_DCMIPP (0x0000000000000010UL) 51 #define RCC_PERIPHCLK_ETH1 (0x0000000000000020UL) 52 #define RCC_PERIPHCLK_ETH1PHY (0x0000000000000040UL) 53 #define RCC_PERIPHCLK_ETH1RX (0x0000000000000080UL) 54 #define RCC_PERIPHCLK_ETH1TX (0x0000000000000100UL) 55 #define RCC_PERIPHCLK_ETH1PTP (0x0000000000000200UL) 56 #define RCC_PERIPHCLK_FDCAN (0x0000000000000400UL) 57 #define RCC_PERIPHCLK_FMC (0x0000000000000800UL) 58 #define RCC_PERIPHCLK_I2C1 (0x0000000000001000UL) 59 #define RCC_PERIPHCLK_I2C2 (0x0000000000002000UL) 60 #define RCC_PERIPHCLK_I2C3 (0x0000000000004000UL) 61 #define RCC_PERIPHCLK_I2C4 (0x0000000000008000UL) 62 #define RCC_PERIPHCLK_I3C1 (0x0000000000010000UL) 63 #define RCC_PERIPHCLK_I3C2 (0x0000000000020000UL) 64 #define RCC_PERIPHCLK_LPTIM1 (0x0000000000040000UL) 65 #define RCC_PERIPHCLK_LPTIM2 (0x0000000000080000UL) 66 #define RCC_PERIPHCLK_LPTIM3 (0x0000000000100000UL) 67 #define RCC_PERIPHCLK_LPTIM4 (0x0000000000200000UL) 68 #define RCC_PERIPHCLK_LPTIM5 (0x0000000000400000UL) 69 #define RCC_PERIPHCLK_LPUART1 (0x0000000000800000UL) 70 #define RCC_PERIPHCLK_LTDC (0x0000000001000000UL) 71 #define RCC_PERIPHCLK_MDF1 (0x0000000002000000UL) 72 #define RCC_PERIPHCLK_PSSI (0x0000000004000000UL) 73 #define RCC_PERIPHCLK_RTC (0x0000000008000000UL) 74 #define RCC_PERIPHCLK_SAI1 (0x0000000010000000UL) 75 #define RCC_PERIPHCLK_SAI2 (0x0000000020000000UL) 76 #define RCC_PERIPHCLK_SDMMC1 (0x0000000040000000UL) 77 #define RCC_PERIPHCLK_SDMMC2 (0x0000000080000000UL) 78 #define RCC_PERIPHCLK_SPDIFRX1 (0x0000000100000000UL) 79 #define RCC_PERIPHCLK_SPI1 (0x0000000200000000UL) 80 #define RCC_PERIPHCLK_SPI2 (0x0000000400000000UL) 81 #define RCC_PERIPHCLK_SPI3 (0x0000000800000000UL) 82 #define RCC_PERIPHCLK_SPI4 (0x0000001000000000UL) 83 #define RCC_PERIPHCLK_SPI5 (0x0000002000000000UL) 84 #define RCC_PERIPHCLK_SPI6 (0x0000004000000000UL) 85 #define RCC_PERIPHCLK_TIM (0x0000008000000000UL) 86 #define RCC_PERIPHCLK_USART1 (0x0000010000000000UL) 87 #define RCC_PERIPHCLK_USART2 (0x0000020000000000UL) 88 #define RCC_PERIPHCLK_USART3 (0x0000040000000000UL) 89 #define RCC_PERIPHCLK_UART4 (0x0000080000000000UL) 90 #define RCC_PERIPHCLK_UART5 (0x0000100000000000UL) 91 #define RCC_PERIPHCLK_USART6 (0x0000200000000000UL) 92 #define RCC_PERIPHCLK_UART7 (0x0000400000000000UL) 93 #define RCC_PERIPHCLK_UART8 (0x0000800000000000UL) 94 #define RCC_PERIPHCLK_UART9 (0x0001000000000000UL) 95 #define RCC_PERIPHCLK_USART10 (0x0002000000000000UL) 96 #define RCC_PERIPHCLK_USBPHY1 (0x0004000000000000UL) 97 #define RCC_PERIPHCLK_USBOTGHS1 (0x0008000000000000UL) 98 #define RCC_PERIPHCLK_USBPHY2 (0x0010000000000000UL) 99 #define RCC_PERIPHCLK_USBOTGHS2 (0x0020000000000000UL) 100 #define RCC_PERIPHCLK_XSPI1 (0x0040000000000000UL) 101 #define RCC_PERIPHCLK_XSPI2 (0x0080000000000000UL) 102 #define RCC_PERIPHCLK_XSPI3 (0x0100000000000000UL) 103 /** 104 * @} 105 */ 106 107 108 /** @defgroup RCCEx_ADC_Clock_Source ADC Clock Source 109 * @{ 110 */ 111 #define RCC_ADCCLKSOURCE_HCLK LL_RCC_ADC_CLKSOURCE_HCLK 112 #define RCC_ADCCLKSOURCE_CLKP LL_RCC_ADC_CLKSOURCE_CLKP 113 #define RCC_ADCCLKSOURCE_IC7 LL_RCC_ADC_CLKSOURCE_IC7 114 #define RCC_ADCCLKSOURCE_IC8 LL_RCC_ADC_CLKSOURCE_IC8 115 #define RCC_ADCCLKSOURCE_MSI LL_RCC_ADC_CLKSOURCE_MSI 116 #define RCC_ADCCLKSOURCE_HSI LL_RCC_ADC_CLKSOURCE_HSI 117 #define RCC_ADCCLKSOURCE_PIN LL_RCC_ADC_CLKSOURCE_I2S_CKIN 118 #define RCC_ADCCLKSOURCE_TIMG LL_RCC_ADC_CLKSOURCE_TIMG 119 /** 120 * @} 121 */ 122 123 /** @defgroup RCCEx_ADF1_Clock_Source ADF1 Clock Source 124 * @{ 125 */ 126 #define RCC_ADF1CLKSOURCE_HCLK LL_RCC_ADF1_CLKSOURCE_HCLK 127 #define RCC_ADF1CLKSOURCE_CLKP LL_RCC_ADF1_CLKSOURCE_CLKP 128 #define RCC_ADF1CLKSOURCE_IC7 LL_RCC_ADF1_CLKSOURCE_IC7 129 #define RCC_ADF1CLKSOURCE_IC8 LL_RCC_ADF1_CLKSOURCE_IC8 130 #define RCC_ADF1CLKSOURCE_MSI LL_RCC_ADF1_CLKSOURCE_MSI 131 #define RCC_ADF1CLKSOURCE_HSI LL_RCC_ADF1_CLKSOURCE_HSI 132 #define RCC_ADF1CLKSOURCE_PIN LL_RCC_ADF1_CLKSOURCE_I2S_CKIN 133 #define RCC_ADF1CLKSOURCE_TIMG LL_RCC_ADF1_CLKSOURCE_TIMG 134 /** 135 * @} 136 */ 137 138 /** @defgroup RCCEx_CLKP_Clock_Source CLKP Clock Source 139 * @{ 140 */ 141 #define RCC_CLKPCLKSOURCE_HSI LL_RCC_CLKP_CLKSOURCE_HSI 142 #define RCC_CLKPCLKSOURCE_MSI LL_RCC_CLKP_CLKSOURCE_MSI 143 #define RCC_CLKPCLKSOURCE_HSE LL_RCC_CLKP_CLKSOURCE_HSE 144 #define RCC_CLKPCLKSOURCE_IC5 LL_RCC_CLKP_CLKSOURCE_IC5 145 #define RCC_CLKPCLKSOURCE_IC10 LL_RCC_CLKP_CLKSOURCE_IC10 146 #define RCC_CLKPCLKSOURCE_IC15 LL_RCC_CLKP_CLKSOURCE_IC15 147 #define RCC_CLKPCLKSOURCE_IC19 LL_RCC_CLKP_CLKSOURCE_IC19 148 #define RCC_CLKPCLKSOURCE_IC20 LL_RCC_CLKP_CLKSOURCE_IC20 149 /** 150 * @} 151 */ 152 153 /** @defgroup RCCEx_DCMIPP_Clock_Source DCMIPP Clock Source 154 * @{ 155 */ 156 #define RCC_DCMIPPCLKSOURCE_PCLK5 LL_RCC_DCMIPP_CLKSOURCE_PCLK5 157 #define RCC_DCMIPPCLKSOURCE_CLKP LL_RCC_DCMIPP_CLKSOURCE_CLKP 158 #define RCC_DCMIPPCLKSOURCE_IC17 LL_RCC_DCMIPP_CLKSOURCE_IC17 159 #define RCC_DCMIPPCLKSOURCE_HSI LL_RCC_DCMIPP_CLKSOURCE_HSI 160 /** 161 * @} 162 */ 163 164 /** @defgroup RCCEx_ETH1_Clock_Source ETH1 Clock Source 165 * @{ 166 */ 167 #define RCC_ETH1CLKSOURCE_HCLK LL_RCC_ETH1_CLKSOURCE_HCLK 168 #define RCC_ETH1CLKSOURCE_CLKP LL_RCC_ETH1_CLKSOURCE_CLKP 169 #define RCC_ETH1CLKSOURCE_IC12 LL_RCC_ETH1_CLKSOURCE_IC12 170 #define RCC_ETH1CLKSOURCE_HSE LL_RCC_ETH1_CLKSOURCE_HSE 171 /** 172 * @} 173 */ 174 175 /** @defgroup RCCEx_ETH1_PHY_Interface ETH1 PHY Interface 176 * @{ 177 */ 178 #define RCC_ETH1PHYIF_MII LL_RCC_ETH1PHY_IF_MII 179 #define RCC_ETH1PHYIF_RGMII LL_RCC_ETH1PHY_IF_RGMII 180 #define RCC_ETH1PHYIF_RMII LL_RCC_ETH1PHY_IF_RMII 181 /** 182 * @} 183 */ 184 185 /** @defgroup RCCEx_ETH1_RX_Clock_Source ETH1 RX Clock Source 186 * @{ 187 */ 188 #define RCC_ETH1RXCLKSOURCE_EXT LL_RCC_ETH1REFRX_CLKSOURCE_EXT 189 #define RCC_ETH1RXCLKSOURCE_INT LL_RCC_ETH1REFRX_CLKSOURCE_INT 190 /** 191 * @} 192 */ 193 194 /** @defgroup RCCEx_ETH1_TX_Clock_Source ETH1 TX Clock Source 195 * @{ 196 */ 197 #define RCC_ETH1TXCLKSOURCE_EXT LL_RCC_ETH1REFTX_CLKSOURCE_EXT 198 #define RCC_ETH1TXCLKSOURCE_INT LL_RCC_ETH1REFTX_CLKSOURCE_INT 199 /** 200 * @} 201 */ 202 203 /** @defgroup RCCEx_ETH1_PTP_Clock_Source ETH1 PTP Clock Source 204 * @{ 205 */ 206 #define RCC_ETH1PTPCLKSOURCE_HCLK LL_RCC_ETH1PTP_CLKSOURCE_HCLK 207 #define RCC_ETH1PTPCLKSOURCE_CLKP LL_RCC_ETH1PTP_CLKSOURCE_CLKP 208 #define RCC_ETH1PTPCLKSOURCE_IC13 LL_RCC_ETH1PTP_CLKSOURCE_IC13 209 #define RCC_ETH1PTPCLKSOURCE_HSE LL_RCC_ETH1PTP_CLKSOURCE_HSE 210 /** 211 * @} 212 */ 213 214 /** @defgroup RCCEx_FDCAN_Clock_Source FDCAN Kernel Clock Source 215 * @{ 216 */ 217 #define RCC_FDCANCLKSOURCE_PCLK1 LL_RCC_FDCAN_CLKSOURCE_PCLK1 218 #define RCC_FDCANCLKSOURCE_CLKP LL_RCC_FDCAN_CLKSOURCE_CLKP 219 #define RCC_FDCANCLKSOURCE_IC19 LL_RCC_FDCAN_CLKSOURCE_IC19 220 #define RCC_FDCANCLKSOURCE_HSE LL_RCC_FDCAN_CLKSOURCE_HSE 221 /** 222 * @} 223 */ 224 225 /** @defgroup RCCEx_FMC_Clock_Source FMC Clock Source 226 * @{ 227 */ 228 #define RCC_FMCCLKSOURCE_HCLK LL_RCC_FMC_CLKSOURCE_HCLK 229 #define RCC_FMCCLKSOURCE_CLKP LL_RCC_FMC_CLKSOURCE_CLKP 230 #define RCC_FMCCLKSOURCE_IC3 LL_RCC_FMC_CLKSOURCE_IC3 231 #define RCC_FMCCLKSOURCE_IC4 LL_RCC_FMC_CLKSOURCE_IC4 232 /** 233 * @} 234 */ 235 236 /** @defgroup RCCEx_I2C1_Clock_Source I2C1 Clock Source 237 * @{ 238 */ 239 #define RCC_I2C1CLKSOURCE_PCLK1 LL_RCC_I2C1_CLKSOURCE_PCLK1 240 #define RCC_I2C1CLKSOURCE_CLKP LL_RCC_I2C1_CLKSOURCE_CLKP 241 #define RCC_I2C1CLKSOURCE_IC10 LL_RCC_I2C1_CLKSOURCE_IC10 242 #define RCC_I2C1CLKSOURCE_IC15 LL_RCC_I2C1_CLKSOURCE_IC15 243 #define RCC_I2C1CLKSOURCE_MSI LL_RCC_I2C1_CLKSOURCE_MSI 244 #define RCC_I2C1CLKSOURCE_HSI LL_RCC_I2C1_CLKSOURCE_HSI 245 /** 246 * @} 247 */ 248 249 /** @defgroup RCCEx_I2C2_Clock_Source I2C2 Clock Source 250 * @{ 251 */ 252 #define RCC_I2C2CLKSOURCE_PCLK1 LL_RCC_I2C2_CLKSOURCE_PCLK1 253 #define RCC_I2C2CLKSOURCE_CLKP LL_RCC_I2C2_CLKSOURCE_CLKP 254 #define RCC_I2C2CLKSOURCE_IC10 LL_RCC_I2C2_CLKSOURCE_IC10 255 #define RCC_I2C2CLKSOURCE_IC15 LL_RCC_I2C2_CLKSOURCE_IC15 256 #define RCC_I2C2CLKSOURCE_MSI LL_RCC_I2C2_CLKSOURCE_MSI 257 #define RCC_I2C2CLKSOURCE_HSI LL_RCC_I2C2_CLKSOURCE_HSI 258 /** 259 * @} 260 */ 261 262 /** @defgroup RCCEx_I2C3_Clock_Source I2C3 Clock Source 263 * @{ 264 */ 265 #define RCC_I2C3CLKSOURCE_PCLK1 LL_RCC_I2C3_CLKSOURCE_PCLK1 266 #define RCC_I2C3CLKSOURCE_CLKP LL_RCC_I2C3_CLKSOURCE_CLKP 267 #define RCC_I2C3CLKSOURCE_IC10 LL_RCC_I2C3_CLKSOURCE_IC10 268 #define RCC_I2C3CLKSOURCE_IC15 LL_RCC_I2C3_CLKSOURCE_IC15 269 #define RCC_I2C3CLKSOURCE_MSI LL_RCC_I2C3_CLKSOURCE_MSI 270 #define RCC_I2C3CLKSOURCE_HSI LL_RCC_I2C3_CLKSOURCE_HSI 271 /** 272 * @} 273 */ 274 275 /** @defgroup RCCEx_I2C4_Clock_Source I2C4 Clock Source 276 * @{ 277 */ 278 #define RCC_I2C4CLKSOURCE_PCLK1 LL_RCC_I2C4_CLKSOURCE_PCLK1 279 #define RCC_I2C4CLKSOURCE_CLKP LL_RCC_I2C4_CLKSOURCE_CLKP 280 #define RCC_I2C4CLKSOURCE_IC10 LL_RCC_I2C4_CLKSOURCE_IC10 281 #define RCC_I2C4CLKSOURCE_IC15 LL_RCC_I2C4_CLKSOURCE_IC15 282 #define RCC_I2C4CLKSOURCE_MSI LL_RCC_I2C4_CLKSOURCE_MSI 283 #define RCC_I2C4CLKSOURCE_HSI LL_RCC_I2C4_CLKSOURCE_HSI 284 /** 285 * @} 286 */ 287 288 /** @defgroup RCCEx_I3C1_Clock_Source I3C1 Clock Source 289 * @{ 290 */ 291 #define RCC_I3C1CLKSOURCE_PCLK1 LL_RCC_I3C1_CLKSOURCE_PCLK1 292 #define RCC_I3C1CLKSOURCE_CLKP LL_RCC_I3C1_CLKSOURCE_CLKP 293 #define RCC_I3C1CLKSOURCE_IC10 LL_RCC_I3C1_CLKSOURCE_IC10 294 #define RCC_I3C1CLKSOURCE_IC15 LL_RCC_I3C1_CLKSOURCE_IC15 295 #define RCC_I3C1CLKSOURCE_MSI LL_RCC_I3C1_CLKSOURCE_MSI 296 #define RCC_I3C1CLKSOURCE_HSI LL_RCC_I3C1_CLKSOURCE_HSI 297 /** 298 * @} 299 */ 300 301 /** @defgroup RCCEx_I3C2_Clock_Source I3C2 Clock Source 302 * @{ 303 */ 304 #define RCC_I3C2CLKSOURCE_PCLK1 LL_RCC_I3C2_CLKSOURCE_PCLK1 305 #define RCC_I3C2CLKSOURCE_CLKP LL_RCC_I3C2_CLKSOURCE_CLKP 306 #define RCC_I3C2CLKSOURCE_IC10 LL_RCC_I3C2_CLKSOURCE_IC10 307 #define RCC_I3C2CLKSOURCE_IC15 LL_RCC_I3C2_CLKSOURCE_IC15 308 #define RCC_I3C2CLKSOURCE_MSI LL_RCC_I3C2_CLKSOURCE_MSI 309 #define RCC_I3C2CLKSOURCE_HSI LL_RCC_I3C2_CLKSOURCE_HSI 310 /** 311 * @} 312 */ 313 314 /** @defgroup RCCEx_LPTIM1_Clock_Source LPTIM1 Clock Source 315 * @{ 316 */ 317 #define RCC_LPTIM1CLKSOURCE_PCLK1 LL_RCC_LPTIM1_CLKSOURCE_PCLK1 318 #define RCC_LPTIM1CLKSOURCE_CLKP LL_RCC_LPTIM1_CLKSOURCE_CLKP 319 #define RCC_LPTIM1CLKSOURCE_IC15 LL_RCC_LPTIM1_CLKSOURCE_IC15 320 #define RCC_LPTIM1CLKSOURCE_LSE LL_RCC_LPTIM1_CLKSOURCE_LSE 321 #define RCC_LPTIM1CLKSOURCE_LSI LL_RCC_LPTIM1_CLKSOURCE_LSI 322 #define RCC_LPTIM1CLKSOURCE_TIMG LL_RCC_LPTIM1_CLKSOURCE_TIMG 323 /** 324 * @} 325 */ 326 327 /** @defgroup RCCEx_LPTIM2_Clock_Source LPTIM2 Clock Source 328 * @{ 329 */ 330 #define RCC_LPTIM2CLKSOURCE_PCLK4 LL_RCC_LPTIM2_CLKSOURCE_PCLK4 331 #define RCC_LPTIM2CLKSOURCE_CLKP LL_RCC_LPTIM2_CLKSOURCE_CLKP 332 #define RCC_LPTIM2CLKSOURCE_IC15 LL_RCC_LPTIM2_CLKSOURCE_IC15 333 #define RCC_LPTIM2CLKSOURCE_LSE LL_RCC_LPTIM2_CLKSOURCE_LSE 334 #define RCC_LPTIM2CLKSOURCE_LSI LL_RCC_LPTIM2_CLKSOURCE_LSI 335 #define RCC_LPTIM2CLKSOURCE_TIMG LL_RCC_LPTIM2_CLKSOURCE_TIMG 336 /** 337 * @} 338 */ 339 340 /** @defgroup RCCEx_LPTIM3_Clock_Source LPTIM3 Clock Source 341 * @{ 342 */ 343 #define RCC_LPTIM3CLKSOURCE_PCLK4 LL_RCC_LPTIM3_CLKSOURCE_PCLK4 344 #define RCC_LPTIM3CLKSOURCE_CLKP LL_RCC_LPTIM3_CLKSOURCE_CLKP 345 #define RCC_LPTIM3CLKSOURCE_IC15 LL_RCC_LPTIM3_CLKSOURCE_IC15 346 #define RCC_LPTIM3CLKSOURCE_LSE LL_RCC_LPTIM3_CLKSOURCE_LSE 347 #define RCC_LPTIM3CLKSOURCE_LSI LL_RCC_LPTIM3_CLKSOURCE_LSI 348 #define RCC_LPTIM3CLKSOURCE_TIMG LL_RCC_LPTIM3_CLKSOURCE_TIMG 349 /** 350 * @} 351 */ 352 353 /** @defgroup RCCEx_LPTIM4_Clock_Source LPTIM4 Clock Source 354 * @{ 355 */ 356 #define RCC_LPTIM4CLKSOURCE_PCLK4 LL_RCC_LPTIM4_CLKSOURCE_PCLK4 357 #define RCC_LPTIM4CLKSOURCE_CLKP LL_RCC_LPTIM4_CLKSOURCE_CLKP 358 #define RCC_LPTIM4CLKSOURCE_IC15 LL_RCC_LPTIM4_CLKSOURCE_IC15 359 #define RCC_LPTIM4CLKSOURCE_LSE LL_RCC_LPTIM4_CLKSOURCE_LSE 360 #define RCC_LPTIM4CLKSOURCE_LSI LL_RCC_LPTIM4_CLKSOURCE_LSI 361 #define RCC_LPTIM4CLKSOURCE_TIMG LL_RCC_LPTIM4_CLKSOURCE_TIMG 362 /** 363 * @} 364 */ 365 366 /** @defgroup RCCEx_LPTIM5_Clock_Source LPTIM5 Clock Source 367 * @{ 368 */ 369 #define RCC_LPTIM5CLKSOURCE_PCLK4 LL_RCC_LPTIM5_CLKSOURCE_PCLK4 370 #define RCC_LPTIM5CLKSOURCE_CLKP LL_RCC_LPTIM5_CLKSOURCE_CLKP 371 #define RCC_LPTIM5CLKSOURCE_IC15 LL_RCC_LPTIM5_CLKSOURCE_IC15 372 #define RCC_LPTIM5CLKSOURCE_LSE LL_RCC_LPTIM5_CLKSOURCE_LSE 373 #define RCC_LPTIM5CLKSOURCE_LSI LL_RCC_LPTIM5_CLKSOURCE_LSI 374 #define RCC_LPTIM5CLKSOURCE_TIMG LL_RCC_LPTIM5_CLKSOURCE_TIMG 375 /** 376 * @} 377 */ 378 379 /** @defgroup RCCEx_LPUART1_Clock_Source LPUART1 Clock Source 380 * @{ 381 */ 382 #define RCC_LPUART1CLKSOURCE_PCLK4 LL_RCC_LPUART1_CLKSOURCE_PCLK4 383 #define RCC_LPUART1CLKSOURCE_CLKP LL_RCC_LPUART1_CLKSOURCE_CLKP 384 #define RCC_LPUART1CLKSOURCE_IC9 LL_RCC_LPUART1_CLKSOURCE_IC9 385 #define RCC_LPUART1CLKSOURCE_IC14 LL_RCC_LPUART1_CLKSOURCE_IC14 386 #define RCC_LPUART1CLKSOURCE_LSE LL_RCC_LPUART1_CLKSOURCE_LSE 387 #define RCC_LPUART1CLKSOURCE_MSI LL_RCC_LPUART1_CLKSOURCE_MSI 388 #define RCC_LPUART1CLKSOURCE_HSI LL_RCC_LPUART1_CLKSOURCE_HSI 389 /** 390 * @} 391 */ 392 393 /** @defgroup RCCEx_LTDC_Clock_Source LTDC Clock Source 394 * @{ 395 */ 396 #define RCC_LTDCCLKSOURCE_PCLK5 LL_RCC_LTDC_CLKSOURCE_PCLK5 397 #define RCC_LTDCCLKSOURCE_CLKP LL_RCC_LTDC_CLKSOURCE_CLKP 398 #define RCC_LTDCCLKSOURCE_IC16 LL_RCC_LTDC_CLKSOURCE_IC16 399 #define RCC_LTDCCLKSOURCE_HSI LL_RCC_LTDC_CLKSOURCE_HSI 400 /** 401 * @} 402 */ 403 404 /** @defgroup RCCEx_MDF1_Clock_Source MDF1 Clock Source 405 * @{ 406 */ 407 #define RCC_MDF1CLKSOURCE_HCLK LL_RCC_MDF1_CLKSOURCE_HCLK 408 #define RCC_MDF1CLKSOURCE_CLKP LL_RCC_MDF1_CLKSOURCE_CLKP 409 #define RCC_MDF1CLKSOURCE_IC7 LL_RCC_MDF1_CLKSOURCE_IC7 410 #define RCC_MDF1CLKSOURCE_IC8 LL_RCC_MDF1_CLKSOURCE_IC8 411 #define RCC_MDF1CLKSOURCE_MSI LL_RCC_MDF1_CLKSOURCE_MSI 412 #define RCC_MDF1CLKSOURCE_HSI LL_RCC_MDF1_CLKSOURCE_HSI 413 #define RCC_MDF1CLKSOURCE_PIN LL_RCC_MDF1_CLKSOURCE_I2S_CKIN 414 #define RCC_MDF1CLKSOURCE_TIMG LL_RCC_MDF1_CLKSOURCE_TIMG 415 /** 416 * @} 417 */ 418 419 /** @defgroup RCCEx_PSSI_Clock_Source PSSI Clock Source 420 * @{ 421 */ 422 #define RCC_PSSICLKSOURCE_HCLK LL_RCC_PSSI_CLKSOURCE_HCLK 423 #define RCC_PSSICLKSOURCE_CLKP LL_RCC_PSSI_CLKSOURCE_CLKP 424 #define RCC_PSSICLKSOURCE_IC20 LL_RCC_PSSI_CLKSOURCE_IC20 425 #define RCC_PSSICLKSOURCE_HSI LL_RCC_PSSI_CLKSOURCE_HSI 426 /** 427 * @} 428 */ 429 430 /** @defgroup RCCEx_SAI1_Clock_Source SAI1 Clock Source 431 * @{ 432 */ 433 #define RCC_SAI1CLKSOURCE_PCLK2 LL_RCC_SAI1_CLKSOURCE_PCLK2 434 #define RCC_SAI1CLKSOURCE_CLKP LL_RCC_SAI1_CLKSOURCE_CLKP 435 #define RCC_SAI1CLKSOURCE_IC7 LL_RCC_SAI1_CLKSOURCE_IC7 436 #define RCC_SAI1CLKSOURCE_IC8 LL_RCC_SAI1_CLKSOURCE_IC8 437 #define RCC_SAI1CLKSOURCE_MSI LL_RCC_SAI1_CLKSOURCE_MSI 438 #define RCC_SAI1CLKSOURCE_HSI LL_RCC_SAI1_CLKSOURCE_HSI 439 #define RCC_SAI1CLKSOURCE_PIN LL_RCC_SAI1_CLKSOURCE_I2S_CKIN 440 #define RCC_SAI1CLKSOURCE_SPDIFRX1 LL_RCC_SAI1_CLKSOURCE_SPDIFRX1 441 /** 442 * @} 443 */ 444 445 /** @defgroup RCCEx_SAI2_Clock_Source SAI2 Clock Source 446 * @{ 447 */ 448 #define RCC_SAI2CLKSOURCE_PCLK2 LL_RCC_SAI2_CLKSOURCE_PCLK2 449 #define RCC_SAI2CLKSOURCE_CLKP LL_RCC_SAI2_CLKSOURCE_CLKP 450 #define RCC_SAI2CLKSOURCE_IC7 LL_RCC_SAI2_CLKSOURCE_IC7 451 #define RCC_SAI2CLKSOURCE_IC8 LL_RCC_SAI2_CLKSOURCE_IC8 452 #define RCC_SAI2CLKSOURCE_MSI LL_RCC_SAI2_CLKSOURCE_MSI 453 #define RCC_SAI2CLKSOURCE_HSI LL_RCC_SAI2_CLKSOURCE_HSI 454 #define RCC_SAI2CLKSOURCE_PIN LL_RCC_SAI2_CLKSOURCE_I2S_CKIN 455 #define RCC_SAI2CLKSOURCE_SPDIFRX1 LL_RCC_SAI2_CLKSOURCE_SPDIFRX1 456 /** 457 * @} 458 */ 459 460 /** @defgroup RCCEx_SDMMC1_Clock_Source SDMMC1 Clock Source 461 * @{ 462 */ 463 #define RCC_SDMMC1CLKSOURCE_HCLK LL_RCC_SDMMC1_CLKSOURCE_HCLK 464 #define RCC_SDMMC1CLKSOURCE_CLKP LL_RCC_SDMMC1_CLKSOURCE_CLKP 465 #define RCC_SDMMC1CLKSOURCE_IC4 LL_RCC_SDMMC1_CLKSOURCE_IC4 466 #define RCC_SDMMC1CLKSOURCE_IC5 LL_RCC_SDMMC1_CLKSOURCE_IC5 467 /** 468 * @} 469 */ 470 471 /** @defgroup RCCEx_SDMMC2_Clock_Source SDMMC2 Clock Source 472 * @{ 473 */ 474 #define RCC_SDMMC2CLKSOURCE_HCLK LL_RCC_SDMMC2_CLKSOURCE_HCLK 475 #define RCC_SDMMC2CLKSOURCE_CLKP LL_RCC_SDMMC2_CLKSOURCE_CLKP 476 #define RCC_SDMMC2CLKSOURCE_IC4 LL_RCC_SDMMC2_CLKSOURCE_IC4 477 #define RCC_SDMMC2CLKSOURCE_IC5 LL_RCC_SDMMC2_CLKSOURCE_IC5 478 /** 479 * @} 480 */ 481 482 /** @defgroup RCCEx_SPDIFRX1_Clock_Source SPDIFRX1 Clock Source 483 * @{ 484 */ 485 #define RCC_SPDIFRX1CLKSOURCE_PCLK1 LL_RCC_SPDIFRX1_CLKSOURCE_PCLK1 486 #define RCC_SPDIFRX1CLKSOURCE_CLKP LL_RCC_SPDIFRX1_CLKSOURCE_CLKP 487 #define RCC_SPDIFRX1CLKSOURCE_IC7 LL_RCC_SPDIFRX1_CLKSOURCE_IC7 488 #define RCC_SPDIFRX1CLKSOURCE_IC8 LL_RCC_SPDIFRX1_CLKSOURCE_IC8 489 #define RCC_SPDIFRX1CLKSOURCE_MSI LL_RCC_SPDIFRX1_CLKSOURCE_MSI 490 #define RCC_SPDIFRX1CLKSOURCE_HSI LL_RCC_SPDIFRX1_CLKSOURCE_HSI 491 #define RCC_SPDIFRX1CLKSOURCE_PIN LL_RCC_SPDIFRX1_CLKSOURCE_I2S_CKIN 492 /** 493 * @} 494 */ 495 496 /** @defgroup RCCEx_SPI1_Clock_Source SPI1 Clock Source 497 * @{ 498 */ 499 #define RCC_SPI1CLKSOURCE_PCLK2 LL_RCC_SPI1_CLKSOURCE_PCLK2 500 #define RCC_SPI1CLKSOURCE_CLKP LL_RCC_SPI1_CLKSOURCE_CLKP 501 #define RCC_SPI1CLKSOURCE_IC8 LL_RCC_SPI1_CLKSOURCE_IC8 502 #define RCC_SPI1CLKSOURCE_IC9 LL_RCC_SPI1_CLKSOURCE_IC9 503 #define RCC_SPI1CLKSOURCE_MSI LL_RCC_SPI1_CLKSOURCE_MSI 504 #define RCC_SPI1CLKSOURCE_HSI LL_RCC_SPI1_CLKSOURCE_HSI 505 #define RCC_SPI1CLKSOURCE_PIN LL_RCC_SPI1_CLKSOURCE_I2S_CKIN 506 /** 507 * @} 508 */ 509 510 /** @defgroup RCCEx_SPI2_Clock_Source SPI2 Clock Source 511 * @{ 512 */ 513 #define RCC_SPI2CLKSOURCE_PCLK1 LL_RCC_SPI2_CLKSOURCE_PCLK1 514 #define RCC_SPI2CLKSOURCE_CLKP LL_RCC_SPI2_CLKSOURCE_CLKP 515 #define RCC_SPI2CLKSOURCE_IC8 LL_RCC_SPI2_CLKSOURCE_IC8 516 #define RCC_SPI2CLKSOURCE_IC9 LL_RCC_SPI2_CLKSOURCE_IC9 517 #define RCC_SPI2CLKSOURCE_MSI LL_RCC_SPI2_CLKSOURCE_MSI 518 #define RCC_SPI2CLKSOURCE_HSI LL_RCC_SPI2_CLKSOURCE_HSI 519 #define RCC_SPI2CLKSOURCE_PIN LL_RCC_SPI2_CLKSOURCE_I2S_CKIN 520 /** 521 * @} 522 */ 523 524 /** @defgroup RCCEx_SPI3_Clock_Source SPI3 Clock Source 525 * @{ 526 */ 527 #define RCC_SPI3CLKSOURCE_PCLK1 LL_RCC_SPI3_CLKSOURCE_PCLK1 528 #define RCC_SPI3CLKSOURCE_CLKP LL_RCC_SPI3_CLKSOURCE_CLKP 529 #define RCC_SPI3CLKSOURCE_IC8 LL_RCC_SPI3_CLKSOURCE_IC8 530 #define RCC_SPI3CLKSOURCE_IC9 LL_RCC_SPI3_CLKSOURCE_IC9 531 #define RCC_SPI3CLKSOURCE_MSI LL_RCC_SPI3_CLKSOURCE_MSI 532 #define RCC_SPI3CLKSOURCE_HSI LL_RCC_SPI3_CLKSOURCE_HSI 533 #define RCC_SPI3CLKSOURCE_PIN LL_RCC_SPI3_CLKSOURCE_I2S_CKIN 534 /** 535 * @} 536 */ 537 538 /** @defgroup RCCEx_SPI4_Clock_Source SPI4 Clock Source 539 * @{ 540 */ 541 #define RCC_SPI4CLKSOURCE_PCLK2 LL_RCC_SPI4_CLKSOURCE_PCLK2 542 #define RCC_SPI4CLKSOURCE_CLKP LL_RCC_SPI4_CLKSOURCE_CLKP 543 #define RCC_SPI4CLKSOURCE_IC9 LL_RCC_SPI4_CLKSOURCE_IC9 544 #define RCC_SPI4CLKSOURCE_IC14 LL_RCC_SPI4_CLKSOURCE_IC14 545 #define RCC_SPI4CLKSOURCE_MSI LL_RCC_SPI4_CLKSOURCE_MSI 546 #define RCC_SPI4CLKSOURCE_HSI LL_RCC_SPI4_CLKSOURCE_HSI 547 #define RCC_SPI4CLKSOURCE_HSE LL_RCC_SPI4_CLKSOURCE_HSE 548 /** 549 * @} 550 */ 551 552 /** @defgroup RCCEx_SPI5_Clock_Source SPI5 Clock Source 553 * @{ 554 */ 555 #define RCC_SPI5CLKSOURCE_PCLK2 LL_RCC_SPI5_CLKSOURCE_PCLK2 556 #define RCC_SPI5CLKSOURCE_CLKP LL_RCC_SPI5_CLKSOURCE_CLKP 557 #define RCC_SPI5CLKSOURCE_IC9 LL_RCC_SPI5_CLKSOURCE_IC9 558 #define RCC_SPI5CLKSOURCE_IC14 LL_RCC_SPI5_CLKSOURCE_IC14 559 #define RCC_SPI5CLKSOURCE_MSI LL_RCC_SPI5_CLKSOURCE_MSI 560 #define RCC_SPI5CLKSOURCE_HSI LL_RCC_SPI5_CLKSOURCE_HSI 561 #define RCC_SPI5CLKSOURCE_HSE LL_RCC_SPI5_CLKSOURCE_HSE 562 /** 563 * @} 564 */ 565 566 /** @defgroup RCCEx_SPI6_Clock_Source SPI6 Clock Source 567 * @{ 568 */ 569 #define RCC_SPI6CLKSOURCE_PCLK4 LL_RCC_SPI6_CLKSOURCE_PCLK4 570 #define RCC_SPI6CLKSOURCE_CLKP LL_RCC_SPI6_CLKSOURCE_CLKP 571 #define RCC_SPI6CLKSOURCE_IC8 LL_RCC_SPI6_CLKSOURCE_IC8 572 #define RCC_SPI6CLKSOURCE_IC9 LL_RCC_SPI6_CLKSOURCE_IC9 573 #define RCC_SPI6CLKSOURCE_MSI LL_RCC_SPI6_CLKSOURCE_MSI 574 #define RCC_SPI6CLKSOURCE_HSI LL_RCC_SPI6_CLKSOURCE_HSI 575 #define RCC_SPI6CLKSOURCE_PIN LL_RCC_SPI6_CLKSOURCE_I2S_CKIN 576 /** 577 * @} 578 */ 579 580 /** @defgroup RCCEx_USART1_Clock_Source USART1 Clock Source 581 * @{ 582 */ 583 #define RCC_USART1CLKSOURCE_PCLK2 LL_RCC_USART1_CLKSOURCE_PCLK2 584 #define RCC_USART1CLKSOURCE_CLKP LL_RCC_USART1_CLKSOURCE_CLKP 585 #define RCC_USART1CLKSOURCE_IC9 LL_RCC_USART1_CLKSOURCE_IC9 586 #define RCC_USART1CLKSOURCE_IC14 LL_RCC_USART1_CLKSOURCE_IC14 587 #define RCC_USART1CLKSOURCE_LSE LL_RCC_USART1_CLKSOURCE_LSE 588 #define RCC_USART1CLKSOURCE_MSI LL_RCC_USART1_CLKSOURCE_MSI 589 #define RCC_USART1CLKSOURCE_HSI LL_RCC_USART1_CLKSOURCE_HSI 590 /** 591 * @} 592 */ 593 594 /** @defgroup RCCEx_USART2_Clock_Source USART2 Clock Source 595 * @{ 596 */ 597 #define RCC_USART2CLKSOURCE_PCLK1 LL_RCC_USART2_CLKSOURCE_PCLK1 598 #define RCC_USART2CLKSOURCE_CLKP LL_RCC_USART2_CLKSOURCE_CLKP 599 #define RCC_USART2CLKSOURCE_IC9 LL_RCC_USART2_CLKSOURCE_IC9 600 #define RCC_USART2CLKSOURCE_IC14 LL_RCC_USART2_CLKSOURCE_IC14 601 #define RCC_USART2CLKSOURCE_LSE LL_RCC_USART2_CLKSOURCE_LSE 602 #define RCC_USART2CLKSOURCE_MSI LL_RCC_USART2_CLKSOURCE_MSI 603 #define RCC_USART2CLKSOURCE_HSI LL_RCC_USART2_CLKSOURCE_HSI 604 /** 605 * @} 606 */ 607 608 /** @defgroup RCCEx_USART3_Clock_Source USART3 Clock Source 609 * @{ 610 */ 611 #define RCC_USART3CLKSOURCE_PCLK1 LL_RCC_USART3_CLKSOURCE_PCLK1 612 #define RCC_USART3CLKSOURCE_CLKP LL_RCC_USART3_CLKSOURCE_CLKP 613 #define RCC_USART3CLKSOURCE_IC9 LL_RCC_USART3_CLKSOURCE_IC9 614 #define RCC_USART3CLKSOURCE_IC14 LL_RCC_USART3_CLKSOURCE_IC14 615 #define RCC_USART3CLKSOURCE_LSE LL_RCC_USART3_CLKSOURCE_LSE 616 #define RCC_USART3CLKSOURCE_MSI LL_RCC_USART3_CLKSOURCE_MSI 617 #define RCC_USART3CLKSOURCE_HSI LL_RCC_USART3_CLKSOURCE_HSI 618 /** 619 * @} 620 */ 621 622 /** @defgroup RCCEx_UART4_Clock_Source UART4 Clock Source 623 * @{ 624 */ 625 #define RCC_UART4CLKSOURCE_PCLK1 LL_RCC_UART4_CLKSOURCE_PCLK1 626 #define RCC_UART4CLKSOURCE_CLKP LL_RCC_UART4_CLKSOURCE_CLKP 627 #define RCC_UART4CLKSOURCE_IC9 LL_RCC_UART4_CLKSOURCE_IC9 628 #define RCC_UART4CLKSOURCE_IC14 LL_RCC_UART4_CLKSOURCE_IC14 629 #define RCC_UART4CLKSOURCE_LSE LL_RCC_UART4_CLKSOURCE_LSE 630 #define RCC_UART4CLKSOURCE_MSI LL_RCC_UART4_CLKSOURCE_MSI 631 #define RCC_UART4CLKSOURCE_HSI LL_RCC_UART4_CLKSOURCE_HSI 632 /** 633 * @} 634 */ 635 636 /** @defgroup RCCEx_UART5_Clock_Source UART5 Clock Source 637 * @{ 638 */ 639 #define RCC_UART5CLKSOURCE_PCLK1 LL_RCC_UART5_CLKSOURCE_PCLK1 640 #define RCC_UART5CLKSOURCE_CLKP LL_RCC_UART5_CLKSOURCE_CLKP 641 #define RCC_UART5CLKSOURCE_IC9 LL_RCC_UART5_CLKSOURCE_IC9 642 #define RCC_UART5CLKSOURCE_IC14 LL_RCC_UART5_CLKSOURCE_IC14 643 #define RCC_UART5CLKSOURCE_LSE LL_RCC_UART5_CLKSOURCE_LSE 644 #define RCC_UART5CLKSOURCE_MSI LL_RCC_UART5_CLKSOURCE_MSI 645 #define RCC_UART5CLKSOURCE_HSI LL_RCC_UART5_CLKSOURCE_HSI 646 /** 647 * @} 648 */ 649 650 /** @defgroup RCCEx_USART6_Clock_Source USART6 Clock Source 651 * @{ 652 */ 653 #define RCC_USART6CLKSOURCE_PCLK2 LL_RCC_USART6_CLKSOURCE_PCLK2 654 #define RCC_USART6CLKSOURCE_CLKP LL_RCC_USART6_CLKSOURCE_CLKP 655 #define RCC_USART6CLKSOURCE_IC9 LL_RCC_USART6_CLKSOURCE_IC9 656 #define RCC_USART6CLKSOURCE_IC14 LL_RCC_USART6_CLKSOURCE_IC14 657 #define RCC_USART6CLKSOURCE_LSE LL_RCC_USART6_CLKSOURCE_LSE 658 #define RCC_USART6CLKSOURCE_MSI LL_RCC_USART6_CLKSOURCE_MSI 659 #define RCC_USART6CLKSOURCE_HSI LL_RCC_USART6_CLKSOURCE_HSI 660 /** 661 * @} 662 */ 663 664 /** @defgroup RCCEx_UART7_Clock_Source UART7 Clock Source 665 * @{ 666 */ 667 #define RCC_UART7CLKSOURCE_PCLK1 LL_RCC_UART7_CLKSOURCE_PCLK1 668 #define RCC_UART7CLKSOURCE_CLKP LL_RCC_UART7_CLKSOURCE_CLKP 669 #define RCC_UART7CLKSOURCE_IC9 LL_RCC_UART7_CLKSOURCE_IC9 670 #define RCC_UART7CLKSOURCE_IC14 LL_RCC_UART7_CLKSOURCE_IC14 671 #define RCC_UART7CLKSOURCE_LSE LL_RCC_UART7_CLKSOURCE_LSE 672 #define RCC_UART7CLKSOURCE_MSI LL_RCC_UART7_CLKSOURCE_MSI 673 #define RCC_UART7CLKSOURCE_HSI LL_RCC_UART7_CLKSOURCE_HSI 674 /** 675 * @} 676 */ 677 678 /** @defgroup RCCEx_UART8_Clock_Source UART8 Clock Source 679 * @{ 680 */ 681 #define RCC_UART8CLKSOURCE_PCLK1 LL_RCC_UART8_CLKSOURCE_PCLK1 682 #define RCC_UART8CLKSOURCE_CLKP LL_RCC_UART8_CLKSOURCE_CLKP 683 #define RCC_UART8CLKSOURCE_IC9 LL_RCC_UART8_CLKSOURCE_IC9 684 #define RCC_UART8CLKSOURCE_IC14 LL_RCC_UART8_CLKSOURCE_IC14 685 #define RCC_UART8CLKSOURCE_LSE LL_RCC_UART8_CLKSOURCE_LSE 686 #define RCC_UART8CLKSOURCE_MSI LL_RCC_UART8_CLKSOURCE_MSI 687 #define RCC_UART8CLKSOURCE_HSI LL_RCC_UART8_CLKSOURCE_HSI 688 /** 689 * @} 690 */ 691 692 /** @defgroup RCCEx_UART9_Clock_Source UART9 Clock Source 693 * @{ 694 */ 695 #define RCC_UART9CLKSOURCE_PCLK2 LL_RCC_UART9_CLKSOURCE_PCLK2 696 #define RCC_UART9CLKSOURCE_CLKP LL_RCC_UART9_CLKSOURCE_CLKP 697 #define RCC_UART9CLKSOURCE_IC9 LL_RCC_UART9_CLKSOURCE_IC9 698 #define RCC_UART9CLKSOURCE_IC14 LL_RCC_UART9_CLKSOURCE_IC14 699 #define RCC_UART9CLKSOURCE_LSE LL_RCC_UART9_CLKSOURCE_LSE 700 #define RCC_UART9CLKSOURCE_MSI LL_RCC_UART9_CLKSOURCE_MSI 701 #define RCC_UART9CLKSOURCE_HSI LL_RCC_UART9_CLKSOURCE_HSI 702 /** 703 * @} 704 */ 705 706 /** @defgroup RCCEx_USART10_Clock_Source USART10 Clock Source 707 * @{ 708 */ 709 #define RCC_USART10CLKSOURCE_PCLK2 LL_RCC_USART10_CLKSOURCE_PCLK2 710 #define RCC_USART10CLKSOURCE_CLKP LL_RCC_USART10_CLKSOURCE_CLKP 711 #define RCC_USART10CLKSOURCE_IC9 LL_RCC_USART10_CLKSOURCE_IC9 712 #define RCC_USART10CLKSOURCE_IC14 LL_RCC_USART10_CLKSOURCE_IC14 713 #define RCC_USART10CLKSOURCE_LSE LL_RCC_USART10_CLKSOURCE_LSE 714 #define RCC_USART10CLKSOURCE_MSI LL_RCC_USART10_CLKSOURCE_MSI 715 #define RCC_USART10CLKSOURCE_HSI LL_RCC_USART10_CLKSOURCE_HSI 716 /** 717 * @} 718 */ 719 720 /** @defgroup RCCEx_USBPHY1_Clock_Source USBPHY1 Clock Source 721 * @{ 722 */ 723 #define RCC_USBPHY1REFCLKSOURCE_OTGPHY1 LL_RCC_OTGPHY1CKREF_CLKSOURCE_OTGPHY1 724 #define RCC_USBPHY1REFCLKSOURCE_HSE_DIRECT LL_RCC_OTGPHY1CKREF_CLKSOURCE_HSE_DIV_2_OSC 725 #define RCC_USBPHY1REFCLKSOURCE_HSE_DIRECT_DIV2 (LL_RCC_OTGPHY1CKREF_CLKSOURCE_HSE_DIV_2_OSC | 0x80000000UL) 726 /** 727 * @} 728 */ 729 730 /** @defgroup RCCEx_USBPHY2_Clock_Source USBPHY2 Clock Source 731 * @{ 732 */ 733 #define RCC_USBPHY2REFCLKSOURCE_OTGPHY2 LL_RCC_OTGPHY2CKREF_CLKSOURCE_OTGPHY2 734 #define RCC_USBPHY2REFCLKSOURCE_HSE_DIRECT LL_RCC_OTGPHY2CKREF_CLKSOURCE_HSE_DIV_2_OSC 735 #define RCC_USBPHY2REFCLKSOURCE_HSE_DIRECT_DIV2 (LL_RCC_OTGPHY2CKREF_CLKSOURCE_HSE_DIV_2_OSC | 0x80000000UL) 736 /** 737 * @} 738 */ 739 740 /** @defgroup RCCEx_USB_OTGHS1_Clock_Source USB OTGHS1 Clock Source 741 * @{ 742 */ 743 #define RCC_USBOTGHS1CLKSOURCE_HSE_DIV2 LL_RCC_OTGPHY1_CLKSOURCE_HSE_DIV_2 744 #define RCC_USBOTGHS1CLKSOURCE_CLKP LL_RCC_OTGPHY1_CLKSOURCE_CLKP 745 #define RCC_USBOTGHS1CLKSOURCE_IC15 LL_RCC_OTGPHY1_CLKSOURCE_IC15 746 #define RCC_USBOTGHS1CLKSOURCE_HSE_DIRECT LL_RCC_OTGPHY1_CLKSOURCE_HSE_DIV_2_OSC 747 #define RCC_USBOTGHS1CLKSOURCE_HSE_DIRECT_DIV2 (LL_RCC_OTGPHY1_CLKSOURCE_HSE_DIV_2_OSC | 0x80000000UL) 748 /** 749 * @} 750 */ 751 752 /** @defgroup RCCEx_USB_OTGHS2_Clock_Source USB OTGHS2 Clock Source 753 * @{ 754 */ 755 #define RCC_USBOTGHS2CLKSOURCE_HSE_DIV2 LL_RCC_OTGPHY2_CLKSOURCE_HSE_DIV_2 756 #define RCC_USBOTGHS2CLKSOURCE_CLKP LL_RCC_OTGPHY2_CLKSOURCE_CLKP 757 #define RCC_USBOTGHS2CLKSOURCE_IC15 LL_RCC_OTGPHY2_CLKSOURCE_IC15 758 #define RCC_USBOTGHS2CLKSOURCE_HSE_DIRECT LL_RCC_OTGPHY2_CLKSOURCE_HSE_DIV_2_OSC 759 #define RCC_USBOTGHS2CLKSOURCE_HSE_DIRECT_DIV2 (LL_RCC_OTGPHY2_CLKSOURCE_HSE_DIV_2_OSC | 0x80000000UL) 760 /** 761 * @} 762 */ 763 764 /** @defgroup RCCEx_XSPI1_Clock_Source XSPI1 Clock Source 765 * @{ 766 */ 767 #define RCC_XSPI1CLKSOURCE_HCLK LL_RCC_XSPI1_CLKSOURCE_HCLK 768 #define RCC_XSPI1CLKSOURCE_CLKP LL_RCC_XSPI1_CLKSOURCE_CLKP 769 #define RCC_XSPI1CLKSOURCE_IC3 LL_RCC_XSPI1_CLKSOURCE_IC3 770 #define RCC_XSPI1CLKSOURCE_IC4 LL_RCC_XSPI1_CLKSOURCE_IC4 771 /** 772 * @} 773 */ 774 775 /** @defgroup RCCEx_XSPI2_Clock_Source XSPI2 Clock Source 776 * @{ 777 */ 778 #define RCC_XSPI2CLKSOURCE_HCLK LL_RCC_XSPI2_CLKSOURCE_HCLK 779 #define RCC_XSPI2CLKSOURCE_CLKP LL_RCC_XSPI2_CLKSOURCE_CLKP 780 #define RCC_XSPI2CLKSOURCE_IC3 LL_RCC_XSPI2_CLKSOURCE_IC3 781 #define RCC_XSPI2CLKSOURCE_IC4 LL_RCC_XSPI2_CLKSOURCE_IC4 782 /** 783 * @} 784 */ 785 786 /** @defgroup RCCEx_XSPI3_Clock_Source XSPI3 Clock Source 787 * @{ 788 */ 789 #define RCC_XSPI3CLKSOURCE_HCLK LL_RCC_XSPI3_CLKSOURCE_HCLK 790 #define RCC_XSPI3CLKSOURCE_CLKP LL_RCC_XSPI3_CLKSOURCE_CLKP 791 #define RCC_XSPI3CLKSOURCE_IC3 LL_RCC_XSPI3_CLKSOURCE_IC3 792 #define RCC_XSPI3CLKSOURCE_IC4 LL_RCC_XSPI3_CLKSOURCE_IC4 793 /** 794 * @} 795 */ 796 797 798 /** @defgroup RCCEx_TIM_Prescaler_Selection TIM Prescaler Selection 799 * @{ 800 */ 801 #define RCC_TIMPRES_DIV1 LL_RCC_TIM_PRESCALER_1 /*!< Timers clocks prescaler divide by 1 */ 802 #define RCC_TIMPRES_DIV2 LL_RCC_TIM_PRESCALER_2 /*!< Timers clocks prescaler divide by 2 */ 803 #define RCC_TIMPRES_DIV4 LL_RCC_TIM_PRESCALER_4 /*!< Timers clocks prescaler divide by 4 */ 804 #define RCC_TIMPRES_DIV8 LL_RCC_TIM_PRESCALER_8 /*!< Timers clocks prescaler divide by 8 */ 805 /** 806 * @} 807 */ 808 809 /** @defgroup RCCEx_PERIPH_FREQUENCY Peripheral clock frequency 810 * @{ 811 */ 812 #define RCC_PERIPH_FREQUENCY_NO LL_RCC_PERIPH_FREQUENCY_NO /*!< No clock enabled for the peripheral */ 813 #define RCC_PERIPH_FREQUENCY_NA LL_RCC_PERIPH_FREQUENCY_NA /*!< Frequency cannot be provided as external clock */ 814 /** 815 * @} 816 */ 817 818 /** @defgroup RCCEx_IC_Selection_Max Maximum IC Selection 819 * @{ 820 */ 821 #define RCC_IC_MAX_NUMBER 20U 822 /** 823 * @} 824 */ 825 826 /** @defgroup RCCEx_IC_Selection IC Selection 827 * @{ 828 */ 829 #define RCC_IC1 0U /*!< IC1 source is PLL1 output by default */ 830 #define RCC_IC2 1U /*!< IC2 source is PLL1 output by default */ 831 #define RCC_IC3 2U /*!< IC3 source is PLL1 output by default */ 832 #define RCC_IC4 3U /*!< IC4 source is PLL1 output by default */ 833 #define RCC_IC5 4U /*!< IC5 source is PLL1 output by default */ 834 #define RCC_IC6 5U /*!< IC6 source is PLL1 output by default */ 835 #define RCC_IC7 6U /*!< IC7 source is PLL2 output by default */ 836 #define RCC_IC8 7U /*!< IC8 source is PLL2 output by default */ 837 #define RCC_IC9 8U /*!< IC9 source is PLL2 output by default */ 838 #define RCC_IC10 9U /*!< IC10 source is PLL2 output by default */ 839 #define RCC_IC11 10U /*!< IC11 source is PLL1 output by default */ 840 #define RCC_IC12 11U /*!< IC12 source is PLL3 output by default */ 841 #define RCC_IC13 12U /*!< IC13 source is PLL3 output by default */ 842 #define RCC_IC14 13U /*!< IC14 source is PLL3 output by default */ 843 #define RCC_IC15 14U /*!< IC15 source is PLL3 output by default */ 844 #define RCC_IC16 15U /*!< IC16 source is PLL4 output by default */ 845 #define RCC_IC17 16U /*!< IC17 source is PLL4 output by default */ 846 #define RCC_IC18 17U /*!< IC18 source is PLL4 output by default */ 847 #define RCC_IC19 18U /*!< IC19 source is PLL4 output by default */ 848 #define RCC_IC20 19U /*!< IC20 source is PLL4 output by default */ 849 /** 850 * @} 851 */ 852 853 /** @defgroup RCCEx_EXTI_LINE_LSECSS LSE CSS external interrupt line 854 * @{ 855 */ 856 #define RCC_EXTI_LINE_LSECSS EXTI_IMR3_IM65 /*!< LSE CSS failure interrupt connected to direct EXTI line 65 (Tamper) */ 857 /** 858 * @} 859 */ 860 861 /** @defgroup RCC_PLL_Selection PLL selection 862 * @{ 863 */ 864 #define RCC_PLL1 0U 865 #define RCC_PLL2 1U 866 #define RCC_PLL3 2U 867 #define RCC_PLL4 3U 868 /** 869 * @} 870 */ 871 872 /** @defgroup RCC_PLL_SSCGSpread_Mode PLL SSCG spread mode selection 873 * @{ 874 */ 875 #define RCC_PLL_SSCG_CENTER 0U /*!< PLL SSCG center spread modulation */ 876 #define RCC_PLL_SSCG_DOWN 1U /*!< PLL SSCG down spread modulation */ 877 /** 878 * @} 879 */ 880 881 /** 882 * @} 883 */ 884 885 886 /* Exported types ------------------------------------------------------------*/ 887 /** @defgroup RCCEx_Exported_Types RCCEx Exported Types 888 * @{ 889 */ 890 891 /** 892 * @brief RCC extended clocks structure definition 893 */ 894 typedef struct 895 { 896 uint64_t PeriphClockSelection; /*!< The Extended Clock to be configured. 897 This parameter can be a value of @ref RCCEx_Periph_Clock_Selection */ 898 899 RCC_ICInitTypeDef ICSelection[RCC_IC_MAX_NUMBER]; /*!< ICx structure parameters. 900 This parameter shall be used when ICx is selected as kernel clock source 901 for some peripherals */ 902 903 uint32_t FmcClockSelection; /*!< Specifies FMC clock source. 904 This parameter can be a value of @ref RCCEx_FMC_Clock_Source */ 905 906 uint32_t Xspi1ClockSelection; /*!< Specifies XSPI1 clock source. 907 This parameter can be a value of @ref RCCEx_XSPI1_Clock_Source */ 908 909 uint32_t Xspi2ClockSelection; /*!< Specifies XSPI2 clock source. 910 This parameter can be a value of @ref RCCEx_XSPI2_Clock_Source */ 911 912 uint32_t Xspi3ClockSelection; /*!< Specifies XSPI3 clock source. 913 This parameter can be a value of @ref RCCEx_XSPI3_Clock_Source */ 914 915 uint32_t CkperClockSelection; /*!< Specifies CKPER clock source. 916 This parameter can be a value of @ref RCCEx_CLKP_Clock_Source */ 917 918 uint32_t AdcClockSelection; /*!< Specifies ADC interface clock source. 919 This parameter can be a value of @ref RCCEx_ADC_Clock_Source */ 920 921 uint32_t AdcDivider; /*!< Specifies ADC clock divider. 922 This parameter can be a value between 1 to 256 */ 923 924 uint32_t Adf1ClockSelection; /*!< Specifies ADF1 Clock clock source. 925 This parameter can be a value of @ref RCCEx_ADF1_Clock_Source */ 926 927 uint32_t DcmippClockSelection; /*!< Specifies DCMIPP clock source. 928 This parameter can be a value of @ref RCCEx_DCMIPP_Clock_Source */ 929 930 uint32_t Eth1ClockSelection; /*!< Specifies ETH1 clock source. 931 This parameter can be a value of @ref RCCEx_ETH1_Clock_Source */ 932 933 uint32_t Eth1PhyInterfaceSelection; /*!< Specifies ETH1 PHY interface. 934 This parameter can be a value of @ref RCCEx_ETH1_PHY_Interface */ 935 936 uint32_t Eth1RxClockSelection; /*!< Specifies ETH1 RX clock source. 937 This parameter can be a value of @ref RCCEx_ETH1_RX_Clock_Source */ 938 939 uint32_t Eth1TxClockSelection; /*!< Specifies ETH1 TX clock source. 940 This parameter can be a value of @ref RCCEx_ETH1_TX_Clock_Source */ 941 942 uint32_t Eth1PtpClockSelection; /*!< Specifies ETH1 PTP clock source. 943 This parameter can be a value of @ref RCCEx_ETH1_PTP_Clock_Source */ 944 945 uint32_t Eth1PtpDivider; /*!< Specifies ETH1 PTP clock divider. 946 This parameter can be a value between 1 to 16 */ 947 948 uint32_t FdcanClockSelection; /*!< Specifies FDCAN kernel clock source. 949 This parameter can be a value of @ref RCCEx_FDCAN_Clock_Source */ 950 951 uint32_t I2c1ClockSelection; /*!< Specifies I2C1 clock source. 952 This parameter can be a value of @ref RCCEx_I2C1_Clock_Source */ 953 954 uint32_t I2c2ClockSelection; /*!< Specifies I2C2 clock source. 955 This parameter can be a value of @ref RCCEx_I2C2_Clock_Source */ 956 957 uint32_t I2c3ClockSelection; /*!< Specifies I2C3 clock source. 958 This parameter can be a value of @ref RCCEx_I2C3_Clock_Source */ 959 960 uint32_t I2c4ClockSelection; /*!< Specifies I2C4 clock source. 961 This parameter can be a value of @ref RCCEx_I2C4_Clock_Source */ 962 963 uint32_t I3c1ClockSelection; /*!< Specifies I3C1 clock source. 964 This parameter can be a value of @ref RCCEx_I3C1_Clock_Source */ 965 966 uint32_t I3c2ClockSelection; /*!< Specifies I3C2 clock source. 967 This parameter can be a value of @ref RCCEx_I3C2_Clock_Source */ 968 969 uint32_t Lptim1ClockSelection; /*!< Specifies LPTIM1 clock source. 970 This parameter can be a value of @ref RCCEx_LPTIM1_Clock_Source */ 971 972 uint32_t Lptim2ClockSelection; /*!< Specifies LPTIM2 clock source. 973 This parameter can be a value of @ref RCCEx_LPTIM2_Clock_Source */ 974 975 uint32_t Lptim3ClockSelection; /*!< Specifies LPTIM3 clock source. 976 This parameter can be a value of @ref RCCEx_LPTIM3_Clock_Source */ 977 978 uint32_t Lptim4ClockSelection; /*!< Specifies LPTIM4 clock source. 979 This parameter can be a value of @ref RCCEx_LPTIM4_Clock_Source */ 980 981 uint32_t Lptim5ClockSelection; /*!< Specifies LPTIM5 clock source. 982 This parameter can be a value of @ref RCCEx_LPTIM5_Clock_Source */ 983 984 uint32_t Lpuart1ClockSelection; /*!< Specifies LPUART1 clock source. 985 This parameter can be a value of @ref RCCEx_LPUART1_Clock_Source */ 986 987 uint32_t LtdcClockSelection; /*!< Specifies LPUART1 clock source. 988 This parameter can be a value of @ref RCCEx_LTDC_Clock_Source */ 989 990 uint32_t Mdf1ClockSelection; /*!< Specifies MDF1 Clock clock source. 991 This parameter can be a value of @ref RCCEx_MDF1_Clock_Source */ 992 993 uint32_t PssiClockSelection; /*!< Specifies PSSI clock source. 994 This parameter can be a value of @ref RCCEx_PSSI_Clock_Source */ 995 996 uint32_t Sai1ClockSelection; /*!< Specifies SAI1 clock source. 997 This parameter can be a value of @ref RCCEx_SAI1_Clock_Source */ 998 999 uint32_t Sai2ClockSelection; /*!< Specifies SAI2 clock source. 1000 This parameter can be a value of @ref RCCEx_SAI2_Clock_Source */ 1001 1002 uint32_t Sdmmc1ClockSelection; /*!< Specifies SDMMC1 clock source. 1003 This parameter can be a value of @ref RCCEx_SDMMC1_Clock_Source */ 1004 1005 uint32_t Sdmmc2ClockSelection; /*!< Specifies SDMMC2 clock source. 1006 This parameter can be a value of @ref RCCEx_SDMMC2_Clock_Source */ 1007 1008 uint32_t Spi1ClockSelection; /*!< Specifies SPI1 clock source. 1009 This parameter can be a value of @ref RCCEx_SPI1_Clock_Source */ 1010 1011 uint32_t Spi2ClockSelection; /*!< Specifies SPI2 clock source. 1012 This parameter can be a value of @ref RCCEx_SPI2_Clock_Source */ 1013 1014 uint32_t Spi3ClockSelection; /*!< Specifies SPI3 clock source. 1015 This parameter can be a value of @ref RCCEx_SPI3_Clock_Source */ 1016 1017 uint32_t Spi4ClockSelection; /*!< Specifies SPI4 clock source. 1018 This parameter can be a value of @ref RCCEx_SPI4_Clock_Source */ 1019 1020 uint32_t Spi5ClockSelection; /*!< Specifies SPI5 clock source. 1021 This parameter can be a value of @ref RCCEx_SPI5_Clock_Source */ 1022 1023 uint32_t Spi6ClockSelection; /*!< Specifies SPI6 clock source. 1024 This parameter can be a value of @ref RCCEx_SPI6_Clock_Source */ 1025 1026 uint32_t Spdifrx1ClockSelection; /*!< Specifies SPDIFRX1 Clock clock source. 1027 This parameter can be a value of @ref RCCEx_SPDIFRX1_Clock_Source */ 1028 1029 uint32_t Usart1ClockSelection; /*!< Specifies USART1 clock source. 1030 This parameter can be a value of @ref RCCEx_USART1_Clock_Source */ 1031 1032 uint32_t Usart2ClockSelection; /*!< Specifies USART2 clock source. 1033 This parameter can be a value of @ref RCCEx_USART2_Clock_Source */ 1034 1035 uint32_t Usart3ClockSelection; /*!< Specifies USART3 clock source. 1036 This parameter can be a value of @ref RCCEx_USART3_Clock_Source */ 1037 1038 uint32_t Uart4ClockSelection; /*!< Specifies UART4 clock source. 1039 This parameter can be a value of @ref RCCEx_UART4_Clock_Source */ 1040 1041 uint32_t Uart5ClockSelection; /*!< Specifies UART5 clock source. 1042 This parameter can be a value of @ref RCCEx_UART5_Clock_Source */ 1043 1044 uint32_t Usart6ClockSelection; /*!< Specifies USART6 clock source. 1045 This parameter can be a value of @ref RCCEx_USART6_Clock_Source */ 1046 1047 uint32_t Uart7ClockSelection; /*!< Specifies UART7 clock source. 1048 This parameter can be a value of @ref RCCEx_UART7_Clock_Source */ 1049 1050 uint32_t Uart8ClockSelection; /*!< Specifies UART8 clock source. 1051 This parameter can be a value of @ref RCCEx_UART8_Clock_Source */ 1052 1053 uint32_t Uart9ClockSelection; /*!< Specifies UART9 clock source. 1054 This parameter can be a value of @ref RCCEx_UART9_Clock_Source */ 1055 1056 uint32_t Usart10ClockSelection; /*!< Specifies USART10 clock source. 1057 This parameter can be a value of @ref RCCEx_USART10_Clock_Source */ 1058 1059 uint32_t UsbPhy1ClockSelection; /*!< Specifies USBPHY1 clock source. 1060 This parameter can be a value of @ref RCCEx_USBPHY1_Clock_Source */ 1061 1062 uint32_t UsbOtgHs1ClockSelection; /*!< Specifies USB OTG HS1 clock source. 1063 This parameter can be a value of @ref RCCEx_USB_OTGHS1_Clock_Source */ 1064 1065 uint32_t UsbPhy2ClockSelection; /*!< Specifies USBPHY2 clock source. 1066 This parameter can be a value of @ref RCCEx_USBPHY2_Clock_Source */ 1067 1068 uint32_t UsbOtgHs2ClockSelection; /*!< Specifies USB OTG HS2 clock source. 1069 This parameter can be a value of @ref RCCEx_USB_OTGHS2_Clock_Source */ 1070 1071 uint32_t RTCClockSelection; /*!< Specifies RTC Clock clock source. 1072 This parameter can be a value of @ref RCC_RTC_Clock_Source */ 1073 1074 uint32_t TIMPresSelection; /*!< Specifies TIM Clock Prescalers Selection. 1075 This parameter can be a value of @ref RCCEx_TIM_Prescaler_Selection */ 1076 } RCC_PeriphCLKInitTypeDef; 1077 1078 /** 1079 * @brief RCC Extended PLL configuration structure definition 1080 * (allow to configure the PLL in SSCG mode) 1081 */ 1082 typedef struct 1083 { 1084 uint32_t PLLModDiv; /*!< Modulation division frequency. 1085 This parameter must be a number between Min_Data = 0 and Max_Data = 0xF */ 1086 uint32_t PLLModSpreadDepth; /*!< Modulation spread spectrum depth. 1087 This parameter must be a number between Min_Data = 0 and Max_Data = 0x1F */ 1088 uint32_t PLLModSpreadMode; /*!< Modulation spread spectrum mode. 1089 This parameter must be a value of @ref RCC_PLL_SSCGSpread_Mode */ 1090 } RCC_PLLSSCGInitTypeDef; 1091 /** 1092 * @} 1093 */ 1094 1095 /* Exported macros -----------------------------------------------------------*/ 1096 /** @defgroup RCCEx_Exported_Macros RCCEx Exported Macros 1097 * @{ 1098 */ 1099 1100 /** 1101 * @brief Macro to configure the PLL1 SSCG Spread Depth 1102 * @note This configuration cannot be requested when the PLL1 has been enabled. 1103 * 1104 * @param __PLLMODSPR__ specifies the SSCG modulation spread depth. 1105 * It should be a value between 0 and 0x1F. 1106 * @retval None 1107 */ 1108 #define __HAL_RCC_PLL1_MODSPR_CONFIG(__PLLMODSPR__) \ 1109 MODIFY_REG(RCC->PLL1CFGR3, RCC_PLL1CFGR3_PLL1MODSPR, (uint32_t)(__PLLMODSPR__) << RCC_PLL1CFGR3_PLL1MODSPR_Pos) 1110 1111 /** 1112 * @brief Macro to configure the PLL1 SSCG Spread Mode 1113 * @note This configuration cannot be requested when the PLL1 has been enabled. 1114 * 1115 * @param __PLLMODSPRDW__ specifies the SSCG modulation spread mode. 1116 * It should be a value of @ref RCC_PLL_SSCGSpread_Mode 1117 * @retval None 1118 */ 1119 #define __HAL_RCC_PLL1_MODSPRDW_CONFIG(__PLLMODSPRDW__) \ 1120 MODIFY_REG(RCC->PLL1CFGR3, RCC_PLL1CFGR3_PLL1MODSPRDW, (uint32_t)(__PLLMODSPRDW__) << RCC_PLL1CFGR3_PLL1MODSPRDW_Pos) 1121 1122 1123 /** 1124 * @brief Macro to configure the PLL2 SSCG Spread Depth 1125 * @note This configuration cannot be requested when the PLL2 has been enabled. 1126 * 1127 * @param __PLLMODSPR__ specifies the SSCG modulation spread depth. 1128 * It should be a value between 0 and 0x1F. 1129 * @retval None 1130 */ 1131 #define __HAL_RCC_PLL2_MODSPR_CONFIG(__PLLMODSPR__) \ 1132 MODIFY_REG(RCC->PLL2CFGR3, RCC_PLL2CFGR3_PLL2MODSPR, (uint32_t)(__PLLMODSPR__) << RCC_PLL2CFGR3_PLL2MODSPR_Pos) 1133 1134 /** 1135 * @brief Macro to configure the PLL2 SSCG Spread Mode 1136 * @note This configuration cannot be requested when the PLL2 has been enabled. 1137 * 1138 * @param __PLLMODSPRDW__ specifies the SSCG modulation spread mode. 1139 * It should be a value of @ref RCC_PLL_SSCGSpread_Mode 1140 * @retval None 1141 */ 1142 #define __HAL_RCC_PLL2_MODSPRDW_CONFIG(__PLLMODSPRDW__) \ 1143 MODIFY_REG(RCC->PLL2CFGR3, RCC_PLL2CFGR3_PLL2MODSPRDW, (uint32_t)(__PLLMODSPRDW__) << RCC_PLL2CFGR3_PLL2MODSPRDW_Pos) 1144 1145 1146 /** 1147 * @brief Macro to configure the PLL3 SSCG Spread Depth 1148 * @note This configuration cannot be requested when the PLL3 has been enabled. 1149 * 1150 * @param __PLLMODSPR__ specifies the SSCG modulation spread depth. 1151 * It should be a value between 0 and 0x1F. 1152 * @retval None 1153 */ 1154 #define __HAL_RCC_PLL3_MODSPR_CONFIG(__PLLMODSPR__) \ 1155 MODIFY_REG(RCC->PLL3CFGR3, RCC_PLL3CFGR3_PLL3MODSPR, (uint32_t)(__PLLMODSPR__) << RCC_PLL3CFGR3_PLL3MODSPR_Pos) 1156 1157 /** 1158 * @brief Macro to configure the PLL3 SSCG Spread Mode 1159 * @note This configuration cannot be requested when the PLL3 has been enabled. 1160 * 1161 * @param __PLLMODSPRDW__ specifies the SSCG modulation spread mode. 1162 * It should be a value of @ref RCC_PLL_SSCGSpread_Mode 1163 * @retval None 1164 */ 1165 #define __HAL_RCC_PLL3_MODSPRDW_CONFIG(__PLLMODSPRDW__) \ 1166 MODIFY_REG(RCC->PLL3CFGR3, RCC_PLL3CFGR3_PLL3MODSPRDW, (uint32_t)(__PLLMODSPRDW__) << RCC_PLL3CFGR3_PLL3MODSPRDW_Pos) 1167 1168 1169 /** 1170 * @brief Macro to configure the PLL4 SSCG Spread Depth 1171 * @note This configuration cannot be requested when the PLL4 has been enabled. 1172 * 1173 * @param __PLLMODSPR__ specifies the SSCG modulation spread depth. 1174 * It should be a value between 0 and 0x1F. 1175 * @retval None 1176 */ 1177 #define __HAL_RCC_PLL4_MODSPR_CONFIG(__PLLMODSPR__) \ 1178 MODIFY_REG(RCC->PLL4CFGR3, RCC_PLL4CFGR3_PLL4MODSPR, (uint32_t)(__PLLMODSPR__) << RCC_PLL4CFGR3_PLL4MODSPR_Pos) 1179 1180 /** 1181 * @brief Macro to configure the PLL4 SSCG Spread Mode 1182 * @note This configuration cannot be requested when the PLL4 has been enabled. 1183 * 1184 * @param __PLLMODSPRDW__ specifies the SSCG modulation spread mode. 1185 * It should be a value of @ref RCC_PLL_SSCGSpread_Mode 1186 * @retval None 1187 */ 1188 #define __HAL_RCC_PLL4_MODSPRDW_CONFIG(__PLLMODSPRDW__) \ 1189 MODIFY_REG(RCC->PLL4CFGR3, RCC_PLL4CFGR3_PLL4MODSPRDW, (uint32_t)(__PLLMODSPRDW__) << RCC_PLL4CFGR3_PLL4MODSPRDW_Pos) 1190 1191 1192 /** @brief Macro to configure the ADC clock 1193 * @param __ADC_CLKSOURCE__ specifies the ADC clock source. 1194 * This parameter can be one of the following values: 1195 * @arg RCC_ADCCLKSOURCE_HCLK HCLK Clock selected as ADC clock 1196 * @arg RCC_ADCCLKSOURCE_CLKP CLKP selected as ADC clock 1197 * @arg RCC_ADCCLKSOURCE_IC7 IC7 selected as ADC clock 1198 * @arg RCC_ADCCLKSOURCE_IC8 IC8 selected as ADC clock 1199 * @arg RCC_ADCCLKSOURCE_MSI MSI selected as ADC clock 1200 * @arg RCC_ADCCLKSOURCE_HSI HSI selected as ADC clock 1201 * @arg RCC_ADCCLKSOURCE_PIN External I2S_CKIN selected as ADC clock 1202 * @arg RCC_ADCCLKSOURCE_TIMG TIMG selected as ADC clock 1203 */ 1204 #define __HAL_RCC_ADC_CONFIG(__ADC_CLKSOURCE__) \ 1205 LL_RCC_SetADCClockSource((__ADC_CLKSOURCE__)) 1206 1207 /** @brief Macro to get the ADC clock source. 1208 * @retval The clock source can be one of the following values: 1209 * @arg RCC_ADCCLKSOURCE_HCLK HCLK Clock selected as ADC clock 1210 * @arg RCC_ADCCLKSOURCE_CLKP CLKP selected as ADC clock 1211 * @arg RCC_ADCCLKSOURCE_IC7 IC7 selected as ADC clock 1212 * @arg RCC_ADCCLKSOURCE_IC8 IC8 selected as ADC clock 1213 * @arg RCC_ADCCLKSOURCE_MSI MSI selected as ADC clock 1214 * @arg RCC_ADCCLKSOURCE_HSI HSI selected as ADC clock 1215 * @arg RCC_ADCCLKSOURCE_PIN External I2S_CKIN selected as ADC clock 1216 * @arg RCC_ADCCLKSOURCE_TIMG TIMG selected as ADC clock 1217 */ 1218 #define __HAL_RCC_GET_ADC_SOURCE() LL_RCC_GetADCClockSource(LL_RCC_ADC_CLKSOURCE) 1219 1220 /** @brief Macro to configure the ADC clock divider. 1221 * @param __ADC_DIVIDER__ specifies clock divider for ADC. 1222 * This parameter can be a value between 1 and 256. 1223 */ 1224 #define __HAL_RCC_ADC_DIVIDER_CONFIG(__ADC_DIVIDER__) LL_RCC_SetADCPrescaler((__ADC_DIVIDER__) - 1U) 1225 1226 /** @brief Macro to get the ADC clock divider. 1227 * @retval The divider can be a value between 1 and 256. 1228 */ 1229 #define __HAL_RCC_GET_ADC_DIVIDER() (LL_RCC_GetADCPrescaler() + 1U) 1230 1231 /** @brief Macro to configure the ADF1 clock 1232 * @param __ADF1_CLKSOURCE__ specifies the ADF1 clock source. 1233 * This parameter can be one of the following values: 1234 * @arg RCC_ADF1CLKSOURCE_HCLK HCLK Clock selected as ADF1 clock 1235 * @arg RCC_ADF1CLKSOURCE_CLKP CLKP selected as ADF1 clock 1236 * @arg RCC_ADF1CLKSOURCE_IC7 IC7 selected as ADF1 clock 1237 * @arg RCC_ADF1CLKSOURCE_IC8 IC8 selected as ADF1 clock 1238 * @arg RCC_ADF1CLKSOURCE_MSI MSI selected as ADF1 clock 1239 * @arg RCC_ADF1CLKSOURCE_HSI HSI selected as ADF1 clock 1240 * @arg RCC_ADF1CLKSOURCE_PIN External I2S_CKIN selected as ADF1 clock 1241 * @arg RCC_ADF1CLKSOURCE_TIMG TIMG selected as ADF1 clock 1242 */ 1243 #define __HAL_RCC_ADF1_CONFIG(__ADF1_CLKSOURCE__) \ 1244 LL_RCC_SetADFClockSource((__ADF1_CLKSOURCE__)) 1245 1246 /** @brief Macro to get the ADF1 clock source. 1247 * @retval The clock source can be one of the following values: 1248 * @arg RCC_ADF1CLKSOURCE_HCLK HCLK Clock selected as ADF1 clock 1249 * @arg RCC_ADF1CLKSOURCE_CLKP CLKP selected as ADF1 clock 1250 * @arg RCC_ADF1CLKSOURCE_IC7 IC7 selected as ADF1 clock 1251 * @arg RCC_ADF1CLKSOURCE_IC8 IC8 selected as ADF1 clock 1252 * @arg RCC_ADF1CLKSOURCE_MSI MSI selected as ADF1 clock 1253 * @arg RCC_ADF1CLKSOURCE_HSI HSI selected as ADF1 clock 1254 * @arg RCC_ADF1CLKSOURCE_PIN External I2S_CKIN selected as ADF1 clock 1255 * @arg RCC_ADF1CLKSOURCE_TIMG TIMG selected as ADF1 clock 1256 */ 1257 #define __HAL_RCC_GET_ADF1_SOURCE() LL_RCC_GetADFClockSource(LL_RCC_ADF1_CLKSOURCE) 1258 1259 /** @brief Macro to configure the CLKP clock for peripheral 1260 * @param __CLKP_CLKSOURCE__ specifies the clock for peripheral 1261 * This parameter can be one of the following values: 1262 * @arg RCC_CLKPCLKSOURCE_HSI HSI selected as CLKP clock 1263 * @arg RCC_CLKPCLKSOURCE_MSI MSI selected as CLKP clock 1264 * @arg RCC_CLKPCLKSOURCE_HSE HSE selected as CLKP clock 1265 * @arg RCC_CLKPCLKSOURCE_IC5 IC5 selected as CLKP clock 1266 * @arg RCC_CLKPCLKSOURCE_IC10 IC10 selected as CLKP clock 1267 * @arg RCC_CLKPCLKSOURCE_IC15 IC15 selected as CLKP clock 1268 * @arg RCC_CLKPCLKSOURCE_IC19 IC19 selected as CLKP clock 1269 * @arg RCC_CLKPCLKSOURCE_IC20 IC20 selected as CLKP clock 1270 */ 1271 #define __HAL_RCC_CLKP_CONFIG(__CLKP_CLKSOURCE__) \ 1272 LL_RCC_SetCLKPClockSource((__CLKP_CLKSOURCE__)) 1273 1274 /** @brief Macro to get the Oscillator clock for peripheral source. 1275 * @retval The clock source can be one of the following values: 1276 * @arg RCC_CLKPCLKSOURCE_HSI HSI selected as CLKP clock 1277 * @arg RCC_CLKPCLKSOURCE_MSI MSI selected as CLKP clock 1278 * @arg RCC_CLKPCLKSOURCE_HSE HSE selected as CLKP clock 1279 * @arg RCC_CLKPCLKSOURCE_IC5 IC5 selected as CLKP clock 1280 * @arg RCC_CLKPCLKSOURCE_IC10 IC10 selected as CLKP clock 1281 * @arg RCC_CLKPCLKSOURCE_IC15 IC15 selected as CLKP clock 1282 * @arg RCC_CLKPCLKSOURCE_IC19 IC19 selected as CLKP clock 1283 * @arg RCC_CLKPCLKSOURCE_IC20 IC20 selected as CLKP clock 1284 */ 1285 #define __HAL_RCC_GET_CLKP_SOURCE() LL_RCC_GetCLKPClockSource(LL_RCC_CLKP_CLKSOURCE) 1286 1287 /** @brief Macro to configure the DCMIPP clock source. 1288 * 1289 * @param __DCMIPP_CLKSOURCE__ specifies the DCMIPP clock source. 1290 * @arg RCC_DCMIPPCLKSOURCE_PCLK5 PCLK5 selected as DCMIPP clock 1291 * @arg RCC_DCMIPPCLKSOURCE_CLKP CLKP selected as DCMIPP clock 1292 * @arg RCC_DCMIPPCLKSOURCE_IC17 IC17 selected as DCMIPP clock 1293 * @arg RCC_DCMIPPCLKSOURCE_HSI HSI selected as DCMIPP clock 1294 */ 1295 #define __HAL_RCC_DCMIPP_CONFIG(__DCMIPP_CLKSOURCE__) \ 1296 LL_RCC_SetDCMIPPClockSource((__DCMIPP_CLKSOURCE__)) 1297 1298 /** @brief Macro to get the DCMIPP clock source. 1299 * @retval The clock source can be one of the following values: 1300 * @arg RCC_DCMIPPCLKSOURCE_PCLK5 PCLK5 selected as DCMIPP clock 1301 * @arg RCC_DCMIPPCLKSOURCE_CLKP CLKP selected as DCMIPP clock 1302 * @arg RCC_DCMIPPCLKSOURCE_IC17 IC17 elected as DCMIPP clock 1303 * @arg RCC_DCMIPPCLKSOURCE_HSI HSI selected as DCMIPP clock 1304 */ 1305 #define __HAL_RCC_GET_DCMIPP_SOURCE() LL_RCC_GetDCMIPPClockSource(LL_RCC_DCMIPP_CLKSOURCE) 1306 1307 /** @brief Macro to configure the ETH1 kernel clock source. 1308 * @param __ETH1_CLKSOURCE__ specifies clock source for ETH1 1309 * This parameter can be one of the following values: 1310 * @arg RCC_ETH1CLKSOURCE_HCLK HCLK selected as ETH1 clock 1311 * @arg RCC_ETH1CLKSOURCE_CLKP CLKP selected as ETH1 clock 1312 * @arg RCC_ETH1CLKSOURCE_IC12 IC12 selected as ETH1 clock 1313 * @arg RCC_ETH1CLKSOURCE_HSE HSE selected as ETH1 clock 1314 */ 1315 #define __HAL_RCC_ETH1_CONFIG(__ETH1_CLKSOURCE__) \ 1316 LL_RCC_SetETHClockSource(__ETH1_CLKSOURCE__) 1317 1318 /** @brief Macro to get the ETH1 kernel clock source. 1319 * @retval The clock source can be one of the following values: 1320 * @arg RCC_ETH1CLKSOURCE_HCLK HCLK selected as ETH1 clock 1321 * @arg RCC_ETH1CLKSOURCE_CLKP CLKP selected as ETH1 clock 1322 * @arg RCC_ETH1CLKSOURCE_IC12 IC12 selected as ETH1 clock 1323 * @arg RCC_ETH1CLKSOURCE_HSE HSE selected as ETH1 clock 1324 */ 1325 #define __HAL_RCC_GET_ETH1_SOURCE() LL_RCC_GetETHClockSource(LL_RCC_ETH1_CLKSOURCE) 1326 1327 /** @brief Macro to configure the ETH1 PHY interface. 1328 * @note This configuration must be done while ETH1 is under reset, 1329 * and before enabling the ETH1 clocks 1330 * @param __ETH1PHY_IF__ specifies interface for ETH1 PHY 1331 * This parameter can be one of the following values: 1332 * @arg RCC_ETH1PHYIF_MII MII selected as ETH1 PHY interface 1333 * @arg RCC_ETH1PHYIF_RGMII RGMII selected as ETH1 PHY interface 1334 * @arg RCC_ETH1PHYIF_RMII RMII selected as ETH1 PHY interface 1335 */ 1336 #define __HAL_RCC_ETH1PHY_CONFIG(__ETH1PHY_IF__) \ 1337 LL_RCC_SetETHPHYInterface(__ETH1PHY_IF__) 1338 1339 /** @brief Macro to get the ETH PHY clock source. 1340 * @retval The clock source can be one of the following values: 1341 * @arg RCC_ETH1PHYIF_MII MII selected as ETH1 PHY interface 1342 * @arg RCC_ETH1PHYIF_RGMII RGMII selected as ETH1 PHY interface 1343 * @arg RCC_ETH1PHYIF_RMII RMII selected as ETH1 PHY interface 1344 */ 1345 #define __HAL_RCC_GET_ETH1PHY_INTERFACE() LL_RCC_GetETHPHYInterface(LL_RCC_ETH1PHY_IF) 1346 1347 /** @brief Macro to configure the ETH1 reference Rx clock source. 1348 * @param __ETH1RX_CLKSOURCE__ specifies clock source for ETH1 reference Rx 1349 * This parameter can be one of the following values: 1350 * @arg RCC_ETH1RXCLKSOURCE_EXT External clock selected as ETH1 reference Rx clock 1351 * @arg RCC_ETH1RXCLKSOURCE_INT Internal kernel selected as ETH1 reference Rx clock 1352 */ 1353 #define __HAL_RCC_ETH1RX_CONFIG(__ETH1RX_CLKSOURCE__) \ 1354 LL_RCC_SetETHREFRXClockSource(__ETH1RX_CLKSOURCE__) 1355 1356 /** @brief Macro to get the ETH1 reference Rx clock source. 1357 * @retval The clock source can be one of the following values: 1358 * @arg RCC_ETH1RXCLKSOURCE_EXT External clock selected as ETH1 reference Rx clock 1359 * @arg RCC_ETH1RXCLKSOURCE_INT Internal kernel selected as ETH1 reference Rx clock 1360 */ 1361 #define __HAL_RCC_GET_ETH1RX_SOURCE() LL_RCC_GetETHREFRXClockSource(LL_RCC_ETH1REFRX_CLKSOURCE) 1362 1363 /** @brief Macro to configure the ETH1 reference Tx RGMII 125MHz clock source. 1364 * @param __ETH1TX_CLKSOURCE__ specifies clock source for ETH1 reference Tx 1365 * This parameter can be one of the following values: 1366 * @arg RCC_ETH1TXCLKSOURCE_EXT External clock selected as ETH1 reference Tx clock 1367 * @arg RCC_ETH1TXCLKSOURCE_INT Internal kernel selected as ETH1 reference Tx clock 1368 */ 1369 #define __HAL_RCC_ETH1TX_CONFIG(__ETH1TX_CLKSOURCE__) \ 1370 LL_RCC_SetETHREFTXClockSource(__ETH1TX_CLKSOURCE__) 1371 1372 /** @brief Macro to get the ETH1 reference Tx RGMII 125MHz clock source. 1373 * @retval The clock source can be one of the following values: 1374 * @arg RCC_ETH1TXCLKSOURCE_EXT External clock selected as ETH1 reference Tx clock 1375 * @arg RCC_ETH1TXCLKSOURCE_INT Internal kernel selected as ETH1 reference Tx clock 1376 */ 1377 #define __HAL_RCC_GET_ETH1TX_SOURCE() LL_RCC_GetETHREFTXClockSource(LL_RCC_ETH1REFTX_CLKSOURCE) 1378 1379 /** @brief Macro to configure the ETH1 PTP clock source. 1380 * @param __ETH1PTP_CLKSOURCE__ specifies clock source for ETH1 PTP 1381 * This parameter can be one of the following values: 1382 * @arg RCC_ETH1PTPCLKSOURCE_HCLK HCLK selected as ETH1 PTP clock 1383 * @arg RCC_ETH1PTPCLKSOURCE_CLKP CLKP selected as ETH1 PTP clock 1384 * @arg RCC_ETH1PTPCLKSOURCE_IC13 IC13 selected as ETH1 PTP clock 1385 * @arg RCC_ETH1PTPCLKSOURCE_HSE HSE selected as ETH1 PTP clock 1386 */ 1387 #define __HAL_RCC_ETH1PTP_CONFIG(__ETH1PTP_CLKSOURCE__) \ 1388 LL_RCC_SetETHPTPClockSource(__ETH1PTP_CLKSOURCE__) 1389 1390 /** @brief Macro to get the ETH1 PTP clock source. 1391 * @retval The clock source can be one of the following values: 1392 * @arg RCC_ETH1PTPCLKSOURCE_HCLK HCLK selected as ETH1 PTP clock 1393 * @arg RCC_ETH1PTPCLKSOURCE_CLKP CLKP selected as ETH1 PTP clock 1394 * @arg RCC_ETH1PTPCLKSOURCE_IC13 IC13 selected as ETH1 PTP clock 1395 * @arg RCC_ETH1PTPCLKSOURCE_HSE HSE selected as ETH1 PTP clock 1396 */ 1397 #define __HAL_RCC_GET_ETH1PTP_SOURCE() LL_RCC_GetETHPTPClockSource(LL_RCC_ETH1PTP_CLKSOURCE) 1398 1399 /** @brief Macro to configure the ETH1 PTP divider. 1400 * @param __ETH1PTP_DIVIDER__ specifies clock divider for ETH1 PTP 1401 * This parameter can be a value between 1 and 16. 1402 */ 1403 #define __HAL_RCC_ETH1PTP_DIVIDER_CONFIG(__ETH1PTP_DIVIDER__) \ 1404 LL_RCC_SetETH1PTPDivider(((__ETH1PTP_DIVIDER__) - 1U) << RCC_CCIPR2_ETH1PTPDIV_Pos) 1405 1406 /** @brief Macro to get the ETH1 PTP divider. 1407 * @retval The divider can be a value between 1 and 16. 1408 */ 1409 #define __HAL_RCC_GET_ETH1PTP_DIVIDER() \ 1410 ((LL_RCC_GetETH1PTPDivider() >> RCC_CCIPR2_ETH1PTPDIV_Pos) + 1U) 1411 1412 /** @brief Macro to configure the FDCAN kernel clock source. 1413 * @param __FDCAN_CLKSOURCE__ specifies clock source for FDCAN kernel 1414 * This parameter can be one of the following values: 1415 * @arg RCC_FDCANCLKSOURCE_PCLK1 PCLK1 selected as FDCAN kernel clock (default) 1416 * @arg RCC_FDCANCLKSOURCE_CLKP CLKP selected as FDCAN kernel clock 1417 * @arg RCC_FDCANCLKSOURCE_IC19 IC19 selected as FDCAN kernel clock 1418 * @arg RCC_FDCANCLKSOURCE_HSE HSE selected as FDCAN kernel clock 1419 */ 1420 #define __HAL_RCC_FDCAN_CONFIG(__FDCAN_CLKSOURCE__) \ 1421 LL_RCC_SetFDCANClockSource((__FDCAN_CLKSOURCE__)) 1422 1423 /** @brief Macro to get the FDCAN kernel clock source. 1424 * @retval The clock source can be one of the following values: 1425 * @arg RCC_FDCANCLKSOURCE_PCLK1 PCLK1 selected as FDCAN kernel clock (default) 1426 * @arg RCC_FDCANCLKSOURCE_CLKP CLKP selected as FDCAN kernel clock 1427 * @arg RCC_FDCANCLKSOURCE_IC19 IC19 selected as FDCAN kernel clock 1428 * @arg RCC_FDCANCLKSOURCE_HSE HSE selected as FDCAN kernel clock 1429 */ 1430 #define __HAL_RCC_GET_FDCAN_SOURCE() LL_RCC_GetFDCANClockSource(LL_RCC_FDCAN_CLKSOURCE) 1431 1432 /** @brief Macro to configure the FMC clock source. 1433 * 1434 * @param __FMC_CLKSOURCE__ specifies the FMC clock source. 1435 * @arg RCC_FMCCLKSOURCE_HCLK HCLK Clock selected as FMC clock 1436 * @arg RCC_FMCCLKSOURCE_CLKP CLKP Clock selected as FMC clock 1437 * @arg RCC_FMCCLKSOURCE_IC3 IC3 Clock selected as FMC clock 1438 * @arg RCC_FMCCLKSOURCE_IC4 IC4 selected as FMC clock 1439 */ 1440 #define __HAL_RCC_FMC_CONFIG(__FMC_CLKSOURCE__) \ 1441 LL_RCC_SetFMCClockSource((__FMC_CLKSOURCE__)) 1442 1443 /** @brief Macro to get the FMC clock source. 1444 * @retval The clock source can be one of the following values: 1445 * @arg RCC_FMCCLKSOURCE_HCLK HCLK Clock selected as FMC clock 1446 * @arg RCC_FMCCLKSOURCE_CLKP CLKP Clock selected as FMC clock 1447 * @arg RCC_FMCCLKSOURCE_IC3 IC3 Clock selected as FMC clock 1448 * @arg RCC_FMCCLKSOURCE_IC4 IC4 selected as FMC clock 1449 */ 1450 #define __HAL_RCC_GET_FMC_SOURCE() LL_RCC_GetFMCClockSource(LL_RCC_FMC_CLKSOURCE) 1451 1452 /** @brief Macro to configure the I2C1 clock source. 1453 * @param __I2C1_CLKSOURCE__ specifies the I2C1 clock source. 1454 * This parameter can be one of the following values: 1455 * @arg RCC_I2C1CLKSOURCE_PCLK1 PCLK1 selected as I2C1 clock 1456 * @arg RCC_I2C1CLKSOURCE_CLKP CKLP selected as I2C1 clock 1457 * @arg RCC_I2C1CLKSOURCE_IC10 IC10 selected as I2C1 clock 1458 * @arg RCC_I2C1CLKSOURCE_IC15 IC15 selected as I2C1 clock 1459 * @arg RCC_I2C1CLKSOURCE_MSI MSI selected as I2C1 clock 1460 * @arg RCC_I2C1CLKSOURCE_HSI HSI selected as I2C1 clock 1461 */ 1462 #define __HAL_RCC_I2C1_CONFIG(__I2C1_CLKSOURCE__) \ 1463 LL_RCC_SetI2CClockSource((__I2C1_CLKSOURCE__)) 1464 1465 /** @brief Macro to get the I2C1 clock source. 1466 * @retval The clock source can be one of the following values: 1467 * @arg RCC_I2C1CLKSOURCE_PCLK1 PCLK1 selected as I2C1 clock 1468 * @arg RCC_I2C1CLKSOURCE_CLKP CKLP selected as I2C1 clock 1469 * @arg RCC_I2C1CLKSOURCE_IC10 IC10 selected as I2C1 clock 1470 * @arg RCC_I2C1CLKSOURCE_IC15 IC15 selected as I2C1 clock 1471 * @arg RCC_I2C1CLKSOURCE_MSI MSI selected as I2C1 clock 1472 * @arg RCC_I2C1CLKSOURCE_HSI HSI selected as I2C1 clock 1473 */ 1474 #define __HAL_RCC_GET_I2C1_SOURCE() LL_RCC_GetI2CClockSource(LL_RCC_I2C1_CLKSOURCE) 1475 1476 /** @brief Macro to configure the I2C2 clock source. 1477 * @param __I2C2_CLKSOURCE__ specifies the I2C2 clock source. 1478 * This parameter can be one of the following values: 1479 * @arg RCC_I2C2CLKSOURCE_PCLK1 PCLK1 selected as I2C2 clock 1480 * @arg RCC_I2C2CLKSOURCE_CLKP CKLP selected as I2C2 clock 1481 * @arg RCC_I2C2CLKSOURCE_IC10 IC10 selected as I2C2 clock 1482 * @arg RCC_I2C2CLKSOURCE_IC15 IC15 selected as I2C2 clock 1483 * @arg RCC_I2C2CLKSOURCE_MSI MSI selected as I2C2 clock 1484 * @arg RCC_I2C2CLKSOURCE_HSI HSI selected as I2C2 clock 1485 */ 1486 #define __HAL_RCC_I2C2_CONFIG(__I2C2_CLKSOURCE__) \ 1487 LL_RCC_SetI2CClockSource((__I2C2_CLKSOURCE__)) 1488 1489 /** @brief Macro to get the I2C2 clock source. 1490 * @retval The clock source can be one of the following values: 1491 * @arg RCC_I2C2CLKSOURCE_PCLK1 PCLK1 selected as I2C2 clock 1492 * @arg RCC_I2C2CLKSOURCE_CLKP CKLP selected as I2C2 clock 1493 * @arg RCC_I2C2CLKSOURCE_IC10 IC10 selected as I2C2 clock 1494 * @arg RCC_I2C2CLKSOURCE_IC15 IC15 selected as I2C2 clock 1495 * @arg RCC_I2C2CLKSOURCE_MSI MSI selected as I2C2 clock 1496 * @arg RCC_I2C2CLKSOURCE_HSI HSI selected as I2C2 clock 1497 */ 1498 #define __HAL_RCC_GET_I2C2_SOURCE() LL_RCC_GetI2CClockSource(LL_RCC_I2C2_CLKSOURCE) 1499 1500 /** @brief Macro to configure the I2C3 clock source. 1501 * @param __I2C3_CLKSOURCE__ specifies the I2C3 clock source. 1502 * This parameter can be one of the following values: 1503 * @arg RCC_I2C3CLKSOURCE_PCLK1 PCLK1 selected as I2C3 clock 1504 * @arg RCC_I2C3CLKSOURCE_CLKP CKLP selected as I2C3 clock 1505 * @arg RCC_I2C3CLKSOURCE_IC10 IC10 selected as I2C3 clock 1506 * @arg RCC_I2C3CLKSOURCE_IC15 IC15 selected as I2C3 clock 1507 * @arg RCC_I2C3CLKSOURCE_MSI MSI selected as I2C3 clock 1508 * @arg RCC_I2C3CLKSOURCE_HSI HSI selected as I2C3 clock 1509 */ 1510 #define __HAL_RCC_I2C3_CONFIG(__I2C3_CLKSOURCE__) \ 1511 LL_RCC_SetI2CClockSource((__I2C3_CLKSOURCE__)) 1512 1513 /** @brief Macro to get the I2C3 clock source. 1514 * @retval The clock source can be one of the following values: 1515 * @arg RCC_I2C3CLKSOURCE_PCLK1 PCLK1 selected as I2C3 clock 1516 * @arg RCC_I2C3CLKSOURCE_CLKP CKLP selected as I2C3 clock 1517 * @arg RCC_I2C3CLKSOURCE_IC10 IC10 selected as I2C3 clock 1518 * @arg RCC_I2C3CLKSOURCE_IC15 IC15 selected as I2C3 clock 1519 * @arg RCC_I2C3CLKSOURCE_MSI MSI selected as I2C3 clock 1520 * @arg RCC_I2C3CLKSOURCE_HSI HSI selected as I2C3 clock 1521 */ 1522 #define __HAL_RCC_GET_I2C3_SOURCE() LL_RCC_GetI2CClockSource(LL_RCC_I2C3_CLKSOURCE) 1523 1524 /** @brief Macro to configure the I2C4 clock source. 1525 * @param __I2C4_CLKSOURCE__ specifies the I2C4 clock source. 1526 * This parameter can be one of the following values: 1527 * @arg RCC_I2C4CLKSOURCE_PCLK1 PCLK1 selected as I2C4 clock 1528 * @arg RCC_I2C4CLKSOURCE_CLKP CKLP selected as I2C4 clock 1529 * @arg RCC_I2C4CLKSOURCE_IC10 IC10 selected as I2C4 clock 1530 * @arg RCC_I2C4CLKSOURCE_IC15 IC15 selected as I2C4 clock 1531 * @arg RCC_I2C4CLKSOURCE_MSI MSI selected as I2C4 clock 1532 * @arg RCC_I2C4CLKSOURCE_HSI HSI selected as I2C4 clock 1533 */ 1534 #define __HAL_RCC_I2C4_CONFIG(__I2C4_CLKSOURCE__) \ 1535 LL_RCC_SetI2CClockSource((__I2C4_CLKSOURCE__)) 1536 1537 /** @brief Macro to get the I2C4 clock source. 1538 * @retval The clock source can be one of the following values: 1539 * @arg RCC_I2C4CLKSOURCE_PCLK1 PCLK1 selected as I2C4 clock 1540 * @arg RCC_I2C4CLKSOURCE_CLKP CKLP selected as I2C4 clock 1541 * @arg RCC_I2C4CLKSOURCE_IC10 IC10 selected as I2C4 clock 1542 * @arg RCC_I2C4CLKSOURCE_IC15 IC15 selected as I2C4 clock 1543 * @arg RCC_I2C4CLKSOURCE_MSI MSI selected as I2C4 clock 1544 * @arg RCC_I2C4CLKSOURCE_HSI HSI selected as I2C4 clock 1545 */ 1546 #define __HAL_RCC_GET_I2C4_SOURCE() LL_RCC_GetI2CClockSource(LL_RCC_I2C4_CLKSOURCE) 1547 1548 /** @brief Macro to configure the I3C1 clock source. 1549 * @param __I3C1_CLKSOURCE__ specifies the I3C1 clock source. 1550 * This parameter can be one of the following values: 1551 * @arg RCC_I3C1CLKSOURCE_PCLK1 PCLK1 selected as I3C1 clock 1552 * @arg RCC_I3C1CLKSOURCE_CLKP CKLP selected as I3C1 clock 1553 * @arg RCC_I3C1CLKSOURCE_IC10 IC10 selected as I3C1 clock 1554 * @arg RCC_I3C1CLKSOURCE_IC15 IC15 selected as I3C1 clock 1555 * @arg RCC_I3C1CLKSOURCE_MSI MSI selected as I3C1 clock 1556 * @arg RCC_I3C1CLKSOURCE_HSI HSI selected as I3C1 clock 1557 */ 1558 #define __HAL_RCC_I3C1_CONFIG(__I3C1_CLKSOURCE__) \ 1559 LL_RCC_SetI3CClockSource((__I3C1_CLKSOURCE__)) 1560 1561 /** @brief Macro to get the I3C1 clock source. 1562 * @retval The clock source can be one of the following values: 1563 * @arg RCC_I3C1CLKSOURCE_PCLK1 PCLK1 selected as I3C1 clock 1564 * @arg RCC_I3C1CLKSOURCE_CLKP CKLP selected as I3C1 clock 1565 * @arg RCC_I3C1CLKSOURCE_IC10 IC10 selected as I3C1 clock 1566 * @arg RCC_I3C1CLKSOURCE_IC15 IC15 selected as I3C1 clock 1567 * @arg RCC_I3C1CLKSOURCE_MSI MSI selected as I3C1 clock 1568 * @arg RCC_I3C1CLKSOURCE_HSI HSI selected as I3C1 clock 1569 */ 1570 #define __HAL_RCC_GET_I3C1_SOURCE() LL_RCC_GetI3CClockSource(LL_RCC_I3C1_CLKSOURCE) 1571 1572 /** @brief Macro to configure the I3C2 clock source. 1573 * @param __I3C2_CLKSOURCE__ specifies the I3C2 clock source. 1574 * This parameter can be one of the following values: 1575 * @arg RCC_I3C2CLKSOURCE_PCLK1 PCLK1 selected as I3C2 clock 1576 * @arg RCC_I3C2CLKSOURCE_CLKP CKLP selected as I3C2 clock 1577 * @arg RCC_I3C2CLKSOURCE_IC10 IC10 selected as I3C2 clock 1578 * @arg RCC_I3C2CLKSOURCE_IC15 IC15 selected as I3C2 clock 1579 * @arg RCC_I3C2CLKSOURCE_MSI MSI selected as I3C2 clock 1580 * @arg RCC_I3C2CLKSOURCE_HSI HSI selected as I3C2 clock 1581 */ 1582 #define __HAL_RCC_I3C2_CONFIG(__I3C2_CLKSOURCE__) \ 1583 LL_RCC_SetI3CClockSource((__I3C2_CLKSOURCE__)) 1584 1585 /** @brief Macro to get the I3C2 clock source. 1586 * @retval The clock source can be one of the following values: 1587 * @arg RCC_I3C2CLKSOURCE_PCLK1 PCLK1 selected as I3C2 clock 1588 * @arg RCC_I3C2CLKSOURCE_CLKP CKLP selected as I3C2 clock 1589 * @arg RCC_I3C2CLKSOURCE_IC10 IC10 selected as I3C2 clock 1590 * @arg RCC_I3C2CLKSOURCE_IC15 IC15 selected as I3C2 clock 1591 * @arg RCC_I3C2CLKSOURCE_MSI MSI selected as I3C2 clock 1592 * @arg RCC_I3C2CLKSOURCE_HSI HSI selected as I3C2 clock 1593 */ 1594 #define __HAL_RCC_GET_I3C2_SOURCE() LL_RCC_GetI3CClockSource(LL_RCC_I3C2_CLKSOURCE) 1595 1596 /** @brief Macro to configure the LPTIM1 clock source. 1597 * @param __LPTIM1_CLKSOURCE__ specifies the LPTIM1 clock source. 1598 * This parameter can be one of the following values: 1599 * @arg RCC_LPTIM1CLKSOURCE_PCLK1 PCLK1 clock selected as LPTIM1 clock 1600 * @arg RCC_LPTIM1CLKSOURCE_CLKP CLKP clock selected as LPTIM1 clock 1601 * @arg RCC_LPTIM1CLKSOURCE_IC15 IC15 clock selected as LPTIM1 clock 1602 * @arg RCC_LPTIM1CLKSOURCE_LSE LSE clock selected as LPTIM1 clock 1603 * @arg RCC_LPTIM1CLKSOURCE_LSI LSI clock selected as LPTIM1 clock 1604 * @arg RCC_LPTIM1CLKSOURCE_TIMG TIMG clock selected as LPTIM1 clock 1605 */ 1606 #define __HAL_RCC_LPTIM1_CONFIG(__LPTIM1_CLKSOURCE__) \ 1607 LL_RCC_SetLPTIMClockSource((__LPTIM1_CLKSOURCE__)) 1608 1609 /** @brief Macro to get the LPTIM1 clock source. 1610 * @retval The clock source can be one of the following values: 1611 * @arg RCC_LPTIM1CLKSOURCE_PCLK1 PCLK1 clock selected as LPTIM1 clock 1612 * @arg RCC_LPTIM1CLKSOURCE_CLKP CLKP clock selected as LPTIM1 clock 1613 * @arg RCC_LPTIM1CLKSOURCE_IC15 IC15 clock selected as LPTIM1 clock 1614 * @arg RCC_LPTIM1CLKSOURCE_LSE LSE clock selected as LPTIM1 clock 1615 * @arg RCC_LPTIM1CLKSOURCE_LSI LSI clock selected as LPTIM1 clock 1616 * @arg RCC_LPTIM1CLKSOURCE_TIMG TIMG clock selected as LPTIM1 clock 1617 */ 1618 #define __HAL_RCC_GET_LPTIM1_SOURCE() LL_RCC_GetLPTIMClockSource(LL_RCC_LPTIM1_CLKSOURCE) 1619 1620 /** @brief Macro to configure the LPTIM2 clock source. 1621 * @param __LPTIM2_CLKSOURCE__ specifies the LPTIM2 clock source. 1622 * This parameter can be one of the following values: 1623 * @arg RCC_LPTIM2CLKSOURCE_PCLK4 PCLK4 clock selected as LPTIM2 clock 1624 * @arg RCC_LPTIM2CLKSOURCE_CLKP CLKP clock selected as LPTIM2 clock 1625 * @arg RCC_LPTIM2CLKSOURCE_IC15 IC15 clock selected as LPTIM2 clock 1626 * @arg RCC_LPTIM2CLKSOURCE_LSE LSE clock selected as LPTIM2 clock 1627 * @arg RCC_LPTIM2CLKSOURCE_LSI LSI clock selected as LPTIM2 clock 1628 * @arg RCC_LPTIM2CLKSOURCE_TIMG TIMG clock selected as LPTIM2 clock 1629 */ 1630 #define __HAL_RCC_LPTIM2_CONFIG(__LPTIM2_CLKSOURCE__) \ 1631 LL_RCC_SetLPTIMClockSource((__LPTIM2_CLKSOURCE__)) 1632 1633 /** @brief Macro to get the LPTIM2 clock source. 1634 * @retval The clock source can be one of the following values: 1635 * @arg RCC_LPTIM2CLKSOURCE_PCLK4 PCLK4 clock selected as LPTIM2 clock 1636 * @arg RCC_LPTIM2CLKSOURCE_CLKP CLKP clock selected as LPTIM2 clock 1637 * @arg RCC_LPTIM2CLKSOURCE_IC15 IC15 clock selected as LPTIM2 clock 1638 * @arg RCC_LPTIM2CLKSOURCE_LSE LSE clock selected as LPTIM2 clock 1639 * @arg RCC_LPTIM2CLKSOURCE_LSI LSI clock selected as LPTIM2 clock 1640 * @arg RCC_LPTIM2CLKSOURCE_TIMG TIMG clock selected as LPTIM2 clock 1641 */ 1642 #define __HAL_RCC_GET_LPTIM2_SOURCE() LL_RCC_GetLPTIMClockSource(LL_RCC_LPTIM2_CLKSOURCE) 1643 1644 /** @brief Macro to configure the LPTIM3 clock source. 1645 * @param __LPTIM3_CLKSOURCE__ specifies the LPTIM3 clock source. 1646 * This parameter can be one of the following values: 1647 * @arg RCC_LPTIM3CLKSOURCE_PCLK4 PCLK4 clock selected as LPTIM3 clock 1648 * @arg RCC_LPTIM3CLKSOURCE_CLKP CLKP clock selected as LPTIM3 clock 1649 * @arg RCC_LPTIM3CLKSOURCE_IC15 IC15 clock selected as LPTIM3 clock 1650 * @arg RCC_LPTIM3CLKSOURCE_LSE LSE clock selected as LPTIM3 clock 1651 * @arg RCC_LPTIM3CLKSOURCE_LSI LSI clock selected as LPTIM3 clock 1652 * @arg RCC_LPTIM3CLKSOURCE_TIMG TIMG clock selected as LPTIM3 clock 1653 */ 1654 #define __HAL_RCC_LPTIM3_CONFIG(__LPTIM3_CLKSOURCE__) \ 1655 LL_RCC_SetLPTIMClockSource((__LPTIM3_CLKSOURCE__)) 1656 1657 /** @brief Macro to get the LPTIM3 clock source. 1658 * @retval The clock source can be one of the following values: 1659 * @arg RCC_LPTIM3CLKSOURCE_PCLK4 PCLK4 clock selected as LPTIM3 clock 1660 * @arg RCC_LPTIM3CLKSOURCE_CLKP CLKP clock selected as LPTIM3 clock 1661 * @arg RCC_LPTIM3CLKSOURCE_IC15 IC15 clock selected as LPTIM3 clock 1662 * @arg RCC_LPTIM3CLKSOURCE_LSE LSE clock selected as LPTIM3 clock 1663 * @arg RCC_LPTIM3CLKSOURCE_LSI LSI clock selected as LPTIM3 clock 1664 * @arg RCC_LPTIM3CLKSOURCE_TIMG TIMG clock selected as LPTIM3 clock 1665 */ 1666 #define __HAL_RCC_GET_LPTIM3_SOURCE() LL_RCC_GetLPTIMClockSource(LL_RCC_LPTIM3_CLKSOURCE) 1667 1668 /** @brief Macro to configure the LPTIM4 clock source. 1669 * @param __LPTIM4_CLKSOURCE__ specifies the LPTIM4 clock source. 1670 * This parameter can be one of the following values: 1671 * @arg RCC_LPTIM4CLKSOURCE_PCLK4 PCLK4 clock selected as LPTIM4 clock 1672 * @arg RCC_LPTIM4CLKSOURCE_CLKP CLKP clock selected as LPTIM4 clock 1673 * @arg RCC_LPTIM4CLKSOURCE_IC15 IC15 clock selected as LPTIM4 clock 1674 * @arg RCC_LPTIM4CLKSOURCE_LSE LSE clock selected as LPTIM4 clock 1675 * @arg RCC_LPTIM4CLKSOURCE_LSI LSI clock selected as LPTIM4 clock 1676 * @arg RCC_LPTIM4CLKSOURCE_TIMG TIMG clock selected as LPTIM4 clock 1677 */ 1678 #define __HAL_RCC_LPTIM4_CONFIG(__LPTIM4_CLKSOURCE__) \ 1679 LL_RCC_SetLPTIMClockSource((__LPTIM4_CLKSOURCE__)) 1680 1681 /** @brief Macro to get the LPTIM4 clock source. 1682 * @retval The clock source can be one of the following values: 1683 * @arg RCC_LPTIM4CLKSOURCE_PCLK4 PCLK4 clock selected as LPTIM4 clock 1684 * @arg RCC_LPTIM4CLKSOURCE_CLKP CLKP clock selected as LPTIM4 clock 1685 * @arg RCC_LPTIM4CLKSOURCE_IC15 IC15 clock selected as LPTIM4 clock 1686 * @arg RCC_LPTIM4CLKSOURCE_LSE LSE clock selected as LPTIM4 clock 1687 * @arg RCC_LPTIM4CLKSOURCE_LSI LSI clock selected as LPTIM4 clock 1688 * @arg RCC_LPTIM4CLKSOURCE_TIMG TIMG clock selected as LPTIM4 clock 1689 */ 1690 #define __HAL_RCC_GET_LPTIM4_SOURCE() LL_RCC_GetLPTIMClockSource(LL_RCC_LPTIM4_CLKSOURCE) 1691 1692 /** @brief Macro to configure the LPTIM5 clock source. 1693 * @param __LPTIM5_CLKSOURCE__ specifies the LPTIM5 clock source. 1694 * This parameter can be one of the following values: 1695 * @arg RCC_LPTIM5CLKSOURCE_PCLK4 PCLK4 clock selected as LPTIM5 clock 1696 * @arg RCC_LPTIM5CLKSOURCE_CLKP CLKP clock selected as LPTIM5 clock 1697 * @arg RCC_LPTIM5CLKSOURCE_IC15 IC15 clock selected as LPTIM5 clock 1698 * @arg RCC_LPTIM5CLKSOURCE_LSE LSE clock selected as LPTIM5 clock 1699 * @arg RCC_LPTIM5CLKSOURCE_LSI LSI clock selected as LPTIM5 clock 1700 * @arg RCC_LPTIM5CLKSOURCE_TIMG TIMG clock selected as LPTIM5 clock 1701 */ 1702 #define __HAL_RCC_LPTIM5_CONFIG(__LPTIM5_CLKSOURCE__) \ 1703 LL_RCC_SetLPTIMClockSource((__LPTIM5_CLKSOURCE__)) 1704 1705 /** @brief Macro to get the LPTIM5 clock source. 1706 * @retval The clock source can be one of the following values: 1707 * @arg RCC_LPTIM5CLKSOURCE_PCLK4 PCLK4 clock selected as LPTIM5 clock 1708 * @arg RCC_LPTIM5CLKSOURCE_CLKP CLKP clock selected as LPTIM5 clock 1709 * @arg RCC_LPTIM5CLKSOURCE_IC15 IC15 clock selected as LPTIM5 clock 1710 * @arg RCC_LPTIM5CLKSOURCE_LSE LSE clock selected as LPTIM5 clock 1711 * @arg RCC_LPTIM5CLKSOURCE_LSI LSI clock selected as LPTIM5 clock 1712 * @arg RCC_LPTIM5CLKSOURCE_TIMG TIMG clock selected as LPTIM5 clock 1713 */ 1714 #define __HAL_RCC_GET_LPTIM5_SOURCE() LL_RCC_GetLPTIMClockSource(LL_RCC_LPTIM5_CLKSOURCE) 1715 1716 /** @brief Macro to configure the LPUART1 clock (LPUART1CLK). 1717 * @param __LPUART1_CLKSOURCE__ specifies the LPUART1 clock source. 1718 * This parameter can be one of the following values: 1719 * @arg RCC_LPUART1CLKSOURCE_PCLK4 PCLK4 Clock selected as LPUART1 clock 1720 * @arg RCC_LPUART1CLKSOURCE_CLKP CLKP selected as LPUART1 clock 1721 * @arg RCC_LPUART1CLKSOURCE_IC9 IC9 selected as LPUART1 clock 1722 * @arg RCC_LPUART1CLKSOURCE_IC14 IC14 selected as LPUART1 clock 1723 * @arg RCC_LPUART1CLKSOURCE_LSE LSE selected as LPUART1 clock 1724 * @arg RCC_LPUART1CLKSOURCE_MSI MSI selected as LPUART1 clock 1725 * @arg RCC_LPUART1CLKSOURCE_HSI HSI selected as LPUART1 clock 1726 */ 1727 #define __HAL_RCC_LPUART1_CONFIG(__LPUART1_CLKSOURCE__) \ 1728 LL_RCC_SetLPUARTClockSource((__LPUART1_CLKSOURCE__)) 1729 1730 /** @brief Macro to get the LPUART1 clock source. 1731 * @retval The clock source can be one of the following values: 1732 * @arg RCC_LPUART1CLKSOURCE_PCLK4 PCLK4 Clock selected as LPUART1 clock 1733 * @arg RCC_LPUART1CLKSOURCE_CLKP CLKP selected as LPUART1 clock 1734 * @arg RCC_LPUART1CLKSOURCE_IC9 IC9 selected as LPUART1 clock 1735 * @arg RCC_LPUART1CLKSOURCE_IC14 IC14 selected as LPUART1 clock 1736 * @arg RCC_LPUART1CLKSOURCE_LSE LSE selected as LPUART1 clock 1737 * @arg RCC_LPUART1CLKSOURCE_MSI MSI selected as LPUART1 clock 1738 * @arg RCC_LPUART1CLKSOURCE_HSI HSI selected as LPUART1 clock 1739 */ 1740 #define __HAL_RCC_GET_LPUART1_SOURCE() LL_RCC_GetLPUARTClockSource(LL_RCC_LPUART1_CLKSOURCE) 1741 1742 /** @brief Macro to configure the LTDC clock (LTDCCLK). 1743 * @param __LTDC_CLKSOURCE__ specifies the LTDC clock source. 1744 * This parameter can be one of the following values: 1745 * @arg RCC_LTDCCLKSOURCE_PCLK5 PCLK5 Clock selected as LTDC clock 1746 * @arg RCC_LTDCCLKSOURCE_CLKP CLKP selected as LTDC clock 1747 * @arg RCC_LTDCCLKSOURCE_IC16 IC14 selected as LTDC clock 1748 * @arg RCC_LTDCCLKSOURCE_HSI HSI selected as LTDC clock 1749 */ 1750 #define __HAL_RCC_LTDC_CONFIG(__LTDC_CLKSOURCE__) \ 1751 LL_RCC_SetLTDCClockSource((__LTDC_CLKSOURCE__)) 1752 1753 /** @brief Macro to get the LTDC clock source. 1754 * @retval The clock source can be one of the following values: 1755 * @arg RCC_LTDCCLKSOURCE_PCLK5 PCLK5 Clock selected as LTDC clock 1756 * @arg RCC_LTDCCLKSOURCE_CLKP CLKP selected as LTDC clock 1757 * @arg RCC_LTDCCLKSOURCE_IC16 IC14 selected as LTDC clock 1758 * @arg RCC_LTDCCLKSOURCE_HSI HSI selected as LTDC clock 1759 */ 1760 #define __HAL_RCC_GET_LTDC_SOURCE() LL_RCC_GetLTDCClockSource(LL_RCC_LTDC_CLKSOURCE) 1761 1762 /** @brief Macro to configure the MDF1 clock 1763 * @param __MDF1_CLKSOURCE__ specifies the MDF1 clock source. 1764 * This parameter can be one of the following values: 1765 * @arg RCC_MDF1CLKSOURCE_HCLK HCLK Clock selected as MDF1 clock 1766 * @arg RCC_MDF1CLKSOURCE_CLKP CLKP selected as MDF1 clock 1767 * @arg RCC_MDF1CLKSOURCE_IC7 IC7 selected as MDF1 clock 1768 * @arg RCC_MDF1CLKSOURCE_IC8 IC8 selected as MDF1 clock 1769 * @arg RCC_MDF1CLKSOURCE_MSI MSI selected as MDF1 clock 1770 * @arg RCC_MDF1CLKSOURCE_HSI HSI selected as MDF1 clock 1771 * @arg RCC_MDF1CLKSOURCE_PIN External I2S_CKIN selected as MDF1 clock 1772 * @arg RCC_MDF1CLKSOURCE_TIMG TIMG selected as MDF1 clock 1773 */ 1774 #define __HAL_RCC_MDF1_CONFIG(__MDF1_CLKSOURCE__) \ 1775 LL_RCC_SetMDFClockSource((__MDF1_CLKSOURCE__)) 1776 1777 /** @brief Macro to get the MDF1 clock source. 1778 * @retval The clock source can be one of the following values: 1779 * @arg RCC_MDF1CLKSOURCE_HCLK HCLK Clock selected as MDF1 clock 1780 * @arg RCC_MDF1CLKSOURCE_CLKP CLKP selected as MDF1 clock 1781 * @arg RCC_MDF1CLKSOURCE_IC7 IC7 selected as MDF1 clock 1782 * @arg RCC_MDF1CLKSOURCE_IC8 IC8 selected as MDF1 clock 1783 * @arg RCC_MDF1CLKSOURCE_MSI MSI selected as MDF1 clock 1784 * @arg RCC_MDF1CLKSOURCE_HSI HSI selected as MDF1 clock 1785 * @arg RCC_MDF1CLKSOURCE_PIN External I2S_CKIN selected as MDF1 clock 1786 * @arg RCC_MDF1CLKSOURCE_TIMG TIMG selected as MDF1 clock 1787 */ 1788 #define __HAL_RCC_GET_MDF1_SOURCE() LL_RCC_GetMDFClockSource(LL_RCC_MDF1_CLKSOURCE) 1789 1790 /** 1791 * @brief Macro to configure the PSSI clock source. 1792 * @param __PSSI_CLKSOURCE__ defines the PSSI clock source. 1793 * This parameter can be one of the following values: 1794 * @arg RCC_PSSICLKSOURCE_HCLK HCLK selected as PSSI clock 1795 * @arg RCC_PSSICLKSOURCE_CLKP Peripheral clock CLKP selected as PSSI clock 1796 * @arg RCC_PSSICLKSOURCE_IC20 IC20 selected as PSSI clock 1797 * @arg RCC_PSSICLKSOURCE_HSI HSI selected as PSSI clock 1798 * @retval None 1799 */ 1800 #define __HAL_RCC_PSSI_CONFIG(__PSSI_CLKSOURCE__) \ 1801 LL_RCC_SetPSSIClockSource((__PSSI_CLKSOURCE__)) 1802 1803 /** @brief Macro to get the PSSI clock source. 1804 * @retval The clock source can be one of the following values: 1805 * @arg RCC_PSSICLKSOURCE_HCLK HCLK selected as PSSI clock 1806 * @arg RCC_PSSICLKSOURCE_CLKP Peripheral clock CLKP selected as PSSI clock 1807 * @arg RCC_PSSICLKSOURCE_IC20 IC20 selected as PSSI clock 1808 * @arg RCC_PSSICLKSOURCE_HSI HSI selected as PSSI clock 1809 */ 1810 #define __HAL_RCC_GET_PSSI_SOURCE() LL_RCC_GetPSSIClockSource(LL_RCC_PSSI_CLKSOURCE) 1811 1812 /** 1813 * @brief Macro to configure the SAI1 clock source. 1814 * @param __SAI1_CLKSOURCE__ defines the SAI1 clock source. 1815 * This parameter can be one of the following values: 1816 * @arg RCC_SAI1CLKSOURCE_PCLK2 PCLK2 Clock selected as SAI1 clock 1817 * @arg RCC_SAI1CLKSOURCE_CLKP Peripheral clock CLKP selected as SAI1 clock 1818 * @arg RCC_SAI1CLKSOURCE_IC7 IC7 selected as SAI1 clock 1819 * @arg RCC_SAI1CLKSOURCE_IC8 IC8 selected as SAI1 clock 1820 * @arg RCC_SAI1CLKSOURCE_MSI MSI selected as SAI1 clock 1821 * @arg RCC_SAI1CLKSOURCE_HSI HSI selected as SAI1 clock 1822 * @arg RCC_SAI1CLKSOURCE_PIN External I2S_CKIN selected as SAI1 clock 1823 * @arg RCC_SAI1CLKSOURCE_SPDIFRX1 SPDIFRX1 selected as SAI1 clock 1824 * @retval None 1825 */ 1826 #define __HAL_RCC_SAI1_CONFIG(__SAI1_CLKSOURCE__) \ 1827 LL_RCC_SetSAIClockSource((__SAI1_CLKSOURCE__)) 1828 1829 /** @brief Macro to get the SAI1 clock source. 1830 * @retval The clock source can be one of the following values: 1831 * @arg RCC_SAI1CLKSOURCE_PCLK2 PCLK2 Clock selected as SAI1 clock 1832 * @arg RCC_SAI1CLKSOURCE_CLKP Peripheral clock CLKP selected as SAI1 clock 1833 * @arg RCC_SAI1CLKSOURCE_IC7 IC7 selected as SAI1 clock 1834 * @arg RCC_SAI1CLKSOURCE_IC8 IC8 selected as SAI1 clock 1835 * @arg RCC_SAI1CLKSOURCE_MSI MSI selected as SAI1 clock 1836 * @arg RCC_SAI1CLKSOURCE_HSI HSI selected as SAI1 clock 1837 * @arg RCC_SAI1CLKSOURCE_PIN External I2S_CKIN selected as SAI1 clock 1838 * @arg RCC_SAI1CLKSOURCE_SPDIFRX1 SPDIFRX1 selected as SAI1 clock 1839 */ 1840 #define __HAL_RCC_GET_SAI1_SOURCE() LL_RCC_GetSAIClockSource(LL_RCC_SAI1_CLKSOURCE) 1841 1842 /** 1843 * @brief Macro to configure the SAI2 clock source. 1844 * @param __SAI2_CLKSOURCE__ defines the SAI2 clock source. 1845 * This parameter can be one of the following values: 1846 * @arg RCC_SAI2CLKSOURCE_PCLK2 PCLK2 Clock selected as SAI2 clock 1847 * @arg RCC_SAI2CLKSOURCE_CLKP Peripheral clock CLKP selected as SAI2 clock 1848 * @arg RCC_SAI2CLKSOURCE_IC7 IC7 selected as SAI2 clock 1849 * @arg RCC_SAI2CLKSOURCE_IC8 IC8 selected as SAI2 clock 1850 * @arg RCC_SAI2CLKSOURCE_MSI MSI selected as SAI2 clock 1851 * @arg RCC_SAI2CLKSOURCE_HSI HSI selected as SAI2 clock 1852 * @arg RCC_SAI2CLKSOURCE_PIN External I2S_CKIN selected as SAI2 clock 1853 * @arg RCC_SAI2CLKSOURCE_SPDIFRX1 SPDIFRX1 selected as SAI2 clock 1854 * @retval None 1855 */ 1856 #define __HAL_RCC_SAI2_CONFIG(__SAI2_CLKSOURCE__) \ 1857 LL_RCC_SetSAIClockSource((__SAI2_CLKSOURCE__)) 1858 1859 /** @brief Macro to get the SAI2 clock source. 1860 * @retval The clock source can be one of the following values: 1861 * @arg RCC_SAI2CLKSOURCE_PCLK2 PCLK2 Clock selected as SAI2 clock 1862 * @arg RCC_SAI2CLKSOURCE_CLKP Peripheral clock CLKP selected as SAI2 clock 1863 * @arg RCC_SAI2CLKSOURCE_IC7 IC7 selected as SAI2 clock 1864 * @arg RCC_SAI2CLKSOURCE_IC8 IC8 selected as SAI2 clock 1865 * @arg RCC_SAI2CLKSOURCE_MSI MSI selected as SAI2 clock 1866 * @arg RCC_SAI2CLKSOURCE_HSI HSI selected as SAI2 clock 1867 * @arg RCC_SAI2CLKSOURCE_PIN External I2S_CKIN selected as SAI2 clock 1868 * @arg RCC_SAI2CLKSOURCE_SPDIFRX1 SPDIFRX1 selected as SAI2 clock 1869 */ 1870 #define __HAL_RCC_GET_SAI2_SOURCE() LL_RCC_GetSAIClockSource(LL_RCC_SAI2_CLKSOURCE) 1871 1872 /** @brief Macro to configure the SDMMC1 kernel clock source. 1873 * @param __SDMMC1_CLKSOURCE__ specifies clock source for SDMMC1 1874 * This parameter can be one of the following values: 1875 * @arg RCC_SDMMC1CLKSOURCE_HCLK HCLK Clock selected as SDMMC1 kernel clock 1876 * @arg RCC_SDMMC1CLKSOURCE_CLKP Peripheral clock CLKP selected as SDMMC1 kernel clock 1877 * @arg RCC_SDMMC1CLKSOURCE_IC4 IC4 selected as SDMMC1 kernel clock 1878 * @arg RCC_SDMMC1CLKSOURCE_IC5 IC5 selected as SDMMC1 kernel clock 1879 */ 1880 #define __HAL_RCC_SDMMC1_CONFIG(__SDMMC1_CLKSOURCE__) \ 1881 LL_RCC_SetSDMMCClockSource((__SDMMC1_CLKSOURCE__)) 1882 1883 /** @brief Macro to get the SDMMC1 kernel clock source. 1884 * @retval The clock source can be one of the following values: 1885 * @arg RCC_SDMMC1CLKSOURCE_HCLK HCLK Clock selected as SDMMC1 kernel clock 1886 * @arg RCC_SDMMC1CLKSOURCE_CLKP Peripheral clock CLKP selected as SDMMC1 kernel clock 1887 * @arg RCC_SDMMC1CLKSOURCE_IC4 IC4 selected as SDMMC1 kernel clock 1888 * @arg RCC_SDMMC1CLKSOURCE_IC5 IC5 selected as SDMMC1 kernel clock 1889 */ 1890 #define __HAL_RCC_GET_SDMMC1_SOURCE() LL_RCC_GetSDMMCClockSource(LL_RCC_SDMMC1_CLKSOURCE) 1891 1892 /** @brief Macro to configure the SDMMC2 kernel clock source. 1893 * @param __SDMMC2_CLKSOURCE__ specifies clock source for SDMMC2 1894 * This parameter can be one of the following values: 1895 * @arg RCC_SDMMC2CLKSOURCE_HCLK HCLK Clock selected as SDMMC2 kernel clock 1896 * @arg RCC_SDMMC2CLKSOURCE_CLKP Peripheral clock CLKP selected as SDMMC2 kernel clock 1897 * @arg RCC_SDMMC2CLKSOURCE_IC4 IC4 selected as SDMMC2 kernel clock 1898 * @arg RCC_SDMMC2CLKSOURCE_IC5 IC5 selected as SDMMC2 kernel clock 1899 */ 1900 #define __HAL_RCC_SDMMC2_CONFIG(__SDMMC2_CLKSOURCE__) \ 1901 LL_RCC_SetSDMMCClockSource((__SDMMC2_CLKSOURCE__)) 1902 1903 /** @brief Macro to get the SDMMC2 kernel clock source. 1904 * @retval The clock source can be one of the following values: 1905 * @arg RCC_SDMMC2CLKSOURCE_HCLK HCLK Clock selected as SDMMC2 kernel clock 1906 * @arg RCC_SDMMC2CLKSOURCE_CLKP Peripheral clock CLKP selected as SDMMC2 kernel clock 1907 * @arg RCC_SDMMC2CLKSOURCE_IC4 IC4 selected as SDMMC2 kernel clock 1908 * @arg RCC_SDMMC2CLKSOURCE_IC5 IC5 selected as SDMMC2 kernel clock 1909 */ 1910 #define __HAL_RCC_GET_SDMMC2_SOURCE() LL_RCC_GetSDMMCClockSource(LL_RCC_SDMMC2_CLKSOURCE) 1911 1912 /** 1913 * @brief Macro to Configure the SPDIFRX1 clock source. 1914 * @param __SPDIFRX_CLKSOURCE__ defines the SPDIFRX1 clock source. 1915 * This parameter can be one of the following values: 1916 * @arg RCC_SPDIFRX1CLKSOURCE_PCLK1 PCLK1 Clock selected as SPDIFRX1 clock 1917 * @arg RCC_SPDIFRX1CLKSOURCE_CLKP Peripheral clock CLKP selected as SPDIFRX1 clock 1918 * @arg RCC_SPDIFRX1CLKSOURCE_IC7 IC7 selected as SPDIFRX1 clock 1919 * @arg RCC_SPDIFRX1CLKSOURCE_IC8 IC8 selected as SPDIFRX1 clock 1920 * @arg RCC_SPDIFRX1CLKSOURCE_MSI MSI selected as SPDIFRX1 clock 1921 * @arg RCC_SPDIFRX1CLKSOURCE_HSI HSI selected as SPDIFRX1 clock 1922 * @arg RCC_SPDIFRX1CLKSOURCE_PIN External I2S_CKIN selected as SPDIFRX1 clock 1923 * @retval None 1924 */ 1925 #define __HAL_RCC_SPDIFRX1_CONFIG(__SPDIFRX_CLKSOURCE__ ) \ 1926 LL_RCC_SetSPDIFRXClockSource((__SPDIFRX_CLKSOURCE__)) 1927 1928 /** 1929 * @brief Macro to get the SPDIFRX1 clock source. 1930 * @retval The clock source can be one of the following values: 1931 * @arg RCC_SPDIFRX1CLKSOURCE_PCLK1 PCLK1 Clock selected as SPDIFRX1 clock 1932 * @arg RCC_SPDIFRX1CLKSOURCE_CLKP Peripheral clock CLKP selected as SPDIFRX1 clock 1933 * @arg RCC_SPDIFRX1CLKSOURCE_IC7 IC7 selected as SPDIFRX1 clock 1934 * @arg RCC_SPDIFRX1CLKSOURCE_IC8 IC8 selected as SPDIFRX1 clock 1935 * @arg RCC_SPDIFRX1CLKSOURCE_MSI MSI selected as SPDIFRX1 clock 1936 * @arg RCC_SPDIFRX1CLKSOURCE_HSI HSI selected as SPDIFRX1 clock 1937 * @arg RCC_SPDIFRX1CLKSOURCE_PIN External I2S_CKIN selected as SPDIFRX1 clock 1938 * @retval None 1939 */ 1940 #define __HAL_RCC_GET_SPDIFRX1_SOURCE() LL_RCC_GetSPDIFRXClockSource(LL_RCC_SPDIFRX1_CLKSOURCE) 1941 1942 /** 1943 * @brief Macro to configure the SPI1 clock source. 1944 * @param __SPI1_CLKSOURCE__ defines the SPI1 clock source. 1945 * This parameter can be one of the following values: 1946 * @arg RCC_SPI1CLKSOURCE_PCLK2 PCLK2 selected as SPI1 clock 1947 * @arg RCC_SPI1CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI1 clock 1948 * @arg RCC_SPI1CLKSOURCE_IC8 IC8 selected as SPI1 clock 1949 * @arg RCC_SPI1CLKSOURCE_IC9 IC9 selected as SPI1 clock 1950 * @arg RCC_SPI1CLKSOURCE_MSI MSI selected as SPI1 clock 1951 * @arg RCC_SPI1CLKSOURCE_HSI HSI selected as SPI1 clock 1952 * @arg RCC_SPI1CLKSOURCE_PIN External I2S_CKIN selected as SPI1 clock 1953 * @retval None 1954 */ 1955 #define __HAL_RCC_SPI1_CONFIG(__SPI1_CLKSOURCE__ ) \ 1956 LL_RCC_SetSPIClockSource((__SPI1_CLKSOURCE__)) 1957 1958 /** @brief Macro to get the SPI1 clock source. 1959 * @retval The clock source can be one of the following values: 1960 * @arg RCC_SPI1CLKSOURCE_PCLK2 PCLK2 selected as SPI1 clock 1961 * @arg RCC_SPI1CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI1 clock 1962 * @arg RCC_SPI1CLKSOURCE_IC8 IC8 selected as SPI1 clock 1963 * @arg RCC_SPI1CLKSOURCE_IC9 IC9 selected as SPI1 clock 1964 * @arg RCC_SPI1CLKSOURCE_MSI MSI selected as SPI1 clock 1965 * @arg RCC_SPI1CLKSOURCE_HSI HSI selected as SPI1 clock 1966 * @arg RCC_SPI1CLKSOURCE_PIN External I2S_CKIN selected as SPI1 clock 1967 */ 1968 #define __HAL_RCC_GET_SPI1_SOURCE() LL_RCC_GetSPIClockSource(LL_RCC_SPI1_CLKSOURCE) 1969 1970 /** 1971 * @brief Macro to configure the SPI2 clock source. 1972 * @param __SPI2_CLKSOURCE__ defines the SPI2 clock source. 1973 * This parameter can be one of the following values: 1974 * @arg RCC_SPI2CLKSOURCE_PCLK1 PCLK1 selected as SPI2 clock 1975 * @arg RCC_SPI2CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI2 clock 1976 * @arg RCC_SPI2CLKSOURCE_IC8 IC8 selected as SPI2 clock 1977 * @arg RCC_SPI2CLKSOURCE_IC9 IC9 selected as SPI2 clock 1978 * @arg RCC_SPI2CLKSOURCE_MSI MSI selected as SPI2 clock 1979 * @arg RCC_SPI2CLKSOURCE_HSI HSI selected as SPI2 clock 1980 * @arg RCC_SPI2CLKSOURCE_PIN External I2S_CKIN selected as SPI2 clock 1981 * @retval None 1982 */ 1983 #define __HAL_RCC_SPI2_CONFIG(__SPI2_CLKSOURCE__ ) \ 1984 LL_RCC_SetSPIClockSource((__SPI2_CLKSOURCE__)) 1985 1986 /** @brief Macro to get the SPI2 clock source. 1987 * @retval The clock source can be one of the following values: 1988 * @arg RCC_SPI2CLKSOURCE_PCLK1 PCLK1 selected as SPI2 clock 1989 * @arg RCC_SPI2CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI2 clock 1990 * @arg RCC_SPI2CLKSOURCE_IC8 IC8 selected as SPI2 clock 1991 * @arg RCC_SPI2CLKSOURCE_IC9 IC9 selected as SPI2 clock 1992 * @arg RCC_SPI2CLKSOURCE_MSI MSI selected as SPI2 clock 1993 * @arg RCC_SPI2CLKSOURCE_HSI HSI selected as SPI2 clock 1994 * @arg RCC_SPI2CLKSOURCE_PIN External I2S_CKIN selected as SPI2 clock 1995 */ 1996 #define __HAL_RCC_GET_SPI2_SOURCE() LL_RCC_GetSPIClockSource(LL_RCC_SPI2_CLKSOURCE) 1997 1998 /** 1999 * @brief Macro to configure the SPI3 clock source. 2000 * @param __SPI3_CLKSOURCE__ defines the SPI3 clock source. 2001 * This parameter can be one of the following values: 2002 * @arg RCC_SPI3CLKSOURCE_PCLK1 PCLK1 selected as SPI3 clock 2003 * @arg RCC_SPI3CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI3 clock 2004 * @arg RCC_SPI3CLKSOURCE_IC8 IC8 selected as SPI3 clock 2005 * @arg RCC_SPI3CLKSOURCE_IC9 IC9 selected as SPI3 clock 2006 * @arg RCC_SPI3CLKSOURCE_MSI MSI selected as SPI3 clock 2007 * @arg RCC_SPI3CLKSOURCE_HSI HSI selected as SPI3 clock 2008 * @arg RCC_SPI3CLKSOURCE_PIN External I2S_CKIN selected as SPI3 clock 2009 * @retval None 2010 */ 2011 #define __HAL_RCC_SPI3_CONFIG(__SPI3_CLKSOURCE__ ) \ 2012 LL_RCC_SetSPIClockSource((__SPI3_CLKSOURCE__)) 2013 2014 /** @brief Macro to get the SPI3 clock source. 2015 * @retval The clock source can be one of the following values: 2016 * @arg RCC_SPI3CLKSOURCE_PCLK1 PCLK1 selected as SPI3 clock 2017 * @arg RCC_SPI3CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI3 clock 2018 * @arg RCC_SPI3CLKSOURCE_IC8 IC8 selected as SPI3 clock 2019 * @arg RCC_SPI3CLKSOURCE_IC9 IC9 selected as SPI3 clock 2020 * @arg RCC_SPI3CLKSOURCE_MSI MSI selected as SPI3 clock 2021 * @arg RCC_SPI3CLKSOURCE_HSI HSI selected as SPI3 clock 2022 * @arg RCC_SPI3CLKSOURCE_PIN External I2S_CKIN selected as SPI3 clock 2023 */ 2024 #define __HAL_RCC_GET_SPI3_SOURCE() LL_RCC_GetSPIClockSource(LL_RCC_SPI3_CLKSOURCE) 2025 2026 /** 2027 * @brief Macro to configure the SPI4 clock source. 2028 * @param __SPI4_CLKSOURCE__ defines the SPI4 clock source. 2029 * This parameter can be one of the following values: 2030 * @arg RCC_SPI4CLKSOURCE_PCLK2 PCLK2 selected as SPI4 clock 2031 * @arg RCC_SPI4CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI4 clock 2032 * @arg RCC_SPI4CLKSOURCE_IC8 IC8 selected as SPI4 clock 2033 * @arg RCC_SPI4CLKSOURCE_IC9 IC9 selected as SPI4 clock 2034 * @arg RCC_SPI4CLKSOURCE_MSI MSI selected as SPI4 clock 2035 * @arg RCC_SPI4CLKSOURCE_HSI HSI selected as SPI4 clock 2036 * @arg RCC_SPI4CLKSOURCE_PIN External I2S_CKIN selected as SPI4 clock 2037 * @retval None 2038 */ 2039 #define __HAL_RCC_SPI4_CONFIG(__SPI4_CLKSOURCE__ ) \ 2040 LL_RCC_SetSPIClockSource((__SPI4_CLKSOURCE__)) 2041 2042 /** @brief Macro to get the SPI4 clock source. 2043 * @retval The clock source can be one of the following values: 2044 * @arg RCC_SPI4CLKSOURCE_PCLK2 PCLK2 selected as SPI4 clock 2045 * @arg RCC_SPI4CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI4 clock 2046 * @arg RCC_SPI4CLKSOURCE_IC8 IC8 selected as SPI4 clock 2047 * @arg RCC_SPI4CLKSOURCE_IC9 IC9 selected as SPI4 clock 2048 * @arg RCC_SPI4CLKSOURCE_MSI MSI selected as SPI4 clock 2049 * @arg RCC_SPI4CLKSOURCE_HSI HSI selected as SPI4 clock 2050 * @arg RCC_SPI4CLKSOURCE_PIN External I2S_CKIN selected as SPI4 clock 2051 */ 2052 #define __HAL_RCC_GET_SPI4_SOURCE() LL_RCC_GetSPIClockSource(LL_RCC_SPI4_CLKSOURCE) 2053 2054 /** 2055 * @brief Macro to configure the SPI5 clock source. 2056 * @param __SPI5_CLKSOURCE__ defines the SPI5 clock source. 2057 * This parameter can be one of the following values: 2058 * @arg RCC_SPI5CLKSOURCE_PCLK2 PCLK2 selected as SPI5 clock 2059 * @arg RCC_SPI5CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI5 clock 2060 * @arg RCC_SPI5CLKSOURCE_IC8 IC8 selected as SPI5 clock 2061 * @arg RCC_SPI5CLKSOURCE_IC9 IC9 selected as SPI5 clock 2062 * @arg RCC_SPI5CLKSOURCE_MSI MSI selected as SPI5 clock 2063 * @arg RCC_SPI5CLKSOURCE_HSI HSI selected as SPI5 clock 2064 * @arg RCC_SPI5CLKSOURCE_PIN External I2S_CKIN selected as SPI5 clock 2065 * @retval None 2066 */ 2067 #define __HAL_RCC_SPI5_CONFIG(__SPI5_CLKSOURCE__ ) \ 2068 LL_RCC_SetSPIClockSource((__SPI5_CLKSOURCE__)) 2069 2070 /** @brief Macro to get the SPI5 clock source. 2071 * @retval The clock source can be one of the following values: 2072 * @arg RCC_SPI5CLKSOURCE_PCLK2 PCLK2 selected as SPI5 clock 2073 * @arg RCC_SPI5CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI5 clock 2074 * @arg RCC_SPI5CLKSOURCE_IC8 IC8 selected as SPI5 clock 2075 * @arg RCC_SPI5CLKSOURCE_IC9 IC9 selected as SPI5 clock 2076 * @arg RCC_SPI5CLKSOURCE_MSI MSI selected as SPI5 clock 2077 * @arg RCC_SPI5CLKSOURCE_HSI HSI selected as SPI5 clock 2078 * @arg RCC_SPI5CLKSOURCE_PIN External I2S_CKIN selected as SPI5 clock 2079 */ 2080 #define __HAL_RCC_GET_SPI5_SOURCE() LL_RCC_GetSPIClockSource(LL_RCC_SPI5_CLKSOURCE) 2081 2082 /** 2083 * @brief Macro to configure the SPI6 clock source. 2084 * @param __SPI6_CLKSOURCE__ defines the SPI6 clock source. 2085 * This parameter can be one of the following values: 2086 * @arg RCC_SPI6CLKSOURCE_PCLK4 PCLK4 selected as SPI6 clock 2087 * @arg RCC_SPI6CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI6 clock 2088 * @arg RCC_SPI6CLKSOURCE_IC8 IC8 selected as SPI6 clock 2089 * @arg RCC_SPI6CLKSOURCE_IC9 IC9 selected as SPI6 clock 2090 * @arg RCC_SPI6CLKSOURCE_MSI MSI selected as SPI6 clock 2091 * @arg RCC_SPI6CLKSOURCE_HSI HSI selected as SPI6 clock 2092 * @arg RCC_SPI6CLKSOURCE_PIN External I2S_CKIN selected as SPI6 clock 2093 * @retval None 2094 */ 2095 #define __HAL_RCC_SPI6_CONFIG(__SPI6_CLKSOURCE__ ) \ 2096 LL_RCC_SetSPIClockSource((__SPI6_CLKSOURCE__)) 2097 2098 /** @brief Macro to get the SPI6 clock source. 2099 * @retval The clock source can be one of the following values: 2100 * @arg RCC_SPI6CLKSOURCE_PCLK4 PCLK4 selected as SPI6 clock 2101 * @arg RCC_SPI6CLKSOURCE_CLKP Peripheral clock CKLP selected as SPI6 clock 2102 * @arg RCC_SPI6CLKSOURCE_IC8 IC8 selected as SPI6 clock 2103 * @arg RCC_SPI6CLKSOURCE_IC9 IC9 selected as SPI6 clock 2104 * @arg RCC_SPI6CLKSOURCE_MSI MSI selected as SPI6 clock 2105 * @arg RCC_SPI6CLKSOURCE_HSI HSI selected as SPI6 clock 2106 * @arg RCC_SPI6CLKSOURCE_PIN External I2S_CKIN selected as SPI6 clock 2107 */ 2108 #define __HAL_RCC_GET_SPI6_SOURCE() LL_RCC_GetSPIClockSource(LL_RCC_SPI6_CLKSOURCE) 2109 2110 /** @brief Macro to configure the USART1 clock source. 2111 * @param __USART1_CLKSOURCE__ specifies the USART1 clock source. 2112 * This parameter can be one of the following values: 2113 * @arg RCC_USART1CLKSOURCE_PCLK2 PCLK2 selected as USART1 clock 2114 * @arg RCC_USART1CLKSOURCE_CLKP Peripheral clock CKLP selected as USART1 clock 2115 * @arg RCC_USART1CLKSOURCE_IC9 IC9 selected as USART1 clock 2116 * @arg RCC_USART1CLKSOURCE_IC14 IC14 selected as USART1 clock 2117 * @arg RCC_USART1CLKSOURCE_LSE LSE selected as USART1 clock 2118 * @arg RCC_USART1CLKSOURCE_MSI MSI selected as USART1 clock 2119 * @arg RCC_USART1CLKSOURCE_HSI HSI selected as USART1 clock 2120 */ 2121 #define __HAL_RCC_USART1_CONFIG(__USART1_CLKSOURCE__) \ 2122 LL_RCC_SetUSARTClockSource((__USART1_CLKSOURCE__)) 2123 2124 /** @brief Macro to get the USART1 clock source. 2125 * @retval The clock source can be one of the following values: 2126 * @arg RCC_USART1CLKSOURCE_PCLK2 PCLK2 selected as USART1 clock 2127 * @arg RCC_USART1CLKSOURCE_CLKP Peripheral clock CKLP selected as USART1 clock 2128 * @arg RCC_USART1CLKSOURCE_IC9 IC9 selected as USART1 clock 2129 * @arg RCC_USART1CLKSOURCE_IC14 IC14 selected as USART1 clock 2130 * @arg RCC_USART1CLKSOURCE_LSE LSE selected as USART1 clock 2131 * @arg RCC_USART1CLKSOURCE_MSI MSI selected as USART1 clock 2132 * @arg RCC_USART1CLKSOURCE_HSI HSI selected as USART1 clock 2133 */ 2134 #define __HAL_RCC_GET_USART1_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_USART1_CLKSOURCE) 2135 2136 /** @brief Macro to configure the USART2 clock source. 2137 * @param __USART2_CLKSOURCE__ specifies the USART2 clock source. 2138 * This parameter can be one of the following values: 2139 * @arg RCC_USART2CLKSOURCE_PCLK1 PCLK1 selected as USART2 clock 2140 * @arg RCC_USART2CLKSOURCE_CLKP Peripheral clock CKLP selected as USART2 clock 2141 * @arg RCC_USART2CLKSOURCE_IC9 IC9 selected as USART2 clock 2142 * @arg RCC_USART2CLKSOURCE_IC14 IC14 selected as USART2 clock 2143 * @arg RCC_USART2CLKSOURCE_LSE LSE selected as USART2 clock 2144 * @arg RCC_USART2CLKSOURCE_MSI MSI selected as USART2 clock 2145 * @arg RCC_USART2CLKSOURCE_HSI HSI selected as USART2 clock 2146 */ 2147 #define __HAL_RCC_USART2_CONFIG(__USART2_CLKSOURCE__) \ 2148 LL_RCC_SetUSARTClockSource((__USART2_CLKSOURCE__)) 2149 2150 /** @brief Macro to get the USART2 clock source. 2151 * @retval The clock source can be one of the following values: 2152 * @arg RCC_USART2CLKSOURCE_PCLK1 PCLK1 selected as USART2 clock 2153 * @arg RCC_USART2CLKSOURCE_CLKP Peripheral clock CKLP selected as USART2 clock 2154 * @arg RCC_USART2CLKSOURCE_IC9 IC9 selected as USART2 clock 2155 * @arg RCC_USART2CLKSOURCE_IC14 IC14 selected as USART2 clock 2156 * @arg RCC_USART2CLKSOURCE_LSE LSE selected as USART2 clock 2157 * @arg RCC_USART2CLKSOURCE_MSI MSI selected as USART2 clock 2158 * @arg RCC_USART2CLKSOURCE_HSI HSI selected as USART2 clock 2159 */ 2160 #define __HAL_RCC_GET_USART2_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_USART2_CLKSOURCE) 2161 2162 /** @brief Macro to configure the USART3 clock source. 2163 * @param __USART3_CLKSOURCE__ specifies the USART3 clock source. 2164 * This parameter can be one of the following values: 2165 * @arg RCC_USART3CLKSOURCE_PCLK1 PCLK1 selected as USART3 clock 2166 * @arg RCC_USART3CLKSOURCE_CLKP Peripheral clock CKLP selected as USART3 clock 2167 * @arg RCC_USART3CLKSOURCE_IC9 IC9 selected as USART3 clock 2168 * @arg RCC_USART3CLKSOURCE_IC14 IC14 selected as USART3 clock 2169 * @arg RCC_USART3CLKSOURCE_LSE LSE selected as USART3 clock 2170 * @arg RCC_USART3CLKSOURCE_MSI MSI selected as USART3 clock 2171 * @arg RCC_USART3CLKSOURCE_HSI HSI selected as USART3 clock 2172 */ 2173 #define __HAL_RCC_USART3_CONFIG(__USART3_CLKSOURCE__) \ 2174 LL_RCC_SetUSARTClockSource((__USART3_CLKSOURCE__)) 2175 2176 /** @brief Macro to get the USART3 clock source. 2177 * @retval The clock source can be one of the following values: 2178 * @arg RCC_USART3CLKSOURCE_PCLK1 PCLK1 selected as USART3 clock 2179 * @arg RCC_USART3CLKSOURCE_CLKP Peripheral clock CKLP selected as USART3 clock 2180 * @arg RCC_USART3CLKSOURCE_IC9 IC9 selected as USART3 clock 2181 * @arg RCC_USART3CLKSOURCE_IC14 IC14 selected as USART3 clock 2182 * @arg RCC_USART3CLKSOURCE_LSE LSE selected as USART3 clock 2183 * @arg RCC_USART3CLKSOURCE_MSI MSI selected as USART3 clock 2184 * @arg RCC_USART3CLKSOURCE_HSI HSI selected as USART3 clock 2185 */ 2186 #define __HAL_RCC_GET_USART3_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_USART3_CLKSOURCE) 2187 2188 /** @brief Macro to configure the UART4 clock source. 2189 * @param __UART4_CLKSOURCE__ specifies the UART4 clock source. 2190 * This parameter can be one of the following values: 2191 * @arg RCC_UART4CLKSOURCE_PCLK1 PCLK1 selected as UART4 clock 2192 * @arg RCC_UART4CLKSOURCE_CLKP Peripheral clock CKLP selected as UART4 clock 2193 * @arg RCC_UART4CLKSOURCE_IC9 IC9 selected as UART4 clock 2194 * @arg RCC_UART4CLKSOURCE_IC14 IC14 selected as UART4 clock 2195 * @arg RCC_UART4CLKSOURCE_LSE LSE selected as UART4 clock 2196 * @arg RCC_UART4CLKSOURCE_MSI MSI selected as UART4 clock 2197 * @arg RCC_UART4CLKSOURCE_HSI HSI selected as UART4 clock 2198 */ 2199 #define __HAL_RCC_UART4_CONFIG(__UART4_CLKSOURCE__) \ 2200 LL_RCC_SetUSARTClockSource((__UART4_CLKSOURCE__)) 2201 2202 /** @brief Macro to get the UART4 clock source. 2203 * @retval The clock source can be one of the following values: 2204 * @arg RCC_UART4CLKSOURCE_PCLK1 PCLK1 selected as UART4 clock 2205 * @arg RCC_UART4CLKSOURCE_CLKP Peripheral clock CKLP selected as UART4 clock 2206 * @arg RCC_UART4CLKSOURCE_IC9 IC9 selected as UART4 clock 2207 * @arg RCC_UART4CLKSOURCE_IC14 IC14 selected as UART4 clock 2208 * @arg RCC_UART4CLKSOURCE_LSE LSE selected as UART4 clock 2209 * @arg RCC_UART4CLKSOURCE_MSI MSI selected as UART4 clock 2210 * @arg RCC_UART4CLKSOURCE_HSI HSI selected as UART4 clock 2211 */ 2212 #define __HAL_RCC_GET_UART4_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_UART4_CLKSOURCE) 2213 2214 /** @brief Macro to configure the UART5 clock source. 2215 * @param __UART5_CLKSOURCE__ specifies the UART5 clock source. 2216 * This parameter can be one of the following values: 2217 * @arg RCC_UART5CLKSOURCE_PCLK1 PCLK1 selected as UART5 clock 2218 * @arg RCC_UART5CLKSOURCE_CLKP Peripheral clock CKLP selected as UART5 clock 2219 * @arg RCC_UART5CLKSOURCE_IC9 IC9 selected as UART5 clock 2220 * @arg RCC_UART5CLKSOURCE_IC14 IC14 selected as UART5 clock 2221 * @arg RCC_UART5CLKSOURCE_LSE LSE selected as UART5 clock 2222 * @arg RCC_UART5CLKSOURCE_MSI MSI selected as UART5 clock 2223 * @arg RCC_UART5CLKSOURCE_HSI HSI selected as UART5 clock 2224 */ 2225 #define __HAL_RCC_UART5_CONFIG(__UART5_CLKSOURCE__) \ 2226 LL_RCC_SetUSARTClockSource((__UART5_CLKSOURCE__)) 2227 2228 /** @brief Macro to get the UART5 clock source. 2229 * @retval The clock source can be one of the following values: 2230 * @arg RCC_UART5CLKSOURCE_PCLK1 PCLK1 selected as UART5 clock 2231 * @arg RCC_UART5CLKSOURCE_CLKP Peripheral clock CKLP selected as UART5 clock 2232 * @arg RCC_UART5CLKSOURCE_IC9 IC9 selected as UART5 clock 2233 * @arg RCC_UART5CLKSOURCE_IC14 IC14 selected as UART5 clock 2234 * @arg RCC_UART5CLKSOURCE_LSE LSE selected as UART5 clock 2235 * @arg RCC_UART5CLKSOURCE_MSI MSI selected as UART5 clock 2236 * @arg RCC_UART5CLKSOURCE_HSI HSI selected as UART5 clock 2237 */ 2238 #define __HAL_RCC_GET_UART5_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_UART5_CLKSOURCE) 2239 2240 /** @brief Macro to configure the USART6 clock source. 2241 * @param __USART6_CLKSOURCE__ specifies the USART6 clock source. 2242 * This parameter can be one of the following values: 2243 * @arg RCC_USART6CLKSOURCE_PCLK2 PCLK2 selected as USART6 clock 2244 * @arg RCC_USART6CLKSOURCE_CLKP Peripheral clock CKLP selected as USART6 clock 2245 * @arg RCC_USART6CLKSOURCE_IC9 IC9 selected as USART6 clock 2246 * @arg RCC_USART6CLKSOURCE_IC14 IC14 selected as USART6 clock 2247 * @arg RCC_USART6CLKSOURCE_LSE LSE selected as USART6 clock 2248 * @arg RCC_USART6CLKSOURCE_MSI MSI selected as USART6 clock 2249 * @arg RCC_USART6CLKSOURCE_HSI HSI selected as USART6 clock 2250 */ 2251 #define __HAL_RCC_USART6_CONFIG(__USART6_CLKSOURCE__) \ 2252 LL_RCC_SetUSARTClockSource((__USART6_CLKSOURCE__)) 2253 2254 /** @brief Macro to get the USART6 clock source. 2255 * @retval The clock source can be one of the following values: 2256 * @arg RCC_USART6CLKSOURCE_PCLK2 PCLK2 selected as USART6 clock 2257 * @arg RCC_USART6CLKSOURCE_CLKP Peripheral clock CKLP selected as USART6 clock 2258 * @arg RCC_USART6CLKSOURCE_IC9 IC9 selected as USART6 clock 2259 * @arg RCC_USART6CLKSOURCE_IC14 IC14 selected as USART6 clock 2260 * @arg RCC_USART6CLKSOURCE_LSE LSE selected as USART6 clock 2261 * @arg RCC_USART6CLKSOURCE_MSI MSI selected as USART6 clock 2262 * @arg RCC_USART6CLKSOURCE_HSI HSI selected as USART6 clock 2263 */ 2264 #define __HAL_RCC_GET_USART6_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_USART6_CLKSOURCE) 2265 2266 /** @brief Macro to configure the UART7 clock source. 2267 * @param __UART7_CLKSOURCE__ specifies the UART7 clock source. 2268 * This parameter can be one of the following values: 2269 * @arg RCC_UART7CLKSOURCE_PCLK1 PCLK1 selected as UART7 clock 2270 * @arg RCC_UART7CLKSOURCE_CLKP Peripheral clock CKLP selected as UART7 clock 2271 * @arg RCC_UART7CLKSOURCE_IC9 IC9 selected as UART7 clock 2272 * @arg RCC_UART7CLKSOURCE_IC14 IC14 selected as UART7 clock 2273 * @arg RCC_UART7CLKSOURCE_LSE LSE selected as UART7 clock 2274 * @arg RCC_UART7CLKSOURCE_MSI MSI selected as UART7 clock 2275 * @arg RCC_UART7CLKSOURCE_HSI HSI selected as UART7 clock 2276 */ 2277 #define __HAL_RCC_UART7_CONFIG(__UART7_CLKSOURCE__) \ 2278 LL_RCC_SetUSARTClockSource((__UART7_CLKSOURCE__)) 2279 2280 /** @brief Macro to get the UART7 clock source. 2281 * @retval The clock source can be one of the following values: 2282 * @arg RCC_UART7CLKSOURCE_PCLK1 PCLK1 selected as UART7 clock 2283 * @arg RCC_UART7CLKSOURCE_CLKP Peripheral clock CKLP selected as UART7 clock 2284 * @arg RCC_UART7CLKSOURCE_IC9 IC9 selected as UART7 clock 2285 * @arg RCC_UART7CLKSOURCE_IC14 IC14 selected as UART7 clock 2286 * @arg RCC_UART7CLKSOURCE_LSE LSE selected as UART7 clock 2287 * @arg RCC_UART7CLKSOURCE_MSI MSI selected as UART7 clock 2288 * @arg RCC_UART7CLKSOURCE_HSI HSI selected as UART7 clock 2289 */ 2290 #define __HAL_RCC_GET_UART7_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_UART7_CLKSOURCE) 2291 2292 /** @brief Macro to configure the UART8 clock source. 2293 * @param __UART8_CLKSOURCE__ specifies the UART8 clock source. 2294 * This parameter can be one of the following values: 2295 * @arg RCC_UART8CLKSOURCE_PCLK1 PCLK1 selected as UART8 clock 2296 * @arg RCC_UART8CLKSOURCE_CLKP Peripheral clock CKLP selected as UART8 clock 2297 * @arg RCC_UART8CLKSOURCE_IC9 IC9 selected as UART8 clock 2298 * @arg RCC_UART8CLKSOURCE_IC14 IC14 selected as UART8 clock 2299 * @arg RCC_UART8CLKSOURCE_LSE LSE selected as UART8 clock 2300 * @arg RCC_UART8CLKSOURCE_MSI MSI selected as UART8 clock 2301 * @arg RCC_UART8CLKSOURCE_HSI HSI selected as UART8 clock 2302 */ 2303 #define __HAL_RCC_UART8_CONFIG(__UART8_CLKSOURCE__) \ 2304 LL_RCC_SetUSARTClockSource((__UART8_CLKSOURCE__)) 2305 2306 /** @brief Macro to get the UART8 clock source. 2307 * @retval The clock source can be one of the following values: 2308 * @arg RCC_UART8CLKSOURCE_PCLK1 PCLK1 selected as UART8 clock 2309 * @arg RCC_UART8CLKSOURCE_CLKP Peripheral clock CKLP selected as UART8 clock 2310 * @arg RCC_UART8CLKSOURCE_IC9 IC9 selected as UART8 clock 2311 * @arg RCC_UART8CLKSOURCE_IC14 IC14 selected as UART8 clock 2312 * @arg RCC_UART8CLKSOURCE_LSE LSE selected as UART8 clock 2313 * @arg RCC_UART8CLKSOURCE_MSI MSI selected as UART8 clock 2314 * @arg RCC_UART8CLKSOURCE_HSI HSI selected as UART8 clock 2315 */ 2316 #define __HAL_RCC_GET_UART8_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_UART8_CLKSOURCE) 2317 2318 /** @brief Macro to configure the UART9 clock source. 2319 * @param __UART9_CLKSOURCE__ specifies the UART9 clock source. 2320 * This parameter can be one of the following values: 2321 * @arg RCC_UART9CLKSOURCE_PCLK2 PCLK2 selected as UART9 clock 2322 * @arg RCC_UART9CLKSOURCE_CLKP Peripheral clock CKLP selected as UART9 clock 2323 * @arg RCC_UART9CLKSOURCE_IC9 IC9 selected as UART9 clock 2324 * @arg RCC_UART9CLKSOURCE_IC14 IC14 selected as UART9 clock 2325 * @arg RCC_UART9CLKSOURCE_LSE LSE selected as UART9 clock 2326 * @arg RCC_UART9CLKSOURCE_MSI MSI selected as UART9 clock 2327 * @arg RCC_UART9CLKSOURCE_HSI HSI selected as UART9 clock 2328 */ 2329 #define __HAL_RCC_UART9_CONFIG(__UART9_CLKSOURCE__) \ 2330 LL_RCC_SetUSARTClockSource((__UART9_CLKSOURCE__)) 2331 2332 /** @brief Macro to get the UART9 clock source. 2333 * @retval The clock source can be one of the following values: 2334 * @arg RCC_UART9CLKSOURCE_PCLK2 PCLK2 selected as UART9 clock 2335 * @arg RCC_UART9CLKSOURCE_CLKP Peripheral clock CKLP selected as UART9 clock 2336 * @arg RCC_UART9CLKSOURCE_IC9 IC9 selected as UART9 clock 2337 * @arg RCC_UART9CLKSOURCE_IC14 IC14 selected as UART9 clock 2338 * @arg RCC_UART9CLKSOURCE_LSE LSE selected as UART9 clock 2339 * @arg RCC_UART9CLKSOURCE_MSI MSI selected as UART9 clock 2340 * @arg RCC_UART9CLKSOURCE_HSI HSI selected as UART9 clock 2341 */ 2342 #define __HAL_RCC_GET_UART9_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_UART9_CLKSOURCE) 2343 2344 /** @brief Macro to configure the USART10 clock source. 2345 * @param __USART10_CLKSOURCE__ specifies the USART10 clock source. 2346 * This parameter can be one of the following values: 2347 * @arg RCC_USART10CLKSOURCE_PCLK2 PCLK2 selected as USART10 clock 2348 * @arg RCC_USART10CLKSOURCE_CLKP Peripheral clock CKLP selected as USART10 clock 2349 * @arg RCC_USART10CLKSOURCE_IC9 IC9 selected as USART10 clock 2350 * @arg RCC_USART10CLKSOURCE_IC14 IC14 selected as USART10 clock 2351 * @arg RCC_USART10CLKSOURCE_LSE LSE selected as USART10 clock 2352 * @arg RCC_USART10CLKSOURCE_MSI MSI selected as USART10 clock 2353 * @arg RCC_USART10CLKSOURCE_HSI HSI selected as USART10 clock 2354 */ 2355 #define __HAL_RCC_USART10_CONFIG(__USART10_CLKSOURCE__) \ 2356 LL_RCC_SetUSARTClockSource((__USART10_CLKSOURCE__)) 2357 2358 /** @brief Macro to get the USART10 clock source. 2359 * @retval The clock source can be one of the following values: 2360 * @arg RCC_USART10CLKSOURCE_PCLK2 PCLK2 selected as USART10 clock 2361 * @arg RCC_USART10CLKSOURCE_CLKP Peripheral clock CKLP selected as USART10 clock 2362 * @arg RCC_USART10CLKSOURCE_IC9 IC9 selected as USART10 clock 2363 * @arg RCC_USART10CLKSOURCE_IC14 IC14 selected as USART10 clock 2364 * @arg RCC_USART10CLKSOURCE_LSE LSE selected as USART10 clock 2365 * @arg RCC_USART10CLKSOURCE_MSI MSI selected as USART10 clock 2366 * @arg RCC_USART10CLKSOURCE_HSI HSI selected as USART10 clock 2367 */ 2368 #define __HAL_RCC_GET_USART10_SOURCE() LL_RCC_GetUSARTClockSource(LL_RCC_USART10_CLKSOURCE) 2369 2370 /** @brief Macro to configure the XSPI1 clock source. 2371 * 2372 * @param __XSPI1_CLKSOURCE__ specifies the XSPI1 clock source. 2373 * @arg RCC_XSPI1CLKSOURCE_HCLK HCLK selected as XSPI1 clock 2374 * @arg RCC_XSPI1CLKSOURCE_CLKP Peripheral clock CKLP selected as XSPI1 clock 2375 * @arg RCC_XSPI1CLKSOURCE_IC3 IC3 selected as XSPI1 clock 2376 * @arg RCC_XSPI1CLKSOURCE_IC4 IC4 selected as XSPI1 clock 2377 */ 2378 #define __HAL_RCC_XSPI1_CONFIG(__XSPI1_CLKSOURCE__) \ 2379 LL_RCC_SetXSPIClockSource((__XSPI1_CLKSOURCE__)) 2380 2381 /** @brief Macro to get the XSPI1 clock source. 2382 * @retval The clock source can be one of the following values: 2383 * @arg RCC_XSPI1CLKSOURCE_HCLK HCLK selected as XSPI1 clock 2384 * @arg RCC_XSPI1CLKSOURCE_CLKP Peripheral clock CKLP selected as XSPI1 clock 2385 * @arg RCC_XSPI1CLKSOURCE_IC3 IC3 selected as XSPI1 clock 2386 * @arg RCC_XSPI1CLKSOURCE_IC4 IC4 selected as XSPI1 clock 2387 */ 2388 #define __HAL_RCC_GET_XSPI1_SOURCE() LL_RCC_GetXSPIClockSource(LL_RCC_XSPI1_CLKSOURCE) 2389 2390 /** @brief Macro to configure the XSPI2 clock source. 2391 * 2392 * @param __XSPI2_CLKSOURCE__ specifies the XSPI2 clock source. 2393 * @arg RCC_XSPI2CLKSOURCE_HCLK HCLK selected as XSPI2 clock 2394 * @arg RCC_XSPI2CLKSOURCE_CLKP Peripheral clock CKLP selected as XSPI2 clock 2395 * @arg RCC_XSPI2CLKSOURCE_IC3 IC3 selected as XSPI2 clock 2396 * @arg RCC_XSPI2CLKSOURCE_IC4 IC4 selected as XSPI2 clock 2397 */ 2398 #define __HAL_RCC_XSPI2_CONFIG(__XSPI2_CLKSOURCE__) \ 2399 LL_RCC_SetXSPIClockSource((__XSPI2_CLKSOURCE__)) 2400 2401 /** @brief Macro to get the XSPI2 clock source. 2402 * @retval The clock source can be one of the following values: 2403 * @arg RCC_XSPI2CLKSOURCE_HCLK HCLK selected as XSPI2 clock 2404 * @arg RCC_XSPI2CLKSOURCE_CLKP Peripheral clock CKLP selected as XSPI2 clock 2405 * @arg RCC_XSPI2CLKSOURCE_IC3 IC3 selected as XSPI2 clock 2406 * @arg RCC_XSPI2CLKSOURCE_IC4 IC4 selected as XSPI2 clock 2407 */ 2408 #define __HAL_RCC_GET_XSPI2_SOURCE() LL_RCC_GetXSPIClockSource(LL_RCC_XSPI2_CLKSOURCE) 2409 2410 /** @brief Macro to configure the XSPI3 clock source. 2411 * 2412 * @param __XSPI3_CLKSOURCE__ specifies the XSPI3 clock source. 2413 * @arg RCC_XSPI3CLKSOURCE_HCLK HCLK selected as XSPI3 clock 2414 * @arg RCC_XSPI3CLKSOURCE_CLKP Peripheral clock CKLP selected as XSPI3 clock 2415 * @arg RCC_XSPI3CLKSOURCE_IC3 IC3 selected as XSPI3 clock 2416 * @arg RCC_XSPI3CLKSOURCE_IC4 IC4 selected as XSPI3 clock 2417 */ 2418 #define __HAL_RCC_XSPI3_CONFIG(__XSPI3_CLKSOURCE__) \ 2419 LL_RCC_SetXSPIClockSource((__XSPI3_CLKSOURCE__)) 2420 2421 /** @brief Macro to get the XSPI3 clock source. 2422 * @retval The clock source can be one of the following values: 2423 * @arg RCC_XSPI3CLKSOURCE_HCLK HCLK selected as XSPI3 clock 2424 * @arg RCC_XSPI3CLKSOURCE_CLKP Peripheral clock CKLP selected as XSPI3 clock 2425 * @arg RCC_XSPI3CLKSOURCE_IC3 IC3 selected as XSPI3 clock 2426 * @arg RCC_XSPI3CLKSOURCE_IC4 IC4 selected as XSPI3 clock 2427 */ 2428 #define __HAL_RCC_GET_XSPI3_SOURCE() LL_RCC_GetXSPIClockSource(LL_RCC_XSPI3_CLKSOURCE) 2429 2430 /** @brief Macro to configure the Timers clocks prescaler 2431 * @param __PRESC__ specifies the Timers clocks prescaler selection 2432 * This parameter can be one of the following values: 2433 * @arg RCC_TIMPRES_DIV1 The Timers kernels clocks prescaler is 1 2434 * @arg RCC_TIMPRES_DIV2 The Timers kernels clocks prescaler is 2 2435 * @arg RCC_TIMPRES_DIV4 The Timers kernels clocks prescaler is 4 2436 * @arg RCC_TIMPRES_DIV8 The Timers kernels clocks prescaler is 8 2437 */ 2438 #define __HAL_RCC_TIMCLKPRESCALER_CONFIG(__PRESC__) LL_RCC_SetTIMPrescaler((__PRESC__)) 2439 2440 /** @brief Macro to get the Timers clocks prescaler. 2441 * @retval Timers clocks prescaler can be one of the following values: 2442 * @arg RCC_TIMPRES_DIV1 The Timers kernels clocks prescaler is 1 2443 * @arg RCC_TIMPRES_DIV2 The Timers kernels clocks prescaler is 2 2444 * @arg RCC_TIMPRES_DIV4 The Timers kernels clocks prescaler is 4 2445 * @arg RCC_TIMPRES_DIV8 The Timers kernels clocks prescaler is 8 2446 */ 2447 #define __HAL_RCC_GET_TIMCLKPRESCALER() LL_RCC_GetTIMPrescaler() 2448 2449 /** @brief Macro to configure the USBPHY1 clock. 2450 * @param __USBPHY1_CLKSOURCE__ specifies the USBPHY1 clock source. 2451 * This parameter can be one of the following values: 2452 * @arg RCC_USBPHY1REFCLKSOURCE_OTGPHY1 USB OTGPHY1 kernel clock selected as USBPHY1 clock 2453 * @arg RCC_USBPHY1REFCLKSOURCE_HSE_DIRECT HSE from oscillator selected as USBPHY1 clock 2454 * @arg RCC_USBPHY1REFCLKSOURCE_HSE_DIRECT_DIV2 HSE from oscillator divided by 2 selected as USBPHY1 clock 2455 */ 2456 #define __HAL_RCC_USBPHY1_CONFIG(__USBPHY1_CLKSOURCE__) \ 2457 do \ 2458 { \ 2459 LL_RCC_SetOTGPHYCKREFClockSource((__USBPHY1_CLKSOURCE__) & 0x7FFFFFFFUL); \ 2460 if(((__USBPHY1_CLKSOURCE__)>>31U) == 1UL) {LL_RCC_HSE_SelectHSEDiv2AsDiv2Clock();} \ 2461 else {LL_RCC_HSE_SelectHSEAsDiv2Clock();} \ 2462 } while (0) 2463 2464 2465 /** @brief Macro to get the USBPHY1 clock source. 2466 * @retval The clock source can be one of the following values: 2467 * @arg RCC_USBPHY1REFCLKSOURCE_OTGPHY1 USB OTGPHY1 kernel clock selected as USBPHY1 clock 2468 * @arg RCC_USBPHY1REFCLKSOURCE_HSE_DIRECT HSE from oscillator selected as USBPHY1 clock 2469 * @arg RCC_USBPHY1REFCLKSOURCE_HSE_DIRECT_DIV2 HSE from oscillator divided by 2 selected as USBPHY1 clock 2470 */ 2471 #define __HAL_RCC_GET_USBPHY1_SOURCE() \ 2472 (LL_RCC_GetOTGPHYCKREFClockSource(LL_RCC_OTGPHY1CKREF_CLKSOURCE) | (LL_RCC_HSE_IsSelectedHSEDiv2AsDiv2Clock()<<31U)) 2473 2474 /** @brief Macro to configure the USBPHY2 clock. 2475 * @param __USBPHY2_CLKSOURCE__ specifies the USBPHY2 clock source. 2476 * This parameter can be one of the following values: 2477 * @arg RCC_USBPHY2REFCLKSOURCE_OTGPHY2 USB OTGPHY2 kernel clock selected as USBPHY2 clock 2478 * @arg RCC_USBPHY2REFCLKSOURCE_HSE_DIRECT HSE from oscillator selected as USBPHY2 clock 2479 * @arg RCC_USBPHY2REFCLKSOURCE_HSE_DIRECT_DIV2 HSE from oscillator divided by 2 selected as USBPHY2 clock 2480 */ 2481 #define __HAL_RCC_USBPHY2_CONFIG(__USBPHY2_CLKSOURCE__) \ 2482 do \ 2483 { \ 2484 LL_RCC_SetOTGPHYCKREFClockSource((__USBPHY2_CLKSOURCE__) & 0x7FFFFFFFUL); \ 2485 if(((__USBPHY2_CLKSOURCE__)>>31U) == 1UL) {LL_RCC_HSE_SelectHSEDiv2AsDiv2Clock();} \ 2486 else {LL_RCC_HSE_SelectHSEAsDiv2Clock();} \ 2487 } while (0) 2488 2489 /** @brief Macro to get the USBPHY2 clock source. 2490 * @retval The clock source can be one of the following values: 2491 * @arg RCC_USBPHY2REFCLKSOURCE_OTGPHY2 USB OTGPHY2 kernel clock selected as USBPHY2 clock 2492 * @arg RCC_USBPHY2REFCLKSOURCE_HSE_DIRECT HSE from oscillator selected as USBPHY2 clock 2493 * @arg RCC_USBPHY2REFCLKSOURCE_HSE_DIRECT_DIV2 HSE from oscillator divided by 2 selected as USBPHY2 clock 2494 */ 2495 #define __HAL_RCC_GET_USBPHY2_SOURCE() \ 2496 (LL_RCC_GetOTGPHYCKREFClockSource(LL_RCC_OTGPHY2CKREF_CLKSOURCE) | (LL_RCC_HSE_IsSelectedHSEDiv2AsDiv2Clock()<<31U)) 2497 2498 /** @brief Macro to configure the USB OTGHS1 clock. 2499 * @param __USBOTGHS1_CLKSOURCE__ specifies the USB OTGHS1 clock source. 2500 * This parameter can be one of the following values: 2501 * @arg RCC_USBOTGHS1CLKSOURCE_HSE_DIV2 HSE divided by 2 selected as USBOTGHS1 clock 2502 * @arg RCC_USBOTGHS1CLKSOURCE_CLKP Peripheral clock CKLP selected as USBOTGHS1 clock 2503 * @arg RCC_USBOTGHS1CLKSOURCE_IC15 IC15 selected as USBOTGHS1 clock 2504 * @arg RCC_USBOTGHS1CLKSOURCE_HSE_DIV_2_OSC HSE divided by 2 from oscillator selected as USBOTGHS1 clock 2505 */ 2506 #define __HAL_RCC_USBOTGHS1_CONFIG(__USBOTGHS1_CLKSOURCE__) \ 2507 do \ 2508 { \ 2509 LL_RCC_SetOTGPHYClockSource((__USBOTGHS1_CLKSOURCE__) & 0x7FFFFFFFUL); \ 2510 if(((__USBOTGHS1_CLKSOURCE__)>>31U) == 1UL) {LL_RCC_HSE_SelectHSEDiv2AsDiv2Clock();} \ 2511 else {LL_RCC_HSE_SelectHSEAsDiv2Clock();} \ 2512 } while (0) 2513 2514 /** @brief Macro to get the USB OTGHS1 clock source. 2515 * @retval The clock source can be one of the following values: 2516 * @arg RCC_USBOTGHS1CLKSOURCE_HSE_DIV2 HSE divided by 2 selected as USBOTGHS1 clock 2517 * @arg RCC_USBOTGHS1CLKSOURCE_CLKP Peripheral clock CKLP selected as USBOTGHS1 clock 2518 * @arg RCC_USBOTGHS1CLKSOURCE_IC15 IC15 selected as USBOTGHS1 clock 2519 * @arg RCC_USBOTGHS1CLKSOURCE_HSE_DIV_2_OSC HSE divided by 2 from oscillator selected as USBOTGHS1 clock 2520 */ 2521 #define __HAL_RCC_GET_USBOTGHS1_SOURCE() \ 2522 (LL_RCC_GetOTGPHYClockSource(LL_RCC_OTGPHY1_CLKSOURCE) | (LL_RCC_HSE_IsSelectedHSEDiv2AsDiv2Clock()<<31U)) 2523 2524 /** @brief Macro to configure the USB OTGHS2 clock. 2525 * @param __USBOTGHS2_CLKSOURCE__ specifies the USB OTGHS2 clock source. 2526 * This parameter can be one of the following values: 2527 * @arg RCC_USBOTGHS2CLKSOURCE_HSE_DIV2 HSE divided by 2 selected as USBOTGHS2 clock 2528 * @arg RCC_USBOTGHS2CLKSOURCE_CLKP Peripheral clock CKLP selected as USBOTGHS2 clock 2529 * @arg RCC_USBOTGHS2CLKSOURCE_IC15 IC15 selected as USBOTGHS2 clock 2530 * @arg RCC_USBOTGHS2CLKSOURCE_HSE_DIV_2_OSC HSE divided by 2 from oscillator selected as USBOTGHS2 clock 2531 */ 2532 #define __HAL_RCC_USBOTGHS2_CONFIG(__USBOTGHS2_CLKSOURCE__) \ 2533 do \ 2534 { \ 2535 LL_RCC_SetOTGPHYClockSource((__USBOTGHS2_CLKSOURCE__) & 0x7FFFFFFFUL); \ 2536 if(((__USBOTGHS2_CLKSOURCE__)>>31U) == 1UL) {LL_RCC_HSE_SelectHSEDiv2AsDiv2Clock();} \ 2537 else {LL_RCC_HSE_SelectHSEAsDiv2Clock();} \ 2538 } while (0) 2539 2540 /** @brief Macro to get the USB OTGHS2 clock source. 2541 * @retval The clock source can be one of the following values: 2542 * @arg RCC_USBOTGHS2CLKSOURCE_HSE_DIV2 HSE divided by 2 selected as USBOTGHS2 clock 2543 * @arg RCC_USBOTGHS2CLKSOURCE_CLKP Peripheral clock CKLP selected as USBOTGHS2 clock 2544 * @arg RCC_USBOTGHS2C LKSOURCE_IC15 IC15 selected as USBOTGHS2 clock 2545 * @arg RCC_USBOTGHS2CLKSOURCE_HSE_DIV_2_OSC HSE divided by 2 from oscillator selected as USBOTGHS2 clock 2546 */ 2547 #define __HAL_RCC_GET_USBOTGHS2_SOURCE() \ 2548 (LL_RCC_GetOTGPHYClockSource(LL_RCC_OTGPHY2_CLKSOURCE) | (LL_RCC_HSE_IsSelectedHSEDiv2AsDiv2Clock()<<31U)) 2549 2550 /** 2551 * @brief Enable the RCC LSE CSS Extended Interrupt Line. 2552 * @retval None 2553 */ 2554 #define __HAL_RCC_LSECSS_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR3, RCC_EXTI_LINE_LSECSS) 2555 2556 /** 2557 * @brief Disable the RCC LSE CSS Extended Interrupt Line. 2558 * @retval None 2559 */ 2560 #define __HAL_RCC_LSECSS_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR3, RCC_EXTI_LINE_LSECSS) 2561 2562 /** 2563 * @brief Enable the RCC LSE CSS Event Line. 2564 * @retval None. 2565 */ 2566 #define __HAL_RCC_LSECSS_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR3, RCC_EXTI_LINE_LSECSS) 2567 2568 /** 2569 * @brief Disable the RCC LSE CSS Event Line. 2570 * @retval None. 2571 */ 2572 #define __HAL_RCC_LSECSS_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR3, RCC_EXTI_LINE_LSECSS) 2573 2574 /** 2575 * @} 2576 */ 2577 2578 2579 /* Exported functions --------------------------------------------------------*/ 2580 /** @addtogroup RCCEx_Exported_Functions 2581 * @{ 2582 */ 2583 2584 /** @addtogroup RCCEx_Exported_Functions_Group1 2585 * @{ 2586 */ 2587 HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(const RCC_PeriphCLKInitTypeDef *PeriphClkInit); 2588 void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit); 2589 uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint64_t PeriphClk); 2590 uint32_t HAL_RCCEx_GetPLL1CLKFreq(void); 2591 uint32_t HAL_RCCEx_GetPLL2CLKFreq(void); 2592 uint32_t HAL_RCCEx_GetPLL3CLKFreq(void); 2593 uint32_t HAL_RCCEx_GetPLL4CLKFreq(void); 2594 /** 2595 * @} 2596 */ 2597 2598 /** @addtogroup RCCEx_Exported_Functions_Group2 2599 * @{ 2600 */ 2601 void HAL_RCCEx_WakeUpStopCLKConfig(uint32_t WakeUpClk); 2602 void HAL_RCCEx_EnableLSECSS(void); 2603 void HAL_RCCEx_DisableLSECSS(void); 2604 void HAL_RCCEx_EnableLSECSS_IT(void); 2605 void HAL_RCCEx_DisableLSECSS_IT(void); 2606 void HAL_RCCEx_ReArmLSECSS(void); 2607 void HAL_RCCEx_LSECSS_IRQHandler(void); 2608 void HAL_RCCEx_LSECSS_Callback(void); 2609 HAL_StatusTypeDef HAL_RCCEx_PLLSSCGConfig(uint32_t PLLnumber, const RCC_PLLInitTypeDef *pPLLInit, 2610 const RCC_PLLSSCGInitTypeDef *pPLLSSCGInit); 2611 2612 /** 2613 * @} 2614 */ 2615 2616 /** 2617 * @} 2618 */ 2619 2620 /* Private macros ------------------------------------------------------------*/ 2621 /** @addtogroup RCCEx_Private_Macros 2622 * @{ 2623 */ 2624 2625 /** @defgroup RCCEx_IS_RCC_Definitions Private macros to check input parameters 2626 * @{ 2627 */ 2628 #define IS_RCC_PERIPHCLOCK(__SELECTION__) \ 2629 ((((__SELECTION__) & RCC_PERIPHCLK_FMC) == RCC_PERIPHCLK_FMC) || \ 2630 (((__SELECTION__) & RCC_PERIPHCLK_XSPI1) == RCC_PERIPHCLK_XSPI1) || \ 2631 (((__SELECTION__) & RCC_PERIPHCLK_XSPI2) == RCC_PERIPHCLK_XSPI2) || \ 2632 (((__SELECTION__) & RCC_PERIPHCLK_XSPI3) == RCC_PERIPHCLK_XSPI3) || \ 2633 (((__SELECTION__) & RCC_PERIPHCLK_CKPER) == RCC_PERIPHCLK_CKPER) || \ 2634 (((__SELECTION__) & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC) || \ 2635 (((__SELECTION__) & RCC_PERIPHCLK_ADF1) == RCC_PERIPHCLK_ADF1) || \ 2636 (((__SELECTION__) & RCC_PERIPHCLK_CSI) == RCC_PERIPHCLK_CSI) || \ 2637 (((__SELECTION__) & RCC_PERIPHCLK_DCMIPP) == RCC_PERIPHCLK_DCMIPP) || \ 2638 (((__SELECTION__) & RCC_PERIPHCLK_ETH1) == RCC_PERIPHCLK_ETH1) || \ 2639 (((__SELECTION__) & RCC_PERIPHCLK_ETH1PHY) == RCC_PERIPHCLK_ETH1PHY) || \ 2640 (((__SELECTION__) & RCC_PERIPHCLK_ETH1RX) == RCC_PERIPHCLK_ETH1RX) || \ 2641 (((__SELECTION__) & RCC_PERIPHCLK_ETH1TX) == RCC_PERIPHCLK_ETH1TX) || \ 2642 (((__SELECTION__) & RCC_PERIPHCLK_ETH1PTP) == RCC_PERIPHCLK_ETH1PTP) || \ 2643 (((__SELECTION__) & RCC_PERIPHCLK_FDCAN) == RCC_PERIPHCLK_FDCAN) || \ 2644 (((__SELECTION__) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1) || \ 2645 (((__SELECTION__) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2) || \ 2646 (((__SELECTION__) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3) || \ 2647 (((__SELECTION__) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4) || \ 2648 (((__SELECTION__) & RCC_PERIPHCLK_I3C1) == RCC_PERIPHCLK_I3C1) || \ 2649 (((__SELECTION__) & RCC_PERIPHCLK_I3C2) == RCC_PERIPHCLK_I3C2) || \ 2650 (((__SELECTION__) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1) || \ 2651 (((__SELECTION__) & RCC_PERIPHCLK_LPTIM2) == RCC_PERIPHCLK_LPTIM2) || \ 2652 (((__SELECTION__) & RCC_PERIPHCLK_LPTIM3) == RCC_PERIPHCLK_LPTIM3) || \ 2653 (((__SELECTION__) & RCC_PERIPHCLK_LPTIM4) == RCC_PERIPHCLK_LPTIM4) || \ 2654 (((__SELECTION__) & RCC_PERIPHCLK_LPTIM5) == RCC_PERIPHCLK_LPTIM5) || \ 2655 (((__SELECTION__) & RCC_PERIPHCLK_LPUART1) == RCC_PERIPHCLK_LPUART1) || \ 2656 (((__SELECTION__) & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC) || \ 2657 (((__SELECTION__) & RCC_PERIPHCLK_MDF1) == RCC_PERIPHCLK_MDF1) || \ 2658 (((__SELECTION__) & RCC_PERIPHCLK_PSSI) == RCC_PERIPHCLK_PSSI) || \ 2659 (((__SELECTION__) & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) || \ 2660 (((__SELECTION__) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) || \ 2661 (((__SELECTION__) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) || \ 2662 (((__SELECTION__) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1) || \ 2663 (((__SELECTION__) & RCC_PERIPHCLK_SDMMC2) == RCC_PERIPHCLK_SDMMC2) || \ 2664 (((__SELECTION__) & RCC_PERIPHCLK_SPDIFRX1) == RCC_PERIPHCLK_SPDIFRX1) || \ 2665 (((__SELECTION__) & RCC_PERIPHCLK_SPI1) == RCC_PERIPHCLK_SPI1) || \ 2666 (((__SELECTION__) & RCC_PERIPHCLK_SPI2) == RCC_PERIPHCLK_SPI2) || \ 2667 (((__SELECTION__) & RCC_PERIPHCLK_SPI3) == RCC_PERIPHCLK_SPI3) || \ 2668 (((__SELECTION__) & RCC_PERIPHCLK_SPI4) == RCC_PERIPHCLK_SPI4) || \ 2669 (((__SELECTION__) & RCC_PERIPHCLK_SPI5) == RCC_PERIPHCLK_SPI5) || \ 2670 (((__SELECTION__) & RCC_PERIPHCLK_SPI6) == RCC_PERIPHCLK_SPI6) || \ 2671 (((__SELECTION__) & RCC_PERIPHCLK_TIM) == RCC_PERIPHCLK_TIM) || \ 2672 (((__SELECTION__) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) || \ 2673 (((__SELECTION__) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2) || \ 2674 (((__SELECTION__) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3) || \ 2675 (((__SELECTION__) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4) || \ 2676 (((__SELECTION__) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5) || \ 2677 (((__SELECTION__) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6) || \ 2678 (((__SELECTION__) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7) || \ 2679 (((__SELECTION__) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8) || \ 2680 (((__SELECTION__) & RCC_PERIPHCLK_UART9) == RCC_PERIPHCLK_UART9) || \ 2681 (((__SELECTION__) & RCC_PERIPHCLK_USART10) == RCC_PERIPHCLK_USART10) || \ 2682 (((__SELECTION__) & RCC_PERIPHCLK_USBPHY1) == RCC_PERIPHCLK_USBPHY1) || \ 2683 (((__SELECTION__) & RCC_PERIPHCLK_USBPHY2) == RCC_PERIPHCLK_USBPHY2) || \ 2684 (((__SELECTION__) & RCC_PERIPHCLK_USBOTGHS1) == RCC_PERIPHCLK_USBOTGHS1) || \ 2685 (((__SELECTION__) & RCC_PERIPHCLK_USBOTGHS2) == RCC_PERIPHCLK_USBOTGHS2)) 2686 2687 #define IS_RCC_ADCCLKSOURCE(__SOURCE__) \ 2688 (((__SOURCE__) == RCC_ADCCLKSOURCE_HCLK) || \ 2689 ((__SOURCE__) == RCC_ADCCLKSOURCE_CLKP) || \ 2690 ((__SOURCE__) == RCC_ADCCLKSOURCE_IC7) || \ 2691 ((__SOURCE__) == RCC_ADCCLKSOURCE_IC8) || \ 2692 ((__SOURCE__) == RCC_ADCCLKSOURCE_MSI) || \ 2693 ((__SOURCE__) == RCC_ADCCLKSOURCE_HSI) || \ 2694 ((__SOURCE__) == RCC_ADCCLKSOURCE_PIN) || \ 2695 ((__SOURCE__) == RCC_ADCCLKSOURCE_TIMG)) 2696 2697 #define IS_RCC_ADCDIVIDER(__VALUE__) \ 2698 ((1U <= (__VALUE__)) && ((__VALUE__) <= 256U)) 2699 2700 #define IS_RCC_ADF1CLKSOURCE(__SOURCE__) \ 2701 (((__SOURCE__) == RCC_ADF1CLKSOURCE_HCLK) || \ 2702 ((__SOURCE__) == RCC_ADF1CLKSOURCE_CLKP) || \ 2703 ((__SOURCE__) == RCC_ADF1CLKSOURCE_IC7) || \ 2704 ((__SOURCE__) == RCC_ADF1CLKSOURCE_IC8) || \ 2705 ((__SOURCE__) == RCC_ADF1CLKSOURCE_MSI) || \ 2706 ((__SOURCE__) == RCC_ADF1CLKSOURCE_HSI) || \ 2707 ((__SOURCE__) == RCC_ADF1CLKSOURCE_PIN) || \ 2708 ((__SOURCE__) == RCC_ADF1CLKSOURCE_TIMG)) 2709 2710 #define IS_RCC_CKPERCLKSOURCE(__SOURCE__) \ 2711 (((__SOURCE__) == RCC_CLKPCLKSOURCE_HSI) || \ 2712 ((__SOURCE__) == RCC_CLKPCLKSOURCE_MSI) || \ 2713 ((__SOURCE__) == RCC_CLKPCLKSOURCE_HSE) || \ 2714 ((__SOURCE__) == RCC_CLKPCLKSOURCE_IC19) || \ 2715 ((__SOURCE__) == RCC_CLKPCLKSOURCE_IC5) || \ 2716 ((__SOURCE__) == RCC_CLKPCLKSOURCE_IC10) || \ 2717 ((__SOURCE__) == RCC_CLKPCLKSOURCE_IC15) || \ 2718 ((__SOURCE__) == RCC_CLKPCLKSOURCE_IC20)) 2719 2720 #define IS_RCC_DCMIPPCLKSOURCE(__SOURCE__) \ 2721 (((__SOURCE__) == RCC_DCMIPPCLKSOURCE_PCLK5) || \ 2722 ((__SOURCE__) == RCC_DCMIPPCLKSOURCE_CLKP) || \ 2723 ((__SOURCE__) == RCC_DCMIPPCLKSOURCE_IC17) || \ 2724 ((__SOURCE__) == RCC_DCMIPPCLKSOURCE_HSI)) 2725 2726 #define IS_RCC_ETH1CLKSOURCE(__SOURCE__) \ 2727 (((__SOURCE__) == RCC_ETH1CLKSOURCE_HCLK) || \ 2728 ((__SOURCE__) == RCC_ETH1CLKSOURCE_CLKP) || \ 2729 ((__SOURCE__) == RCC_ETH1CLKSOURCE_IC12) || \ 2730 ((__SOURCE__) == RCC_ETH1CLKSOURCE_HSE)) 2731 2732 #define IS_RCC_ETH1PHYIF(__SOURCE__) \ 2733 (((__SOURCE__) == RCC_ETH1PHYIF_MII) || \ 2734 ((__SOURCE__) == RCC_ETH1PHYIF_RGMII) || \ 2735 ((__SOURCE__) == RCC_ETH1PHYIF_RMII)) 2736 2737 #define IS_RCC_ETH1RXCLKSOURCE(__SOURCE__) \ 2738 (((__SOURCE__) == RCC_ETH1RXCLKSOURCE_EXT) || \ 2739 ((__SOURCE__) == RCC_ETH1RXCLKSOURCE_INT)) 2740 2741 #define IS_RCC_ETH1TXCLKSOURCE(__SOURCE__) \ 2742 (((__SOURCE__) == RCC_ETH1TXCLKSOURCE_EXT) || \ 2743 ((__SOURCE__) == RCC_ETH1TXCLKSOURCE_INT)) 2744 2745 #define IS_RCC_ETH1PTPCLKSOURCE(__SOURCE__) \ 2746 (((__SOURCE__) == RCC_ETH1PTPCLKSOURCE_HCLK) || \ 2747 ((__SOURCE__) == RCC_ETH1PTPCLKSOURCE_CLKP) || \ 2748 ((__SOURCE__) == RCC_ETH1PTPCLKSOURCE_IC13) || \ 2749 ((__SOURCE__) == RCC_ETH1PTPCLKSOURCE_HSE)) 2750 2751 #define IS_RCC_ETH1PTPDIVIDER(__VALUE__) \ 2752 ((1U <= (__VALUE__)) && ((__VALUE__) <= 16U)) 2753 2754 #define IS_RCC_FDCANCLKSOURCE(__SOURCE__) \ 2755 (((__SOURCE__) == RCC_FDCANCLKSOURCE_PCLK1) || \ 2756 ((__SOURCE__) == RCC_FDCANCLKSOURCE_CLKP) || \ 2757 ((__SOURCE__) == RCC_FDCANCLKSOURCE_IC19) || \ 2758 ((__SOURCE__) == RCC_FDCANCLKSOURCE_HSE)) 2759 2760 #define IS_RCC_FMCCLKSOURCE(__SOURCE__) \ 2761 (((__SOURCE__) == RCC_FMCCLKSOURCE_HCLK) || \ 2762 ((__SOURCE__) == RCC_FMCCLKSOURCE_CLKP) || \ 2763 ((__SOURCE__) == RCC_FMCCLKSOURCE_IC3) || \ 2764 ((__SOURCE__) == RCC_FMCCLKSOURCE_IC4)) 2765 2766 #define IS_RCC_I2C1CLKSOURCE(__SOURCE__) \ 2767 (((__SOURCE__) == RCC_I2C1CLKSOURCE_PCLK1) || \ 2768 ((__SOURCE__) == RCC_I2C1CLKSOURCE_CLKP) || \ 2769 ((__SOURCE__) == RCC_I2C1CLKSOURCE_IC10) || \ 2770 ((__SOURCE__) == RCC_I2C1CLKSOURCE_IC15) || \ 2771 ((__SOURCE__) == RCC_I2C1CLKSOURCE_MSI) || \ 2772 ((__SOURCE__) == RCC_I2C1CLKSOURCE_HSI)) 2773 2774 #define IS_RCC_I2C2CLKSOURCE(__SOURCE__) \ 2775 (((__SOURCE__) == RCC_I2C2CLKSOURCE_PCLK1) || \ 2776 ((__SOURCE__) == RCC_I2C2CLKSOURCE_CLKP) || \ 2777 ((__SOURCE__) == RCC_I2C2CLKSOURCE_IC10) || \ 2778 ((__SOURCE__) == RCC_I2C2CLKSOURCE_IC15) || \ 2779 ((__SOURCE__) == RCC_I2C2CLKSOURCE_MSI) || \ 2780 ((__SOURCE__) == RCC_I2C2CLKSOURCE_HSI)) 2781 2782 #define IS_RCC_I2C3CLKSOURCE(__SOURCE__) \ 2783 (((__SOURCE__) == RCC_I2C3CLKSOURCE_PCLK1) || \ 2784 ((__SOURCE__) == RCC_I2C3CLKSOURCE_CLKP) || \ 2785 ((__SOURCE__) == RCC_I2C3CLKSOURCE_IC10) || \ 2786 ((__SOURCE__) == RCC_I2C3CLKSOURCE_IC15) || \ 2787 ((__SOURCE__) == RCC_I2C3CLKSOURCE_MSI) || \ 2788 ((__SOURCE__) == RCC_I2C3CLKSOURCE_HSI)) 2789 2790 #define IS_RCC_I2C4CLKSOURCE(__SOURCE__) \ 2791 (((__SOURCE__) == RCC_I2C4CLKSOURCE_PCLK1) || \ 2792 ((__SOURCE__) == RCC_I2C4CLKSOURCE_CLKP) || \ 2793 ((__SOURCE__) == RCC_I2C4CLKSOURCE_IC10) || \ 2794 ((__SOURCE__) == RCC_I2C4CLKSOURCE_IC15) || \ 2795 ((__SOURCE__) == RCC_I2C4CLKSOURCE_MSI) || \ 2796 ((__SOURCE__) == RCC_I2C4CLKSOURCE_HSI)) 2797 2798 #define IS_RCC_I3C1CLKSOURCE(__SOURCE__) \ 2799 (((__SOURCE__) == RCC_I3C1CLKSOURCE_PCLK1) || \ 2800 ((__SOURCE__) == RCC_I3C1CLKSOURCE_CLKP) || \ 2801 ((__SOURCE__) == RCC_I3C1CLKSOURCE_IC10) || \ 2802 ((__SOURCE__) == RCC_I3C1CLKSOURCE_IC15) || \ 2803 ((__SOURCE__) == RCC_I3C1CLKSOURCE_MSI) || \ 2804 ((__SOURCE__) == RCC_I3C1CLKSOURCE_HSI)) 2805 2806 #define IS_RCC_I3C2CLKSOURCE(__SOURCE__) \ 2807 (((__SOURCE__) == RCC_I3C2CLKSOURCE_PCLK1) || \ 2808 ((__SOURCE__) == RCC_I3C2CLKSOURCE_CLKP) || \ 2809 ((__SOURCE__) == RCC_I3C2CLKSOURCE_IC10) || \ 2810 ((__SOURCE__) == RCC_I3C2CLKSOURCE_IC15) || \ 2811 ((__SOURCE__) == RCC_I3C2CLKSOURCE_MSI) || \ 2812 ((__SOURCE__) == RCC_I3C2CLKSOURCE_HSI)) 2813 2814 #define IS_RCC_LPTIM1CLKSOURCE(__SOURCE__) \ 2815 (((__SOURCE__) == RCC_LPTIM1CLKSOURCE_PCLK1) || \ 2816 ((__SOURCE__) == RCC_LPTIM1CLKSOURCE_CLKP) || \ 2817 ((__SOURCE__) == RCC_LPTIM1CLKSOURCE_IC15) || \ 2818 ((__SOURCE__) == RCC_LPTIM1CLKSOURCE_LSE) || \ 2819 ((__SOURCE__) == RCC_LPTIM1CLKSOURCE_LSI) || \ 2820 ((__SOURCE__) == RCC_LPTIM1CLKSOURCE_TIMG)) 2821 2822 #define IS_RCC_LPTIM2CLKSOURCE(__SOURCE__) \ 2823 (((__SOURCE__) == RCC_LPTIM2CLKSOURCE_PCLK4) || \ 2824 ((__SOURCE__) == RCC_LPTIM2CLKSOURCE_CLKP) || \ 2825 ((__SOURCE__) == RCC_LPTIM2CLKSOURCE_IC15) || \ 2826 ((__SOURCE__) == RCC_LPTIM2CLKSOURCE_LSE) || \ 2827 ((__SOURCE__) == RCC_LPTIM2CLKSOURCE_LSI) || \ 2828 ((__SOURCE__) == RCC_LPTIM2CLKSOURCE_TIMG)) 2829 2830 #define IS_RCC_LPTIM3CLKSOURCE(__SOURCE__) \ 2831 (((__SOURCE__) == RCC_LPTIM3CLKSOURCE_PCLK4) || \ 2832 ((__SOURCE__) == RCC_LPTIM3CLKSOURCE_CLKP) || \ 2833 ((__SOURCE__) == RCC_LPTIM3CLKSOURCE_IC15) || \ 2834 ((__SOURCE__) == RCC_LPTIM3CLKSOURCE_LSE) || \ 2835 ((__SOURCE__) == RCC_LPTIM3CLKSOURCE_LSI) || \ 2836 ((__SOURCE__) == RCC_LPTIM3CLKSOURCE_TIMG)) 2837 2838 #define IS_RCC_LPTIM4CLKSOURCE(__SOURCE__) \ 2839 (((__SOURCE__) == RCC_LPTIM4CLKSOURCE_PCLK4) || \ 2840 ((__SOURCE__) == RCC_LPTIM4CLKSOURCE_CLKP) || \ 2841 ((__SOURCE__) == RCC_LPTIM4CLKSOURCE_IC15) || \ 2842 ((__SOURCE__) == RCC_LPTIM4CLKSOURCE_LSE) || \ 2843 ((__SOURCE__) == RCC_LPTIM4CLKSOURCE_LSI) || \ 2844 ((__SOURCE__) == RCC_LPTIM4CLKSOURCE_TIMG)) 2845 2846 #define IS_RCC_LPTIM5CLKSOURCE(__SOURCE__) \ 2847 (((__SOURCE__) == RCC_LPTIM5CLKSOURCE_PCLK4) || \ 2848 ((__SOURCE__) == RCC_LPTIM5CLKSOURCE_CLKP) || \ 2849 ((__SOURCE__) == RCC_LPTIM5CLKSOURCE_IC15) || \ 2850 ((__SOURCE__) == RCC_LPTIM5CLKSOURCE_LSE) || \ 2851 ((__SOURCE__) == RCC_LPTIM5CLKSOURCE_LSI) || \ 2852 ((__SOURCE__) == RCC_LPTIM5CLKSOURCE_TIMG)) 2853 2854 #define IS_RCC_LPUART1CLKSOURCE(__SOURCE__) \ 2855 (((__SOURCE__) == RCC_LPUART1CLKSOURCE_PCLK4) || \ 2856 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_CLKP) || \ 2857 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_IC9) || \ 2858 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_IC14) || \ 2859 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_LSE) || \ 2860 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_MSI) || \ 2861 ((__SOURCE__) == RCC_LPUART1CLKSOURCE_HSI)) 2862 2863 #define IS_RCC_LTDCCLKSOURCE(__SOURCE__) \ 2864 (((__SOURCE__) == RCC_LTDCCLKSOURCE_PCLK5) || \ 2865 ((__SOURCE__) == RCC_LTDCCLKSOURCE_CLKP) || \ 2866 ((__SOURCE__) == RCC_LTDCCLKSOURCE_IC16) || \ 2867 ((__SOURCE__) == RCC_LTDCCLKSOURCE_HSI)) 2868 2869 #define IS_RCC_MDF1CLKSOURCE(__SOURCE__) \ 2870 (((__SOURCE__) == RCC_MDF1CLKSOURCE_HCLK) || \ 2871 ((__SOURCE__) == RCC_MDF1CLKSOURCE_CLKP) || \ 2872 ((__SOURCE__) == RCC_MDF1CLKSOURCE_IC7) || \ 2873 ((__SOURCE__) == RCC_MDF1CLKSOURCE_IC8) || \ 2874 ((__SOURCE__) == RCC_MDF1CLKSOURCE_MSI) || \ 2875 ((__SOURCE__) == RCC_MDF1CLKSOURCE_HSI) || \ 2876 ((__SOURCE__) == RCC_MDF1CLKSOURCE_PIN) || \ 2877 ((__SOURCE__) == RCC_MDF1CLKSOURCE_TIMG)) 2878 2879 #define IS_RCC_PSSICLKSOURCE(__SOURCE__) \ 2880 (((__SOURCE__) == RCC_PSSICLKSOURCE_HCLK) || \ 2881 ((__SOURCE__) == RCC_PSSICLKSOURCE_CLKP) || \ 2882 ((__SOURCE__) == RCC_PSSICLKSOURCE_IC20) || \ 2883 ((__SOURCE__) == RCC_PSSICLKSOURCE_HSI)) 2884 2885 #define IS_RCC_SAI1CLKSOURCE(__SOURCE__) \ 2886 (((__SOURCE__) == RCC_SAI1CLKSOURCE_PCLK2) || \ 2887 ((__SOURCE__) == RCC_SAI1CLKSOURCE_CLKP) || \ 2888 ((__SOURCE__) == RCC_SAI1CLKSOURCE_IC7) || \ 2889 ((__SOURCE__) == RCC_SAI1CLKSOURCE_IC8) || \ 2890 ((__SOURCE__) == RCC_SAI1CLKSOURCE_MSI) || \ 2891 ((__SOURCE__) == RCC_SAI1CLKSOURCE_HSI) || \ 2892 ((__SOURCE__) == RCC_SAI1CLKSOURCE_PIN) || \ 2893 ((__SOURCE__) == RCC_SAI1CLKSOURCE_SPDIFRX1)) 2894 2895 #define IS_RCC_SAI2CLKSOURCE(__SOURCE__) \ 2896 (((__SOURCE__) == RCC_SAI2CLKSOURCE_PCLK2) || \ 2897 ((__SOURCE__) == RCC_SAI2CLKSOURCE_CLKP) || \ 2898 ((__SOURCE__) == RCC_SAI2CLKSOURCE_IC7) || \ 2899 ((__SOURCE__) == RCC_SAI2CLKSOURCE_IC8) || \ 2900 ((__SOURCE__) == RCC_SAI2CLKSOURCE_MSI) || \ 2901 ((__SOURCE__) == RCC_SAI2CLKSOURCE_HSI) || \ 2902 ((__SOURCE__) == RCC_SAI2CLKSOURCE_PIN) || \ 2903 ((__SOURCE__) == RCC_SAI2CLKSOURCE_SPDIFRX1)) 2904 2905 #define IS_RCC_SDMMC1CLKSOURCE(__SOURCE__) \ 2906 (((__SOURCE__) == RCC_SDMMC1CLKSOURCE_HCLK) || \ 2907 ((__SOURCE__) == RCC_SDMMC1CLKSOURCE_CLKP) || \ 2908 ((__SOURCE__) == RCC_SDMMC1CLKSOURCE_IC4) || \ 2909 ((__SOURCE__) == RCC_SDMMC1CLKSOURCE_IC5)) 2910 2911 #define IS_RCC_SDMMC2CLKSOURCE(__SOURCE__) \ 2912 (((__SOURCE__) == RCC_SDMMC2CLKSOURCE_HCLK) || \ 2913 ((__SOURCE__) == RCC_SDMMC2CLKSOURCE_CLKP) || \ 2914 ((__SOURCE__) == RCC_SDMMC2CLKSOURCE_IC4) || \ 2915 ((__SOURCE__) == RCC_SDMMC2CLKSOURCE_IC5)) 2916 2917 #define IS_RCC_SPDIFRX1CLKSOURCE(__SOURCE__) \ 2918 (((__SOURCE__) == RCC_SPDIFRX1CLKSOURCE_PCLK1) || \ 2919 ((__SOURCE__) == RCC_SPDIFRX1CLKSOURCE_CLKP) || \ 2920 ((__SOURCE__) == RCC_SPDIFRX1CLKSOURCE_IC7) || \ 2921 ((__SOURCE__) == RCC_SPDIFRX1CLKSOURCE_IC8) || \ 2922 ((__SOURCE__) == RCC_SPDIFRX1CLKSOURCE_MSI) || \ 2923 ((__SOURCE__) == RCC_SPDIFRX1CLKSOURCE_HSI) || \ 2924 ((__SOURCE__) == RCC_SPDIFRX1CLKSOURCE_PIN)) 2925 2926 #define IS_RCC_SPI1CLKSOURCE(__SOURCE__) \ 2927 (((__SOURCE__) == RCC_SPI1CLKSOURCE_PCLK2) || \ 2928 ((__SOURCE__) == RCC_SPI1CLKSOURCE_CLKP) || \ 2929 ((__SOURCE__) == RCC_SPI1CLKSOURCE_IC8) || \ 2930 ((__SOURCE__) == RCC_SPI1CLKSOURCE_IC9) || \ 2931 ((__SOURCE__) == RCC_SPI1CLKSOURCE_MSI) || \ 2932 ((__SOURCE__) == RCC_SPI1CLKSOURCE_HSI) || \ 2933 ((__SOURCE__) == RCC_SPI1CLKSOURCE_PIN)) 2934 2935 #define IS_RCC_SPI2CLKSOURCE(__SOURCE__) \ 2936 (((__SOURCE__) == RCC_SPI2CLKSOURCE_PCLK1) || \ 2937 ((__SOURCE__) == RCC_SPI2CLKSOURCE_CLKP) || \ 2938 ((__SOURCE__) == RCC_SPI2CLKSOURCE_IC8) || \ 2939 ((__SOURCE__) == RCC_SPI2CLKSOURCE_IC9) || \ 2940 ((__SOURCE__) == RCC_SPI2CLKSOURCE_MSI) || \ 2941 ((__SOURCE__) == RCC_SPI2CLKSOURCE_HSI) || \ 2942 ((__SOURCE__) == RCC_SPI2CLKSOURCE_PIN)) 2943 2944 #define IS_RCC_SPI3CLKSOURCE(__SOURCE__) \ 2945 (((__SOURCE__) == RCC_SPI3CLKSOURCE_PCLK1) || \ 2946 ((__SOURCE__) == RCC_SPI3CLKSOURCE_CLKP) || \ 2947 ((__SOURCE__) == RCC_SPI3CLKSOURCE_IC8) || \ 2948 ((__SOURCE__) == RCC_SPI3CLKSOURCE_IC9) || \ 2949 ((__SOURCE__) == RCC_SPI3CLKSOURCE_MSI) || \ 2950 ((__SOURCE__) == RCC_SPI3CLKSOURCE_HSI) || \ 2951 ((__SOURCE__) == RCC_SPI3CLKSOURCE_PIN)) 2952 2953 #define IS_RCC_SPI4CLKSOURCE(__SOURCE__) \ 2954 (((__SOURCE__) == RCC_SPI4CLKSOURCE_PCLK2) || \ 2955 ((__SOURCE__) == RCC_SPI4CLKSOURCE_CLKP) || \ 2956 ((__SOURCE__) == RCC_SPI4CLKSOURCE_IC9) || \ 2957 ((__SOURCE__) == RCC_SPI4CLKSOURCE_IC14) || \ 2958 ((__SOURCE__) == RCC_SPI4CLKSOURCE_MSI) || \ 2959 ((__SOURCE__) == RCC_SPI4CLKSOURCE_HSI) || \ 2960 ((__SOURCE__) == RCC_SPI4CLKSOURCE_HSE)) 2961 2962 #define IS_RCC_SPI5CLKSOURCE(__SOURCE__) \ 2963 (((__SOURCE__) == RCC_SPI5CLKSOURCE_PCLK2) || \ 2964 ((__SOURCE__) == RCC_SPI5CLKSOURCE_CLKP) || \ 2965 ((__SOURCE__) == RCC_SPI5CLKSOURCE_IC9) || \ 2966 ((__SOURCE__) == RCC_SPI5CLKSOURCE_IC14) || \ 2967 ((__SOURCE__) == RCC_SPI5CLKSOURCE_MSI) || \ 2968 ((__SOURCE__) == RCC_SPI5CLKSOURCE_HSI) || \ 2969 ((__SOURCE__) == RCC_SPI5CLKSOURCE_HSE)) 2970 2971 #define IS_RCC_SPI6CLKSOURCE(__SOURCE__) \ 2972 (((__SOURCE__) == RCC_SPI6CLKSOURCE_PCLK4) || \ 2973 ((__SOURCE__) == RCC_SPI6CLKSOURCE_CLKP) || \ 2974 ((__SOURCE__) == RCC_SPI6CLKSOURCE_IC8) || \ 2975 ((__SOURCE__) == RCC_SPI6CLKSOURCE_IC9) || \ 2976 ((__SOURCE__) == RCC_SPI6CLKSOURCE_MSI) || \ 2977 ((__SOURCE__) == RCC_SPI6CLKSOURCE_HSI) || \ 2978 ((__SOURCE__) == RCC_SPI6CLKSOURCE_PIN)) 2979 2980 #define IS_RCC_TIMPRES(__VALUE__) \ 2981 (((__VALUE__) == RCC_TIMPRES_DIV1) || \ 2982 ((__VALUE__) == RCC_TIMPRES_DIV2) || \ 2983 ((__VALUE__) == RCC_TIMPRES_DIV4) || \ 2984 ((__VALUE__) == RCC_TIMPRES_DIV8)) 2985 2986 #define IS_RCC_USART1CLKSOURCE(__SOURCE__) \ 2987 (((__SOURCE__) == RCC_USART1CLKSOURCE_PCLK2) || \ 2988 ((__SOURCE__) == RCC_USART1CLKSOURCE_CLKP) || \ 2989 ((__SOURCE__) == RCC_USART1CLKSOURCE_IC9) || \ 2990 ((__SOURCE__) == RCC_USART1CLKSOURCE_IC14) || \ 2991 ((__SOURCE__) == RCC_USART1CLKSOURCE_LSE) || \ 2992 ((__SOURCE__) == RCC_USART1CLKSOURCE_MSI) || \ 2993 ((__SOURCE__) == RCC_USART1CLKSOURCE_HSI)) 2994 2995 #define IS_RCC_USART2CLKSOURCE(__SOURCE__) \ 2996 (((__SOURCE__) == RCC_USART2CLKSOURCE_PCLK1) || \ 2997 ((__SOURCE__) == RCC_USART2CLKSOURCE_CLKP) || \ 2998 ((__SOURCE__) == RCC_USART2CLKSOURCE_IC9) || \ 2999 ((__SOURCE__) == RCC_USART2CLKSOURCE_IC14) || \ 3000 ((__SOURCE__) == RCC_USART2CLKSOURCE_LSE) || \ 3001 ((__SOURCE__) == RCC_USART2CLKSOURCE_MSI) || \ 3002 ((__SOURCE__) == RCC_USART2CLKSOURCE_HSI)) 3003 3004 #define IS_RCC_USART3CLKSOURCE(__SOURCE__) \ 3005 (((__SOURCE__) == RCC_USART3CLKSOURCE_PCLK1) || \ 3006 ((__SOURCE__) == RCC_USART3CLKSOURCE_CLKP) || \ 3007 ((__SOURCE__) == RCC_USART3CLKSOURCE_IC9) || \ 3008 ((__SOURCE__) == RCC_USART3CLKSOURCE_IC14) || \ 3009 ((__SOURCE__) == RCC_USART3CLKSOURCE_LSE) || \ 3010 ((__SOURCE__) == RCC_USART3CLKSOURCE_MSI) || \ 3011 ((__SOURCE__) == RCC_USART3CLKSOURCE_HSI)) 3012 3013 #define IS_RCC_UART4CLKSOURCE(__SOURCE__) \ 3014 (((__SOURCE__) == RCC_UART4CLKSOURCE_PCLK1) || \ 3015 ((__SOURCE__) == RCC_UART4CLKSOURCE_CLKP) || \ 3016 ((__SOURCE__) == RCC_UART4CLKSOURCE_IC9) || \ 3017 ((__SOURCE__) == RCC_UART4CLKSOURCE_IC14) || \ 3018 ((__SOURCE__) == RCC_UART4CLKSOURCE_LSE) || \ 3019 ((__SOURCE__) == RCC_UART4CLKSOURCE_MSI) || \ 3020 ((__SOURCE__) == RCC_UART4CLKSOURCE_HSI)) 3021 3022 #define IS_RCC_UART5CLKSOURCE(__SOURCE__) \ 3023 (((__SOURCE__) == RCC_UART5CLKSOURCE_PCLK1) || \ 3024 ((__SOURCE__) == RCC_UART5CLKSOURCE_CLKP) || \ 3025 ((__SOURCE__) == RCC_UART5CLKSOURCE_IC9) || \ 3026 ((__SOURCE__) == RCC_UART5CLKSOURCE_IC14) || \ 3027 ((__SOURCE__) == RCC_UART5CLKSOURCE_LSE) || \ 3028 ((__SOURCE__) == RCC_UART5CLKSOURCE_MSI) || \ 3029 ((__SOURCE__) == RCC_UART5CLKSOURCE_HSI)) 3030 3031 #define IS_RCC_USART6CLKSOURCE(__SOURCE__) \ 3032 (((__SOURCE__) == RCC_USART6CLKSOURCE_PCLK2) || \ 3033 ((__SOURCE__) == RCC_USART6CLKSOURCE_CLKP) || \ 3034 ((__SOURCE__) == RCC_USART6CLKSOURCE_IC9) || \ 3035 ((__SOURCE__) == RCC_USART6CLKSOURCE_IC14) || \ 3036 ((__SOURCE__) == RCC_USART6CLKSOURCE_LSE) || \ 3037 ((__SOURCE__) == RCC_USART6CLKSOURCE_MSI) || \ 3038 ((__SOURCE__) == RCC_USART6CLKSOURCE_HSI)) 3039 3040 #define IS_RCC_UART7CLKSOURCE(__SOURCE__) \ 3041 (((__SOURCE__) == RCC_UART7CLKSOURCE_PCLK1) || \ 3042 ((__SOURCE__) == RCC_UART7CLKSOURCE_CLKP) || \ 3043 ((__SOURCE__) == RCC_UART7CLKSOURCE_IC9) || \ 3044 ((__SOURCE__) == RCC_UART7CLKSOURCE_IC14) || \ 3045 ((__SOURCE__) == RCC_UART7CLKSOURCE_LSE) || \ 3046 ((__SOURCE__) == RCC_UART7CLKSOURCE_MSI) || \ 3047 ((__SOURCE__) == RCC_UART7CLKSOURCE_HSI)) 3048 3049 #define IS_RCC_UART8CLKSOURCE(__SOURCE__) \ 3050 (((__SOURCE__) == RCC_UART8CLKSOURCE_PCLK1) || \ 3051 ((__SOURCE__) == RCC_UART8CLKSOURCE_CLKP) || \ 3052 ((__SOURCE__) == RCC_UART8CLKSOURCE_IC9) || \ 3053 ((__SOURCE__) == RCC_UART8CLKSOURCE_IC14) || \ 3054 ((__SOURCE__) == RCC_UART8CLKSOURCE_LSE) || \ 3055 ((__SOURCE__) == RCC_UART8CLKSOURCE_MSI) || \ 3056 ((__SOURCE__) == RCC_UART8CLKSOURCE_HSI)) 3057 3058 #define IS_RCC_UART9CLKSOURCE(__SOURCE__) \ 3059 (((__SOURCE__) == RCC_UART9CLKSOURCE_PCLK2) || \ 3060 ((__SOURCE__) == RCC_UART9CLKSOURCE_CLKP) || \ 3061 ((__SOURCE__) == RCC_UART9CLKSOURCE_IC9) || \ 3062 ((__SOURCE__) == RCC_UART9CLKSOURCE_IC14) || \ 3063 ((__SOURCE__) == RCC_UART9CLKSOURCE_LSE) || \ 3064 ((__SOURCE__) == RCC_UART9CLKSOURCE_MSI) || \ 3065 ((__SOURCE__) == RCC_UART9CLKSOURCE_HSI)) 3066 3067 #define IS_RCC_USART10CLKSOURCE(__SOURCE__) \ 3068 (((__SOURCE__) == RCC_USART10CLKSOURCE_PCLK2) || \ 3069 ((__SOURCE__) == RCC_USART10CLKSOURCE_CLKP) || \ 3070 ((__SOURCE__) == RCC_USART10CLKSOURCE_IC9) || \ 3071 ((__SOURCE__) == RCC_USART10CLKSOURCE_IC14) || \ 3072 ((__SOURCE__) == RCC_USART10CLKSOURCE_LSE) || \ 3073 ((__SOURCE__) == RCC_USART10CLKSOURCE_MSI) || \ 3074 ((__SOURCE__) == RCC_USART10CLKSOURCE_HSI)) 3075 3076 #define IS_RCC_USBPHY1CLKSOURCE(__SOURCE__) \ 3077 (((__SOURCE__) == RCC_USBPHY1REFCLKSOURCE_OTGPHY1) || \ 3078 ((__SOURCE__) == RCC_USBPHY1REFCLKSOURCE_HSE_DIRECT) || \ 3079 ((__SOURCE__) == RCC_USBPHY1REFCLKSOURCE_HSE_DIRECT_DIV2)) 3080 3081 #define IS_RCC_USBPHY2CLKSOURCE(__SOURCE__) \ 3082 (((__SOURCE__) == RCC_USBPHY2REFCLKSOURCE_OTGPHY2) || \ 3083 ((__SOURCE__) == RCC_USBPHY2REFCLKSOURCE_HSE_DIRECT) || \ 3084 ((__SOURCE__) == RCC_USBPHY2REFCLKSOURCE_HSE_DIRECT_DIV2)) 3085 3086 #define IS_RCC_USBOTGHS1CLKSOURCE(__SOURCE__) \ 3087 (((__SOURCE__) == RCC_USBOTGHS1CLKSOURCE_HSE_DIV2) || \ 3088 ((__SOURCE__) == RCC_USBOTGHS1CLKSOURCE_CLKP) || \ 3089 ((__SOURCE__) == RCC_USBOTGHS1CLKSOURCE_IC15) || \ 3090 ((__SOURCE__) == RCC_USBOTGHS1CLKSOURCE_HSE_DIRECT) || \ 3091 ((__SOURCE__) == RCC_USBOTGHS1CLKSOURCE_HSE_DIRECT_DIV2)) 3092 3093 #define IS_RCC_USBOTGHS2CLKSOURCE(__SOURCE__) \ 3094 (((__SOURCE__) == RCC_USBOTGHS2CLKSOURCE_HSE_DIV2) || \ 3095 ((__SOURCE__) == RCC_USBOTGHS2CLKSOURCE_CLKP) || \ 3096 ((__SOURCE__) == RCC_USBOTGHS2CLKSOURCE_IC15) || \ 3097 ((__SOURCE__) == RCC_USBOTGHS2CLKSOURCE_HSE_DIRECT) || \ 3098 ((__SOURCE__) == RCC_USBOTGHS2CLKSOURCE_HSE_DIRECT_DIV2)) 3099 3100 #define IS_RCC_XSPI1CLKSOURCE(__SOURCE__) \ 3101 (((__SOURCE__) == RCC_XSPI1CLKSOURCE_HCLK) || \ 3102 ((__SOURCE__) == RCC_XSPI1CLKSOURCE_CLKP) || \ 3103 ((__SOURCE__) == RCC_XSPI1CLKSOURCE_IC3) || \ 3104 ((__SOURCE__) == RCC_XSPI1CLKSOURCE_IC4)) 3105 3106 #define IS_RCC_XSPI2CLKSOURCE(__SOURCE__) \ 3107 (((__SOURCE__) == RCC_XSPI2CLKSOURCE_HCLK) || \ 3108 ((__SOURCE__) == RCC_XSPI2CLKSOURCE_CLKP) || \ 3109 ((__SOURCE__) == RCC_XSPI2CLKSOURCE_IC3) || \ 3110 ((__SOURCE__) == RCC_XSPI2CLKSOURCE_IC4)) 3111 3112 #define IS_RCC_XSPI3CLKSOURCE(__SOURCE__) \ 3113 (((__SOURCE__) == RCC_XSPI3CLKSOURCE_HCLK) || \ 3114 ((__SOURCE__) == RCC_XSPI3CLKSOURCE_CLKP) || \ 3115 ((__SOURCE__) == RCC_XSPI3CLKSOURCE_IC3) || \ 3116 ((__SOURCE__) == RCC_XSPI3CLKSOURCE_IC4)) 3117 3118 /** 3119 * @} 3120 */ 3121 3122 /** 3123 * @} 3124 */ 3125 3126 /** 3127 * @} 3128 */ 3129 3130 /** 3131 * @} 3132 */ 3133 3134 #ifdef __cplusplus 3135 } 3136 #endif 3137 3138 #endif /* STM32N6xx_HAL_RCC_EX_H */ 3139