19#ifndef STM32H7xx_HAL_RCC_EX_H
20#define STM32H7xx_HAL_RCC_EX_H
155 uint32_t QspiClockSelection;
159#if defined(OCTOSPI1) || defined(OCTOSPI2)
160 uint32_t OspiClockSelection;
166 uint32_t DsiClockSelection;
180 uint32_t Sai23ClockSelection;
184#if defined(RCC_CDCCIP1R_SAI2ASEL)
185 uint32_t Sai2AClockSelection;
189#if defined(RCC_CDCCIP1R_SAI2BSEL)
190 uint32_t Sai2BClockSelection;
206#if defined(DFSDM2_BASE)
207 uint32_t Dfsdm2ClockSelection;
211#if defined(FDCAN1) || defined(FDCAN2)
212 uint32_t FdcanClockSelection;
260 uint32_t Sai4AClockSelection;
263 uint32_t Sai4BClockSelection;
274 uint32_t Hrtim1ClockSelection;
284#define I2c123ClockSelection I2c1235ClockSelection
286#define I2c1235ClockSelection I2c123ClockSelection
352#if defined(UART9) && defined(USART10)
353#define RCC_PERIPHCLK_USART16910 ((uint64_t)(0x00000001U))
354#define RCC_PERIPHCLK_USART1 RCC_PERIPHCLK_USART16910
355#define RCC_PERIPHCLK_USART6 RCC_PERIPHCLK_USART16910
356#define RCC_PERIPHCLK_UART9 RCC_PERIPHCLK_USART16910
357#define RCC_PERIPHCLK_USART10 RCC_PERIPHCLK_USART16910
359#define RCC_PERIPHCLK_USART16 RCC_PERIPHCLK_USART16910
361#define RCC_PERIPHCLK_USART16 ((uint64_t)(0x00000001U))
362#define RCC_PERIPHCLK_USART1 RCC_PERIPHCLK_USART16
363#define RCC_PERIPHCLK_USART6 RCC_PERIPHCLK_USART16
365#define RCC_PERIPHCLK_USART16910 RCC_PERIPHCLK_USART16
367#define RCC_PERIPHCLK_USART234578 ((uint64_t)(0x00000002U))
368#define RCC_PERIPHCLK_USART2 RCC_PERIPHCLK_USART234578
369#define RCC_PERIPHCLK_USART3 RCC_PERIPHCLK_USART234578
370#define RCC_PERIPHCLK_UART4 RCC_PERIPHCLK_USART234578
371#define RCC_PERIPHCLK_UART5 RCC_PERIPHCLK_USART234578
372#define RCC_PERIPHCLK_UART7 RCC_PERIPHCLK_USART234578
373#define RCC_PERIPHCLK_UART8 RCC_PERIPHCLK_USART234578
374#define RCC_PERIPHCLK_LPUART1 ((uint64_t)(0x00000004U))
376#define RCC_PERIPHCLK_I2C1235 ((uint64_t)(0x00000008U))
377#define RCC_PERIPHCLK_I2C1 RCC_PERIPHCLK_I2C1235
378#define RCC_PERIPHCLK_I2C2 RCC_PERIPHCLK_I2C1235
379#define RCC_PERIPHCLK_I2C3 RCC_PERIPHCLK_I2C1235
381#define RCC_PERIPHCLK_I2C123 RCC_PERIPHCLK_I2C1235
383#define RCC_PERIPHCLK_I2C123 ((uint64_t)(0x00000008U))
384#define RCC_PERIPHCLK_I2C1 RCC_PERIPHCLK_I2C123
385#define RCC_PERIPHCLK_I2C2 RCC_PERIPHCLK_I2C123
386#define RCC_PERIPHCLK_I2C3 RCC_PERIPHCLK_I2C123
388#define RCC_PERIPHCLK_I2C4 ((uint64_t)(0x00000010U))
390#define RCC_PERIPHCLK_I2C5 RCC_PERIPHCLK_I2C1235
392#define RCC_PERIPHCLK_LPTIM1 ((uint64_t)(0x00000020U))
393#define RCC_PERIPHCLK_LPTIM2 ((uint64_t)(0x00000040U))
394#define RCC_PERIPHCLK_LPTIM345 ((uint64_t)(0x00000080U))
395#define RCC_PERIPHCLK_LPTIM3 RCC_PERIPHCLK_LPTIM345
397#define RCC_PERIPHCLK_LPTIM4 RCC_PERIPHCLK_LPTIM345
400#define RCC_PERIPHCLK_LPTIM5 RCC_PERIPHCLK_LPTIM345
402#define RCC_PERIPHCLK_SAI1 ((uint64_t)(0x00000100U))
404#define RCC_PERIPHCLK_SAI23 ((uint64_t)(0x00000200U))
405#define RCC_PERIPHCLK_SAI2 RCC_PERIPHCLK_SAI23
406#define RCC_PERIPHCLK_SAI3 RCC_PERIPHCLK_SAI23
408#if defined(RCC_CDCCIP1R_SAI2ASEL_0)
409#define RCC_PERIPHCLK_SAI2A ((uint64_t)(0x00000200U))
411#if defined(RCC_CDCCIP1R_SAI2BSEL_0)
412#define RCC_PERIPHCLK_SAI2B ((uint64_t)(0x00000400U))
415#define RCC_PERIPHCLK_SAI4A ((uint64_t)(0x00000400U))
416#define RCC_PERIPHCLK_SAI4B ((uint64_t)(0x00000800U))
418#define RCC_PERIPHCLK_SPI123 ((uint64_t)(0x00001000U))
419#define RCC_PERIPHCLK_SPI1 RCC_PERIPHCLK_SPI123
420#define RCC_PERIPHCLK_SPI2 RCC_PERIPHCLK_SPI123
421#define RCC_PERIPHCLK_SPI3 RCC_PERIPHCLK_SPI123
422#define RCC_PERIPHCLK_SPI45 ((uint64_t)(0x00002000U))
423#define RCC_PERIPHCLK_SPI4 RCC_PERIPHCLK_SPI45
424#define RCC_PERIPHCLK_SPI5 RCC_PERIPHCLK_SPI45
425#define RCC_PERIPHCLK_SPI6 ((uint64_t)(0x00004000U))
426#define RCC_PERIPHCLK_FDCAN ((uint64_t)(0x00008000U))
427#define RCC_PERIPHCLK_SDMMC ((uint64_t)(0x00010000U))
428#define RCC_PERIPHCLK_RNG ((uint64_t)(0x00020000U))
429#define RCC_PERIPHCLK_USB ((uint64_t)(0x00040000U))
430#define RCC_PERIPHCLK_ADC ((uint64_t)(0x00080000U))
431#define RCC_PERIPHCLK_SWPMI1 ((uint64_t)(0x00100000U))
432#define RCC_PERIPHCLK_DFSDM1 ((uint64_t)(0x00200000U))
433#if defined(DFSDM2_BASE)
434#define RCC_PERIPHCLK_DFSDM2 ((uint64_t)(0x00000800U))
436#define RCC_PERIPHCLK_RTC ((uint64_t)(0x00400000U))
437#define RCC_PERIPHCLK_CEC ((uint64_t)(0x00800000U))
438#define RCC_PERIPHCLK_FMC ((uint64_t)(0x01000000U))
440#define RCC_PERIPHCLK_QSPI ((uint64_t)(0x02000000U))
442#if defined(OCTOSPI1) || defined(OCTOSPI2)
443#define RCC_PERIPHCLK_OSPI ((uint64_t)(0x02000000U))
445#define RCC_PERIPHCLK_DSI ((uint64_t)(0x04000000U))
446#define RCC_PERIPHCLK_SPDIFRX ((uint64_t)(0x08000000U))
448#define RCC_PERIPHCLK_HRTIM1 ((uint64_t)(0x10000000U))
451#define RCC_PERIPHCLK_LTDC ((uint64_t)(0x20000000U))
453#define RCC_PERIPHCLK_TIM ((uint64_t)(0x40000000U))
454#define RCC_PERIPHCLK_CKPER ((uint64_t)(0x80000000U))
456#define RCC_PERIPHCLK_PLL2_DIVP ((uint64_t)(0x0000000100000000U))
457#define RCC_PERIPHCLK_PLL2_DIVQ ((uint64_t)(0x0000000200000000U))
458#define RCC_PERIPHCLK_PLL2_DIVR ((uint64_t)(0x0000000400000000U))
459#define RCC_PERIPHCLK_PLL3_DIVP ((uint64_t)(0x0000000800000000U))
460#define RCC_PERIPHCLK_PLL3_DIVQ ((uint64_t)(0x0000001000000000U))
461#define RCC_PERIPHCLK_PLL3_DIVR ((uint64_t)(0x0000002000000000U))
471#define RCC_PLL2_DIVP RCC_PLLCFGR_DIVP2EN
472#define RCC_PLL2_DIVQ RCC_PLLCFGR_DIVQ2EN
473#define RCC_PLL2_DIVR RCC_PLLCFGR_DIVR2EN
482#define RCC_PLL3_DIVP RCC_PLLCFGR_DIVP3EN
483#define RCC_PLL3_DIVQ RCC_PLLCFGR_DIVQ3EN
484#define RCC_PLL3_DIVR RCC_PLLCFGR_DIVR3EN
493#define RCC_PLL2VCIRANGE_0 RCC_PLLCFGR_PLL2RGE_0
494#define RCC_PLL2VCIRANGE_1 RCC_PLLCFGR_PLL2RGE_1
495#define RCC_PLL2VCIRANGE_2 RCC_PLLCFGR_PLL2RGE_2
496#define RCC_PLL2VCIRANGE_3 RCC_PLLCFGR_PLL2RGE_3
506#define RCC_PLL2VCOWIDE (0x00000000U)
507#define RCC_PLL2VCOMEDIUM RCC_PLLCFGR_PLL2VCOSEL
516#define RCC_PLL3VCIRANGE_0 RCC_PLLCFGR_PLL3RGE_0
517#define RCC_PLL3VCIRANGE_1 RCC_PLLCFGR_PLL3RGE_1
518#define RCC_PLL3VCIRANGE_2 RCC_PLLCFGR_PLL3RGE_2
519#define RCC_PLL3VCIRANGE_3 RCC_PLLCFGR_PLL3RGE_3
529#define RCC_PLL3VCOWIDE (0x00000000U)
530#define RCC_PLL3VCOMEDIUM RCC_PLLCFGR_PLL3VCOSEL
539#if defined(RCC_D2CCIP2R_USART16SEL)
540#define RCC_USART16CLKSOURCE_D2PCLK2 (0x00000000U)
542#define RCC_USART16CLKSOURCE_PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
543#define RCC_USART16CLKSOURCE_PLL2 RCC_D2CCIP2R_USART16SEL_0
544#define RCC_USART16CLKSOURCE_PLL3 RCC_D2CCIP2R_USART16SEL_1
545#define RCC_USART16CLKSOURCE_HSI (RCC_D2CCIP2R_USART16SEL_0 | RCC_D2CCIP2R_USART16SEL_1)
546#define RCC_USART16CLKSOURCE_CSI RCC_D2CCIP2R_USART16SEL_2
547#define RCC_USART16CLKSOURCE_LSE (RCC_D2CCIP2R_USART16SEL_0 | RCC_D2CCIP2R_USART16SEL_2)
549#elif defined(RCC_CDCCIP2R_USART16910SEL)
550#define RCC_USART16910CLKSOURCE_CDPCLK2 (0x00000000U)
552#define RCC_USART16910CLKSOURCE_D2PCLK2 RCC_USART16910CLKSOURCE_CDPCLK2
553#define RCC_USART16910CLKSOURCE_PLL2 RCC_CDCCIP2R_USART16910SEL_0
554#define RCC_USART16910CLKSOURCE_PLL3 RCC_CDCCIP2R_USART16910SEL_1
555#define RCC_USART16910CLKSOURCE_HSI (RCC_CDCCIP2R_USART16910SEL_0 | RCC_CDCCIP2R_USART16910SEL_1)
556#define RCC_USART16910CLKSOURCE_CSI RCC_CDCCIP2R_USART16910SEL_2
557#define RCC_USART16910CLKSOURCE_LSE (RCC_CDCCIP2R_USART16910SEL_0 | RCC_CDCCIP2R_USART16910SEL_2)
560#define RCC_USART16CLKSOURCE_CDPCLK2 RCC_USART16910CLKSOURCE_CDPCLK2
561#define RCC_USART16CLKSOURCE_PCLK2 RCC_USART16CLKSOURCE_CDPCLK2
562#define RCC_USART16CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_CDPCLK2
563#define RCC_USART16CLKSOURCE_PLL2 RCC_USART16910CLKSOURCE_PLL2
564#define RCC_USART16CLKSOURCE_PLL3 RCC_USART16910CLKSOURCE_PLL3
565#define RCC_USART16CLKSOURCE_HSI RCC_USART16910CLKSOURCE_HSI
566#define RCC_USART16CLKSOURCE_CSI RCC_USART16910CLKSOURCE_CSI
567#define RCC_USART16CLKSOURCE_LSE RCC_USART16910CLKSOURCE_LSE
570#define RCC_USART16910CLKSOURCE_D2PCLK2 (0x00000000U)
571#define RCC_USART16910CLKSOURCE_PLL2 RCC_D2CCIP2R_USART16910SEL_0
572#define RCC_USART16910CLKSOURCE_PLL3 RCC_D2CCIP2R_USART16910SEL_1
573#define RCC_USART16910CLKSOURCE_HSI (RCC_D2CCIP2R_USART16910SEL_0 | RCC_D2CCIP2R_USART16910SEL_1)
574#define RCC_USART16910CLKSOURCE_CSI RCC_D2CCIP2R_USART16910SEL_2
575#define RCC_USART16910CLKSOURCE_LSE (RCC_D2CCIP2R_USART16910SEL_0 | RCC_D2CCIP2R_USART16910SEL_2)
578#define RCC_USART16CLKSOURCE_D2PCLK2 RCC_USART16910CLKSOURCE_D2PCLK2
579#define RCC_USART16CLKSOURCE_PCLK2 RCC_USART16910CLKSOURCE_D2PCLK2
580#define RCC_USART16CLKSOURCE_PLL2 RCC_USART16910CLKSOURCE_PLL2
581#define RCC_USART16CLKSOURCE_PLL3 RCC_USART16910CLKSOURCE_PLL3
582#define RCC_USART16CLKSOURCE_HSI RCC_USART16910CLKSOURCE_HSI
583#define RCC_USART16CLKSOURCE_CSI RCC_USART16910CLKSOURCE_CSI
584#define RCC_USART16CLKSOURCE_LSE RCC_USART16910CLKSOURCE_LSE
593#define RCC_USART1CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
594#define RCC_USART1CLKSOURCE_PLL2 RCC_USART16CLKSOURCE_PLL2
595#define RCC_USART1CLKSOURCE_PLL3 RCC_USART16CLKSOURCE_PLL3
596#define RCC_USART1CLKSOURCE_HSI RCC_USART16CLKSOURCE_HSI
597#define RCC_USART1CLKSOURCE_CSI RCC_USART16CLKSOURCE_CSI
598#define RCC_USART1CLKSOURCE_LSE RCC_USART16CLKSOURCE_LSE
606#define RCC_USART6CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
607#define RCC_USART6CLKSOURCE_PLL2 RCC_USART16CLKSOURCE_PLL2
608#define RCC_USART6CLKSOURCE_PLL3 RCC_USART16CLKSOURCE_PLL3
609#define RCC_USART6CLKSOURCE_HSI RCC_USART16CLKSOURCE_HSI
610#define RCC_USART6CLKSOURCE_CSI RCC_USART16CLKSOURCE_CSI
611#define RCC_USART6CLKSOURCE_LSE RCC_USART16CLKSOURCE_LSE
621#define RCC_UART9CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
622#define RCC_UART9CLKSOURCE_PLL2 RCC_USART16CLKSOURCE_PLL2
623#define RCC_UART9CLKSOURCE_PLL3 RCC_USART16CLKSOURCE_PLL3
624#define RCC_UART9CLKSOURCE_HSI RCC_USART16CLKSOURCE_HSI
625#define RCC_UART9CLKSOURCE_CSI RCC_USART16CLKSOURCE_CSI
626#define RCC_UART9CLKSOURCE_LSE RCC_USART16CLKSOURCE_LSE
636#define RCC_USART10CLKSOURCE_D2PCLK2 RCC_USART16CLKSOURCE_D2PCLK2
637#define RCC_USART10CLKSOURCE_PLL2 RCC_USART16CLKSOURCE_PLL2
638#define RCC_USART10CLKSOURCE_PLL3 RCC_USART16CLKSOURCE_PLL3
639#define RCC_USART10CLKSOURCE_HSI RCC_USART16CLKSOURCE_HSI
640#define RCC_USART10CLKSOURCE_CSI RCC_USART16CLKSOURCE_CSI
641#define RCC_USART10CLKSOURCE_LSE RCC_USART16CLKSOURCE_LSE
650#if defined(RCC_D2CCIP2R_USART28SEL)
651#define RCC_USART234578CLKSOURCE_D2PCLK1 (0x00000000U)
653#define RCC_USART234578CLKSOURCE_PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
654#define RCC_USART234578CLKSOURCE_PLL2 RCC_D2CCIP2R_USART28SEL_0
655#define RCC_USART234578CLKSOURCE_PLL3 RCC_D2CCIP2R_USART28SEL_1
656#define RCC_USART234578CLKSOURCE_HSI (RCC_D2CCIP2R_USART28SEL_0 | RCC_D2CCIP2R_USART28SEL_1)
657#define RCC_USART234578CLKSOURCE_CSI RCC_D2CCIP2R_USART28SEL_2
658#define RCC_USART234578CLKSOURCE_LSE (RCC_D2CCIP2R_USART28SEL_0 | RCC_D2CCIP2R_USART28SEL_2)
660#define RCC_USART234578CLKSOURCE_CDPCLK1 (0x00000000U)
662#define RCC_USART234578CLKSOURCE_PCLK1 RCC_USART234578CLKSOURCE_CDPCLK1
663#define RCC_USART234578CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_CDPCLK1
664#define RCC_USART234578CLKSOURCE_PLL2 RCC_CDCCIP2R_USART234578SEL_0
665#define RCC_USART234578CLKSOURCE_PLL3 RCC_CDCCIP2R_USART234578SEL_1
666#define RCC_USART234578CLKSOURCE_HSI (RCC_CDCCIP2R_USART234578SEL_0 | RCC_CDCCIP2R_USART234578SEL_1)
667#define RCC_USART234578CLKSOURCE_CSI RCC_CDCCIP2R_USART234578SEL_2
668#define RCC_USART234578CLKSOURCE_LSE (RCC_CDCCIP2R_USART234578SEL_0 | RCC_CDCCIP2R_USART234578SEL_2)
677#define RCC_USART2CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
678#define RCC_USART2CLKSOURCE_PLL2 RCC_USART234578CLKSOURCE_PLL2
679#define RCC_USART2CLKSOURCE_PLL3 RCC_USART234578CLKSOURCE_PLL3
680#define RCC_USART2CLKSOURCE_HSI RCC_USART234578CLKSOURCE_HSI
681#define RCC_USART2CLKSOURCE_CSI RCC_USART234578CLKSOURCE_CSI
682#define RCC_USART2CLKSOURCE_LSE RCC_USART234578CLKSOURCE_LSE
691#define RCC_USART3CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
692#define RCC_USART3CLKSOURCE_PLL2 RCC_USART234578CLKSOURCE_PLL2
693#define RCC_USART3CLKSOURCE_PLL3 RCC_USART234578CLKSOURCE_PLL3
694#define RCC_USART3CLKSOURCE_HSI RCC_USART234578CLKSOURCE_HSI
695#define RCC_USART3CLKSOURCE_CSI RCC_USART234578CLKSOURCE_CSI
696#define RCC_USART3CLKSOURCE_LSE RCC_USART234578CLKSOURCE_LSE
705#define RCC_UART4CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
706#define RCC_UART4CLKSOURCE_PLL2 RCC_USART234578CLKSOURCE_PLL2
707#define RCC_UART4CLKSOURCE_PLL3 RCC_USART234578CLKSOURCE_PLL3
708#define RCC_UART4CLKSOURCE_HSI RCC_USART234578CLKSOURCE_HSI
709#define RCC_UART4CLKSOURCE_CSI RCC_USART234578CLKSOURCE_CSI
710#define RCC_UART4CLKSOURCE_LSE RCC_USART234578CLKSOURCE_LSE
719#define RCC_UART5CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
720#define RCC_UART5CLKSOURCE_PLL2 RCC_USART234578CLKSOURCE_PLL2
721#define RCC_UART5CLKSOURCE_PLL3 RCC_USART234578CLKSOURCE_PLL3
722#define RCC_UART5CLKSOURCE_HSI RCC_USART234578CLKSOURCE_HSI
723#define RCC_UART5CLKSOURCE_CSI RCC_USART234578CLKSOURCE_CSI
724#define RCC_UART5CLKSOURCE_LSE RCC_USART234578CLKSOURCE_LSE
733#define RCC_UART7CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
734#define RCC_UART7CLKSOURCE_PLL2 RCC_USART234578CLKSOURCE_PLL2
735#define RCC_UART7CLKSOURCE_PLL3 RCC_USART234578CLKSOURCE_PLL3
736#define RCC_UART7CLKSOURCE_HSI RCC_USART234578CLKSOURCE_HSI
737#define RCC_UART7CLKSOURCE_CSI RCC_USART234578CLKSOURCE_CSI
738#define RCC_UART7CLKSOURCE_LSE RCC_USART234578CLKSOURCE_LSE
747#define RCC_UART8CLKSOURCE_D2PCLK1 RCC_USART234578CLKSOURCE_D2PCLK1
748#define RCC_UART8CLKSOURCE_PLL2 RCC_USART234578CLKSOURCE_PLL2
749#define RCC_UART8CLKSOURCE_PLL3 RCC_USART234578CLKSOURCE_PLL3
750#define RCC_UART8CLKSOURCE_HSI RCC_USART234578CLKSOURCE_HSI
751#define RCC_UART8CLKSOURCE_CSI RCC_USART234578CLKSOURCE_CSI
752#define RCC_UART8CLKSOURCE_LSE RCC_USART234578CLKSOURCE_LSE
761#if defined(RCC_D3CCIPR_LPUART1SEL)
762#define RCC_LPUART1CLKSOURCE_D3PCLK1 (0x00000000U)
764#define RCC_LPUART1CLKSOURCE_PCLK4 RCC_LPUART1CLKSOURCE_D3PCLK1
765#define RCC_LPUART1CLKSOURCE_PLL2 RCC_D3CCIPR_LPUART1SEL_0
766#define RCC_LPUART1CLKSOURCE_PLL3 RCC_D3CCIPR_LPUART1SEL_1
767#define RCC_LPUART1CLKSOURCE_HSI (RCC_D3CCIPR_LPUART1SEL_0 | RCC_D3CCIPR_LPUART1SEL_1)
768#define RCC_LPUART1CLKSOURCE_CSI RCC_D3CCIPR_LPUART1SEL_2
769#define RCC_LPUART1CLKSOURCE_LSE (RCC_D3CCIPR_LPUART1SEL_2 | RCC_D3CCIPR_LPUART1SEL_0)
771#define RCC_LPUART1CLKSOURCE_SRDPCLK4 (0x00000000U)
773#define RCC_LPUART1CLKSOURCE_PCLK4 RCC_LPUART1CLKSOURCE_SRDPCLK4
774#define RCC_LPUART1CLKSOURCE_D3PCLK1 RCC_LPUART1CLKSOURCE_SRDPCLK4
775#define RCC_LPUART1CLKSOURCE_PLL2 RCC_SRDCCIPR_LPUART1SEL_0
776#define RCC_LPUART1CLKSOURCE_PLL3 RCC_SRDCCIPR_LPUART1SEL_1
777#define RCC_LPUART1CLKSOURCE_HSI (RCC_SRDCCIPR_LPUART1SEL_0 | RCC_SRDCCIPR_LPUART1SEL_1)
778#define RCC_LPUART1CLKSOURCE_CSI RCC_SRDCCIPR_LPUART1SEL_2
779#define RCC_LPUART1CLKSOURCE_LSE (RCC_SRDCCIPR_LPUART1SEL_2 | RCC_SRDCCIPR_LPUART1SEL_0)
788#if defined (RCC_D2CCIP2R_I2C123SEL)
789#define RCC_I2C123CLKSOURCE_D2PCLK1 (0x00000000U)
790#define RCC_I2C123CLKSOURCE_PLL3 RCC_D2CCIP2R_I2C123SEL_0
791#define RCC_I2C123CLKSOURCE_HSI RCC_D2CCIP2R_I2C123SEL_1
792#define RCC_I2C123CLKSOURCE_CSI (RCC_D2CCIP2R_I2C123SEL_0 | RCC_D2CCIP2R_I2C123SEL_1)
794#define RCC_I2C1235CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_D2PCLK1
795#define RCC_I2C1235CLKSOURCE_PLL3 RCC_I2C123CLKSOURCE_PLL3
796#define RCC_I2C1235CLKSOURCE_HSI RCC_I2C123CLKSOURCE_HSI
797#define RCC_I2C1235CLKSOURCE_CSI RCC_I2C123CLKSOURCE_CSI
798#elif defined(RCC_CDCCIP2R_I2C123SEL)
799#define RCC_I2C123CLKSOURCE_CDPCLK1 (0x00000000U)
801#define RCC_I2C123CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_CDPCLK1
802#define RCC_I2C123CLKSOURCE_PLL3 RCC_CDCCIP2R_I2C123SEL_0
803#define RCC_I2C123CLKSOURCE_HSI RCC_CDCCIP2R_I2C123SEL_1
804#define RCC_I2C123CLKSOURCE_CSI (RCC_CDCCIP2R_I2C123SEL_0 | RCC_CDCCIP2R_I2C123SEL_1)
806#define RCC_I2C1235CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_D2PCLK1
807#define RCC_I2C1235CLKSOURCE_PLL3 RCC_I2C123CLKSOURCE_PLL3
808#define RCC_I2C1235CLKSOURCE_HSI RCC_I2C123CLKSOURCE_HSI
809#define RCC_I2C1235CLKSOURCE_CSI RCC_I2C123CLKSOURCE_CSI
811#define RCC_I2C1235CLKSOURCE_D2PCLK1 (0x00000000U)
812#define RCC_I2C1235CLKSOURCE_PLL3 RCC_D2CCIP2R_I2C1235SEL_0
813#define RCC_I2C1235CLKSOURCE_HSI RCC_D2CCIP2R_I2C1235SEL_1
814#define RCC_I2C1235CLKSOURCE_CSI (RCC_D2CCIP2R_I2C1235SEL_0 | RCC_D2CCIP2R_I2C1235SEL_1)
816#define RCC_I2C123CLKSOURCE_D2PCLK1 RCC_I2C1235CLKSOURCE_D2PCLK1
817#define RCC_I2C123CLKSOURCE_PLL3 RCC_I2C1235CLKSOURCE_PLL3
818#define RCC_I2C123CLKSOURCE_HSI RCC_I2C1235CLKSOURCE_HSI
819#define RCC_I2C123CLKSOURCE_CSI RCC_I2C1235CLKSOURCE_CSI
829#define RCC_I2C1CLKSOURCE_D2PCLK1 RCC_I2C1235CLKSOURCE_D2PCLK1
830#define RCC_I2C1CLKSOURCE_PLL3 RCC_I2C1235CLKSOURCE_PLL3
831#define RCC_I2C1CLKSOURCE_HSI RCC_I2C1235CLKSOURCE_HSI
832#define RCC_I2C1CLKSOURCE_CSI RCC_I2C1235CLKSOURCE_CSI
834#define RCC_I2C1CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_D2PCLK1
835#define RCC_I2C1CLKSOURCE_PLL3 RCC_I2C123CLKSOURCE_PLL3
836#define RCC_I2C1CLKSOURCE_HSI RCC_I2C123CLKSOURCE_HSI
837#define RCC_I2C1CLKSOURCE_CSI RCC_I2C123CLKSOURCE_CSI
848#define RCC_I2C2CLKSOURCE_D2PCLK1 RCC_I2C1235CLKSOURCE_D2PCLK1
849#define RCC_I2C2CLKSOURCE_PLL3 RCC_I2C1235CLKSOURCE_PLL3
850#define RCC_I2C2CLKSOURCE_HSI RCC_I2C1235CLKSOURCE_HSI
851#define RCC_I2C2CLKSOURCE_CSI RCC_I2C1235CLKSOURCE_CSI
853#define RCC_I2C2CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_D2PCLK1
854#define RCC_I2C2CLKSOURCE_PLL3 RCC_I2C123CLKSOURCE_PLL3
855#define RCC_I2C2CLKSOURCE_HSI RCC_I2C123CLKSOURCE_HSI
856#define RCC_I2C2CLKSOURCE_CSI RCC_I2C123CLKSOURCE_CSI
867#define RCC_I2C3CLKSOURCE_D2PCLK1 RCC_I2C1235CLKSOURCE_D2PCLK1
868#define RCC_I2C3CLKSOURCE_PLL3 RCC_I2C1235CLKSOURCE_PLL3
869#define RCC_I2C3CLKSOURCE_HSI RCC_I2C1235CLKSOURCE_HSI
870#define RCC_I2C3CLKSOURCE_CSI RCC_I2C1235CLKSOURCE_CSI
872#define RCC_I2C3CLKSOURCE_D2PCLK1 RCC_I2C123CLKSOURCE_D2PCLK1
873#define RCC_I2C3CLKSOURCE_PLL3 RCC_I2C123CLKSOURCE_PLL3
874#define RCC_I2C3CLKSOURCE_HSI RCC_I2C123CLKSOURCE_HSI
875#define RCC_I2C3CLKSOURCE_CSI RCC_I2C123CLKSOURCE_CSI
885#if defined(RCC_D3CCIPR_I2C4SEL)
886#define RCC_I2C4CLKSOURCE_D3PCLK1 (0x00000000U)
887#define RCC_I2C4CLKSOURCE_PLL3 RCC_D3CCIPR_I2C4SEL_0
888#define RCC_I2C4CLKSOURCE_HSI RCC_D3CCIPR_I2C4SEL_1
889#define RCC_I2C4CLKSOURCE_CSI (RCC_D3CCIPR_I2C4SEL_0 | RCC_D3CCIPR_I2C4SEL_1)
891#define RCC_I2C4CLKSOURCE_SRDPCLK4 (0x00000000U)
893#define RCC_I2C4CLKSOURCE_D3PCLK1 RCC_I2C4CLKSOURCE_SRDPCLK4
894#define RCC_I2C4CLKSOURCE_PLL3 RCC_SRDCCIPR_I2C4SEL_0
895#define RCC_I2C4CLKSOURCE_HSI RCC_SRDCCIPR_I2C4SEL_1
896#define RCC_I2C4CLKSOURCE_CSI (RCC_SRDCCIPR_I2C4SEL_0 | RCC_SRDCCIPR_I2C4SEL_1)
906#define RCC_I2C5CLKSOURCE_D2PCLK1 RCC_I2C1235CLKSOURCE_D2PCLK1
907#define RCC_I2C5CLKSOURCE_PLL3 RCC_I2C1235CLKSOURCE_PLL3
908#define RCC_I2C5CLKSOURCE_HSI RCC_I2C1235CLKSOURCE_HSI
909#define RCC_I2C5CLKSOURCE_CSI RCC_I2C1235CLKSOURCE_CSI
919#if defined(RCC_D2CCIP2R_RNGSEL)
920#define RCC_RNGCLKSOURCE_HSI48 (0x00000000U)
921#define RCC_RNGCLKSOURCE_PLL RCC_D2CCIP2R_RNGSEL_0
922#define RCC_RNGCLKSOURCE_LSE RCC_D2CCIP2R_RNGSEL_1
923#define RCC_RNGCLKSOURCE_LSI RCC_D2CCIP2R_RNGSEL
925#define RCC_RNGCLKSOURCE_HSI48 (0x00000000U)
926#define RCC_RNGCLKSOURCE_PLL RCC_CDCCIP2R_RNGSEL_0
927#define RCC_RNGCLKSOURCE_LSE RCC_CDCCIP2R_RNGSEL_1
928#define RCC_RNGCLKSOURCE_LSI RCC_CDCCIP2R_RNGSEL
939#define RCC_HRTIM1CLK_TIMCLK (0x00000000U)
940#define RCC_HRTIM1CLK_CPUCLK RCC_CFGR_HRTIMSEL
950#if defined(RCC_D2CCIP2R_USBSEL)
951#define RCC_USBCLKSOURCE_PLL RCC_D2CCIP2R_USBSEL_0
952#define RCC_USBCLKSOURCE_PLL3 RCC_D2CCIP2R_USBSEL_1
953#define RCC_USBCLKSOURCE_HSI48 RCC_D2CCIP2R_USBSEL
955#define RCC_USBCLKSOURCE_PLL RCC_CDCCIP2R_USBSEL_0
956#define RCC_USBCLKSOURCE_PLL3 RCC_CDCCIP2R_USBSEL_1
957#define RCC_USBCLKSOURCE_HSI48 RCC_CDCCIP2R_USBSEL
967#if defined(RCC_D2CCIP1R_SAI1SEL)
968#define RCC_SAI1CLKSOURCE_PLL (0x00000000U)
969#define RCC_SAI1CLKSOURCE_PLL2 RCC_D2CCIP1R_SAI1SEL_0
970#define RCC_SAI1CLKSOURCE_PLL3 RCC_D2CCIP1R_SAI1SEL_1
971#define RCC_SAI1CLKSOURCE_PIN (RCC_D2CCIP1R_SAI1SEL_0 | RCC_D2CCIP1R_SAI1SEL_1)
972#define RCC_SAI1CLKSOURCE_CLKP RCC_D2CCIP1R_SAI1SEL_2
974#define RCC_SAI1CLKSOURCE_PLL (0x00000000U)
975#define RCC_SAI1CLKSOURCE_PLL2 RCC_CDCCIP1R_SAI1SEL_0
976#define RCC_SAI1CLKSOURCE_PLL3 RCC_CDCCIP1R_SAI1SEL_1
977#define RCC_SAI1CLKSOURCE_PIN (RCC_CDCCIP1R_SAI1SEL_0 | RCC_CDCCIP1R_SAI1SEL_1)
978#define RCC_SAI1CLKSOURCE_CLKP RCC_CDCCIP1R_SAI1SEL_2
988#define RCC_SAI23CLKSOURCE_PLL (0x00000000U)
989#define RCC_SAI23CLKSOURCE_PLL2 RCC_D2CCIP1R_SAI23SEL_0
990#define RCC_SAI23CLKSOURCE_PLL3 RCC_D2CCIP1R_SAI23SEL_1
991#define RCC_SAI23CLKSOURCE_PIN (RCC_D2CCIP1R_SAI23SEL_0 | RCC_D2CCIP1R_SAI23SEL_1)
992#define RCC_SAI23CLKSOURCE_CLKP RCC_D2CCIP1R_SAI23SEL_2
1000#define RCC_SAI2CLKSOURCE_PLL RCC_SAI23CLKSOURCE_PLL
1001#define RCC_SAI2CLKSOURCE_PLL2 RCC_SAI23CLKSOURCE_PLL2
1002#define RCC_SAI2CLKSOURCE_PLL3 RCC_SAI23CLKSOURCE_PLL3
1003#define RCC_SAI2CLKSOURCE_PIN RCC_SAI23CLKSOURCE_PIN
1004#define RCC_SAI2CLKSOURCE_CLKP RCC_SAI23CLKSOURCE_CLKP
1013#define RCC_SAI3CLKSOURCE_PLL RCC_SAI23CLKSOURCE_PLL
1014#define RCC_SAI3CLKSOURCE_PLL2 RCC_SAI23CLKSOURCE_PLL2
1015#define RCC_SAI3CLKSOURCE_PLL3 RCC_SAI23CLKSOURCE_PLL3
1016#define RCC_SAI3CLKSOURCE_PIN RCC_SAI23CLKSOURCE_PIN
1017#define RCC_SAI3CLKSOURCE_CLKP RCC_SAI23CLKSOURCE_CLKP
1023#if defined(RCC_CDCCIP1R_SAI2ASEL)
1027#define RCC_SAI2ACLKSOURCE_PLL (0x00000000U)
1028#define RCC_SAI2ACLKSOURCE_PLL2 RCC_CDCCIP1R_SAI2ASEL_0
1029#define RCC_SAI2ACLKSOURCE_PLL3 RCC_CDCCIP1R_SAI2ASEL_1
1030#define RCC_SAI2ACLKSOURCE_PIN (RCC_CDCCIP1R_SAI2ASEL_0 | RCC_CDCCIP1R_SAI2ASEL_1)
1031#define RCC_SAI2ACLKSOURCE_CLKP RCC_CDCCIP1R_SAI2ASEL_2
1032#define RCC_SAI2ACLKSOURCE_SPDIF (RCC_CDCCIP1R_SAI2ASEL_0 | RCC_CDCCIP1R_SAI2ASEL_2)
1038#if defined(RCC_CDCCIP1R_SAI2BSEL)
1042#define RCC_SAI2BCLKSOURCE_PLL (0x00000000U)
1043#define RCC_SAI2BCLKSOURCE_PLL2 RCC_CDCCIP1R_SAI2BSEL_0
1044#define RCC_SAI2BCLKSOURCE_PLL3 RCC_CDCCIP1R_SAI2BSEL_1
1045#define RCC_SAI2BCLKSOURCE_PIN (RCC_CDCCIP1R_SAI2BSEL_0 | RCC_CDCCIP1R_SAI2BSEL_1)
1046#define RCC_SAI2BCLKSOURCE_CLKP RCC_CDCCIP1R_SAI2BSEL_2
1047#define RCC_SAI2BCLKSOURCE_SPDIF (RCC_CDCCIP1R_SAI2BSEL_0 | RCC_CDCCIP1R_SAI2BSEL_2)
1057#if defined(RCC_D2CCIP1R_SPI123SEL)
1058#define RCC_SPI123CLKSOURCE_PLL (0x00000000U)
1059#define RCC_SPI123CLKSOURCE_PLL2 RCC_D2CCIP1R_SPI123SEL_0
1060#define RCC_SPI123CLKSOURCE_PLL3 RCC_D2CCIP1R_SPI123SEL_1
1061#define RCC_SPI123CLKSOURCE_PIN (RCC_D2CCIP1R_SPI123SEL_0 | RCC_D2CCIP1R_SPI123SEL_1)
1062#define RCC_SPI123CLKSOURCE_CLKP RCC_D2CCIP1R_SPI123SEL_2
1064#define RCC_SPI123CLKSOURCE_PLL (0x00000000U)
1065#define RCC_SPI123CLKSOURCE_PLL2 RCC_CDCCIP1R_SPI123SEL_0
1066#define RCC_SPI123CLKSOURCE_PLL3 RCC_CDCCIP1R_SPI123SEL_1
1067#define RCC_SPI123CLKSOURCE_PIN (RCC_CDCCIP1R_SPI123SEL_0 | RCC_CDCCIP1R_SPI123SEL_1)
1068#define RCC_SPI123CLKSOURCE_CLKP RCC_CDCCIP1R_SPI123SEL_2
1077#define RCC_SPI1CLKSOURCE_PLL RCC_SPI123CLKSOURCE_PLL
1078#define RCC_SPI1CLKSOURCE_PLL2 RCC_SPI123CLKSOURCE_PLL2
1079#define RCC_SPI1CLKSOURCE_PLL3 RCC_SPI123CLKSOURCE_PLL3
1080#define RCC_SPI1CLKSOURCE_PIN RCC_SPI123CLKSOURCE_PIN
1081#define RCC_SPI1CLKSOURCE_CLKP RCC_SPI123CLKSOURCE_CLKP
1090#define RCC_SPI2CLKSOURCE_PLL RCC_SPI123CLKSOURCE_PLL
1091#define RCC_SPI2CLKSOURCE_PLL2 RCC_SPI123CLKSOURCE_PLL2
1092#define RCC_SPI2CLKSOURCE_PLL3 RCC_SPI123CLKSOURCE_PLL3
1093#define RCC_SPI2CLKSOURCE_PIN RCC_SPI123CLKSOURCE_PIN
1094#define RCC_SPI2CLKSOURCE_CLKP RCC_SPI123CLKSOURCE_CLKP
1103#define RCC_SPI3CLKSOURCE_PLL RCC_SPI123CLKSOURCE_PLL
1104#define RCC_SPI3CLKSOURCE_PLL2 RCC_SPI123CLKSOURCE_PLL2
1105#define RCC_SPI3CLKSOURCE_PLL3 RCC_SPI123CLKSOURCE_PLL3
1106#define RCC_SPI3CLKSOURCE_PIN RCC_SPI123CLKSOURCE_PIN
1107#define RCC_SPI3CLKSOURCE_CLKP RCC_SPI123CLKSOURCE_CLKP
1116#if defined(RCC_D2CCIP1R_SPI45SEL)
1117#define RCC_SPI45CLKSOURCE_D2PCLK2 (0x00000000U)
1118#define RCC_SPI45CLKSOURCE_PCLK2 RCC_SPI45CLKSOURCE_D2PCLK2
1119#define RCC_SPI45CLKSOURCE_PLL2 RCC_D2CCIP1R_SPI45SEL_0
1120#define RCC_SPI45CLKSOURCE_PLL3 RCC_D2CCIP1R_SPI45SEL_1
1121#define RCC_SPI45CLKSOURCE_HSI (RCC_D2CCIP1R_SPI45SEL_0 | RCC_D2CCIP1R_SPI45SEL_1)
1122#define RCC_SPI45CLKSOURCE_CSI RCC_D2CCIP1R_SPI45SEL_2
1123#define RCC_SPI45CLKSOURCE_HSE (RCC_D2CCIP1R_SPI45SEL_0 | RCC_D2CCIP1R_SPI45SEL_2)
1125#define RCC_SPI45CLKSOURCE_CDPCLK2 (0x00000000U)
1127#define RCC_SPI45CLKSOURCE_D2PCLK2 RCC_SPI45CLKSOURCE_CDPCLK2
1128#define RCC_SPI45CLKSOURCE_PCLK2 RCC_SPI45CLKSOURCE_CDPCLK2
1129#define RCC_SPI45CLKSOURCE_PLL2 RCC_CDCCIP1R_SPI45SEL_0
1130#define RCC_SPI45CLKSOURCE_PLL3 RCC_CDCCIP1R_SPI45SEL_1
1131#define RCC_SPI45CLKSOURCE_HSI (RCC_CDCCIP1R_SPI45SEL_0 | RCC_CDCCIP1R_SPI45SEL_1)
1132#define RCC_SPI45CLKSOURCE_CSI RCC_CDCCIP1R_SPI45SEL_2
1133#define RCC_SPI45CLKSOURCE_HSE (RCC_CDCCIP1R_SPI45SEL_0 | RCC_CDCCIP1R_SPI45SEL_2)
1142#define RCC_SPI4CLKSOURCE_D2PCLK2 RCC_SPI45CLKSOURCE_D2PCLK2
1143#define RCC_SPI4CLKSOURCE_PLL2 RCC_SPI45CLKSOURCE_PLL2
1144#define RCC_SPI4CLKSOURCE_PLL3 RCC_SPI45CLKSOURCE_PLL3
1145#define RCC_SPI4CLKSOURCE_HSI RCC_SPI45CLKSOURCE_HSI
1146#define RCC_SPI4CLKSOURCE_CSI RCC_SPI45CLKSOURCE_CSI
1147#define RCC_SPI4CLKSOURCE_HSE RCC_SPI45CLKSOURCE_HSE
1156#define RCC_SPI5CLKSOURCE_D2PCLK2 RCC_SPI45CLKSOURCE_D2PCLK2
1157#define RCC_SPI5CLKSOURCE_PLL2 RCC_SPI45CLKSOURCE_PLL2
1158#define RCC_SPI5CLKSOURCE_PLL3 RCC_SPI45CLKSOURCE_PLL3
1159#define RCC_SPI5CLKSOURCE_HSI RCC_SPI45CLKSOURCE_HSI
1160#define RCC_SPI5CLKSOURCE_CSI RCC_SPI45CLKSOURCE_CSI
1161#define RCC_SPI5CLKSOURCE_HSE RCC_SPI45CLKSOURCE_HSE
1170#if defined(RCC_D3CCIPR_SPI6SEL)
1171#define RCC_SPI6CLKSOURCE_D3PCLK1 (0x00000000U)
1172#define RCC_SPI6CLKSOURCE_PCLK4 RCC_SPI6CLKSOURCE_D3PCLK1
1173#define RCC_SPI6CLKSOURCE_PLL2 RCC_D3CCIPR_SPI6SEL_0
1174#define RCC_SPI6CLKSOURCE_PLL3 RCC_D3CCIPR_SPI6SEL_1
1175#define RCC_SPI6CLKSOURCE_HSI (RCC_D3CCIPR_SPI6SEL_0 | RCC_D3CCIPR_SPI6SEL_1)
1176#define RCC_SPI6CLKSOURCE_CSI RCC_D3CCIPR_SPI6SEL_2
1177#define RCC_SPI6CLKSOURCE_HSE (RCC_D3CCIPR_SPI6SEL_0 | RCC_D3CCIPR_SPI6SEL_2)
1179#define RCC_SPI6CLKSOURCE_SRDPCLK4 (0x00000000U)
1181#define RCC_SPI6CLKSOURCE_D3PCLK1 RCC_SPI6CLKSOURCE_SRDPCLK4
1182#define RCC_SPI6CLKSOURCE_PCLK4 RCC_SPI6CLKSOURCE_SRDPCLK4
1183#define RCC_SPI6CLKSOURCE_PLL2 RCC_SRDCCIPR_SPI6SEL_0
1184#define RCC_SPI6CLKSOURCE_PLL3 RCC_SRDCCIPR_SPI6SEL_1
1185#define RCC_SPI6CLKSOURCE_HSI (RCC_SRDCCIPR_SPI6SEL_0 | RCC_SRDCCIPR_SPI6SEL_1)
1186#define RCC_SPI6CLKSOURCE_CSI RCC_SRDCCIPR_SPI6SEL_2
1187#define RCC_SPI6CLKSOURCE_HSE (RCC_SRDCCIPR_SPI6SEL_0 | RCC_SRDCCIPR_SPI6SEL_2)
1188#define RCC_SPI6CLKSOURCE_PIN (RCC_SRDCCIPR_SPI6SEL_1 | RCC_SRDCCIPR_SPI6SEL_2)
1196#if defined(SAI4_Block_A)
1200#define RCC_SAI4ACLKSOURCE_PLL (0x00000000U)
1201#define RCC_SAI4ACLKSOURCE_PLL2 RCC_D3CCIPR_SAI4ASEL_0
1202#define RCC_SAI4ACLKSOURCE_PLL3 RCC_D3CCIPR_SAI4ASEL_1
1203#define RCC_SAI4ACLKSOURCE_PIN (RCC_D3CCIPR_SAI4ASEL_0 | RCC_D3CCIPR_SAI4ASEL_1)
1204#define RCC_SAI4ACLKSOURCE_CLKP RCC_D3CCIPR_SAI4ASEL_2
1205#if defined(RCC_VER_3_0)
1206#define RCC_SAI4ACLKSOURCE_SPDIF (RCC_D3CCIPR_SAI4ASEL_2 | RCC_D3CCIPR_SAI4ASEL_0)
1216#if defined(SAI4_Block_B)
1220#define RCC_SAI4BCLKSOURCE_PLL (0x00000000U)
1221#define RCC_SAI4BCLKSOURCE_PLL2 RCC_D3CCIPR_SAI4BSEL_0
1222#define RCC_SAI4BCLKSOURCE_PLL3 RCC_D3CCIPR_SAI4BSEL_1
1223#define RCC_SAI4BCLKSOURCE_PIN (RCC_D3CCIPR_SAI4BSEL_0 | RCC_D3CCIPR_SAI4BSEL_1)
1224#define RCC_SAI4BCLKSOURCE_CLKP RCC_D3CCIPR_SAI4BSEL_2
1225#if defined(RCC_VER_3_0)
1226#define RCC_SAI4BCLKSOURCE_SPDIF (RCC_D3CCIPR_SAI4BSEL_2 | RCC_D3CCIPR_SAI4BSEL_0)
1238#if defined(RCC_D2CCIP2R_LPTIM1SEL)
1239#define RCC_LPTIM1CLKSOURCE_D2PCLK1 (0x00000000U)
1241#define RCC_LPTIM1CLKSOURCE_PCLK1 RCC_LPTIM1CLKSOURCE_D2PCLK1
1242#define RCC_LPTIM1CLKSOURCE_PLL2 RCC_D2CCIP2R_LPTIM1SEL_0
1243#define RCC_LPTIM1CLKSOURCE_PLL3 RCC_D2CCIP2R_LPTIM1SEL_1
1244#define RCC_LPTIM1CLKSOURCE_LSE (RCC_D2CCIP2R_LPTIM1SEL_0 | RCC_D2CCIP2R_LPTIM1SEL_1)
1245#define RCC_LPTIM1CLKSOURCE_LSI RCC_D2CCIP2R_LPTIM1SEL_2
1246#define RCC_LPTIM1CLKSOURCE_CLKP (RCC_D2CCIP2R_LPTIM1SEL_0 | RCC_D2CCIP2R_LPTIM1SEL_2)
1248#define RCC_LPTIM1CLKSOURCE_CDPCLK1 (0x00000000U)
1250#define RCC_LPTIM1CLKSOURCE_PCLK1 RCC_LPTIM1CLKSOURCE_CDPCLK1
1251#define RCC_LPTIM1CLKSOURCE_D2PCLK1 RCC_LPTIM1CLKSOURCE_CDPCLK1
1252#define RCC_LPTIM1CLKSOURCE_PLL2 RCC_CDCCIP2R_LPTIM1SEL_0
1253#define RCC_LPTIM1CLKSOURCE_PLL3 RCC_CDCCIP2R_LPTIM1SEL_1
1254#define RCC_LPTIM1CLKSOURCE_LSE (RCC_CDCCIP2R_LPTIM1SEL_0 | RCC_CDCCIP2R_LPTIM1SEL_1)
1255#define RCC_LPTIM1CLKSOURCE_LSI RCC_CDCCIP2R_LPTIM1SEL_2
1256#define RCC_LPTIM1CLKSOURCE_CLKP (RCC_CDCCIP2R_LPTIM1SEL_0 | RCC_CDCCIP2R_LPTIM1SEL_2)
1266#if defined(RCC_D3CCIPR_LPTIM2SEL)
1267#define RCC_LPTIM2CLKSOURCE_D3PCLK1 (0x00000000U)
1269#define RCC_LPTIM2CLKSOURCE_PCLK4 RCC_LPTIM2CLKSOURCE_D3PCLK1
1270#define RCC_LPTIM2CLKSOURCE_PLL2 RCC_D3CCIPR_LPTIM2SEL_0
1271#define RCC_LPTIM2CLKSOURCE_PLL3 RCC_D3CCIPR_LPTIM2SEL_1
1272#define RCC_LPTIM2CLKSOURCE_LSE (RCC_D3CCIPR_LPTIM2SEL_0 | RCC_D3CCIPR_LPTIM2SEL_1)
1273#define RCC_LPTIM2CLKSOURCE_LSI RCC_D3CCIPR_LPTIM2SEL_2
1274#define RCC_LPTIM2CLKSOURCE_CLKP (RCC_D3CCIPR_LPTIM2SEL_0 | RCC_D3CCIPR_LPTIM2SEL_2)
1276#define RCC_LPTIM2CLKSOURCE_SRDPCLK4 (0x00000000U)
1278#define RCC_LPTIM2CLKSOURCE_PCLK4 RCC_LPTIM2CLKSOURCE_SRDPCLK4
1279#define RCC_LPTIM2CLKSOURCE_D3PCLK1 RCC_LPTIM2CLKSOURCE_SRDPCLK4
1280#define RCC_LPTIM2CLKSOURCE_PLL2 RCC_SRDCCIPR_LPTIM2SEL_0
1281#define RCC_LPTIM2CLKSOURCE_PLL3 RCC_SRDCCIPR_LPTIM2SEL_1
1282#define RCC_LPTIM2CLKSOURCE_LSE (RCC_SRDCCIPR_LPTIM2SEL_0 | RCC_SRDCCIPR_LPTIM2SEL_1)
1283#define RCC_LPTIM2CLKSOURCE_LSI RCC_SRDCCIPR_LPTIM2SEL_2
1284#define RCC_LPTIM2CLKSOURCE_CLKP (RCC_SRDCCIPR_LPTIM2SEL_0 | RCC_SRDCCIPR_LPTIM2SEL_2)
1293#if defined(RCC_D3CCIPR_LPTIM345SEL)
1294#define RCC_LPTIM345CLKSOURCE_D3PCLK1 (0x00000000U)
1296#define RCC_LPTIM345CLKSOURCE_PCLK4 RCC_LPTIM345CLKSOURCE_D3PCLK1
1297#define RCC_LPTIM345CLKSOURCE_PLL2 RCC_D3CCIPR_LPTIM345SEL_0
1298#define RCC_LPTIM345CLKSOURCE_PLL3 RCC_D3CCIPR_LPTIM345SEL_1
1299#define RCC_LPTIM345CLKSOURCE_LSE (RCC_D3CCIPR_LPTIM345SEL_0 | RCC_D3CCIPR_LPTIM345SEL_1)
1300#define RCC_LPTIM345CLKSOURCE_LSI RCC_D3CCIPR_LPTIM345SEL_2
1301#define RCC_LPTIM345CLKSOURCE_CLKP (RCC_D3CCIPR_LPTIM345SEL_0 | RCC_D3CCIPR_LPTIM345SEL_2)
1303#define RCC_LPTIM345CLKSOURCE_SRDPCLK4 (0x00000000U)
1305#define RCC_LPTIM345CLKSOURCE_PCLK4 RCC_LPTIM345CLKSOURCE_SRDPCLK4
1306#define RCC_LPTIM345CLKSOURCE_D3PCLK1 RCC_LPTIM345CLKSOURCE_SRDPCLK4
1307#define RCC_LPTIM345CLKSOURCE_PLL2 RCC_SRDCCIPR_LPTIM3SEL_0
1308#define RCC_LPTIM345CLKSOURCE_PLL3 RCC_SRDCCIPR_LPTIM3SEL_1
1309#define RCC_LPTIM345CLKSOURCE_LSE (RCC_SRDCCIPR_LPTIM3SEL_0 | RCC_SRDCCIPR_LPTIM3SEL_1)
1310#define RCC_LPTIM345CLKSOURCE_LSI RCC_SRDCCIPR_LPTIM3SEL_2
1311#define RCC_LPTIM345CLKSOURCE_CLKP (RCC_SRDCCIPR_LPTIM3SEL_0 | RCC_SRDCCIPR_LPTIM3SEL_2)
1320#define RCC_LPTIM3CLKSOURCE_D3PCLK1 RCC_LPTIM345CLKSOURCE_D3PCLK1
1321#define RCC_LPTIM3CLKSOURCE_PLL2 RCC_LPTIM345CLKSOURCE_PLL2
1322#define RCC_LPTIM3CLKSOURCE_PLL3 RCC_LPTIM345CLKSOURCE_PLL3
1323#define RCC_LPTIM3CLKSOURCE_LSE RCC_LPTIM345CLKSOURCE_LSE
1324#define RCC_LPTIM3CLKSOURCE_LSI RCC_LPTIM345CLKSOURCE_LSI
1325#define RCC_LPTIM3CLKSOURCE_CLKP RCC_LPTIM345CLKSOURCE_CLKP
1334#define RCC_LPTIM4CLKSOURCE_D3PCLK1 RCC_LPTIM345CLKSOURCE_D3PCLK1
1335#define RCC_LPTIM4CLKSOURCE_PLL2 RCC_LPTIM345CLKSOURCE_PLL2
1336#define RCC_LPTIM4CLKSOURCE_PLL3 RCC_LPTIM345CLKSOURCE_PLL3
1337#define RCC_LPTIM4CLKSOURCE_LSE RCC_LPTIM345CLKSOURCE_LSE
1338#define RCC_LPTIM4CLKSOURCE_LSI RCC_LPTIM345CLKSOURCE_LSI
1339#define RCC_LPTIM4CLKSOURCE_CLKP RCC_LPTIM345CLKSOURCE_CLKP
1349#define RCC_LPTIM5CLKSOURCE_D3PCLK1 RCC_LPTIM345CLKSOURCE_D3PCLK1
1350#define RCC_LPTIM5CLKSOURCE_PLL2 RCC_LPTIM345CLKSOURCE_PLL2
1351#define RCC_LPTIM5CLKSOURCE_PLL3 RCC_LPTIM345CLKSOURCE_PLL3
1352#define RCC_LPTIM5CLKSOURCE_LSE RCC_LPTIM345CLKSOURCE_LSE
1353#define RCC_LPTIM5CLKSOURCE_LSI RCC_LPTIM345CLKSOURCE_LSI
1354#define RCC_LPTIM5CLKSOURCE_CLKP RCC_LPTIM345CLKSOURCE_CLKP
1365#define RCC_QSPICLKSOURCE_D1HCLK (0x00000000U)
1366#define RCC_QSPICLKSOURCE_PLL RCC_D1CCIPR_QSPISEL_0
1367#define RCC_QSPICLKSOURCE_PLL2 RCC_D1CCIPR_QSPISEL_1
1368#define RCC_QSPICLKSOURCE_CLKP RCC_D1CCIPR_QSPISEL
1376#if defined(OCTOSPI1) || defined(OCTOSPI2)
1381#if defined(RCC_CDCCIPR_OCTOSPISEL)
1382#define RCC_OSPICLKSOURCE_CDHCLK (0x00000000U)
1384#define RCC_OSPICLKSOURCE_D1HCLK RCC_OSPICLKSOURCE_CDHCLK
1385#define RCC_OSPICLKSOURCE_HCLK RCC_OSPICLKSOURCE_CDHCLK
1386#define RCC_OSPICLKSOURCE_PLL RCC_CDCCIPR_OCTOSPISEL_0
1387#define RCC_OSPICLKSOURCE_PLL2 RCC_CDCCIPR_OCTOSPISEL_1
1388#define RCC_OSPICLKSOURCE_CLKP RCC_CDCCIPR_OCTOSPISEL
1390#define RCC_OSPICLKSOURCE_D1HCLK (0x00000000U)
1391#define RCC_OSPICLKSOURCE_HCLK RCC_OSPICLKSOURCE_D1HCLK
1392#define RCC_OSPICLKSOURCE_PLL RCC_D1CCIPR_OCTOSPISEL_0
1393#define RCC_OSPICLKSOURCE_PLL2 RCC_D1CCIPR_OCTOSPISEL_1
1394#define RCC_OSPICLKSOURCE_CLKP RCC_D1CCIPR_OCTOSPISEL
1407#define RCC_DSICLKSOURCE_PHY (0x00000000U)
1408#define RCC_DSICLKSOURCE_PLL2 RCC_D1CCIPR_DSISEL
1418#if defined(RCC_D1CCIPR_FMCSEL)
1419#define RCC_FMCCLKSOURCE_D1HCLK (0x00000000U)
1420#define RCC_FMCCLKSOURCE_HCLK RCC_FMCCLKSOURCE_D1HCLK
1421#define RCC_FMCCLKSOURCE_PLL RCC_D1CCIPR_FMCSEL_0
1422#define RCC_FMCCLKSOURCE_PLL2 RCC_D1CCIPR_FMCSEL_1
1423#define RCC_FMCCLKSOURCE_CLKP RCC_D1CCIPR_FMCSEL
1425#define RCC_FMCCLKSOURCE_CDHCLK (0x00000000U)
1426#define RCC_FMCCLKSOURCE_HCLK RCC_FMCCLKSOURCE_CDHCLK
1428#define RCC_FMCCLKSOURCE_D1HCLK RCC_FMCCLKSOURCE_CDHCLK
1429#define RCC_FMCCLKSOURCE_PLL RCC_CDCCIPR_FMCSEL_0
1430#define RCC_FMCCLKSOURCE_PLL2 RCC_CDCCIPR_FMCSEL_1
1431#define RCC_FMCCLKSOURCE_CLKP RCC_CDCCIPR_FMCSEL
1437#if defined(FDCAN1) || defined(FDCAN2)
1441#if defined(RCC_D2CCIP1R_FDCANSEL)
1442#define RCC_FDCANCLKSOURCE_HSE (0x00000000U)
1443#define RCC_FDCANCLKSOURCE_PLL RCC_D2CCIP1R_FDCANSEL_0
1444#define RCC_FDCANCLKSOURCE_PLL2 RCC_D2CCIP1R_FDCANSEL_1
1446#define RCC_FDCANCLKSOURCE_HSE (0x00000000U)
1447#define RCC_FDCANCLKSOURCE_PLL RCC_CDCCIP1R_FDCANSEL_0
1448#define RCC_FDCANCLKSOURCE_PLL2 RCC_CDCCIP1R_FDCANSEL_1
1459#if defined(RCC_D1CCIPR_SDMMCSEL)
1460#define RCC_SDMMCCLKSOURCE_PLL (0x00000000U)
1461#define RCC_SDMMCCLKSOURCE_PLL2 RCC_D1CCIPR_SDMMCSEL
1463#define RCC_SDMMCCLKSOURCE_PLL (0x00000000U)
1464#define RCC_SDMMCCLKSOURCE_PLL2 RCC_CDCCIPR_SDMMCSEL
1474#if defined(RCC_D3CCIPR_ADCSEL_0)
1475#define RCC_ADCCLKSOURCE_PLL2 (0x00000000U)
1476#define RCC_ADCCLKSOURCE_PLL3 RCC_D3CCIPR_ADCSEL_0
1477#define RCC_ADCCLKSOURCE_CLKP RCC_D3CCIPR_ADCSEL_1
1479#define RCC_ADCCLKSOURCE_PLL2 (0x00000000U)
1480#define RCC_ADCCLKSOURCE_PLL3 RCC_SRDCCIPR_ADCSEL_0
1481#define RCC_ADCCLKSOURCE_CLKP RCC_SRDCCIPR_ADCSEL_1
1490#if defined(RCC_D2CCIP1R_SWPSEL)
1491#define RCC_SWPMI1CLKSOURCE_D2PCLK1 (0x00000000U)
1492#define RCC_SWPMI1CLKSOURCE_HSI RCC_D2CCIP1R_SWPSEL
1494#define RCC_SWPMI1CLKSOURCE_CDPCLK1 (0x00000000U)
1496#define RCC_SWPMI1CLKSOURCE_D2PCLK1 RCC_SWPMI1CLKSOURCE_CDPCLK1
1497#define RCC_SWPMI1CLKSOURCE_HSI RCC_CDCCIP1R_SWPSEL
1506#if defined(RCC_D2CCIP1R_DFSDM1SEL)
1507#define RCC_DFSDM1CLKSOURCE_D2PCLK1 (0x00000000U)
1508#define RCC_DFSDM1CLKSOURCE_SYS RCC_D2CCIP1R_DFSDM1SEL
1510#define RCC_DFSDM1CLKSOURCE_CDPCLK1 (0x00000000U)
1512#define RCC_DFSDM1CLKSOURCE_D2PCLK1 RCC_DFSDM1CLKSOURCE_CDPCLK1
1513#define RCC_DFSDM1CLKSOURCE_SYS RCC_CDCCIP1R_DFSDM1SEL
1519#if defined(DFSDM2_BASE)
1523#define RCC_DFSDM2CLKSOURCE_SRDPCLK4 (0x00000000U)
1525#define RCC_DFSDM2CLKSOURCE_SRDPCLK1 RCC_DFSDM2CLKSOURCE_SRDPCLK4
1526#define RCC_DFSDM2CLKSOURCE_SYS RCC_SRDCCIPR_DFSDM2SEL
1535#if defined(RCC_D2CCIP1R_SPDIFSEL_0)
1536#define RCC_SPDIFRXCLKSOURCE_PLL (0x00000000U)
1537#define RCC_SPDIFRXCLKSOURCE_PLL2 RCC_D2CCIP1R_SPDIFSEL_0
1538#define RCC_SPDIFRXCLKSOURCE_PLL3 RCC_D2CCIP1R_SPDIFSEL_1
1539#define RCC_SPDIFRXCLKSOURCE_HSI RCC_D2CCIP1R_SPDIFSEL
1541#define RCC_SPDIFRXCLKSOURCE_PLL (0x00000000U)
1542#define RCC_SPDIFRXCLKSOURCE_PLL2 RCC_CDCCIP1R_SPDIFSEL_0
1543#define RCC_SPDIFRXCLKSOURCE_PLL3 RCC_CDCCIP1R_SPDIFSEL_1
1544#define RCC_SPDIFRXCLKSOURCE_HSI RCC_CDCCIP1R_SPDIFSEL
1553#if defined(RCC_D2CCIP2R_CECSEL_0)
1554#define RCC_CECCLKSOURCE_LSE (0x00000000U)
1555#define RCC_CECCLKSOURCE_LSI RCC_D2CCIP2R_CECSEL_0
1556#define RCC_CECCLKSOURCE_CSI RCC_D2CCIP2R_CECSEL_1
1558#define RCC_CECCLKSOURCE_LSE (0x00000000U)
1559#define RCC_CECCLKSOURCE_LSI RCC_CDCCIP2R_CECSEL_0
1560#define RCC_CECCLKSOURCE_CSI RCC_CDCCIP2R_CECSEL_1
1570#if defined(RCC_D1CCIPR_CKPERSEL_0)
1571#define RCC_CLKPSOURCE_HSI (0x00000000U)
1572#define RCC_CLKPSOURCE_CSI RCC_D1CCIPR_CKPERSEL_0
1573#define RCC_CLKPSOURCE_HSE RCC_D1CCIPR_CKPERSEL_1
1575#define RCC_CLKPSOURCE_HSI (0x00000000U)
1576#define RCC_CLKPSOURCE_CSI RCC_CDCCIPR_CKPERSEL_0
1577#define RCC_CLKPSOURCE_HSE RCC_CDCCIPR_CKPERSEL_1
1586#define RCC_TIMPRES_DESACTIVATED (0x00000000U)
1587#define RCC_TIMPRES_ACTIVATED RCC_CFGR_TIMPRE
1593#if defined(DUAL_CORE)
1598#define RCC_BOOT_C1 RCC_GCR_BOOT_C1
1599#define RCC_BOOT_C2 RCC_GCR_BOOT_C2
1606#if defined(DUAL_CORE)
1610#define RCC_WWDG1 RCC_GCR_WW1RSC
1611#define RCC_WWDG2 RCC_GCR_WW2RSC
1622#define RCC_WWDG1 RCC_GCR_WW1RSC
1633#define RCC_EXTI_LINE_LSECSS EXTI_IMR1_IM18
1641#define RCC_CRS_NONE (0x00000000U)
1642#define RCC_CRS_TIMEOUT (0x00000001U)
1643#define RCC_CRS_SYNCOK (0x00000002U)
1644#define RCC_CRS_SYNCWARN (0x00000004U)
1645#define RCC_CRS_SYNCERR (0x00000008U)
1646#define RCC_CRS_SYNCMISS (0x00000010U)
1647#define RCC_CRS_TRIMOVF (0x00000020U)
1655#define RCC_CRS_SYNC_SOURCE_PIN (0x00000000U)
1656#define RCC_CRS_SYNC_SOURCE_LSE CRS_CFGR_SYNCSRC_0
1657#define RCC_CRS_SYNC_SOURCE_USB1 CRS_CFGR_SYNCSRC_1
1658#define RCC_CRS_SYNC_SOURCE_USB2 (CRS_CFGR_SYNCSRC_1|CRS_CFGR_SYNCSRC_0)
1668#define RCC_CRS_SYNC_DIV1 (0x00000000U)
1669#define RCC_CRS_SYNC_DIV2 CRS_CFGR_SYNCDIV_0
1670#define RCC_CRS_SYNC_DIV4 CRS_CFGR_SYNCDIV_1
1671#define RCC_CRS_SYNC_DIV8 (CRS_CFGR_SYNCDIV_1 | CRS_CFGR_SYNCDIV_0)
1672#define RCC_CRS_SYNC_DIV16 CRS_CFGR_SYNCDIV_2
1673#define RCC_CRS_SYNC_DIV32 (CRS_CFGR_SYNCDIV_2 | CRS_CFGR_SYNCDIV_0)
1674#define RCC_CRS_SYNC_DIV64 (CRS_CFGR_SYNCDIV_2 | CRS_CFGR_SYNCDIV_1)
1675#define RCC_CRS_SYNC_DIV128 CRS_CFGR_SYNCDIV
1683#define RCC_CRS_SYNC_POLARITY_RISING (0x00000000U)
1684#define RCC_CRS_SYNC_POLARITY_FALLING CRS_CFGR_SYNCPOL
1692#define RCC_CRS_RELOADVALUE_DEFAULT (0x0000BB7FU)
1701#define RCC_CRS_ERRORLIMIT_DEFAULT (0x00000022U)
1709#define RCC_CRS_HSI48CALIBRATION_DEFAULT (0x00000020U)
1719#define RCC_CRS_FREQERRORDIR_UP (0x00000000U)
1720#define RCC_CRS_FREQERRORDIR_DOWN (CRS_ISR_FEDIR)
1728#define RCC_CRS_IT_SYNCOK CRS_CR_SYNCOKIE
1729#define RCC_CRS_IT_SYNCWARN CRS_CR_SYNCWARNIE
1730#define RCC_CRS_IT_ERR CRS_CR_ERRIE
1731#define RCC_CRS_IT_ESYNC CRS_CR_ESYNCIE
1732#define RCC_CRS_IT_SYNCERR CRS_CR_ERRIE
1733#define RCC_CRS_IT_SYNCMISS CRS_CR_ERRIE
1734#define RCC_CRS_IT_TRIMOVF CRS_CR_ERRIE
1743#define RCC_CRS_FLAG_SYNCOK CRS_ISR_SYNCOKF
1744#define RCC_CRS_FLAG_SYNCWARN CRS_ISR_SYNCWARNF
1745#define RCC_CRS_FLAG_ERR CRS_ISR_ERRF
1746#define RCC_CRS_FLAG_ESYNC CRS_ISR_ESYNCF
1747#define RCC_CRS_FLAG_SYNCERR CRS_ISR_SYNCERR
1748#define RCC_CRS_FLAG_SYNCMISS CRS_ISR_SYNCMISS
1749#define RCC_CRS_FLAG_TRIMOVF CRS_ISR_TRIMOVF
1772#define __HAL_RCC_PLL2_ENABLE() SET_BIT(RCC->CR, RCC_CR_PLL2ON)
1773#define __HAL_RCC_PLL2_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_PLL2ON)
1791#define __HAL_RCC_PLL2CLKOUT_ENABLE(__RCC_PLL2ClockOut__) SET_BIT(RCC->PLLCFGR, (__RCC_PLL2ClockOut__))
1793#define __HAL_RCC_PLL2CLKOUT_DISABLE(__RCC_PLL2ClockOut__) CLEAR_BIT(RCC->PLLCFGR, (__RCC_PLL2ClockOut__))
1800#define __HAL_RCC_PLL2FRACN_ENABLE() SET_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL2FRACEN)
1802#define __HAL_RCC_PLL2FRACN_DISABLE() CLEAR_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL2FRACEN)
1836#define __HAL_RCC_PLL2_CONFIG(__PLL2M__, __PLL2N__, __PLL2P__, __PLL2Q__,__PLL2R__ ) \
1838 MODIFY_REG(RCC->PLLCKSELR, ( RCC_PLLCKSELR_DIVM2) , ( (__PLL2M__) <<12U)); \
1839 WRITE_REG (RCC->PLL2DIVR , ( (((__PLL2N__) - 1U ) & RCC_PLL2DIVR_N2) | ((((__PLL2P__) -1U ) << 9U) & RCC_PLL2DIVR_P2) | \
1840 ((((__PLL2Q__) -1U) << 16U) & RCC_PLL2DIVR_Q2) | ((((__PLL2R__)- 1U) << 24U) & RCC_PLL2DIVR_R2))); \
1859#define __HAL_RCC_PLL2FRACN_CONFIG(__RCC_PLL2FRACN__) \
1860 MODIFY_REG(RCC->PLL2FRACR, RCC_PLL2FRACR_FRACN2,((uint32_t)(__RCC_PLL2FRACN__) << RCC_PLL2FRACR_FRACN2_Pos))
1871#define __HAL_RCC_PLL2_VCIRANGE(__RCC_PLL2VCIRange__) \
1872 MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL2RGE, (__RCC_PLL2VCIRange__))
1885#define __HAL_RCC_PLL2_VCORANGE(__RCC_PLL2VCORange__) \
1886 MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL2VCOSEL, (__RCC_PLL2VCORange__))
1894#define __HAL_RCC_PLL3_ENABLE() SET_BIT(RCC->CR, RCC_CR_PLL3ON)
1895#define __HAL_RCC_PLL3_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_PLL3ON)
1902#define __HAL_RCC_PLL3FRACN_ENABLE() SET_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL3FRACEN)
1904#define __HAL_RCC_PLL3FRACN_DISABLE() CLEAR_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL3FRACEN)
1922#define __HAL_RCC_PLL3CLKOUT_ENABLE(__RCC_PLL3ClockOut__) SET_BIT(RCC->PLLCFGR, (__RCC_PLL3ClockOut__))
1924#define __HAL_RCC_PLL3CLKOUT_DISABLE(__RCC_PLL3ClockOut__) CLEAR_BIT(RCC->PLLCFGR, (__RCC_PLL3ClockOut__))
1958#define __HAL_RCC_PLL3_CONFIG(__PLL3M__, __PLL3N__, __PLL3P__, __PLL3Q__,__PLL3R__ ) \
1959 do{ MODIFY_REG(RCC->PLLCKSELR, ( RCC_PLLCKSELR_DIVM3) , ( (__PLL3M__) <<20U)); \
1960 WRITE_REG (RCC->PLL3DIVR , ( (((__PLL3N__) - 1U ) & RCC_PLL3DIVR_N3) | ((((__PLL3P__) -1U ) << 9U) & RCC_PLL3DIVR_P3) | \
1961 ((((__PLL3Q__) -1U) << 16U) & RCC_PLL3DIVR_Q3) | ((((__PLL3R__) - 1U) << 24U) & RCC_PLL3DIVR_R3))); \
1982#define __HAL_RCC_PLL3FRACN_CONFIG(__RCC_PLL3FRACN__) MODIFY_REG(RCC->PLL3FRACR, RCC_PLL3FRACR_FRACN3, (uint32_t)(__RCC_PLL3FRACN__) << RCC_PLL3FRACR_FRACN3_Pos)
1993#define __HAL_RCC_PLL3_VCIRANGE(__RCC_PLL3VCIRange__) \
1994 MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL3RGE, (__RCC_PLL3VCIRange__))
2007#define __HAL_RCC_PLL3_VCORANGE(__RCC_PLL3VCORange__) \
2008 MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL3VCOSEL, (__RCC_PLL3VCORange__))
2021#if defined(RCC_D2CCIP1R_SAI1SEL)
2022#define __HAL_RCC_SAI1_CONFIG(__RCC_SAI1CLKSource__ )\
2023 MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI1SEL, (__RCC_SAI1CLKSource__))
2025#define __HAL_RCC_SAI1_CONFIG(__RCC_SAI1CLKSource__ )\
2026 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_SAI1SEL, (__RCC_SAI1CLKSource__))
2037#if defined(RCC_D2CCIP1R_SAI1SEL)
2038#define __HAL_RCC_GET_SAI1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI1SEL)))
2040#define __HAL_RCC_GET_SAI1_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_SAI1SEL)))
2054#if defined(RCC_D2CCIP1R_SPDIFSEL)
2055#define __HAL_RCC_SPDIFRX_CONFIG(__RCC_SPDIFCLKSource__ )\
2056 MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPDIFSEL, (__RCC_SPDIFCLKSource__))
2058#define __HAL_RCC_SPDIFRX_CONFIG(__RCC_SPDIFCLKSource__ )\
2059 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_SPDIFSEL, (__RCC_SPDIFCLKSource__))
2066#if defined(RCC_D2CCIP1R_SPDIFSEL)
2067#define __HAL_RCC_GET_SPDIFRX_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPDIFSEL)))
2069#define __HAL_RCC_GET_SPDIFRX_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_SPDIFSEL)))
2085#define __HAL_RCC_SAI23_CONFIG(__RCC_SAI23CLKSource__ )\
2086 MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI23SEL, (__RCC_SAI23CLKSource__))
2096#define __HAL_RCC_GET_SAI23_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI23SEL)))
2110#define __HAL_RCC_SAI2_CONFIG __HAL_RCC_SAI23_CONFIG
2120#define __HAL_RCC_GET_SAI2_SOURCE __HAL_RCC_GET_SAI23_SOURCE
2134#define __HAL_RCC_SAI3_CONFIG __HAL_RCC_SAI23_CONFIG
2144#define __HAL_RCC_GET_SAI3_SOURCE __HAL_RCC_GET_SAI23_SOURCE
2147#if defined(RCC_CDCCIP1R_SAI2ASEL)
2161#define __HAL_RCC_SAI2A_CONFIG(__RCC_SAI2ACLKSource__ )\
2162 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_SAI2ASEL, (__RCC_SAI2ACLKSource__))
2173#define __HAL_RCC_GET_SAI2A_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_SAI2ASEL)))
2176#if defined(RCC_CDCCIP1R_SAI2BSEL)
2190#define __HAL_RCC_SAI2B_CONFIG(__RCC_SAI2BCLKSource__ )\
2191 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_SAI2BSEL, (__RCC_SAI2BCLKSource__))
2202#define __HAL_RCC_GET_SAI2B_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_SAI2BSEL)))
2206#if defined(SAI4_Block_A)
2219#define __HAL_RCC_SAI4A_CONFIG(__RCC_SAI4ACLKSource__ )\
2220 MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_SAI4ASEL, (__RCC_SAI4ACLKSource__))
2230#define __HAL_RCC_GET_SAI4A_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_SAI4ASEL)))
2233#if defined(SAI4_Block_B)
2246#define __HAL_RCC_SAI4B_CONFIG(__RCC_SAI4BCLKSource__ )\
2247 MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_SAI4BSEL, (__RCC_SAI4BCLKSource__))
2257#define __HAL_RCC_GET_SAI4B_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_SAI4BSEL)))
2271#if defined(RCC_D2CCIP2R_I2C123SEL)
2272#define __HAL_RCC_I2C123_CONFIG(__I2C1235CLKSource__) \
2273 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL, (uint32_t)(__I2C1235CLKSource__))
2274#elif defined(RCC_CDCCIP2R_I2C123SEL)
2275#define __HAL_RCC_I2C123_CONFIG(__I2C1235CLKSource__) \
2276 MODIFY_REG(RCC->CDCCIP2R, RCC_CDCCIP2R_I2C123SEL, (uint32_t)(__I2C1235CLKSource__))
2278#define __HAL_RCC_I2C1235_CONFIG(__I2C1235CLKSource__) \
2279 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C1235SEL, (uint32_t)(__I2C1235CLKSource__))
2281#define __HAL_RCC_I2C123_CONFIG __HAL_RCC_I2C1235_CONFIG
2293#if defined(RCC_D2CCIP2R_I2C123SEL)
2294#define __HAL_RCC_GET_I2C123_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL)))
2295#elif defined(RCC_CDCCIP2R_I2C123SEL)
2296#define __HAL_RCC_GET_I2C123_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP2R, RCC_CDCCIP2R_I2C123SEL)))
2298#define __HAL_RCC_GET_I2C1235_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C1235SEL)))
2300#define __HAL_RCC_GET_I2C123_SOURCE __HAL_RCC_GET_I2C1235_SOURCE
2313#define __HAL_RCC_I2C1_CONFIG __HAL_RCC_I2C1235_CONFIG
2315#define __HAL_RCC_I2C1_CONFIG __HAL_RCC_I2C123_CONFIG
2326#define __HAL_RCC_GET_I2C1_SOURCE __HAL_RCC_GET_I2C1235_SOURCE
2328#define __HAL_RCC_GET_I2C1_SOURCE __HAL_RCC_GET_I2C123_SOURCE
2341#define __HAL_RCC_I2C2_CONFIG __HAL_RCC_I2C1235_CONFIG
2343#define __HAL_RCC_I2C2_CONFIG __HAL_RCC_I2C123_CONFIG
2354#define __HAL_RCC_GET_I2C2_SOURCE __HAL_RCC_GET_I2C1235_SOURCE
2356#define __HAL_RCC_GET_I2C2_SOURCE __HAL_RCC_GET_I2C123_SOURCE
2369#define __HAL_RCC_I2C3_CONFIG __HAL_RCC_I2C1235_CONFIG
2371#define __HAL_RCC_I2C3_CONFIG __HAL_RCC_I2C123_CONFIG
2382#define __HAL_RCC_GET_I2C3_SOURCE __HAL_RCC_GET_I2C1235_SOURCE
2384#define __HAL_RCC_GET_I2C3_SOURCE __HAL_RCC_GET_I2C123_SOURCE
2396#if defined(RCC_D3CCIPR_I2C4SEL)
2397#define __HAL_RCC_I2C4_CONFIG(__I2C4CLKSource__) \
2398 MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_I2C4SEL, (uint32_t)(__I2C4CLKSource__))
2400#define __HAL_RCC_I2C4_CONFIG(__I2C4CLKSource__) \
2401 MODIFY_REG(RCC->SRDCCIPR, RCC_SRDCCIPR_I2C4SEL, (uint32_t)(__I2C4CLKSource__))
2411#if defined(RCC_D3CCIPR_I2C4SEL)
2412#define __HAL_RCC_GET_I2C4_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_I2C4SEL)))
2414#define __HAL_RCC_GET_I2C4_SOURCE() ((uint32_t)(READ_BIT(RCC->SRDCCIPR, RCC_SRDCCIPR_I2C4SEL)))
2427#define __HAL_RCC_I2C5_CONFIG __HAL_RCC_I2C1235_CONFIG
2438#define __HAL_RCC_GET_I2C5_SOURCE __HAL_RCC_GET_I2C1235_SOURCE
2454#if defined(RCC_D2CCIP2R_USART16SEL)
2455#define __HAL_RCC_USART16_CONFIG(__USART16910CLKSource__) \
2456 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16SEL, (uint32_t)(__USART16910CLKSource__))
2457#elif defined(RCC_CDCCIP2R_USART16910SEL)
2458#define __HAL_RCC_USART16910_CONFIG(__USART16910CLKSource__) \
2459 MODIFY_REG(RCC->CDCCIP2R, RCC_CDCCIP2R_USART16910SEL, (uint32_t)(__USART16910CLKSource__))
2461#define __HAL_RCC_USART16_CONFIG __HAL_RCC_USART16910_CONFIG
2463#define __HAL_RCC_USART16910_CONFIG(__USART16910CLKSource__) \
2464 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16910SEL, (uint32_t)(__USART16910CLKSource__))
2466#define __HAL_RCC_USART16_CONFIG __HAL_RCC_USART16910_CONFIG
2480#if defined(RCC_D2CCIP2R_USART16SEL)
2481#define __HAL_RCC_GET_USART16_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16SEL)))
2482#elif defined(RCC_CDCCIP2R_USART16910SEL)
2483#define __HAL_RCC_GET_USART16910_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP2R, RCC_CDCCIP2R_USART16910SEL)))
2485#define __HAL_RCC_GET_USART16_SOURCE __HAL_RCC_GET_USART16910_SOURCE
2487#define __HAL_RCC_GET_USART16910_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16910SEL)))
2489#define __HAL_RCC_GET_USART16_SOURCE __HAL_RCC_GET_USART16910_SOURCE
2503#if defined(RCC_D2CCIP2R_USART28SEL)
2504#define __HAL_RCC_USART234578_CONFIG(__USART234578CLKSource__) \
2505 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL, (uint32_t)(__USART234578CLKSource__))
2507#define __HAL_RCC_USART234578_CONFIG(__USART234578CLKSource__) \
2508 MODIFY_REG(RCC->CDCCIP2R, RCC_CDCCIP2R_USART234578SEL, (uint32_t)(__USART234578CLKSource__))
2520#if defined(RCC_D2CCIP2R_USART28SEL)
2521#define __HAL_RCC_GET_USART234578_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL)))
2523#define __HAL_RCC_GET_USART234578_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP2R, RCC_CDCCIP2R_USART234578SEL)))
2537#define __HAL_RCC_USART1_CONFIG __HAL_RCC_USART16_CONFIG
2548#define __HAL_RCC_GET_USART1_SOURCE __HAL_RCC_GET_USART16_SOURCE
2561#define __HAL_RCC_USART2_CONFIG __HAL_RCC_USART234578_CONFIG
2572#define __HAL_RCC_GET_USART2_SOURCE __HAL_RCC_GET_USART234578_SOURCE
2585#define __HAL_RCC_USART3_CONFIG __HAL_RCC_USART234578_CONFIG
2596#define __HAL_RCC_GET_USART3_SOURCE __HAL_RCC_GET_USART234578_SOURCE
2609#define __HAL_RCC_UART4_CONFIG __HAL_RCC_USART234578_CONFIG
2620#define __HAL_RCC_GET_UART4_SOURCE __HAL_RCC_GET_USART234578_SOURCE
2633#define __HAL_RCC_UART5_CONFIG __HAL_RCC_USART234578_CONFIG
2644#define __HAL_RCC_GET_UART5_SOURCE __HAL_RCC_GET_USART234578_SOURCE
2657#define __HAL_RCC_USART6_CONFIG __HAL_RCC_USART16_CONFIG
2668#define __HAL_RCC_GET_USART6_SOURCE __HAL_RCC_GET_USART16_SOURCE
2681#define __HAL_RCC_UART7_CONFIG __HAL_RCC_USART234578_CONFIG
2692#define __HAL_RCC_GET_UART7_SOURCE __HAL_RCC_GET_USART234578_SOURCE
2705#define __HAL_RCC_UART8_CONFIG __HAL_RCC_USART234578_CONFIG
2716#define __HAL_RCC_GET_UART8_SOURCE __HAL_RCC_GET_USART234578_SOURCE
2730#define __HAL_RCC_UART9_CONFIG __HAL_RCC_USART16_CONFIG
2741#define __HAL_RCC_GET_UART9_SOURCE __HAL_RCC_GET_USART16_SOURCE
2756#define __HAL_RCC_USART10_CONFIG __HAL_RCC_USART16_CONFIG
2767#define __HAL_RCC_GET_USART10_SOURCE __HAL_RCC_GET_USART16_SOURCE
2781#if defined (RCC_D3CCIPR_LPUART1SEL)
2782#define __HAL_RCC_LPUART1_CONFIG(__LPUART1CLKSource__) \
2783 MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPUART1SEL, (uint32_t)(__LPUART1CLKSource__))
2785#define __HAL_RCC_LPUART1_CONFIG(__LPUART1CLKSource__) \
2786 MODIFY_REG(RCC->SRDCCIPR, RCC_SRDCCIPR_LPUART1SEL, (uint32_t)(__LPUART1CLKSource__))
2798#if defined (RCC_D3CCIPR_LPUART1SEL)
2799#define __HAL_RCC_GET_LPUART1_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPUART1SEL)))
2801#define __HAL_RCC_GET_LPUART1_SOURCE() ((uint32_t)(READ_BIT(RCC->SRDCCIPR, RCC_SRDCCIPR_LPUART1SEL)))
2815#if defined(RCC_D2CCIP2R_LPTIM1SEL)
2816#define __HAL_RCC_LPTIM1_CONFIG(__LPTIM1CLKSource__) \
2817 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_LPTIM1SEL, (uint32_t)(__LPTIM1CLKSource__))
2819#define __HAL_RCC_LPTIM1_CONFIG(__LPTIM1CLKSource__) \
2820 MODIFY_REG(RCC->CDCCIP2R, RCC_CDCCIP2R_LPTIM1SEL, (uint32_t)(__LPTIM1CLKSource__))
2832#if defined(RCC_D2CCIP2R_LPTIM1SEL)
2833#define __HAL_RCC_GET_LPTIM1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_LPTIM1SEL)))
2835#define __HAL_RCC_GET_LPTIM1_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP2R, RCC_CDCCIP2R_LPTIM1SEL)))
2849#if defined(RCC_D3CCIPR_LPTIM2SEL)
2850#define __HAL_RCC_LPTIM2_CONFIG(__LPTIM2CLKSource__) \
2851 MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM2SEL, (uint32_t)(__LPTIM2CLKSource__))
2853#define __HAL_RCC_LPTIM2_CONFIG(__LPTIM2CLKSource__) \
2854 MODIFY_REG(RCC->SRDCCIPR, RCC_SRDCCIPR_LPTIM2SEL, (uint32_t)(__LPTIM2CLKSource__))
2866#if defined(RCC_D3CCIPR_LPTIM2SEL)
2867#define __HAL_RCC_GET_LPTIM2_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM2SEL)))
2869#define __HAL_RCC_GET_LPTIM2_SOURCE() ((uint32_t)(READ_BIT(RCC->SRDCCIPR, RCC_SRDCCIPR_LPTIM2SEL)))
2882#if defined(RCC_D3CCIPR_LPTIM345SEL)
2883#define __HAL_RCC_LPTIM345_CONFIG(__LPTIM345CLKSource__) \
2884 MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL, (uint32_t)(__LPTIM345CLKSource__))
2886#define __HAL_RCC_LPTIM345_CONFIG(__LPTIM345CLKSource__) \
2887 MODIFY_REG(RCC->SRDCCIPR, RCC_SRDCCIPR_LPTIM3SEL, (uint32_t)(__LPTIM345CLKSource__))
2899#if defined(RCC_D3CCIPR_LPTIM345SEL)
2900#define __HAL_RCC_GET_LPTIM345_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL)))
2902#define __HAL_RCC_GET_LPTIM345_SOURCE() ((uint32_t)(READ_BIT(RCC->SRDCCIPR, RCC_SRDCCIPR_LPTIM3SEL)))
2915#define __HAL_RCC_LPTIM3_CONFIG __HAL_RCC_LPTIM345_CONFIG
2926#define __HAL_RCC_GET_LPTIM3_SOURCE __HAL_RCC_GET_LPTIM345_SOURCE
2939#define __HAL_RCC_LPTIM4_CONFIG __HAL_RCC_LPTIM345_CONFIG
2951#define __HAL_RCC_GET_LPTIM4_SOURCE __HAL_RCC_GET_LPTIM345_SOURCE
2965#define __HAL_RCC_LPTIM5_CONFIG __HAL_RCC_LPTIM345_CONFIG
2977#define __HAL_RCC_GET_LPTIM5_SOURCE __HAL_RCC_GET_LPTIM345_SOURCE
2989#define __HAL_RCC_QSPI_CONFIG(__QSPICLKSource__) \
2990 MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_QSPISEL, (uint32_t)(__QSPICLKSource__))
3000#define __HAL_RCC_GET_QSPI_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_QSPISEL)))
3003#if defined(OCTOSPI1) || defined(OCTOSPI2)
3012#if defined(RCC_CDCCIPR_OCTOSPISEL)
3013#define __HAL_RCC_OSPI_CONFIG(__OSPICLKSource__) \
3014 MODIFY_REG(RCC->CDCCIPR, RCC_CDCCIPR_OCTOSPISEL, (uint32_t)(__OSPICLKSource__))
3016#define __HAL_RCC_OSPI_CONFIG(__OSPICLKSource__) \
3017 MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_OCTOSPISEL, (uint32_t)(__OSPICLKSource__))
3027#if defined(RCC_CDCCIPR_OCTOSPISEL)
3028#define __HAL_RCC_GET_OSPI_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIPR, RCC_CDCCIPR_OCTOSPISEL)))
3030#define __HAL_RCC_GET_OSPI_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_OCTOSPISEL)))
3042#define __HAL_RCC_DSI_CONFIG(__DSICLKSource__) \
3043 MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_DSISEL, (uint32_t)(__DSICLKSource__))
3051#define __HAL_RCC_GET_DSI_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_DSISEL)))
3062#if defined(RCC_D1CCIPR_FMCSEL)
3063#define __HAL_RCC_FMC_CONFIG(__FMCCLKSource__) \
3064 MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_FMCSEL, (uint32_t)(__FMCCLKSource__))
3066#define __HAL_RCC_FMC_CONFIG(__FMCCLKSource__) \
3067 MODIFY_REG(RCC->CDCCIPR, RCC_CDCCIPR_FMCSEL, (uint32_t)(__FMCCLKSource__))
3077#if defined(RCC_D1CCIPR_FMCSEL)
3078#define __HAL_RCC_GET_FMC_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_FMCSEL)))
3080#define __HAL_RCC_GET_FMC_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIPR, RCC_CDCCIPR_FMCSEL)))
3090#if defined(RCC_D2CCIP2R_USBSEL)
3091#define __HAL_RCC_USB_CONFIG(__USBCLKSource__) \
3092 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USBSEL, (uint32_t)(__USBCLKSource__))
3094#define __HAL_RCC_USB_CONFIG(__USBCLKSource__) \
3095 MODIFY_REG(RCC->CDCCIP2R, RCC_CDCCIP2R_USBSEL, (uint32_t)(__USBCLKSource__))
3104#if defined(RCC_D2CCIP2R_USBSEL)
3105#define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USBSEL)))
3107#define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP2R, RCC_CDCCIP2R_USBSEL)))
3117#if defined(RCC_D3CCIPR_ADCSEL)
3118#define __HAL_RCC_ADC_CONFIG(__ADCCLKSource__) \
3119 MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_ADCSEL, (uint32_t)(__ADCCLKSource__))
3121#define __HAL_RCC_ADC_CONFIG(__ADCCLKSource__) \
3122 MODIFY_REG(RCC->SRDCCIPR, RCC_SRDCCIPR_ADCSEL, (uint32_t)(__ADCCLKSource__))
3131#if defined(RCC_D3CCIPR_ADCSEL)
3132#define __HAL_RCC_GET_ADC_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_ADCSEL)))
3134#define __HAL_RCC_GET_ADC_SOURCE() ((uint32_t)(READ_BIT(RCC->SRDCCIPR, RCC_SRDCCIPR_ADCSEL)))
3143#if defined(RCC_D2CCIP1R_SWPSEL)
3144#define __HAL_RCC_SWPMI1_CONFIG(__SWPMI1CLKSource__) \
3145 MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SWPSEL, (uint32_t)(__SWPMI1CLKSource__))
3147#define __HAL_RCC_SWPMI1_CONFIG(__SWPMI1CLKSource__) \
3148 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_SWPSEL, (uint32_t)(__SWPMI1CLKSource__))
3156#if defined(RCC_D2CCIP1R_SWPSEL)
3157#define __HAL_RCC_GET_SWPMI1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SWPSEL)))
3159#define __HAL_RCC_GET_SWPMI1_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_SWPSEL)))
3168#if defined(RCC_D2CCIP1R_DFSDM1SEL)
3169#define __HAL_RCC_DFSDM1_CONFIG(__DFSDM1CLKSource__) \
3170 MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_DFSDM1SEL, (uint32_t)(__DFSDM1CLKSource__))
3172#define __HAL_RCC_DFSDM1_CONFIG(__DFSDM1CLKSource__) \
3173 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_DFSDM1SEL, (uint32_t)(__DFSDM1CLKSource__))
3181#if defined (RCC_D2CCIP1R_DFSDM1SEL)
3182#define __HAL_RCC_GET_DFSDM1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_DFSDM1SEL)))
3184#define __HAL_RCC_GET_DFSDM1_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_DFSDM1SEL)))
3187#if defined(DFSDM2_BASE)
3194#define __HAL_RCC_DFSDM2_CONFIG(__DFSDM2CLKSource__) \
3195 MODIFY_REG(RCC->SRDCCIPR, RCC_SRDCCIPR_DFSDM2SEL, (uint32_t)(__DFSDM2CLKSource__))
3202#define __HAL_RCC_GET_DFSDM2_SOURCE() ((uint32_t)(READ_BIT(RCC->SRDCCIPR, RCC_SRDCCIPR_DFSDM2SEL)))
3213#if defined(RCC_D2CCIP2R_CECSEL)
3214#define __HAL_RCC_CEC_CONFIG(__CECCLKSource__) \
3215 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_CECSEL, (uint32_t)(__CECCLKSource__))
3217#define __HAL_RCC_CEC_CONFIG(__CECCLKSource__) \
3218 MODIFY_REG(RCC->CDCCIP2R, RCC_CDCCIP2R_CECSEL, (uint32_t)(__CECCLKSource__))
3227#if defined(RCC_D2CCIP2R_CECSEL)
3228#define __HAL_RCC_GET_CEC_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_CECSEL)))
3230#define __HAL_RCC_GET_CEC_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP2R, RCC_CDCCIP2R_CECSEL)))
3240#if defined(RCC_D1CCIPR_CKPERSEL)
3241#define __HAL_RCC_CLKP_CONFIG(__CLKPSource__) \
3242 MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_CKPERSEL, (uint32_t)(__CLKPSource__))
3244#define __HAL_RCC_CLKP_CONFIG(__CLKPSource__) \
3245 MODIFY_REG(RCC->CDCCIPR, RCC_CDCCIPR_CKPERSEL, (uint32_t)(__CLKPSource__))
3254#if defined(RCC_D1CCIPR_CKPERSEL)
3255#define __HAL_RCC_GET_CLKP_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_CKPERSEL)))
3257#define __HAL_RCC_GET_CLKP_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIPR, RCC_CDCCIPR_CKPERSEL)))
3260#if defined(FDCAN1) || defined(FDCAN2)
3268#if defined(RCC_D2CCIP1R_FDCANSEL)
3269#define __HAL_RCC_FDCAN_CONFIG(__FDCANCLKSource__) \
3270 MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_FDCANSEL, (uint32_t)(__FDCANCLKSource__))
3272#define __HAL_RCC_FDCAN_CONFIG(__FDCANCLKSource__) \
3273 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_FDCANSEL, (uint32_t)(__FDCANCLKSource__))
3282#if defined(RCC_D2CCIP1R_FDCANSEL)
3283#define __HAL_RCC_GET_FDCAN_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_FDCANSEL)))
3285#define __HAL_RCC_GET_FDCAN_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_FDCANSEL)))
3302#if defined(RCC_D2CCIP1R_SPI123SEL)
3303#define __HAL_RCC_SPI123_CONFIG(__RCC_SPI123CLKSource__ )\
3304 MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL, (__RCC_SPI123CLKSource__))
3306#define __HAL_RCC_SPI123_CONFIG(__RCC_SPI123CLKSource__ )\
3307 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_SPI123SEL, (__RCC_SPI123CLKSource__))
3318#if defined(RCC_D2CCIP1R_SPI123SEL)
3319#define __HAL_RCC_GET_SPI123_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL)))
3321#define __HAL_RCC_GET_SPI123_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_SPI123SEL)))
3336#define __HAL_RCC_SPI1_CONFIG __HAL_RCC_SPI123_CONFIG
3346#define __HAL_RCC_GET_SPI1_SOURCE __HAL_RCC_GET_SPI123_SOURCE
3360#define __HAL_RCC_SPI2_CONFIG __HAL_RCC_SPI123_CONFIG
3370#define __HAL_RCC_GET_SPI2_SOURCE __HAL_RCC_GET_SPI123_SOURCE
3384#define __HAL_RCC_SPI3_CONFIG __HAL_RCC_SPI123_CONFIG
3394#define __HAL_RCC_GET_SPI3_SOURCE __HAL_RCC_GET_SPI123_SOURCE
3409#if defined(RCC_D2CCIP1R_SPI45SEL)
3410#define __HAL_RCC_SPI45_CONFIG(__RCC_SPI45CLKSource__ )\
3411 MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI45SEL, (__RCC_SPI45CLKSource__))
3413#define __HAL_RCC_SPI45_CONFIG(__RCC_SPI45CLKSource__ )\
3414 MODIFY_REG(RCC->CDCCIP1R, RCC_CDCCIP1R_SPI45SEL, (__RCC_SPI45CLKSource__))
3426#if defined(RCC_D2CCIP1R_SPI45SEL)
3427#define __HAL_RCC_GET_SPI45_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI45SEL)))
3429#define __HAL_RCC_GET_SPI45_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP1R, RCC_CDCCIP1R_SPI45SEL)))
3445#define __HAL_RCC_SPI4_CONFIG __HAL_RCC_SPI45_CONFIG
3456#define __HAL_RCC_GET_SPI4_SOURCE __HAL_RCC_GET_SPI45_SOURCE
3471#define __HAL_RCC_SPI5_CONFIG __HAL_RCC_SPI45_CONFIG
3482#define __HAL_RCC_GET_SPI5_SOURCE __HAL_RCC_GET_SPI45_SOURCE
3502#if defined(RCC_D3CCIPR_SPI6SEL)
3503#define __HAL_RCC_SPI6_CONFIG(__RCC_SPI6CLKSource__ )\
3504 MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_SPI6SEL, (__RCC_SPI6CLKSource__))
3506#define __HAL_RCC_SPI6_CONFIG(__RCC_SPI6CLKSource__ )\
3507 MODIFY_REG(RCC->SRDCCIPR, RCC_SRDCCIPR_SPI6SEL, (__RCC_SPI6CLKSource__))
3520#if defined(RCC_D3CCIPR_SPI6SEL)
3521#define __HAL_RCC_GET_SPI6_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_SPI6SEL)))
3523#define __HAL_RCC_GET_SPI6_SOURCE() ((uint32_t)(READ_BIT(RCC->SRDCCIPR, RCC_SRDCCIPR_SPI6SEL)))
3532#if defined(RCC_D1CCIPR_SDMMCSEL)
3533#define __HAL_RCC_SDMMC_CONFIG(__SDMMCCLKSource__) \
3534 MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_SDMMCSEL, (uint32_t)(__SDMMCCLKSource__))
3536#define __HAL_RCC_SDMMC_CONFIG(__SDMMCCLKSource__) \
3537 MODIFY_REG(RCC->CDCCIPR, RCC_CDCCIPR_SDMMCSEL, (uint32_t)(__SDMMCCLKSource__))
3542#if defined(RCC_D1CCIPR_SDMMCSEL)
3543#define __HAL_RCC_GET_SDMMC_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_SDMMCSEL)))
3545#define __HAL_RCC_GET_SDMMC_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIPR, RCC_CDCCIPR_SDMMCSEL)))
3557#if defined(RCC_D2CCIP2R_RNGSEL)
3558#define __HAL_RCC_RNG_CONFIG(__RNGCLKSource__) \
3559 MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_RNGSEL, (uint32_t)(__RNGCLKSource__))
3561#define __HAL_RCC_RNG_CONFIG(__RNGCLKSource__) \
3562 MODIFY_REG(RCC->CDCCIP2R, RCC_CDCCIP2R_RNGSEL, (uint32_t)(__RNGCLKSource__))
3572#if defined(RCC_D2CCIP2R_RNGSEL)
3573#define __HAL_RCC_GET_RNG_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_RNGSEL)))
3575#define __HAL_RCC_GET_RNG_SOURCE() ((uint32_t)(READ_BIT(RCC->CDCCIP2R, RCC_CDCCIP2R_RNGSEL)))
3585#define __HAL_RCC_HRTIM1_CONFIG(__HRTIM1CLKSource__) \
3586 MODIFY_REG(RCC->CFGR, RCC_CFGR_HRTIMSEL, (uint32_t)(__HRTIM1CLKSource__))
3593#define __HAL_RCC_GET_HRTIM1_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_HRTIMSEL)))
3606#define __HAL_RCC_TIMCLKPRESCALER(__PRESC__) do {RCC->CFGR &= ~(RCC_CFGR_TIMPRE);\
3607 RCC->CFGR |= (__PRESC__); \
3614#define __HAL_RCC_LSECSS_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR1, RCC_EXTI_LINE_LSECSS)
3620#define __HAL_RCC_LSECSS_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR1, RCC_EXTI_LINE_LSECSS)
3626#define __HAL_RCC_LSECSS_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR1, RCC_EXTI_LINE_LSECSS)
3632#define __HAL_RCC_LSECSS_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR1, RCC_EXTI_LINE_LSECSS)
3634#if defined(DUAL_CORE)
3639#define __HAL_RCC_C2_LSECSS_EXTI_ENABLE_IT() SET_BIT(EXTI->C2IMR1, RCC_EXTI_LINE_LSECSS)
3645#define __HAL_RCC_C2_LSECSS_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->C2IMR1, RCC_EXTI_LINE_LSECSS)
3651#define __HAL_RCC_C2_LSECSS_EXTI_ENABLE_EVENT() SET_BIT(EXTI->C2EMR1, RCC_EXTI_LINE_LSECSS)
3657#define __HAL_RCC_C2_LSECSS_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->C2EMR1, RCC_EXTI_LINE_LSECSS)
3664#define __HAL_RCC_LSECSS_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, RCC_EXTI_LINE_LSECSS)
3671#define __HAL_RCC_LSECSS_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, RCC_EXTI_LINE_LSECSS)
3678#define __HAL_RCC_LSECSS_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, RCC_EXTI_LINE_LSECSS)
3684#define __HAL_RCC_LSECSS_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, RCC_EXTI_LINE_LSECSS)
3690#define __HAL_RCC_LSECSS_EXTI_ENABLE_RISING_FALLING_EDGE() \
3692 __HAL_RCC_LSECSS_EXTI_ENABLE_RISING_EDGE(); \
3693 __HAL_RCC_LSECSS_EXTI_ENABLE_FALLING_EDGE(); \
3700#define __HAL_RCC_LSECSS_EXTI_DISABLE_RISING_FALLING_EDGE() \
3702 __HAL_RCC_LSECSS_EXTI_DISABLE_RISING_EDGE(); \
3703 __HAL_RCC_LSECSS_EXTI_DISABLE_FALLING_EDGE(); \
3710#define __HAL_RCC_LSECSS_EXTI_GET_FLAG() (READ_BIT(EXTI->PR1, RCC_EXTI_LINE_LSECSS) == RCC_EXTI_LINE_LSECSS)
3716#define __HAL_RCC_LSECSS_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR1, RCC_EXTI_LINE_LSECSS)
3718#if defined(DUAL_CORE)
3723#define __HAL_RCC_C2_LSECSS_EXTI_GET_FLAG() (READ_BIT(EXTI->C2PR1, RCC_EXTI_LINE_LSECSS) == RCC_EXTI_LINE_LSECSS)
3729#define __HAL_RCC_C2_LSECSS_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->C2PR1, RCC_EXTI_LINE_LSECSS)
3735#define __HAL_RCC_LSECSS_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER1, RCC_EXTI_LINE_LSECSS)
3747#define __HAL_RCC_CRS_ENABLE_IT(__INTERRUPT__) SET_BIT(CRS->CR, (__INTERRUPT__))
3759#define __HAL_RCC_CRS_DISABLE_IT(__INTERRUPT__) CLEAR_BIT(CRS->CR, (__INTERRUPT__))
3770#define __HAL_RCC_CRS_GET_IT_SOURCE(__INTERRUPT__) ((READ_BIT(CRS->CR, (__INTERRUPT__)) != 0U) ? SET : RESET)
3784#define RCC_CRS_IT_ERROR_MASK ((uint32_t)(RCC_CRS_IT_TRIMOVF | RCC_CRS_IT_SYNCERR | RCC_CRS_IT_SYNCMISS))
3786#define __HAL_RCC_CRS_CLEAR_IT(__INTERRUPT__) do { \
3787 if(((__INTERRUPT__) & RCC_CRS_IT_ERROR_MASK) != 0U) \
3789 WRITE_REG(CRS->ICR, CRS_ICR_ERRC | ((__INTERRUPT__) & ~RCC_CRS_IT_ERROR_MASK)); \
3793 WRITE_REG(CRS->ICR, (__INTERRUPT__)); \
3810#define __HAL_RCC_CRS_GET_FLAG(__FLAG__) (READ_BIT(CRS->ISR, (__FLAG__)) == (__FLAG__))
3828#define RCC_CRS_FLAG_ERROR_MASK ((uint32_t)(RCC_CRS_FLAG_TRIMOVF | RCC_CRS_FLAG_SYNCERR | RCC_CRS_FLAG_SYNCMISS))
3830#define __HAL_RCC_CRS_CLEAR_FLAG(__FLAG__) do { \
3831 if(((__FLAG__) & RCC_CRS_FLAG_ERROR_MASK) != 0U) \
3833 WRITE_REG(CRS->ICR, CRS_ICR_ERRC | ((__FLAG__) & ~RCC_CRS_FLAG_ERROR_MASK)); \
3837 WRITE_REG(CRS->ICR, (__FLAG__)); \
3849#define __HAL_RCC_CRS_FREQ_ERROR_COUNTER_ENABLE() SET_BIT(CRS->CR, CRS_CR_CEN)
3855#define __HAL_RCC_CRS_FREQ_ERROR_COUNTER_DISABLE() CLEAR_BIT(CRS->CR, CRS_CR_CEN)
3862#define __HAL_RCC_CRS_AUTOMATIC_CALIB_ENABLE() SET_BIT(CRS->CR, CRS_CR_AUTOTRIMEN)
3868#define __HAL_RCC_CRS_AUTOMATIC_CALIB_DISABLE() CLEAR_BIT(CRS->CR, CRS_CR_AUTOTRIMEN)
3880#define __HAL_RCC_CRS_RELOADVALUE_CALCULATE(__FTARGET__, __FSYNC__) (((__FTARGET__) / (__FSYNC__)) - 1U)
3924#if defined(DUAL_CORE)
3925void HAL_RCCEx_EnableBootCore(uint32_t RCC_BootCx);
3927#if defined(RCC_GCR_WW1RSC)
3928void HAL_RCCEx_WWDGxSysResetConfig(uint32_t RCC_WWDGx);
3965#define IS_RCC_PLL2CLOCKOUT_VALUE(VALUE) (((VALUE) == RCC_PLL2_DIVP) || \
3966 ((VALUE) == RCC_PLL2_DIVQ) || \
3967 ((VALUE) == RCC_PLL2_DIVR))
3969#define IS_RCC_PLL3CLOCKOUT_VALUE(VALUE) (((VALUE) == RCC_PLL3_DIVP) || \
3970 ((VALUE) == RCC_PLL3_DIVQ) || \
3971 ((VALUE) == RCC_PLL3_DIVR))
3973#if defined(RCC_D2CCIP2R_USART16SEL)
3974#define IS_RCC_USART16CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART16CLKSOURCE_D2PCLK2)|| \
3975 ((SOURCE) == RCC_USART16CLKSOURCE_PLL2) || \
3976 ((SOURCE) == RCC_USART16CLKSOURCE_PLL3) || \
3977 ((SOURCE) == RCC_USART16CLKSOURCE_CSI) || \
3978 ((SOURCE) == RCC_USART16CLKSOURCE_LSE) || \
3979 ((SOURCE) == RCC_USART16CLKSOURCE_HSI))
3981#define IS_RCC_USART16CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART16CLKSOURCE_D2PCLK2)|| \
3982 ((SOURCE) == RCC_USART16CLKSOURCE_CDPCLK2)|| \
3983 ((SOURCE) == RCC_USART16CLKSOURCE_PLL2) || \
3984 ((SOURCE) == RCC_USART16CLKSOURCE_PLL3) || \
3985 ((SOURCE) == RCC_USART16CLKSOURCE_CSI) || \
3986 ((SOURCE) == RCC_USART16CLKSOURCE_LSE) || \
3987 ((SOURCE) == RCC_USART16CLKSOURCE_HSI))
3989#define IS_RCC_USART16910CLKSOURCE IS_RCC_USART16CLKSOURCE
3992#if defined(RCC_D2CCIP2R_USART28SEL)
3993#define IS_RCC_USART234578CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART234578CLKSOURCE_D2PCLK1)|| \
3994 ((SOURCE) == RCC_USART234578CLKSOURCE_PLL2) || \
3995 ((SOURCE) == RCC_USART234578CLKSOURCE_PLL3) || \
3996 ((SOURCE) == RCC_USART234578CLKSOURCE_CSI) || \
3997 ((SOURCE) == RCC_USART234578CLKSOURCE_LSE) || \
3998 ((SOURCE) == RCC_USART234578CLKSOURCE_HSI))
4000#define IS_RCC_USART234578CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART234578CLKSOURCE_D2PCLK1)|| \
4001 ((SOURCE) == RCC_USART234578CLKSOURCE_CDPCLK1)|| \
4002 ((SOURCE) == RCC_USART234578CLKSOURCE_PLL2) || \
4003 ((SOURCE) == RCC_USART234578CLKSOURCE_PLL3) || \
4004 ((SOURCE) == RCC_USART234578CLKSOURCE_CSI) || \
4005 ((SOURCE) == RCC_USART234578CLKSOURCE_LSE) || \
4006 ((SOURCE) == RCC_USART234578CLKSOURCE_HSI))
4009#define IS_RCC_USART1CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART1CLKSOURCE_D2PCLK2)|| \
4010 ((SOURCE) == RCC_USART1CLKSOURCE_PLL2) || \
4011 ((SOURCE) == RCC_USART1CLKSOURCE_PLL3) || \
4012 ((SOURCE) == RCC_USART1CLKSOURCE_CSI) || \
4013 ((SOURCE) == RCC_USART1CLKSOURCE_LSE) || \
4014 ((SOURCE) == RCC_USART1CLKSOURCE_HSI))
4016#define IS_RCC_USART2CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART2CLKSOURCE_D2PCLK1)|| \
4017 ((SOURCE) == RCC_USART2CLKSOURCE_PLL2) || \
4018 ((SOURCE) == RCC_USART2CLKSOURCE_PLL3) || \
4019 ((SOURCE) == RCC_USART2CLKSOURCE_CSI) || \
4020 ((SOURCE) == RCC_USART2CLKSOURCE_LSE) || \
4021 ((SOURCE) == RCC_USART2CLKSOURCE_HSI))
4023#define IS_RCC_USART3CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART3CLKSOURCE_D2PCLK1)|| \
4024 ((SOURCE) == RCC_USART3CLKSOURCE_PLL2) || \
4025 ((SOURCE) == RCC_USART3CLKSOURCE_PLL3) || \
4026 ((SOURCE) == RCC_USART3CLKSOURCE_CSI) || \
4027 ((SOURCE) == RCC_USART3CLKSOURCE_LSE) || \
4028 ((SOURCE) == RCC_USART3CLKSOURCE_HSI))
4030#define IS_RCC_UART4CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART4CLKSOURCE_D2PCLK1) || \
4031 ((SOURCE) == RCC_UART4CLKSOURCE_PLL2) || \
4032 ((SOURCE) == RCC_UART4CLKSOURCE_PLL3) || \
4033 ((SOURCE) == RCC_UART4CLKSOURCE_CSI) || \
4034 ((SOURCE) == RCC_UART4CLKSOURCE_LSE) || \
4035 ((SOURCE) == RCC_UART4CLKSOURCE_HSI))
4037#define IS_RCC_UART5CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART5CLKSOURCE_D2PCLK1) || \
4038 ((SOURCE) == RCC_UART5CLKSOURCE_PLL2) || \
4039 ((SOURCE) == RCC_UART5CLKSOURCE_PLL3) || \
4040 ((SOURCE) == RCC_UART5CLKSOURCE_CSI) || \
4041 ((SOURCE) == RCC_UART5CLKSOURCE_LSE) || \
4042 ((SOURCE) == RCC_UART5CLKSOURCE_HSI))
4044#define IS_RCC_USART6CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART6CLKSOURCE_D2PCLK2)|| \
4045 ((SOURCE) == RCC_USART6CLKSOURCE_PLL2) || \
4046 ((SOURCE) == RCC_USART6CLKSOURCE_PLL3) || \
4047 ((SOURCE) == RCC_USART6CLKSOURCE_CSI) || \
4048 ((SOURCE) == RCC_USART6CLKSOURCE_LSE) || \
4049 ((SOURCE) == RCC_USART6CLKSOURCE_HSI))
4051#define IS_RCC_UART7CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART7CLKSOURCE_D2PCLK1) || \
4052 ((SOURCE) == RCC_UART7CLKSOURCE_PLL2) || \
4053 ((SOURCE) == RCC_UART7CLKSOURCE_PLL3) || \
4054 ((SOURCE) == RCC_UART7CLKSOURCE_CSI) || \
4055 ((SOURCE) == RCC_UART7CLKSOURCE_LSE) || \
4056 ((SOURCE) == RCC_UART7CLKSOURCE_HSI))
4058#define IS_RCC_UART8CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART8CLKSOURCE_D2PCLK1) || \
4059 ((SOURCE) == RCC_UART8CLKSOURCE_PLL2) || \
4060 ((SOURCE) == RCC_UART8CLKSOURCE_PLL3) || \
4061 ((SOURCE) == RCC_UART8CLKSOURCE_CSI) || \
4062 ((SOURCE) == RCC_UART8CLKSOURCE_LSE) || \
4063 ((SOURCE) == RCC_UART8CLKSOURCE_HSI))
4066#define IS_RCC_UART9CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART9CLKSOURCE_D2PCLK2)|| \
4067 ((SOURCE) == RCC_UART9CLKSOURCE_PLL2) || \
4068 ((SOURCE) == RCC_UART9CLKSOURCE_PLL3) || \
4069 ((SOURCE) == RCC_UART9CLKSOURCE_CSI) || \
4070 ((SOURCE) == RCC_UART9CLKSOURCE_LSE) || \
4071 ((SOURCE) == RCC_UART9CLKSOURCE_HSI))
4075#define IS_RCC_USART10CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART10CLKSOURCE_D2PCLK2)|| \
4076 ((SOURCE) == RCC_USART10CLKSOURCE_PLL2) || \
4077 ((SOURCE) == RCC_USART10CLKSOURCE_PLL3) || \
4078 ((SOURCE) == RCC_USART10CLKSOURCE_CSI) || \
4079 ((SOURCE) == RCC_USART10CLKSOURCE_LSE) || \
4080 ((SOURCE) == RCC_USART10CLKSOURCE_HSI))
4083#define IS_RCC_LPUART1CLKSOURCE(SOURCE) (((SOURCE) == RCC_LPUART1CLKSOURCE_D3PCLK1) || \
4084 ((SOURCE) == RCC_LPUART1CLKSOURCE_PLL2) || \
4085 ((SOURCE) == RCC_LPUART1CLKSOURCE_PLL3) || \
4086 ((SOURCE) == RCC_LPUART1CLKSOURCE_CSI) || \
4087 ((SOURCE) == RCC_LPUART1CLKSOURCE_LSE) || \
4088 ((SOURCE) == RCC_LPUART1CLKSOURCE_HSI))
4091#define IS_RCC_I2C1235CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C1235CLKSOURCE_PLL3) || \
4092 ((SOURCE) == RCC_I2C1235CLKSOURCE_HSI) || \
4093 ((SOURCE) == RCC_I2C1235CLKSOURCE_D2PCLK1) || \
4094 ((SOURCE) == RCC_I2C1235CLKSOURCE_CSI))
4096#define IS_RCC_I2C123CLKSOURCE IS_RCC_I2C1235CLKSOURCE
4098#define IS_RCC_I2C123CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C123CLKSOURCE_PLL3) || \
4099 ((SOURCE) == RCC_I2C123CLKSOURCE_HSI) || \
4100 ((SOURCE) == RCC_I2C123CLKSOURCE_D2PCLK1)|| \
4101 ((SOURCE) == RCC_I2C123CLKSOURCE_CSI))
4104#define IS_RCC_I2C1CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C1CLKSOURCE_PLL3) || \
4105 ((SOURCE) == RCC_I2C1CLKSOURCE_HSI) || \
4106 ((SOURCE) == RCC_I2C1CLKSOURCE_D2PCLK1)|| \
4107 ((SOURCE) == RCC_I2C1CLKSOURCE_CSI))
4109#define IS_RCC_I2C2CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C2CLKSOURCE_PLL3) || \
4110 ((SOURCE) == RCC_I2C2CLKSOURCE_HSI) || \
4111 ((SOURCE) == RCC_I2C2CLKSOURCE_D2PCLK1)|| \
4112 ((SOURCE) == RCC_I2C2CLKSOURCE_CSI))
4114#define IS_RCC_I2C3CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C3CLKSOURCE_PLL3) || \
4115 ((SOURCE) == RCC_I2C3CLKSOURCE_HSI) || \
4116 ((SOURCE) == RCC_I2C3CLKSOURCE_D2PCLK1)|| \
4117 ((SOURCE) == RCC_I2C3CLKSOURCE_CSI))
4119#define IS_RCC_I2C4CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C4CLKSOURCE_PLL3) || \
4120 ((SOURCE) == RCC_I2C4CLKSOURCE_HSI) || \
4121 ((SOURCE) == RCC_I2C4CLKSOURCE_D3PCLK1)|| \
4122 ((SOURCE) == RCC_I2C4CLKSOURCE_CSI))
4125#define IS_RCC_I2C5CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C5CLKSOURCE_PLL3) || \
4126 ((SOURCE) == RCC_I2C5CLKSOURCE_HSI) || \
4127 ((SOURCE) == RCC_I2C5CLKSOURCE_D2PCLK1)|| \
4128 ((SOURCE) == RCC_I2C5CLKSOURCE_CSI))
4131#define IS_RCC_RNGCLKSOURCE(SOURCE) (((SOURCE) == RCC_RNGCLKSOURCE_HSI48)|| \
4132 ((SOURCE) == RCC_RNGCLKSOURCE_PLL) || \
4133 ((SOURCE) == RCC_RNGCLKSOURCE_LSE) || \
4134 ((SOURCE) == RCC_RNGCLKSOURCE_LSI))
4137#define IS_RCC_HRTIM1CLKSOURCE(SOURCE) (((SOURCE) == RCC_HRTIM1CLK_TIMCLK) || \
4138 ((SOURCE) == RCC_HRTIM1CLK_CPUCLK))
4141#define IS_RCC_USBCLKSOURCE(SOURCE) (((SOURCE) == RCC_USBCLKSOURCE_PLL) || \
4142 ((SOURCE) == RCC_USBCLKSOURCE_PLL3) || \
4143 ((SOURCE) == RCC_USBCLKSOURCE_HSI48))
4145#define IS_RCC_SAI1CLK(__SOURCE__) \
4146 (((__SOURCE__) == RCC_SAI1CLKSOURCE_PLL) || \
4147 ((__SOURCE__) == RCC_SAI1CLKSOURCE_PLL2) || \
4148 ((__SOURCE__) == RCC_SAI1CLKSOURCE_PLL3) || \
4149 ((__SOURCE__) == RCC_SAI1CLKSOURCE_CLKP) || \
4150 ((__SOURCE__) == RCC_SAI1CLKSOURCE_PIN))
4153#define IS_RCC_SAI23CLK(__SOURCE__) \
4154 (((__SOURCE__) == RCC_SAI23CLKSOURCE_PLL) || \
4155 ((__SOURCE__) == RCC_SAI23CLKSOURCE_PLL2) || \
4156 ((__SOURCE__) == RCC_SAI23CLKSOURCE_PLL3) || \
4157 ((__SOURCE__) == RCC_SAI23CLKSOURCE_CLKP) || \
4158 ((__SOURCE__) == RCC_SAI23CLKSOURCE_PIN))
4160#define IS_RCC_SAI2CLK(__SOURCE__) \
4161 (((__SOURCE__) == RCC_SAI2CLKSOURCE_PLL) || \
4162 ((__SOURCE__) == RCC_SAI2CLKSOURCE_PLL2) || \
4163 ((__SOURCE__) == RCC_SAI2CLKSOURCE_PLL3) || \
4164 ((__SOURCE__) == RCC_SAI2CLKSOURCE_CLKP) || \
4165 ((__SOURCE__) == RCC_SAI2CLKSOURCE_PIN))
4168#define IS_RCC_SAI3CLK(__SOURCE__) \
4169 (((__SOURCE__) == RCC_SAI3CLKSOURCE_PLL) || \
4170 ((__SOURCE__) == RCC_SAI3CLKSOURCE_PLL2) || \
4171 ((__SOURCE__) == RCC_SAI3CLKSOURCE_PLL3) || \
4172 ((__SOURCE__) == RCC_SAI3CLKSOURCE_CLKP) || \
4173 ((__SOURCE__) == RCC_SAI3CLKSOURCE_PIN))
4176#if defined(RCC_CDCCIP1R_SAI2ASEL)
4177#define IS_RCC_SAI2ACLK(__SOURCE__) \
4178 (((__SOURCE__) == RCC_SAI2ACLKSOURCE_PLL) || \
4179 ((__SOURCE__) == RCC_SAI2ACLKSOURCE_PLL2) || \
4180 ((__SOURCE__) == RCC_SAI2ACLKSOURCE_PLL3) || \
4181 ((__SOURCE__) == RCC_SAI2ACLKSOURCE_CLKP) || \
4182 ((__SOURCE__) == RCC_SAI2ACLKSOURCE_PIN) || \
4183 ((__SOURCE__) == RCC_SAI2ACLKSOURCE_SPDIF))
4186#if defined(RCC_CDCCIP1R_SAI2BSEL)
4187#define IS_RCC_SAI2BCLK(__SOURCE__) \
4188 (((__SOURCE__) == RCC_SAI2BCLKSOURCE_PLL) || \
4189 ((__SOURCE__) == RCC_SAI2BCLKSOURCE_PLL2) || \
4190 ((__SOURCE__) == RCC_SAI2BCLKSOURCE_PLL3) || \
4191 ((__SOURCE__) == RCC_SAI2BCLKSOURCE_CLKP) || \
4192 ((__SOURCE__) == RCC_SAI2BCLKSOURCE_PIN) || \
4193 ((__SOURCE__) == RCC_SAI2BCLKSOURCE_SPDIF))
4196#define IS_RCC_SPI123CLK(__SOURCE__) \
4197 (((__SOURCE__) == RCC_SPI123CLKSOURCE_PLL) || \
4198 ((__SOURCE__) == RCC_SPI123CLKSOURCE_PLL2) || \
4199 ((__SOURCE__) == RCC_SPI123CLKSOURCE_PLL3) || \
4200 ((__SOURCE__) == RCC_SPI123CLKSOURCE_CLKP) || \
4201 ((__SOURCE__) == RCC_SPI123CLKSOURCE_PIN))
4203#define IS_RCC_SPI1CLK(__SOURCE__) \
4204 (((__SOURCE__) == RCC_SPI1CLKSOURCE_PLL) || \
4205 ((__SOURCE__) == RCC_SPI1CLKSOURCE_PLL2) || \
4206 ((__SOURCE__) == RCC_SPI1CLKSOURCE_PLL3) || \
4207 ((__SOURCE__) == RCC_SPI1CLKSOURCE_CLKP) || \
4208 ((__SOURCE__) == RCC_SPI1CLKSOURCE_PIN))
4210#define IS_RCC_SPI2CLK(__SOURCE__) \
4211 (((__SOURCE__) == RCC_SPI2CLKSOURCE_PLL) || \
4212 ((__SOURCE__) == RCC_SPI2CLKSOURCE_PLL2) || \
4213 ((__SOURCE__) == RCC_SPI2CLKSOURCE_PLL3) || \
4214 ((__SOURCE__) == RCC_SPI2CLKSOURCE_CLKP) || \
4215 ((__SOURCE__) == RCC_SPI2CLKSOURCE_PIN))
4217#define IS_RCC_SPI3CLK(__SOURCE__) \
4218 (((__SOURCE__) == RCC_SPI3CLKSOURCE_PLL) || \
4219 ((__SOURCE__) == RCC_SPI3CLKSOURCE_PLL2) || \
4220 ((__SOURCE__) == RCC_SPI3CLKSOURCE_PLL3) || \
4221 ((__SOURCE__) == RCC_SPI3CLKSOURCE_CLKP) || \
4222 ((__SOURCE__) == RCC_SPI3CLKSOURCE_PIN))
4224#define IS_RCC_SPI45CLK(__SOURCE__) \
4225 (((__SOURCE__) == RCC_SPI45CLKSOURCE_D2PCLK2) || \
4226 ((__SOURCE__) == RCC_SPI45CLKSOURCE_PLL2) || \
4227 ((__SOURCE__) == RCC_SPI45CLKSOURCE_PLL3) || \
4228 ((__SOURCE__) == RCC_SPI45CLKSOURCE_HSI) || \
4229 ((__SOURCE__) == RCC_SPI45CLKSOURCE_CSI) || \
4230 ((__SOURCE__) == RCC_SPI45CLKSOURCE_HSE))
4232#define IS_RCC_SPI4CLK(__SOURCE__) \
4233 (((__SOURCE__) == RCC_SPI4CLKSOURCE_D2PCLK2) || \
4234 ((__SOURCE__) == RCC_SPI4CLKSOURCE_PLL2) || \
4235 ((__SOURCE__) == RCC_SPI4CLKSOURCE_PLL3) || \
4236 ((__SOURCE__) == RCC_SPI4CLKSOURCE_HSI) || \
4237 ((__SOURCE__) == RCC_SPI4CLKSOURCE_CSI) || \
4238 ((__SOURCE__) == RCC_SPI4CLKSOURCE_HSE))
4240#define IS_RCC_SPI5CLK(__SOURCE__) \
4241 (((__SOURCE__) == RCC_SPI5CLKSOURCE_D2PCLK2)|| \
4242 ((__SOURCE__) == RCC_SPI5CLKSOURCE_PLL2) || \
4243 ((__SOURCE__) == RCC_SPI5CLKSOURCE_PLL3) || \
4244 ((__SOURCE__) == RCC_SPI5CLKSOURCE_HSI) || \
4245 ((__SOURCE__) == RCC_SPI5CLKSOURCE_CSI) || \
4246 ((__SOURCE__) == RCC_SPI5CLKSOURCE_HSE))
4248#if defined(RCC_D3CCIPR_SPI6SEL)
4249#define IS_RCC_SPI6CLK(__SOURCE__) \
4250 (((__SOURCE__) == RCC_SPI6CLKSOURCE_D3PCLK1) || \
4251 ((__SOURCE__) == RCC_SPI6CLKSOURCE_PLL2) || \
4252 ((__SOURCE__) == RCC_SPI6CLKSOURCE_PLL3) || \
4253 ((__SOURCE__) == RCC_SPI6CLKSOURCE_HSI) || \
4254 ((__SOURCE__) == RCC_SPI6CLKSOURCE_CSI) || \
4255 ((__SOURCE__) == RCC_SPI6CLKSOURCE_HSE))
4257#define IS_RCC_SPI6CLK(__SOURCE__) \
4258 (((__SOURCE__) == RCC_SPI6CLKSOURCE_D3PCLK1) || \
4259 ((__SOURCE__) == RCC_SPI6CLKSOURCE_PLL2) || \
4260 ((__SOURCE__) == RCC_SPI6CLKSOURCE_PLL3) || \
4261 ((__SOURCE__) == RCC_SPI6CLKSOURCE_HSI) || \
4262 ((__SOURCE__) == RCC_SPI6CLKSOURCE_CSI) || \
4263 ((__SOURCE__) == RCC_SPI6CLKSOURCE_HSE) || \
4264 ((__SOURCE__) == RCC_SPI6CLKSOURCE_PIN))
4268#define IS_RCC_SAI4ACLK(__SOURCE__) \
4269 (((__SOURCE__) == RCC_SAI4ACLKSOURCE_PLL) || \
4270 ((__SOURCE__) == RCC_SAI4ACLKSOURCE_PLL2) || \
4271 ((__SOURCE__) == RCC_SAI4ACLKSOURCE_PLL3) || \
4272 ((__SOURCE__) == RCC_SAI4ACLKSOURCE_CLKP) || \
4273 ((__SOURCE__) == RCC_SAI4ACLKSOURCE_PIN))
4275#define IS_RCC_SAI4BCLK(__SOURCE__) \
4276 (((__SOURCE__) == RCC_SAI4BCLKSOURCE_PLL) || \
4277 ((__SOURCE__) == RCC_SAI4BCLKSOURCE_PLL2) || \
4278 ((__SOURCE__) == RCC_SAI4BCLKSOURCE_PLL3) || \
4279 ((__SOURCE__) == RCC_SAI4BCLKSOURCE_CLKP) || \
4280 ((__SOURCE__) == RCC_SAI4BCLKSOURCE_PIN))
4283#define IS_RCC_PLL3M_VALUE(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 63U))
4284#define IS_RCC_PLL3N_VALUE(VALUE) ((4U <= (VALUE)) && ((VALUE) <= 512U))
4285#define IS_RCC_PLL3P_VALUE(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 128U))
4286#define IS_RCC_PLL3Q_VALUE(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 128U))
4287#define IS_RCC_PLL3R_VALUE(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 128U))
4289#define IS_RCC_PLL2M_VALUE(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 63U))
4290#define IS_RCC_PLL2N_VALUE(VALUE) ((4U <= (VALUE)) && ((VALUE) <= 512U))
4291#define IS_RCC_PLL2P_VALUE(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 128U))
4292#define IS_RCC_PLL2Q_VALUE(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 128U))
4293#define IS_RCC_PLL2R_VALUE(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 128U))
4295#define IS_RCC_PLL2RGE_VALUE(VALUE) (((VALUE) == RCC_PLL2VCIRANGE_0) || \
4296 ((VALUE) == RCC_PLL2VCIRANGE_1) || \
4297 ((VALUE) == RCC_PLL2VCIRANGE_2) || \
4298 ((VALUE) == RCC_PLL2VCIRANGE_3))
4300#define IS_RCC_PLL3RGE_VALUE(VALUE) (((VALUE) == RCC_PLL3VCIRANGE_0) || \
4301 ((VALUE) == RCC_PLL3VCIRANGE_1) || \
4302 ((VALUE) == RCC_PLL3VCIRANGE_2) || \
4303 ((VALUE) == RCC_PLL3VCIRANGE_3))
4305#define IS_RCC_PLL2VCO_VALUE(VALUE) (((VALUE) == RCC_PLL2VCOWIDE) || \
4306 ((VALUE) == RCC_PLL2VCOMEDIUM))
4308#define IS_RCC_PLL3VCO_VALUE(VALUE) (((VALUE) == RCC_PLL3VCOWIDE) || \
4309 ((VALUE) == RCC_PLL3VCOMEDIUM))
4311#define IS_RCC_LPTIM1CLK(SOURCE) (((SOURCE) == RCC_LPTIM1CLKSOURCE_D2PCLK1)|| \
4312 ((SOURCE) == RCC_LPTIM1CLKSOURCE_PLL2) || \
4313 ((SOURCE) == RCC_LPTIM1CLKSOURCE_PLL3) || \
4314 ((SOURCE) == RCC_LPTIM1CLKSOURCE_LSE) || \
4315 ((SOURCE) == RCC_LPTIM1CLKSOURCE_LSI) || \
4316 ((SOURCE) == RCC_LPTIM1CLKSOURCE_CLKP))
4318#define IS_RCC_LPTIM2CLK(SOURCE) (((SOURCE) == RCC_LPTIM2CLKSOURCE_D3PCLK1)|| \
4319 ((SOURCE) == RCC_LPTIM2CLKSOURCE_PLL2) || \
4320 ((SOURCE) == RCC_LPTIM2CLKSOURCE_PLL3) || \
4321 ((SOURCE) == RCC_LPTIM2CLKSOURCE_LSE) || \
4322 ((SOURCE) == RCC_LPTIM2CLKSOURCE_LSI) || \
4323 ((SOURCE) == RCC_LPTIM2CLKSOURCE_CLKP))
4325#define IS_RCC_LPTIM345CLK(SOURCE) (((SOURCE) == RCC_LPTIM345CLKSOURCE_D3PCLK1)|| \
4326 ((SOURCE) == RCC_LPTIM345CLKSOURCE_PLL2) || \
4327 ((SOURCE) == RCC_LPTIM345CLKSOURCE_PLL3) || \
4328 ((SOURCE) == RCC_LPTIM345CLKSOURCE_LSE) || \
4329 ((SOURCE) == RCC_LPTIM345CLKSOURCE_LSI) || \
4330 ((SOURCE) == RCC_LPTIM345CLKSOURCE_CLKP))
4332#define IS_RCC_LPTIM3CLK(SOURCE) (((SOURCE) == RCC_LPTIM3CLKSOURCE_D3PCLK1) || \
4333 ((SOURCE) == RCC_LPTIM3CLKSOURCE_PLL2) || \
4334 ((SOURCE) == RCC_LPTIM3CLKSOURCE_PLL3) || \
4335 ((SOURCE) == RCC_LPTIM3CLKSOURCE_LSE) || \
4336 ((SOURCE) == RCC_LPTIM3CLKSOURCE_LSI) || \
4337 ((SOURCE) == RCC_LPTIM3CLKSOURCE_CLKP))
4340#define IS_RCC_LPTIM4CLK(SOURCE) (((SOURCE) == RCC_LPTIM4CLKSOURCE_D3PCLK1)|| \
4341 ((SOURCE) == RCC_LPTIM4CLKSOURCE_PLL2) || \
4342 ((SOURCE) == RCC_LPTIM4CLKSOURCE_PLL3) || \
4343 ((SOURCE) == RCC_LPTIM4CLKSOURCE_LSE) || \
4344 ((SOURCE) == RCC_LPTIM4CLKSOURCE_LSI) || \
4345 ((SOURCE) == RCC_LPTIM4CLKSOURCE_CLKP))
4349#define IS_RCC_LPTIM5CLK(SOURCE) (((SOURCE) == RCC_LPTIM5CLKSOURCE_D3PCLK1)|| \
4350 ((SOURCE) == RCC_LPTIM5CLKSOURCE_PLL2) || \
4351 ((SOURCE) == RCC_LPTIM5CLKSOURCE_PLL3) || \
4352 ((SOURCE) == RCC_LPTIM5CLKSOURCE_LSE) || \
4353 ((SOURCE) == RCC_LPTIM5CLKSOURCE_LSI) || \
4354 ((SOURCE) == RCC_LPTIM5CLKSOURCE_CLKP))
4358#define IS_RCC_QSPICLK(__SOURCE__) \
4359 (((__SOURCE__) == RCC_QSPICLKSOURCE_D1HCLK) || \
4360 ((__SOURCE__) == RCC_QSPICLKSOURCE_PLL) || \
4361 ((__SOURCE__) == RCC_QSPICLKSOURCE_PLL2) || \
4362 ((__SOURCE__) == RCC_QSPICLKSOURCE_CLKP))
4365#if defined(OCTOSPI1) || defined(OCTOSPI1)
4366#define IS_RCC_OSPICLK(__SOURCE__) \
4367 (((__SOURCE__) == RCC_OSPICLKSOURCE_D1HCLK) || \
4368 ((__SOURCE__) == RCC_OSPICLKSOURCE_PLL) || \
4369 ((__SOURCE__) == RCC_OSPICLKSOURCE_PLL2) || \
4370 ((__SOURCE__) == RCC_OSPICLKSOURCE_CLKP))
4374#define IS_RCC_DSICLK(__SOURCE__) \
4375 (((__SOURCE__) == RCC_DSICLKSOURCE_PHY) || \
4376 ((__SOURCE__) == RCC_DSICLKSOURCE_PLL2))
4379#define IS_RCC_FMCCLK(__SOURCE__) \
4380 (((__SOURCE__) == RCC_FMCCLKSOURCE_D1HCLK) || \
4381 ((__SOURCE__) == RCC_FMCCLKSOURCE_PLL) || \
4382 ((__SOURCE__) == RCC_FMCCLKSOURCE_PLL2) || \
4383 ((__SOURCE__) == RCC_FMCCLKSOURCE_CLKP))
4385#if defined(FDCAN1) || defined(FDCAN2)
4386#define IS_RCC_FDCANCLK(__SOURCE__) \
4387 (((__SOURCE__) == RCC_FDCANCLKSOURCE_HSE) || \
4388 ((__SOURCE__) == RCC_FDCANCLKSOURCE_PLL) || \
4389 ((__SOURCE__) == RCC_FDCANCLKSOURCE_PLL2))
4392#define IS_RCC_SDMMC(__SOURCE__) \
4393 (((__SOURCE__) == RCC_SDMMCCLKSOURCE_PLL) || \
4394 ((__SOURCE__) == RCC_SDMMCCLKSOURCE_PLL2))
4396#define IS_RCC_ADCCLKSOURCE(SOURCE) (((SOURCE) == RCC_ADCCLKSOURCE_PLL2) || \
4397 ((SOURCE) == RCC_ADCCLKSOURCE_PLL3) || \
4398 ((SOURCE) == RCC_ADCCLKSOURCE_CLKP))
4400#define IS_RCC_SWPMI1CLKSOURCE(SOURCE) (((SOURCE) == RCC_SWPMI1CLKSOURCE_D2PCLK1) || \
4401 ((SOURCE) == RCC_SWPMI1CLKSOURCE_HSI))
4403#define IS_RCC_DFSDM1CLKSOURCE(SOURCE) (((SOURCE) == RCC_DFSDM1CLKSOURCE_D2PCLK1) || \
4404 ((SOURCE) == RCC_DFSDM1CLKSOURCE_SYS))
4406#if defined(DFSDM2_BASE)
4407#define IS_RCC_DFSDM2CLKSOURCE(SOURCE) (((SOURCE) == RCC_DFSDM2CLKSOURCE_SRDPCLK1) || \
4408 ((SOURCE) == RCC_DFSDM2CLKSOURCE_SYS))
4411#define IS_RCC_SPDIFRXCLKSOURCE(SOURCE)(((SOURCE) == RCC_SPDIFRXCLKSOURCE_PLL) || \
4412 ((SOURCE) == RCC_SPDIFRXCLKSOURCE_PLL2) || \
4413 ((SOURCE) == RCC_SPDIFRXCLKSOURCE_PLL3) || \
4414 ((SOURCE) == RCC_SPDIFRXCLKSOURCE_HSI))
4416#define IS_RCC_CECCLKSOURCE(SOURCE) (((SOURCE) == RCC_CECCLKSOURCE_LSE) || \
4417 ((SOURCE) == RCC_CECCLKSOURCE_LSI) || \
4418 ((SOURCE) == RCC_CECCLKSOURCE_CSI))
4420#define IS_RCC_CLKPSOURCE(SOURCE) (((SOURCE) == RCC_CLKPSOURCE_HSI) || \
4421 ((SOURCE) == RCC_CLKPSOURCE_CSI) || \
4422 ((SOURCE) == RCC_CLKPSOURCE_HSE))
4423#define IS_RCC_TIMPRES(VALUE) \
4424 (((VALUE) == RCC_TIMPRES_DESACTIVATED) || \
4425 ((VALUE) == RCC_TIMPRES_ACTIVATED))
4427#if defined(DUAL_CORE)
4428#define IS_RCC_BOOT_CORE(CORE) (((CORE) == RCC_BOOT_C1) || \
4429 ((CORE) == RCC_BOOT_C2))
4432#if defined(DUAL_CORE)
4433#define IS_RCC_SCOPE_WWDG(WWDG) (((WWDG) == RCC_WWDG1) || \
4434 ((WWDG) == RCC_WWDG2))
4436#define IS_RCC_SCOPE_WWDG(WWDG) ((WWDG) == RCC_WWDG1)
4440#define IS_RCC_CRS_SYNC_SOURCE(__SOURCE__) (((__SOURCE__) == RCC_CRS_SYNC_SOURCE_USB2) || \
4441 ((__SOURCE__) == RCC_CRS_SYNC_SOURCE_LSE) || \
4442 ((__SOURCE__) == RCC_CRS_SYNC_SOURCE_USB1) || \
4443 ((__SOURCE__) == RCC_CRS_SYNC_SOURCE_PIN))
4445#define IS_RCC_CRS_SYNC_DIV(__DIV__) (((__DIV__) == RCC_CRS_SYNC_DIV1) || ((__DIV__) == RCC_CRS_SYNC_DIV2) || \
4446 ((__DIV__) == RCC_CRS_SYNC_DIV4) || ((__DIV__) == RCC_CRS_SYNC_DIV8) || \
4447 ((__DIV__) == RCC_CRS_SYNC_DIV16) || ((__DIV__) == RCC_CRS_SYNC_DIV32) || \
4448 ((__DIV__) == RCC_CRS_SYNC_DIV64) || ((__DIV__) == RCC_CRS_SYNC_DIV128))
4450#define IS_RCC_CRS_SYNC_POLARITY(__POLARITY__) (((__POLARITY__) == RCC_CRS_SYNC_POLARITY_RISING) || \
4451 ((__POLARITY__) == RCC_CRS_SYNC_POLARITY_FALLING))
4453#define IS_RCC_CRS_RELOADVALUE(__VALUE__) (((__VALUE__) <= 0xFFFFU))
4455#define IS_RCC_CRS_ERRORLIMIT(__VALUE__) (((__VALUE__) <= 0xFFU))
4457#define IS_RCC_CRS_HSI48CALIBRATION(__VALUE__) (((__VALUE__) <= 0x3FU))
4459#define IS_RCC_CRS_FREQERRORDIR(__DIR__) (((__DIR__) == RCC_CRS_FREQERRORDIR_UP) || \
4460 ((__DIR__) == RCC_CRS_FREQERRORDIR_DOWN))
HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
uint32_t HAL_RCCEx_GetD3PCLK1Freq(void)
void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
uint32_t HAL_RCCEx_GetD1PCLK1Freq(void)
void HAL_RCCEx_GetPLL3ClockFreq(PLL3_ClocksTypeDef *PLL3_Clocks)
void HAL_RCCEx_GetPLL1ClockFreq(PLL1_ClocksTypeDef *PLL1_Clocks)
uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint64_t PeriphClk)
uint32_t HAL_RCCEx_GetD1SysClockFreq(void)
void HAL_RCCEx_GetPLL2ClockFreq(PLL2_ClocksTypeDef *PLL2_Clocks)
void HAL_RCCEx_KerWakeUpStopCLKConfig(uint32_t WakeUpClk)
void HAL_RCCEx_LSECSS_Callback(void)
void HAL_RCCEx_EnableLSECSS(void)
void HAL_RCCEx_LSECSS_IRQHandler(void)
void HAL_RCCEx_EnableLSECSS_IT(void)
void HAL_RCCEx_WakeUpStopCLKConfig(uint32_t WakeUpClk)
void HAL_RCCEx_DisableLSECSS(void)
void HAL_RCCEx_CRS_SyncWarnCallback(void)
void HAL_RCCEx_CRS_IRQHandler(void)
void HAL_RCCEx_CRS_ExpectedSyncCallback(void)
void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error)
uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout)
void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void)
void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo)
void HAL_RCCEx_CRS_SyncOkCallback(void)
void HAL_RCCEx_CRSConfig(const RCC_CRSInitTypeDef *pInit)
#define I2c1235ClockSelection
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
RCC PLL1 Clocks structure definition.
uint32_t PLL1_R_Frequency
uint32_t PLL1_Q_Frequency
uint32_t PLL1_P_Frequency
RCC PLL2 Clocks structure definition.
uint32_t PLL2_Q_Frequency
uint32_t PLL2_P_Frequency
uint32_t PLL2_R_Frequency
RCC PLL3 Clocks structure definition.
uint32_t PLL3_P_Frequency
uint32_t PLL3_R_Frequency
uint32_t PLL3_Q_Frequency
RCC_CRS Init structure definition.
uint32_t Polarity
Specifies the input polarity for the SYNC signal source.
uint32_t HSI48CalibrationValue
Specifies a user-programmable trimming value to the HSI48 oscillator.
uint32_t Prescaler
Specifies the division factor of the SYNC signal.
uint32_t ReloadValue
Specifies the value to be loaded in the frequency error counter with each SYNC event.
uint32_t Source
Specifies the SYNC signal source.
uint32_t ErrorLimitValue
Specifies the value to be used to evaluate the captured frequency error value.
PLL2 Clock structure definition.
uint32_t PLL2R
PLL2R: Division factor for peripheral clocks.
uint32_t PLL2M
PLL2M: Division factor for PLL2 VCO input clock.
uint32_t PLL2RGE
PLL2RGE: PLL2 clock Input range This parameter must be a value of RCC PLL2 VCI Range.
uint32_t PLL2N
PLL2N: Multiplication factor for PLL2 VCO output clock.
uint32_t PLL2FRACN
PLL2FRACN: Specifies Fractional Part Of The Multiplication Factor for PLL2 VCO It should be a value b...
uint32_t PLL2VCOSEL
PLL2VCOSEL: PLL2 clock Output range This parameter must be a value of RCC PLL2 VCO Range.
uint32_t PLL2P
PLL2P: Division factor for system clock.
uint32_t PLL2Q
PLL2Q: Division factor for peripheral clocks.
PLL3 Clock structure definition.
uint32_t PLL3Q
PLL3Q: Division factor for peripheral clocks.
uint32_t PLL3FRACN
PLL3FRACN: Specifies Fractional Part Of The Multiplication Factor for PLL3 VCO It should be a value b...
uint32_t PLL3N
PLL3N: Multiplication factor for PLL3 VCO output clock.
uint32_t PLL3VCOSEL
PLL3VCOSEL: PLL3 clock Output range This parameter must be a value of RCC PLL3 VCO Range.
uint32_t PLL3P
PLL3P: Division factor for system clock.
uint32_t PLL3R
PLL3R: Division factor for peripheral clocks.
uint32_t PLL3RGE
PLL3RGE: PLL3 clock Input range This parameter must be a value of RCC PLL3 VCI Range.
uint32_t PLL3M
PLL3M: Division factor for PLL3 VCO input clock.
RCC extended clocks structure definition.
uint32_t Spi123ClockSelection
Specifies SPI1/2/3 clock source This parameter can be a value of SPI1/2/3 Clock Source.
uint32_t Spi6ClockSelection
Specifies SPI6 clock source This parameter can be a value of SPI6 Clock Source.
uint32_t I2c123ClockSelection
Specifies I2C1/2/3 clock source This parameter can be a value of RCCEx I2C1/2/3/5 Clock Source.
uint32_t Usart16ClockSelection
Specifies USART1/6 clock source This parameter can be a value of RCCEx USART1/6 Clock Source.
uint32_t TIMPresSelection
Specifies TIM Clock Prescalers Selection.
uint32_t Lptim1ClockSelection
Specifies LPTIM1 clock source This parameter can be a value of RCCEx LPTIM1 Clock Source.
uint32_t CkperClockSelection
Specifies CKPER clock source This parameter can be a value of RCCEx CLKP Clock Source.
uint32_t CecClockSelection
Specifies CEC clock source This parameter can be a value of RCCEx CEC Clock Source.
uint32_t Swpmi1ClockSelection
Specifies SWPMI1 Clock clock source This parameter can be a value of RCCEx SWPMI1 Clock Source.
uint64_t PeriphClockSelection
The Extended Clock to be configured.
uint32_t I2c4ClockSelection
Specifies I2C4 clock source This parameter can be a value of RCCEx I2C4 Clock Source.
uint32_t Lptim2ClockSelection
Specifies LPTIM2 clock source This parameter can be a value of RCCEx LPTIM2 Clock Source.
uint32_t SpdifrxClockSelection
Specifies SPDIFRX Clock clock source This parameter can be a value of RCCEx SPDIFRX Clock Source.
uint32_t SdmmcClockSelection
Specifies SDMMC clock source This parameter can be a value of RCCEx SDMMC Clock Source.
RCC_PLL2InitTypeDef PLL2
PLL2structure parameters.
uint32_t Dfsdm1ClockSelection
Specifies DFSDM1 Clock clock source This parameter can be a value of RCCEx DFSDM1 Clock Source.
RCC_PLL3InitTypeDef PLL3
PLL3 structure parameters.
uint32_t Lptim345ClockSelection
Specifies LPTIM3/4/5 clock source This parameter can be a value of RCCEx LPTIM3/4/5 Clock Source.
uint32_t AdcClockSelection
Specifies ADC interface clock source This parameter can be a value of RCCEx ADC Clock Source.
uint32_t Usart234578ClockSelection
Specifies USART2/3/4/5/7/8 clock source This parameter can be a value of RCCEx USART2/3/4/5/7/8 Clock...
uint32_t FmcClockSelection
Specifies FMC clock source This parameter can be a value of RCCEx FMC Clock Source.
uint32_t RTCClockSelection
Specifies RTC Clock clock source This parameter can be a value of RCC RTC Clock Source.
uint32_t Sai1ClockSelection
Specifies SAI1 clock source This parameter can be a value of SAI1 Clock Source.
uint32_t UsbClockSelection
Specifies USB clock source This parameter can be a value of RCCEx USB Clock Source.
uint32_t Lpuart1ClockSelection
Specifies LPUART1 clock source This parameter can be a value of RCCEx LPUART1 Clock Source.
uint32_t Spi45ClockSelection
Specifies SPI4/5 clock source This parameter can be a value of SPI4/5 Clock Source.
uint32_t RngClockSelection
Specifies RNG clock source This parameter can be a value of RCCEx RNG Clock Source.