You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

6636 lines
306 KiB

  1. /**
  2. ******************************************************************************
  3. * @file stm32h7xx_ll_bus.h
  4. * @author MCD Application Team
  5. * @version $VERSION$
  6. * @date $DATE$
  7. * @brief Header file of BUS LL module.
  8. @verbatim
  9. ##### RCC Limitations #####
  10. ==============================================================================
  11. [..]
  12. A delay between an RCC peripheral clock enable and the effective peripheral
  13. enabling should be taken into account in order to manage the peripheral read/write
  14. from/to registers.
  15. (+) This delay depends on the peripheral mapping.
  16. (++) AHB & APB peripherals, 1 dummy read is necessary
  17. [..]
  18. Workarounds:
  19. (#) For AHB & APB peripherals, a dummy read to the peripheral register has been
  20. inserted in each LL_{BUS}_GRP{x}_EnableClock() function.
  21. @endverbatim
  22. ******************************************************************************
  23. * @attention
  24. *
  25. * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics.
  26. * All rights reserved.</center></h2>
  27. *
  28. * This software component is licensed by ST under BSD 3-Clause license,
  29. * the "License"; You may not use this file except in compliance with the
  30. * License. You may obtain a copy of the License at:
  31. * opensource.org/licenses/BSD-3-Clause
  32. *
  33. ******************************************************************************
  34. */
  35. /* Define to prevent recursive inclusion -------------------------------------*/
  36. #ifndef STM32H7xx_LL_BUS_H
  37. #define STM32H7xx_LL_BUS_H
  38. #ifdef __cplusplus
  39. extern "C" {
  40. #endif
  41. /* Includes ------------------------------------------------------------------*/
  42. #include "stm32h7xx.h"
  43. /** @addtogroup STM32H7xx_LL_Driver
  44. * @{
  45. */
  46. #if defined(RCC)
  47. /** @defgroup BUS_LL BUS
  48. * @{
  49. */
  50. /* Private variables ---------------------------------------------------------*/
  51. /* Private constants ---------------------------------------------------------*/
  52. /* Private macros ------------------------------------------------------------*/
  53. /* Exported types ------------------------------------------------------------*/
  54. /* Exported constants --------------------------------------------------------*/
  55. /** @defgroup BUS_LL_Exported_Constants BUS Exported Constants
  56. * @{
  57. */
  58. /** @defgroup BUS_LL_EC_AHB3_GRP1_PERIPH AHB3 GRP1 PERIPH
  59. * @{
  60. */
  61. #define LL_AHB3_GRP1_PERIPH_MDMA RCC_AHB3ENR_MDMAEN
  62. #define LL_AHB3_GRP1_PERIPH_DMA2D RCC_AHB3ENR_DMA2DEN
  63. #if defined(JPEG)
  64. #define LL_AHB3_GRP1_PERIPH_JPGDEC RCC_AHB3ENR_JPGDECEN
  65. #endif /* JPEG */
  66. #define LL_AHB3_GRP1_PERIPH_FMC RCC_AHB3ENR_FMCEN
  67. #if defined(QUADSPI)
  68. #define LL_AHB3_GRP1_PERIPH_QSPI RCC_AHB3ENR_QSPIEN
  69. #endif /* QUADSPI */
  70. #if defined(OCTOSPI1) || defined(OCTOSPI2)
  71. #define LL_AHB3_GRP1_PERIPH_OSPI1 RCC_AHB3ENR_OSPI1EN
  72. #define LL_AHB3_GRP1_PERIPH_OSPI2 RCC_AHB3ENR_OSPI2EN
  73. #endif /*(OCTOSPI1) || (OCTOSPI2)*/
  74. #if defined(OCTOSPIM)
  75. #define LL_AHB3_GRP1_PERIPH_OCTOSPIM RCC_AHB3ENR_IOMNGREN
  76. #endif /* OCTOSPIM */
  77. #if defined(OTFDEC1) || defined(OTFDEC2)
  78. #define LL_AHB3_GRP1_PERIPH_OTFDEC1 RCC_AHB3ENR_OTFDEC1EN
  79. #define LL_AHB3_GRP1_PERIPH_OTFDEC2 RCC_AHB3ENR_OTFDEC2EN
  80. #endif /* (OTFDEC1) || (OTFDEC2) */
  81. #if defined(GFXMMU)
  82. #define LL_AHB3_GRP1_PERIPH_GFXMMU RCC_AHB3ENR_GFXMMUEN
  83. #endif /* GFXMMU */
  84. #define LL_AHB3_GRP1_PERIPH_SDMMC1 RCC_AHB3ENR_SDMMC1EN
  85. #define LL_AHB3_GRP1_PERIPH_FLASH RCC_AHB3LPENR_FLASHLPEN
  86. #define LL_AHB3_GRP1_PERIPH_DTCM1 RCC_AHB3LPENR_DTCM1LPEN
  87. #define LL_AHB3_GRP1_PERIPH_DTCM2 RCC_AHB3LPENR_DTCM2LPEN
  88. #define LL_AHB3_GRP1_PERIPH_ITCM RCC_AHB3LPENR_ITCMLPEN
  89. #if defined(RCC_AHB3LPENR_AXISRAMLPEN)
  90. #define LL_AHB3_GRP1_PERIPH_AXISRAM RCC_AHB3LPENR_AXISRAMLPEN
  91. #else
  92. #define LL_AHB3_GRP1_PERIPH_AXISRAM1 RCC_AHB3LPENR_AXISRAM1LPEN
  93. #define LL_AHB3_GRP1_PERIPH_AXISRAM LL_AHB3_GRP1_PERIPH_AXISRAM1 /* for backward compatibility*/
  94. #endif /* RCC_AHB3LPENR_AXISRAMLPEN */
  95. #if defined(CD_AXISRAM2_BASE)
  96. #define LL_AHB3_GRP1_PERIPH_AXISRAM2 RCC_AHB3LPENR_AXISRAM2LPEN
  97. #endif /* CD_AXISRAM2_BASE */
  98. #if defined(CD_AXISRAM3_BASE)
  99. #define LL_AHB3_GRP1_PERIPH_AXISRAM3 RCC_AHB3LPENR_AXISRAM3LPEN
  100. #endif /* CD_AXISRAM3_BASE */
  101. /**
  102. * @}
  103. */
  104. /** @defgroup BUS_LL_EC_AHB1_GRP1_PERIPH AHB1 GRP1 PERIPH
  105. * @{
  106. */
  107. #define LL_AHB1_GRP1_PERIPH_DMA1 RCC_AHB1ENR_DMA1EN
  108. #define LL_AHB1_GRP1_PERIPH_DMA2 RCC_AHB1ENR_DMA2EN
  109. #define LL_AHB1_GRP1_PERIPH_ADC12 RCC_AHB1ENR_ADC12EN
  110. #if defined(DUAL_CORE)
  111. #define LL_AHB1_GRP1_PERIPH_ART RCC_AHB1ENR_ARTEN
  112. #endif /* DUAL_CORE */
  113. #if defined(RCC_AHB1ENR_CRCEN)
  114. #define LL_AHB1_GRP1_PERIPH_CRC RCC_AHB1ENR_CRCEN
  115. #endif /* RCC_AHB1ENR_CRCEN */
  116. #if defined(ETH)
  117. #define LL_AHB1_GRP1_PERIPH_ETH1MAC RCC_AHB1ENR_ETH1MACEN
  118. #define LL_AHB1_GRP1_PERIPH_ETH1TX RCC_AHB1ENR_ETH1TXEN
  119. #define LL_AHB1_GRP1_PERIPH_ETH1RX RCC_AHB1ENR_ETH1RXEN
  120. #endif /* ETH */
  121. #define LL_AHB1_GRP1_PERIPH_USB1OTGHS RCC_AHB1ENR_USB1OTGHSEN
  122. #define LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI RCC_AHB1ENR_USB1OTGHSULPIEN
  123. #if defined(USB2_OTG_FS)
  124. #define LL_AHB1_GRP1_PERIPH_USB2OTGHS RCC_AHB1ENR_USB2OTGHSEN
  125. #define LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI RCC_AHB1ENR_USB2OTGHSULPIEN
  126. #endif /* USB2_OTG_FS */
  127. /**
  128. * @}
  129. */
  130. /** @defgroup BUS_LL_EC_AHB2_GRP1_PERIPH AHB2 GRP1 PERIPH
  131. * @{
  132. */
  133. #define LL_AHB2_GRP1_PERIPH_DCMI RCC_AHB2ENR_DCMIEN
  134. #if defined(HSEM) && defined(RCC_AHB2ENR_HSEMEN)
  135. #define LL_AHB2_GRP1_PERIPH_HSEM RCC_AHB2ENR_HSEMEN
  136. #endif /* HSEM && RCC_AHB2ENR_HSEMEN */
  137. #if defined(CRYP)
  138. #define LL_AHB2_GRP1_PERIPH_CRYP RCC_AHB2ENR_CRYPEN
  139. #endif /* CRYP */
  140. #if defined(HASH)
  141. #define LL_AHB2_GRP1_PERIPH_HASH RCC_AHB2ENR_HASHEN
  142. #endif /* HASH */
  143. #define LL_AHB2_GRP1_PERIPH_RNG RCC_AHB2ENR_RNGEN
  144. #define LL_AHB2_GRP1_PERIPH_SDMMC2 RCC_AHB2ENR_SDMMC2EN
  145. #if defined(BDMA1)
  146. #define LL_AHB2_GRP1_PERIPH_BDMA1 RCC_AHB2ENR_BDMA1EN
  147. #endif /* BDMA1 */
  148. #if defined(RCC_AHB2ENR_D2SRAM1EN)
  149. #define LL_AHB2_GRP1_PERIPH_D2SRAM1 RCC_AHB2ENR_D2SRAM1EN
  150. #else
  151. #define LL_AHB2_GRP1_PERIPH_AHBSRAM1 RCC_AHB2ENR_AHBSRAM1EN
  152. #define LL_AHB2_GRP1_PERIPH_D2SRAM1 LL_AHB2_GRP1_PERIPH_AHBSRAM1 /* for backward compatibility*/
  153. #endif /* RCC_AHB2ENR_D2SRAM1EN */
  154. #if defined(RCC_AHB2ENR_D2SRAM2EN)
  155. #define LL_AHB2_GRP1_PERIPH_D2SRAM2 RCC_AHB2ENR_D2SRAM2EN
  156. #else
  157. #define LL_AHB2_GRP1_PERIPH_AHBSRAM2 RCC_AHB2ENR_AHBSRAM2EN
  158. #define LL_AHB2_GRP1_PERIPH_D2SRAM2 LL_AHB2_GRP1_PERIPH_AHBSRAM2 /* for backward compatibility*/
  159. #endif /* RCC_AHB2ENR_D2SRAM2EN */
  160. #if defined(RCC_AHB2ENR_D2SRAM3EN)
  161. #define LL_AHB2_GRP1_PERIPH_D2SRAM3 RCC_AHB2ENR_D2SRAM3EN
  162. #endif /* RCC_AHB2ENR_D2SRAM3EN */
  163. /**
  164. * @}
  165. */
  166. /** @defgroup BUS_LL_EC_AHB4_GRP1_PERIPH AHB4 GRP1 PERIPH
  167. * @{
  168. */
  169. #define LL_AHB4_GRP1_PERIPH_GPIOA RCC_AHB4ENR_GPIOAEN
  170. #define LL_AHB4_GRP1_PERIPH_GPIOB RCC_AHB4ENR_GPIOBEN
  171. #define LL_AHB4_GRP1_PERIPH_GPIOC RCC_AHB4ENR_GPIOCEN
  172. #define LL_AHB4_GRP1_PERIPH_GPIOD RCC_AHB4ENR_GPIODEN
  173. #define LL_AHB4_GRP1_PERIPH_GPIOE RCC_AHB4ENR_GPIOEEN
  174. #define LL_AHB4_GRP1_PERIPH_GPIOF RCC_AHB4ENR_GPIOFEN
  175. #define LL_AHB4_GRP1_PERIPH_GPIOG RCC_AHB4ENR_GPIOGEN
  176. #define LL_AHB4_GRP1_PERIPH_GPIOH RCC_AHB4ENR_GPIOHEN
  177. #define LL_AHB4_GRP1_PERIPH_GPIOI RCC_AHB4ENR_GPIOIEN
  178. #define LL_AHB4_GRP1_PERIPH_GPIOJ RCC_AHB4ENR_GPIOJEN
  179. #define LL_AHB4_GRP1_PERIPH_GPIOK RCC_AHB4ENR_GPIOKEN
  180. #if defined(RCC_AHB4ENR_CRCEN)
  181. #define LL_AHB4_GRP1_PERIPH_CRC RCC_AHB4ENR_CRCEN
  182. #endif /* RCC_AHB4ENR_CRCEN */
  183. #if defined(BDMA2)
  184. #define LL_AHB4_GRP1_PERIPH_BDMA2 RCC_AHB4ENR_BDMA2EN
  185. #define LL_AHB4_GRP1_PERIPH_BDMA LL_AHB4_GRP1_PERIPH_BDMA2 /* for backward compatibility*/
  186. #else
  187. #define LL_AHB4_GRP1_PERIPH_BDMA RCC_AHB4ENR_BDMAEN
  188. #endif /* BDMA2 */
  189. #if defined(ADC3)
  190. #define LL_AHB4_GRP1_PERIPH_ADC3 RCC_AHB4ENR_ADC3EN
  191. #endif /* ADC3 */
  192. #if defined(HSEM) && defined(RCC_AHB4ENR_HSEMEN)
  193. #define LL_AHB4_GRP1_PERIPH_HSEM RCC_AHB4ENR_HSEMEN
  194. #endif /* HSEM && RCC_AHB4ENR_HSEMEN*/
  195. #define LL_AHB4_GRP1_PERIPH_BKPRAM RCC_AHB4ENR_BKPRAMEN
  196. #if defined(RCC_AHB4LPENR_SRAM4LPEN)
  197. #define LL_AHB4_GRP1_PERIPH_SRAM4 RCC_AHB4LPENR_SRAM4LPEN
  198. #define LL_AHB4_GRP1_PERIPH_D3SRAM1 LL_AHB4_GRP1_PERIPH_SRAM4
  199. #else
  200. #define LL_AHB4_GRP1_PERIPH_SRDSRAM RCC_AHB4ENR_SRDSRAMEN
  201. #define LL_AHB4_GRP1_PERIPH_SRAM4 LL_AHB4_GRP1_PERIPH_SRDSRAM /* for backward compatibility*/
  202. #define LL_AHB4_GRP1_PERIPH_D3SRAM1 LL_AHB4_GRP1_PERIPH_SRDSRAM /* for backward compatibility*/
  203. #endif /* RCC_AHB4ENR_D3SRAM1EN */
  204. /**
  205. * @}
  206. */
  207. /** @defgroup BUS_LL_EC_APB3_GRP1_PERIPH APB3 GRP1 PERIPH
  208. * @{
  209. */
  210. #define LL_APB3_GRP1_PERIPH_LTDC RCC_APB3ENR_LTDCEN
  211. #if defined(DSI)
  212. #define LL_APB3_GRP1_PERIPH_DSI RCC_APB3ENR_DSIEN
  213. #endif /* DSI */
  214. #define LL_APB3_GRP1_PERIPH_WWDG1 RCC_APB3ENR_WWDG1EN
  215. #if defined(RCC_APB3ENR_WWDGEN)
  216. #define LL_APB3_GRP1_PERIPH_WWDG LL_APB3_GRP1_PERIPH_WWDG1 /* for backward compatibility*/
  217. #endif
  218. /**
  219. * @}
  220. */
  221. /** @defgroup BUS_LL_EC_APB1_GRP1_PERIPH APB1 GRP1 PERIPH
  222. * @{
  223. */
  224. #define LL_APB1_GRP1_PERIPH_TIM2 RCC_APB1LENR_TIM2EN
  225. #define LL_APB1_GRP1_PERIPH_TIM3 RCC_APB1LENR_TIM3EN
  226. #define LL_APB1_GRP1_PERIPH_TIM4 RCC_APB1LENR_TIM4EN
  227. #define LL_APB1_GRP1_PERIPH_TIM5 RCC_APB1LENR_TIM5EN
  228. #define LL_APB1_GRP1_PERIPH_TIM6 RCC_APB1LENR_TIM6EN
  229. #define LL_APB1_GRP1_PERIPH_TIM7 RCC_APB1LENR_TIM7EN
  230. #define LL_APB1_GRP1_PERIPH_TIM12 RCC_APB1LENR_TIM12EN
  231. #define LL_APB1_GRP1_PERIPH_TIM13 RCC_APB1LENR_TIM13EN
  232. #define LL_APB1_GRP1_PERIPH_TIM14 RCC_APB1LENR_TIM14EN
  233. #define LL_APB1_GRP1_PERIPH_LPTIM1 RCC_APB1LENR_LPTIM1EN
  234. #if defined(DUAL_CORE)
  235. #define LL_APB1_GRP1_PERIPH_WWDG2 RCC_APB1LENR_WWDG2EN
  236. #endif /*DUAL_CORE*/
  237. #define LL_APB1_GRP1_PERIPH_SPI2 RCC_APB1LENR_SPI2EN
  238. #define LL_APB1_GRP1_PERIPH_SPI3 RCC_APB1LENR_SPI3EN
  239. #define LL_APB1_GRP1_PERIPH_SPDIFRX RCC_APB1LENR_SPDIFRXEN
  240. #define LL_APB1_GRP1_PERIPH_USART2 RCC_APB1LENR_USART2EN
  241. #define LL_APB1_GRP1_PERIPH_USART3 RCC_APB1LENR_USART3EN
  242. #define LL_APB1_GRP1_PERIPH_UART4 RCC_APB1LENR_UART4EN
  243. #define LL_APB1_GRP1_PERIPH_UART5 RCC_APB1LENR_UART5EN
  244. #define LL_APB1_GRP1_PERIPH_I2C1 RCC_APB1LENR_I2C1EN
  245. #define LL_APB1_GRP1_PERIPH_I2C2 RCC_APB1LENR_I2C2EN
  246. #define LL_APB1_GRP1_PERIPH_I2C3 RCC_APB1LENR_I2C3EN
  247. #define LL_APB1_GRP1_PERIPH_CEC RCC_APB1LENR_CECEN
  248. #define LL_APB1_GRP1_PERIPH_DAC12 RCC_APB1LENR_DAC12EN
  249. #define LL_APB1_GRP1_PERIPH_UART7 RCC_APB1LENR_UART7EN
  250. #define LL_APB1_GRP1_PERIPH_UART8 RCC_APB1LENR_UART8EN
  251. /**
  252. * @}
  253. */
  254. /** @defgroup BUS_LL_EC_APB1_GRP2_PERIPH APB1 GRP2 PERIPH
  255. * @{
  256. */
  257. #define LL_APB1_GRP2_PERIPH_CRS RCC_APB1HENR_CRSEN
  258. #define LL_APB1_GRP2_PERIPH_SWPMI1 RCC_APB1HENR_SWPMIEN
  259. #define LL_APB1_GRP2_PERIPH_OPAMP RCC_APB1HENR_OPAMPEN
  260. #define LL_APB1_GRP2_PERIPH_MDIOS RCC_APB1HENR_MDIOSEN
  261. #define LL_APB1_GRP2_PERIPH_FDCAN RCC_APB1HENR_FDCANEN
  262. /**
  263. * @}
  264. */
  265. /** @defgroup BUS_LL_EC_APB2_GRP1_PERIPH APB2 GRP1 PERIPH
  266. * @{
  267. */
  268. #define LL_APB2_GRP1_PERIPH_TIM1 RCC_APB2ENR_TIM1EN
  269. #define LL_APB2_GRP1_PERIPH_TIM8 RCC_APB2ENR_TIM8EN
  270. #define LL_APB2_GRP1_PERIPH_USART1 RCC_APB2ENR_USART1EN
  271. #define LL_APB2_GRP1_PERIPH_USART6 RCC_APB2ENR_USART6EN
  272. #if defined(UART9)
  273. #define LL_APB2_GRP1_PERIPH_UART9 RCC_APB2ENR_UART9EN
  274. #endif /* UART9 */
  275. #if defined(USART10)
  276. #define LL_APB2_GRP1_PERIPH_USART10 RCC_APB2ENR_USART10EN
  277. #endif /* USART10 */
  278. #define LL_APB2_GRP1_PERIPH_SPI1 RCC_APB2ENR_SPI1EN
  279. #define LL_APB2_GRP1_PERIPH_SPI4 RCC_APB2ENR_SPI4EN
  280. #define LL_APB2_GRP1_PERIPH_TIM15 RCC_APB2ENR_TIM15EN
  281. #define LL_APB2_GRP1_PERIPH_TIM16 RCC_APB2ENR_TIM16EN
  282. #define LL_APB2_GRP1_PERIPH_TIM17 RCC_APB2ENR_TIM17EN
  283. #define LL_APB2_GRP1_PERIPH_SPI5 RCC_APB2ENR_SPI5EN
  284. #define LL_APB2_GRP1_PERIPH_SAI1 RCC_APB2ENR_SAI1EN
  285. #define LL_APB2_GRP1_PERIPH_SAI2 RCC_APB2ENR_SAI2EN
  286. #if defined(SAI3)
  287. #define LL_APB2_GRP1_PERIPH_SAI3 RCC_APB2ENR_SAI3EN
  288. #endif /* SAI3 */
  289. #define LL_APB2_GRP1_PERIPH_DFSDM1 RCC_APB2ENR_DFSDM1EN
  290. #if defined(HRTIM1)
  291. #define LL_APB2_GRP1_PERIPH_HRTIM RCC_APB2ENR_HRTIMEN
  292. #endif /* HRTIM1 */
  293. /**
  294. * @}
  295. */
  296. /** @defgroup BUS_LL_EC_APB4_GRP1_PERIPH APB4 GRP1 PERIPH
  297. * @{
  298. */
  299. #define LL_APB4_GRP1_PERIPH_SYSCFG RCC_APB4ENR_SYSCFGEN
  300. #define LL_APB4_GRP1_PERIPH_LPUART1 RCC_APB4ENR_LPUART1EN
  301. #define LL_APB4_GRP1_PERIPH_SPI6 RCC_APB4ENR_SPI6EN
  302. #define LL_APB4_GRP1_PERIPH_I2C4 RCC_APB4ENR_I2C4EN
  303. #define LL_APB4_GRP1_PERIPH_LPTIM2 RCC_APB4ENR_LPTIM2EN
  304. #define LL_APB4_GRP1_PERIPH_LPTIM3 RCC_APB4ENR_LPTIM3EN
  305. #if defined(LPTIM4)
  306. #define LL_APB4_GRP1_PERIPH_LPTIM4 RCC_APB4ENR_LPTIM4EN
  307. #endif /* LPTIM4 */
  308. #if defined(LPTIM5)
  309. #define LL_APB4_GRP1_PERIPH_LPTIM5 RCC_APB4ENR_LPTIM5EN
  310. #endif /* LPTIM5 */
  311. #if defined(DAC2)
  312. #define LL_APB4_GRP1_PERIPH_DAC2 RCC_APB4ENR_DAC2EN
  313. #endif /* DAC2 */
  314. #define LL_APB4_GRP1_PERIPH_COMP12 RCC_APB4ENR_COMP12EN
  315. #define LL_APB4_GRP1_PERIPH_VREF RCC_APB4ENR_VREFEN
  316. #define LL_APB4_GRP1_PERIPH_RTCAPB RCC_APB4ENR_RTCAPBEN
  317. #if defined(SAI4)
  318. #define LL_APB4_GRP1_PERIPH_SAI4 RCC_APB4ENR_SAI4EN
  319. #endif /* SAI4 */
  320. #if defined(DTS)
  321. #define LL_APB4_GRP1_PERIPH_DTS RCC_APB4ENR_DTSEN
  322. #endif /*DTS*/
  323. #if defined(DFSDM2_BASE)
  324. #define LL_APB4_GRP1_PERIPH_DFSDM2 RCC_APB4ENR_DFSDM2EN
  325. #endif /* DFSDM2_BASE */
  326. /**
  327. * @}
  328. */
  329. /** @defgroup BUS_LL_EC_CLKAM_PERIPH CLKAM PERIPH
  330. * @{
  331. */
  332. #if defined(RCC_D3AMR_BDMAAMEN)
  333. #define LL_CLKAM_PERIPH_BDMA RCC_D3AMR_BDMAAMEN
  334. #else
  335. #define LL_CLKAM_PERIPH_BDMA2 RCC_SRDAMR_BDMA2AMEN
  336. #define LL_CLKAM_PERIPH_BDMA LL_CLKAM_PERIPH_BDMA2 /* for backward compatibility*/
  337. #endif /* RCC_D3AMR_BDMAAMEN */
  338. #if defined(RCC_SRDAMR_GPIOAMEN)
  339. #define LL_CLKAM_PERIPH_GPIO RCC_SRDAMR_GPIOAMEN
  340. #endif /* RCC_SRDAMR_GPIOAMEN */
  341. #if defined(RCC_D3AMR_LPUART1AMEN)
  342. #define LL_CLKAM_PERIPH_LPUART1 RCC_D3AMR_LPUART1AMEN
  343. #else
  344. #define LL_CLKAM_PERIPH_LPUART1 RCC_SRDAMR_LPUART1AMEN
  345. #endif /* RCC_D3AMR_LPUART1AMEN */
  346. #if defined(RCC_D3AMR_SPI6AMEN)
  347. #define LL_CLKAM_PERIPH_SPI6 RCC_D3AMR_SPI6AMEN
  348. #else
  349. #define LL_CLKAM_PERIPH_SPI6 RCC_SRDAMR_SPI6AMEN
  350. #endif /* RCC_D3AMR_SPI6AMEN */
  351. #if defined(RCC_D3AMR_I2C4AMEN)
  352. #define LL_CLKAM_PERIPH_I2C4 RCC_D3AMR_I2C4AMEN
  353. #else
  354. #define LL_CLKAM_PERIPH_I2C4 RCC_SRDAMR_I2C4AMEN
  355. #endif /* RCC_D3AMR_I2C4AMEN */
  356. #if defined(RCC_D3AMR_LPTIM2AMEN)
  357. #define LL_CLKAM_PERIPH_LPTIM2 RCC_D3AMR_LPTIM2AMEN
  358. #else
  359. #define LL_CLKAM_PERIPH_LPTIM2 RCC_SRDAMR_LPTIM2AMEN
  360. #endif /* RCC_D3AMR_LPTIM2AMEN */
  361. #if defined(RCC_D3AMR_LPTIM3AMEN)
  362. #define LL_CLKAM_PERIPH_LPTIM3 RCC_D3AMR_LPTIM3AMEN
  363. #else
  364. #define LL_CLKAM_PERIPH_LPTIM3 RCC_SRDAMR_LPTIM3AMEN
  365. #endif /* RCC_D3AMR_LPTIM3AMEN */
  366. #if defined(RCC_D3AMR_LPTIM4AMEN)
  367. #define LL_CLKAM_PERIPH_LPTIM4 RCC_D3AMR_LPTIM4AMEN
  368. #endif /* RCC_D3AMR_LPTIM4AMEN */
  369. #if defined(RCC_D3AMR_LPTIM5AMEN)
  370. #define LL_CLKAM_PERIPH_LPTIM5 RCC_D3AMR_LPTIM5AMEN
  371. #endif /* RCC_D3AMR_LPTIM5AMEN */
  372. #if defined(DAC2)
  373. #define LL_CLKAM_PERIPH_DAC2 RCC_SRDAMR_DAC2AMEN
  374. #endif /* DAC2 */
  375. #if defined(RCC_D3AMR_COMP12AMEN)
  376. #define LL_CLKAM_PERIPH_COMP12 RCC_D3AMR_COMP12AMEN
  377. #else
  378. #define LL_CLKAM_PERIPH_COMP12 RCC_SRDAMR_COMP12AMEN
  379. #endif /* RCC_D3AMR_COMP12AMEN */
  380. #if defined(RCC_D3AMR_VREFAMEN)
  381. #define LL_CLKAM_PERIPH_VREF RCC_D3AMR_VREFAMEN
  382. #else
  383. #define LL_CLKAM_PERIPH_VREF RCC_SRDAMR_VREFAMEN
  384. #endif /* RCC_D3AMR_VREFAMEN */
  385. #if defined(RCC_D3AMR_RTCAMEN)
  386. #define LL_CLKAM_PERIPH_RTC RCC_D3AMR_RTCAMEN
  387. #else
  388. #define LL_CLKAM_PERIPH_RTC RCC_SRDAMR_RTCAMEN
  389. #endif /* RCC_D3AMR_RTCAMEN */
  390. #if defined(RCC_D3AMR_CRCAMEN)
  391. #define LL_CLKAM_PERIPH_CRC RCC_D3AMR_CRCAMEN
  392. #endif /* RCC_D3AMR_CRCAMEN */
  393. #if defined(SAI4)
  394. #define LL_CLKAM_PERIPH_SAI4 RCC_D3AMR_SAI4AMEN
  395. #endif /* SAI4 */
  396. #if defined(ADC3)
  397. #define LL_CLKAM_PERIPH_ADC3 RCC_D3AMR_ADC3AMEN
  398. #endif /* ADC3 */
  399. #if defined(DTS)
  400. #define LL_CLKAM_PERIPH_DTS RCC_SRDAMR_DTSAMEN
  401. #endif /* DTS */
  402. #if defined(DFSDM2_BASE)
  403. #define LL_CLKAM_PERIPH_DFSDM2 RCC_SRDAMR_DFSDM2AMEN
  404. #endif /* DFSDM2_BASE */
  405. #if defined(RCC_D3AMR_BKPRAMAMEN)
  406. #define LL_CLKAM_PERIPH_BKPRAM RCC_D3AMR_BKPRAMAMEN
  407. #else
  408. #define LL_CLKAM_PERIPH_BKPRAM RCC_SRDAMR_BKPRAMAMEN
  409. #endif /* RCC_D3AMR_BKPRAMAMEN */
  410. #if defined(RCC_D3AMR_SRAM4AMEN)
  411. #define LL_CLKAM_PERIPH_SRAM4 RCC_D3AMR_SRAM4AMEN
  412. #else
  413. #define LL_CLKAM_PERIPH_SRDSRAM RCC_SRDAMR_SRDSRAMAMEN
  414. #define LL_CLKAM_PERIPH_SRAM4 LL_CLKAM_PERIPH_SRDSRAM
  415. #endif /* RCC_D3AMR_SRAM4AMEN */
  416. /**
  417. * @}
  418. */
  419. #if defined(RCC_CKGAENR_AXICKG)
  420. /** @defgroup BUS_LL_EC_CKGA_PERIPH CKGA (AXI Clocks Gating) PERIPH
  421. * @{
  422. */
  423. #define LL_CKGA_PERIPH_AXI RCC_CKGAENR_AXICKG
  424. #define LL_CKGA_PERIPH_AHB RCC_CKGAENR_AHBCKG
  425. #define LL_CKGA_PERIPH_CPU RCC_CKGAENR_CPUCKG
  426. #define LL_CKGA_PERIPH_SDMMC RCC_CKGAENR_SDMMCCKG
  427. #define LL_CKGA_PERIPH_MDMA RCC_CKGAENR_MDMACKG
  428. #define LL_CKGA_PERIPH_DMA2D RCC_CKGAENR_DMA2DCKG
  429. #define LL_CKGA_PERIPH_LTDC RCC_CKGAENR_LTDCCKG
  430. #define LL_CKGA_PERIPH_GFXMMUM RCC_CKGAENR_GFXMMUMCKG
  431. #define LL_CKGA_PERIPH_AHB12 RCC_CKGAENR_AHB12CKG
  432. #define LL_CKGA_PERIPH_AHB34 RCC_CKGAENR_AHB34CKG
  433. #define LL_CKGA_PERIPH_FLIFT RCC_CKGAENR_FLIFTCKG
  434. #define LL_CKGA_PERIPH_OCTOSPI2 RCC_CKGAENR_OCTOSPI2CKG
  435. #define LL_CKGA_PERIPH_FMC RCC_CKGAENR_FMCCKG
  436. #define LL_CKGA_PERIPH_OCTOSPI1 RCC_CKGAENR_OCTOSPI1CKG
  437. #define LL_CKGA_PERIPH_AXIRAM1 RCC_CKGAENR_AXIRAM1CKG
  438. #define LL_CKGA_PERIPH_AXIRAM2 RCC_CKGAENR_AXIRAM2CKG
  439. #define LL_CKGA_PERIPH_AXIRAM3 RCC_CKGAENR_AXIRAM3CKG
  440. #define LL_CKGA_PERIPH_GFXMMUS RCC_CKGAENR_GFXMMUSCKG
  441. #define LL_CKGA_PERIPH_ECCRAM RCC_CKGAENR_ECCRAMCKG
  442. #define LL_CKGA_PERIPH_EXTI RCC_CKGAENR_EXTICKG
  443. #define LL_CKGA_PERIPH_JTAG RCC_CKGAENR_JTAGCKG
  444. /**
  445. * @}
  446. */
  447. #endif /* RCC_CKGAENR_AXICKG */
  448. /* Exported macro ------------------------------------------------------------*/
  449. /* Exported functions --------------------------------------------------------*/
  450. /** @defgroup BUS_LL_Exported_Functions BUS Exported Functions
  451. * @{
  452. */
  453. /** @defgroup BUS_LL_EF_AHB3 AHB3
  454. * @{
  455. */
  456. /**
  457. * @brief Enable AHB3 peripherals clock.
  458. * @rmtoll AHB3ENR MDMAEN LL_AHB3_GRP1_EnableClock\n
  459. * AHB3ENR DMA2DEN LL_AHB3_GRP1_EnableClock\n
  460. * AHB3ENR JPGDECEN LL_AHB3_GRP1_EnableClock\n
  461. * AHB3ENR FMCEN LL_AHB3_GRP1_EnableClock\n
  462. * AHB3ENR QSPIEN LL_AHB3_GRP1_EnableClock\n (*)
  463. * AHB3ENR OSPI1EN LL_AHB3_GRP1_EnableClock\n (*)
  464. * AHB3ENR OSPI2EN LL_AHB3_GRP1_EnableClock\n (*)
  465. * AHB3ENR IOMNGREN LL_AHB3_GRP1_EnableClock\n (*)
  466. * AHB3ENR OTFDEC1EN LL_AHB3_GRP1_EnableClock\n (*)
  467. * AHB3ENR OTFDEC2EN LL_AHB3_GRP1_EnableClock\n (*)
  468. * AHB3ENR GFXMMU LL_AHB3_GRP1_EnableClock\n (*)
  469. * AHB3ENR SDMMC1EN LL_AHB3_GRP1_EnableClock\n
  470. * AHB3ENR FLASHEN LL_AHB3_GRP1_EnableClock\n (*)
  471. * AHB3ENR DTCM1EN LL_AHB3_GRP1_EnableClock\n (*)
  472. * AHB3ENR DTCM2EN LL_AHB3_GRP1_EnableClock\n (*)
  473. * AHB3ENR ITCMEN LL_AHB3_GRP1_EnableClock\n (*)
  474. * AHB3ENR AXISRAMEN LL_AHB3_GRP1_EnableClock (*)
  475. * @param Periphs This parameter can be a combination of the following values:
  476. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  477. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  478. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC (*)
  479. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  480. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  481. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  482. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  483. * @arg @ref LL_AHB3_GRP1_PERIPH_OCTOSPIM (*)
  484. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  485. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  486. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  487. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  488. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH (*)
  489. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1 (*)
  490. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2 (*)
  491. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM (*)
  492. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM (*)
  493. *
  494. * (*) value not defined in all devices.
  495. * @retval None
  496. */
  497. __STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs)
  498. {
  499. __IO uint32_t tmpreg;
  500. SET_BIT(RCC->AHB3ENR, Periphs);
  501. /* Delay after an RCC peripheral clock enabling */
  502. tmpreg = READ_BIT(RCC->AHB3ENR, Periphs);
  503. (void)tmpreg;
  504. }
  505. /**
  506. * @brief Check if AHB3 peripheral clock is enabled or not
  507. * @rmtoll AHB3ENR MDMAEN LL_AHB3_GRP1_IsEnabledClock\n
  508. * AHB3ENR DMA2DEN LL_AHB3_GRP1_IsEnabledClock\n
  509. * AHB3ENR JPGDECEN LL_AHB3_GRP1_IsEnabledClock\n
  510. * AHB3ENR FMCEN LL_AHB3_GRP1_IsEnabledClock\n
  511. * AHB3ENR QSPIEN LL_AHB3_GRP1_IsEnabledClock\n (*)
  512. * AHB3ENR OSPI1EN LL_AHB3_GRP1_IsEnabledClock\n (*)
  513. * AHB3ENR OSPI2EN LL_AHB3_GRP1_IsEnabledClock\n (*)
  514. * AHB3ENR IOMNGREN LL_AHB3_GRP1_IsEnabledClock\n (*)
  515. * AHB3ENR OTFDEC1EN LL_AHB3_GRP1_IsEnabledClock\n (*)
  516. * AHB3ENR OTFDEC2EN LL_AHB3_GRP1_IsEnabledClock\n (*)
  517. * AHB3ENR GFXMMU LL_AHB3_GRP1_IsEnabledClock\n (*)
  518. * AHB3ENR SDMMC1EN LL_AHB3_GRP1_IsEnabledClock\n
  519. * AHB3ENR FLASHEN LL_AHB3_GRP1_IsEnabledClock\n (*)
  520. * AHB3ENR DTCM1EN LL_AHB3_GRP1_IsEnabledClock\n (*)
  521. * AHB3ENR DTCM2EN LL_AHB3_GRP1_IsEnabledClock\n (*)
  522. * AHB3ENR ITCMEN LL_AHB3_GRP1_IsEnabledClock\n (*)
  523. * AHB3ENR AXISRAMEN LL_AHB3_GRP1_IsEnabledClock (*)
  524. * @param Periphs This parameter can be a combination of the following values:
  525. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  526. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  527. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC (*)
  528. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  529. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  530. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  531. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  532. * @arg @ref LL_AHB3_GRP1_PERIPH_IOMNGR (*)
  533. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  534. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  535. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  536. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  537. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH (*)
  538. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1 (*)
  539. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2 (*)
  540. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM (*)
  541. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM (*)
  542. *
  543. * (*) value not defined in all devices.
  544. * @retval uint32_t
  545. */
  546. __STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
  547. {
  548. return ((READ_BIT(RCC->AHB3ENR, Periphs) == Periphs)?1U:0U);
  549. }
  550. /**
  551. * @brief Disable AHB3 peripherals clock.
  552. * @rmtoll AHB3ENR MDMAEN LL_AHB3_GRP1_DisableClock\n
  553. * AHB3ENR DMA2DEN LL_AHB3_GRP1_DisableClock\n
  554. * AHB3ENR JPGDECEN LL_AHB3_GRP1_DisableClock\n
  555. * AHB3ENR FMCEN LL_AHB3_GRP1_DisableClock\n
  556. * AHB3ENR QSPIEN LL_AHB3_GRP1_DisableClock\n (*)
  557. * AHB3ENR OSPI1EN LL_AHB3_GRP1_DisableClock\n (*)
  558. * AHB3ENR OSPI2EN LL_AHB3_GRP1_DisableClock\n (*)
  559. * AHB3ENR IOMNGREN LL_AHB3_GRP1_DisableClock\n (*)
  560. * AHB3ENR OTFDEC1EN LL_AHB3_GRP1_DisableClock\n (*)
  561. * AHB3ENR OTFDEC2EN LL_AHB3_GRP1_DisableClock\n (*)
  562. * AHB3ENR GFXMMU LL_AHB3_GRP1_DisableClock\n (*)
  563. * AHB3ENR SDMMC1EN LL_AHB3_GRP1_DisableClock\n (*)
  564. * AHB3ENR FLASHEN LL_AHB3_GRP1_DisableClock\n (*)
  565. * AHB3ENR DTCM1EN LL_AHB3_GRP1_DisableClock\n (*)
  566. * AHB3ENR DTCM2EN LL_AHB3_GRP1_DisableClock\n (*)
  567. * AHB3ENR ITCMEN LL_AHB3_GRP1_DisableClock\n (*)
  568. * AHB3ENR AXISRAMEN LL_AHB3_GRP1_DisableClock
  569. * @param Periphs This parameter can be a combination of the following values:
  570. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  571. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  572. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC (*)
  573. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  574. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  575. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  576. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  577. * @arg @ref LL_AHB3_GRP1_PERIPH_IOMNGR (*)
  578. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  579. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  580. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  581. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  582. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH (*)
  583. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1 (*)
  584. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2 (*)
  585. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM (*)
  586. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM (*)
  587. *
  588. * (*) value not defined in all devices.
  589. * @retval None
  590. */
  591. __STATIC_INLINE void LL_AHB3_GRP1_DisableClock(uint32_t Periphs)
  592. {
  593. CLEAR_BIT(RCC->AHB3ENR, Periphs);
  594. }
  595. /**
  596. * @brief Force AHB3 peripherals reset.
  597. * @rmtoll AHB3RSTR MDMARST LL_AHB3_GRP1_ForceReset\n
  598. * AHB3RSTR DMA2DRST LL_AHB3_GRP1_ForceReset\n
  599. * AHB3RSTR JPGDECRST LL_AHB3_GRP1_ForceReset\n
  600. * AHB3RSTR FMCRST LL_AHB3_GRP1_ForceReset\n
  601. * AHB3RSTR QSPIRST LL_AHB3_GRP1_ForceReset\n (*)
  602. * AHB3RSTR OSPI1RST LL_AHB3_GRP1_ForceReset\n (*)
  603. * AHB3RSTR OSPI2RST LL_AHB3_GRP1_ForceReset\n (*)
  604. * AHB3RSTR IOMNGRRST LL_AHB3_GRP1_ForceReset\n (*)
  605. * AHB3RSTR OTFDEC1RST LL_AHB3_GRP1_ForceReset\n (*)
  606. * AHB3RSTR OTFDEC2RST LL_AHB3_GRP1_ForceReset\n (*)
  607. * AHB3RSTR GFXMMURST LL_AHB3_GRP1_ForceReset\n (*)
  608. * AHB3RSTR SDMMC1RST LL_AHB3_GRP1_ForceReset
  609. * @param Periphs This parameter can be a combination of the following values:
  610. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  611. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  612. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC (*)
  613. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  614. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  615. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  616. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  617. * @arg @ref LL_AHB3_GRP1_PERIPH_OCTOSPIM (*)
  618. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  619. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  620. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  621. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  622. *
  623. * (*) value not defined in all devices.
  624. * @retval None
  625. */
  626. __STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs)
  627. {
  628. SET_BIT(RCC->AHB3RSTR, Periphs);
  629. }
  630. /**
  631. * @brief Release AHB3 peripherals reset.
  632. * @rmtoll AHB3RSTR MDMARST LL_AHB3_GRP1_ReleaseReset\n
  633. * AHB3RSTR DMA2DRST LL_AHB3_GRP1_ReleaseReset\n
  634. * AHB3RSTR JPGDECRST LL_AHB3_GRP1_ReleaseReset\n
  635. * AHB3RSTR FMCRST LL_AHB3_GRP1_ReleaseReset\n
  636. * AHB3RSTR QSPIRST LL_AHB3_GRP1_ReleaseReset\n
  637. * AHB3RSTR OSPI1RST LL_AHB3_GRP1_ReleaseReset\n (*)
  638. * AHB3RSTR OSPI2RST LL_AHB3_GRP1_ReleaseReset\n (*)
  639. * AHB3RSTR IOMNGRRST LL_AHB3_GRP1_ReleaseReset\n (*)
  640. * AHB3RSTR OTFDEC1RST LL_AHB3_GRP1_ReleaseReset\n (*)
  641. * AHB3RSTR OTFDEC2RST LL_AHB3_GRP1_ReleaseReset\n (*)
  642. * AHB3RSTR GFXMMURST LL_AHB3_GRP1_ReleaseReset\n (*)
  643. * AHB3RSTR SDMMC1RST LL_AHB3_GRP1_ReleaseReset
  644. * @param Periphs This parameter can be a combination of the following values:
  645. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  646. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  647. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC (*)
  648. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  649. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  650. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  651. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  652. * @arg @ref LL_AHB3_GRP1_PERIPH_OCTOSPIM (*)
  653. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  654. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  655. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  656. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  657. *
  658. * (*) value not defined in all devices.
  659. * @retval None
  660. */
  661. __STATIC_INLINE void LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)
  662. {
  663. CLEAR_BIT(RCC->AHB3RSTR, Periphs);
  664. }
  665. /**
  666. * @brief Enable AHB3 peripherals clock during Low Power (Sleep) mode.
  667. * @rmtoll AHB3LPENR MDMALPEN LL_AHB3_GRP1_EnableClockSleep\n
  668. * AHB3LPENR DMA2DLPEN LL_AHB3_GRP1_EnableClockSleep\n
  669. * AHB3LPENR JPGDECLPEN LL_AHB3_GRP1_EnableClockSleep\n
  670. * AHB3LPENR FMCLPEN LL_AHB3_GRP1_EnableClockSleep\n
  671. * AHB3LPENR QSPILPEN LL_AHB3_GRP1_EnableClockSleep\n (*)
  672. * AHB3LPENR OSPI1LPEN LL_AHB3_GRP1_EnableClockSleep\n (*)
  673. * AHB3LPENR OSPI2LPEN LL_AHB3_GRP1_EnableClockSleep\n (*)
  674. * AHB3LPENR IOMNGRLPEN LL_AHB3_GRP1_EnableClockSleep\n (*)
  675. * AHB3LPENR OTFDEC1LPEN LL_AHB3_GRP1_EnableClockSleep\n (*)
  676. * AHB3LPENR OTFDEC1LPEN LL_AHB3_GRP1_EnableClockSleep\n (*)
  677. * AHB3LPENR GFXMMULPEN LL_AHB3_GRP1_EnableClockSleep\n (*)
  678. * AHB3LPENR SDMMC1LPEN LL_AHB3_GRP1_EnableClockSleep\n
  679. * AHB3LPENR FLASHLPEN LL_AHB3_GRP1_EnableClockSleep\n
  680. * AHB3LPENR DTCM1LPEN LL_AHB3_GRP1_EnableClockSleep\n
  681. * AHB3LPENR DTCM2LPEN LL_AHB3_GRP1_EnableClockSleep\n
  682. * AHB3LPENR ITCMLPEN LL_AHB3_GRP1_EnableClockSleep\n
  683. * AHB3LPENR AXISRAMLPEN LL_AHB3_GRP1_EnableClockSleep
  684. * @param Periphs This parameter can be a combination of the following values:
  685. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  686. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC (*)
  687. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  688. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  689. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  690. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  691. * @arg @ref LL_AHB3_GRP1_PERIPH_OCTOSPIM (*)
  692. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  693. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  694. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  695. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  696. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  697. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  698. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  699. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  700. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  701. *
  702. * (*) value not defined in all devices.
  703. * @retval None
  704. */
  705. __STATIC_INLINE void LL_AHB3_GRP1_EnableClockSleep(uint32_t Periphs)
  706. {
  707. __IO uint32_t tmpreg;
  708. SET_BIT(RCC->AHB3LPENR, Periphs);
  709. /* Delay after an RCC peripheral clock enabling */
  710. tmpreg = READ_BIT(RCC->AHB3LPENR, Periphs);
  711. (void)tmpreg;
  712. }
  713. /**
  714. * @brief Disable AHB3 peripherals clock during Low Power (Sleep) mode.
  715. * @rmtoll AHB3LPENR MDMALPEN LL_AHB3_GRP1_DisableClockSleep\n
  716. * AHB3LPENR DMA2DLPEN LL_AHB3_GRP1_DisableClockSleep\n
  717. * AHB3LPENR JPGDECLPEN LL_AHB3_GRP1_DisableClockSleep\n
  718. * AHB3LPENR FMCLPEN LL_AHB3_GRP1_DisableClockSleep\n
  719. * AHB3LPENR QSPILPEN LL_AHB3_GRP1_DisableClockSleep\n
  720. * AHB3LPENR OSPI1LPEN LL_AHB3_GRP1_DisableClockSleep\n (*)
  721. * AHB3LPENR OSPI2LPEN LL_AHB3_GRP1_DisableClockSleep\n (*)
  722. * AHB3LPENR IOMNGRLPEN LL_AHB3_GRP1_DisableClockSleep\n (*)
  723. * AHB3LPENR OTFDEC1LPEN LL_AHB3_GRP1_DisableClockSleep\n (*)
  724. * AHB3LPENR OTFDEC1LPEN LL_AHB3_GRP1_DisableClockSleep\n (*)
  725. * AHB3LPENR GFXMMULPEN LL_AHB3_GRP1_DisableClockSleep\n (*)
  726. * AHB3LPENR SDMMC1LPEN LL_AHB3_GRP1_DisableClockSleep\n
  727. * AHB3LPENR FLASHLPEN LL_AHB3_GRP1_DisableClockSleep\n
  728. * AHB3LPENR DTCM1LPEN LL_AHB3_GRP1_DisableClockSleep\n
  729. * AHB3LPENR DTCM2LPEN LL_AHB3_GRP1_DisableClockSleep\n
  730. * AHB3LPENR ITCMLPEN LL_AHB3_GRP1_DisableClockSleep\n
  731. * AHB3LPENR AXISRAMLPEN LL_AHB3_GRP1_DisableClockSleep
  732. * @param Periphs This parameter can be a combination of the following values:
  733. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  734. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC (*)
  735. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  736. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  737. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  738. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  739. * @arg @ref LL_AHB3_GRP1_PERIPH_OCTOSPIM (*)
  740. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  741. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  742. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  743. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  744. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  745. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  746. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  747. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  748. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  749. *
  750. * (*) value not defined in all devices.
  751. * @retval None
  752. */
  753. __STATIC_INLINE void LL_AHB3_GRP1_DisableClockSleep(uint32_t Periphs)
  754. {
  755. CLEAR_BIT(RCC->AHB3LPENR, Periphs);
  756. }
  757. /**
  758. * @}
  759. */
  760. /** @defgroup BUS_LL_EF_AHB1 AHB1
  761. * @{
  762. */
  763. /**
  764. * @brief Enable AHB1 peripherals clock.
  765. * @rmtoll AHB1ENR DMA1EN LL_AHB1_GRP1_EnableClock\n
  766. * AHB1ENR DMA2EN LL_AHB1_GRP1_EnableClock\n
  767. * AHB1ENR ADC12EN LL_AHB1_GRP1_EnableClock\n
  768. * AHB1ENR ARTEN LL_AHB1_GRP1_EnableClock\n
  769. * AHB1ENR ETH1MACEN LL_AHB1_GRP1_EnableClock\n (*)
  770. * AHB1ENR ETH1TXEN LL_AHB1_GRP1_EnableClock\n (*)
  771. * AHB1ENR ETH1RXEN LL_AHB1_GRP1_EnableClock\n (*)
  772. * AHB1ENR USB1OTGHSEN LL_AHB1_GRP1_EnableClock\n
  773. * AHB1ENR USB1OTGHSULPIEN LL_AHB1_GRP1_EnableClock\n
  774. * AHB1ENR USB2OTGHSEN LL_AHB1_GRP1_EnableClock\n (*)
  775. * AHB1ENR USB2OTGHSULPIEN LL_AHB1_GRP1_EnableClock (*)
  776. * @param Periphs This parameter can be a combination of the following values:
  777. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  778. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  779. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  780. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  781. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  782. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  783. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  784. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  785. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  786. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  787. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  788. *
  789. * (*) value not defined in all devices.
  790. * @retval None
  791. */
  792. __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs)
  793. {
  794. __IO uint32_t tmpreg;
  795. SET_BIT(RCC->AHB1ENR, Periphs);
  796. /* Delay after an RCC peripheral clock enabling */
  797. tmpreg = READ_BIT(RCC->AHB1ENR, Periphs);
  798. (void)tmpreg;
  799. }
  800. /**
  801. * @brief Check if AHB1 peripheral clock is enabled or not
  802. * @rmtoll AHB1ENR DMA1EN LL_AHB1_GRP1_IsEnabledClock\n
  803. * AHB1ENR DMA2EN LL_AHB1_GRP1_IsEnabledClock\n
  804. * AHB1ENR ADC12EN LL_AHB1_GRP1_IsEnabledClock\n
  805. * AHB1ENR ARTEN LL_AHB1_GRP1_IsEnabledClock\n (*)
  806. * AHB1ENR CRCEN LL_AHB1_GRP1_IsEnabledClock\n (*)
  807. * AHB1ENR ETH1MACEN LL_AHB1_GRP1_IsEnabledClock\n (*)
  808. * AHB1ENR ETH1TXEN LL_AHB1_GRP1_IsEnabledClock\n (*)
  809. * AHB1ENR ETH1RXEN LL_AHB1_GRP1_IsEnabledClock\n (*)
  810. * AHB1ENR USB1OTGHSEN LL_AHB1_GRP1_IsEnabledClock\n
  811. * AHB1ENR USB1OTGHSULPIEN LL_AHB1_GRP1_IsEnabledClock\n
  812. * AHB1ENR USB2OTGHSEN LL_AHB1_GRP1_IsEnabledClock\n (*)
  813. * AHB1ENR USB2OTGHSULPIEN LL_AHB1_GRP1_IsEnabledClock (*)
  814. * @param Periphs This parameter can be a combination of the following values:
  815. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  816. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  817. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  818. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  819. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  820. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  821. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  822. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  823. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  824. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  825. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  826. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  827. *
  828. * (*) value not defined in all devices.
  829. * @retval uint32_t
  830. */
  831. __STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
  832. {
  833. return ((READ_BIT(RCC->AHB1ENR, Periphs) == Periphs)?1U:0U);
  834. }
  835. /**
  836. * @brief Disable AHB1 peripherals clock.
  837. * @rmtoll AHB1ENR DMA1EN LL_AHB1_GRP1_DisableClock\n
  838. * AHB1ENR DMA2EN LL_AHB1_GRP1_DisableClock\n
  839. * AHB1ENR ADC12EN LL_AHB1_GRP1_DisableClock\n
  840. * AHB1ENR ARTEN LL_AHB1_GRP1_DisableClock\n (*)
  841. * AHB1ENR ETH1MACEN LL_AHB1_GRP1_DisableClock\n (*)
  842. * AHB1ENR ETH1TXEN LL_AHB1_GRP1_DisableClock\n (*)
  843. * AHB1ENR ETH1RXEN LL_AHB1_GRP1_DisableClock\n (*)
  844. * AHB1ENR USB1OTGHSEN LL_AHB1_GRP1_DisableClock\n
  845. * AHB1ENR USB1OTGHSULPIEN LL_AHB1_GRP1_DisableClock\n
  846. * AHB1ENR USB2OTGHSEN LL_AHB1_GRP1_DisableClock\n (*)
  847. * AHB1ENR USB2OTGHSULPIEN LL_AHB1_GRP1_DisableClock (*)
  848. * @param Periphs This parameter can be a combination of the following values:
  849. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  850. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  851. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  852. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  853. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  854. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  855. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  856. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  857. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  858. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  859. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  860. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  861. *
  862. * (*) value not defined in all devices.
  863. * @retval None
  864. */
  865. __STATIC_INLINE void LL_AHB1_GRP1_DisableClock(uint32_t Periphs)
  866. {
  867. CLEAR_BIT(RCC->AHB1ENR, Periphs);
  868. }
  869. /**
  870. * @brief Force AHB1 peripherals reset.
  871. * @rmtoll AHB1RSTR DMA1RST LL_AHB1_GRP1_ForceReset\n
  872. * AHB1RSTR DMA2RST LL_AHB1_GRP1_ForceReset\n
  873. * AHB1RSTR ADC12RST LL_AHB1_GRP1_ForceReset\n
  874. * AHB1RSTR ARTRST LL_AHB1_GRP1_ForceReset\n (*)
  875. * AHB1RSTR CRCRST LL_AHB1_GRP1_ForceReset\n (*)
  876. * AHB1RSTR ETH1MACRST LL_AHB1_GRP1_ForceReset\n (*)
  877. * AHB1RSTR USB1OTGHSRST LL_AHB1_GRP1_ForceReset\n
  878. * AHB1RSTR USB2OTGHSRST LL_AHB1_GRP1_ForceReset (*)
  879. * @param Periphs This parameter can be a combination of the following values:
  880. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  881. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  882. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  883. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  884. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  885. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  886. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  887. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  888. *
  889. * (*) value not defined in all devices.
  890. * @retval None
  891. */
  892. __STATIC_INLINE void LL_AHB1_GRP1_ForceReset(uint32_t Periphs)
  893. {
  894. SET_BIT(RCC->AHB1RSTR, Periphs);
  895. }
  896. /**
  897. * @brief Release AHB1 peripherals reset.
  898. * @rmtoll AHB1RSTR DMA1RST LL_AHB1_GRP1_ReleaseReset\n
  899. * AHB1RSTR DMA2RST LL_AHB1_GRP1_ReleaseReset\n
  900. * AHB1RSTR ADC12RST LL_AHB1_GRP1_ReleaseReset\n
  901. * AHB1RSTR ARTRST LL_AHB1_GRP1_ReleaseReset\n (*)
  902. * AHB1RSTR CRCRST LL_AHB1_GRP1_ReleaseReset\n (*)
  903. * AHB1RSTR ETH1MACRST LL_AHB1_GRP1_ReleaseReset\n (*)
  904. * AHB1RSTR USB1OTGHSRST LL_AHB1_GRP1_ReleaseReset\n
  905. * AHB1RSTR USB2OTGHSRST LL_AHB1_GRP1_ReleaseReset (*)
  906. * @param Periphs This parameter can be a combination of the following values:
  907. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  908. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  909. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  910. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  911. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  912. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  913. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  914. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  915. *
  916. * (*) value not defined in all devices.
  917. * @retval None
  918. */
  919. __STATIC_INLINE void LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)
  920. {
  921. CLEAR_BIT(RCC->AHB1RSTR, Periphs);
  922. }
  923. /**
  924. * @brief Enable AHB1 peripherals clock during Low Power (Sleep) mode.
  925. * @rmtoll AHB1LPENR DMA1LPEN LL_AHB1_GRP1_EnableClockSleep\n
  926. * AHB1LPENR DMA2LPEN LL_AHB1_GRP1_EnableClockSleep\n
  927. * AHB1LPENR ADC12LPEN LL_AHB1_GRP1_EnableClockSleep\n
  928. * AHB1LPENR ARTLPEN LL_AHB1_GRP1_EnableClockSleep\n (*)
  929. * AHB1LPENR CRCLPEN LL_AHB1_GRP1_EnableClockSleep\n (*)
  930. * AHB1LPENR ETH1MACLPEN LL_AHB1_GRP1_EnableClockSleep\n (*)
  931. * AHB1LPENR ETH1TXLPEN LL_AHB1_GRP1_EnableClockSleep\n (*)
  932. * AHB1LPENR ETH1RXLPEN LL_AHB1_GRP1_EnableClockSleep\n
  933. * AHB1LPENR USB1OTGHSLPEN LL_AHB1_GRP1_EnableClockSleep\n
  934. * AHB1LPENR USB1OTGHSULPILPEN LL_AHB1_GRP1_EnableClockSleep\n
  935. * AHB1LPENR USB2OTGHSLPEN LL_AHB1_GRP1_EnableClockSleep\n (*)
  936. * AHB1LPENR USB2OTGHSULPILPEN LL_AHB1_GRP1_EnableClockSleep (*)
  937. * @param Periphs This parameter can be a combination of the following values:
  938. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  939. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  940. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  941. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  942. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  943. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  944. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  945. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  946. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  947. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  948. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  949. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  950. *
  951. * (*) value not defined in all devices.
  952. * @retval None
  953. */
  954. __STATIC_INLINE void LL_AHB1_GRP1_EnableClockSleep(uint32_t Periphs)
  955. {
  956. __IO uint32_t tmpreg;
  957. SET_BIT(RCC->AHB1LPENR, Periphs);
  958. /* Delay after an RCC peripheral clock enabling */
  959. tmpreg = READ_BIT(RCC->AHB1LPENR, Periphs);
  960. (void)tmpreg;
  961. }
  962. /**
  963. * @brief Disable AHB1 peripherals clock during Low Power (Sleep) mode.
  964. * @rmtoll AHB1LPENR DMA1LPEN LL_AHB1_GRP1_DisableClockSleep\n
  965. * AHB1LPENR DMA2LPEN LL_AHB1_GRP1_DisableClockSleep\n
  966. * AHB1LPENR ADC12LPEN LL_AHB1_GRP1_DisableClockSleep\n
  967. * AHB1LPENR ARTLPEN LL_AHB1_GRP1_DisableClockSleep\n (*)
  968. * AHB1LPENR CRCLPEN LL_AHB1_GRP1_DisableClockSleep\n (*)
  969. * AHB1LPENR ETH1MACLPEN LL_AHB1_GRP1_DisableClockSleep\n (*)
  970. * AHB1LPENR ETH1TXLPEN LL_AHB1_GRP1_DisableClockSleep\n (*)
  971. * AHB1LPENR ETH1RXLPEN LL_AHB1_GRP1_DisableClockSleep\n (*)
  972. * AHB1LPENR USB1OTGHSLPEN LL_AHB1_GRP1_DisableClockSleep\n
  973. * AHB1LPENR USB1OTGHSULPILPEN LL_AHB1_GRP1_DisableClockSleep\n
  974. * AHB1LPENR USB2OTGHSLPEN LL_AHB1_GRP1_DisableClockSleep\n (*)
  975. * AHB1LPENR USB2OTGHSULPILPEN LL_AHB1_GRP1_DisableClockSleep (*)
  976. * @param Periphs This parameter can be a combination of the following values:
  977. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  978. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  979. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  980. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  981. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  982. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  983. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  984. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  985. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  986. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  987. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  988. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  989. *
  990. * (*) value not defined in all devices.
  991. * @retval None
  992. */
  993. __STATIC_INLINE void LL_AHB1_GRP1_DisableClockSleep(uint32_t Periphs)
  994. {
  995. CLEAR_BIT(RCC->AHB1LPENR, Periphs);
  996. }
  997. /**
  998. * @}
  999. */
  1000. /** @defgroup BUS_LL_EF_AHB2 AHB2
  1001. * @{
  1002. */
  1003. /**
  1004. * @brief Enable AHB2 peripherals clock.
  1005. * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_EnableClock\n
  1006. * AHB2ENR HSEMEN LL_AHB2_GRP1_EnableClock\n (*)
  1007. * AHB2ENR CRYPEN LL_AHB2_GRP1_EnableClock\n (*)
  1008. * AHB2ENR HASHEN LL_AHB2_GRP1_EnableClock\n (*)
  1009. * AHB2ENR RNGEN LL_AHB2_GRP1_EnableClock\n
  1010. * AHB2ENR SDMMC2EN LL_AHB2_GRP1_EnableClock\n
  1011. * AHB2ENR BDMA1EN LL_AHB2_GRP1_EnableClock\n (*)
  1012. * AHB2ENR D2SRAM1EN LL_AHB2_GRP1_EnableClock\n
  1013. * AHB2ENR D2SRAM2EN LL_AHB2_GRP1_EnableClock\n
  1014. * AHB2ENR D2SRAM3EN LL_AHB2_GRP1_EnableClock (*)
  1015. * @param Periphs This parameter can be a combination of the following values:
  1016. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  1017. * @arg @ref LL_AHB2_GRP1_PERIPH_HSEM (*)
  1018. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  1019. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  1020. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  1021. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  1022. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  1023. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  1024. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  1025. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  1026. *
  1027. * (*) value not defined in all devices.
  1028. * @retval None
  1029. */
  1030. __STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs)
  1031. {
  1032. __IO uint32_t tmpreg;
  1033. SET_BIT(RCC->AHB2ENR, Periphs);
  1034. /* Delay after an RCC peripheral clock enabling */
  1035. tmpreg = READ_BIT(RCC->AHB2ENR, Periphs);
  1036. (void)tmpreg;
  1037. }
  1038. /**
  1039. * @brief Check if AHB2 peripheral clock is enabled or not
  1040. * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_IsEnabledClock\n
  1041. * AHB2ENR HSEMEN LL_AHB2_GRP1_IsEnabledClock\n (*)
  1042. * AHB2ENR CRYPEN LL_AHB2_GRP1_IsEnabledClock\n (*)
  1043. * AHB2ENR HASHEN LL_AHB2_GRP1_IsEnabledClock\n (*)
  1044. * AHB2ENR RNGEN LL_AHB2_GRP1_IsEnabledClock\n
  1045. * AHB2ENR SDMMC2EN LL_AHB2_GRP1_IsEnabledClock\n
  1046. * AHB2ENR BDMA1EN LL_AHB2_GRP1_IsEnabledClock\n (*)
  1047. * AHB2ENR D2SRAM1EN LL_AHB2_GRP1_IsEnabledClock\n
  1048. * AHB2ENR D2SRAM2EN LL_AHB2_GRP1_IsEnabledClock\n
  1049. * AHB2ENR D2SRAM3EN LL_AHB2_GRP1_IsEnabledClock (*)
  1050. * @param Periphs This parameter can be a combination of the following values:
  1051. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  1052. * @arg @ref LL_AHB2_GRP1_PERIPH_HSEMEN (*)
  1053. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  1054. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  1055. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  1056. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  1057. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  1058. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  1059. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  1060. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  1061. *
  1062. * (*) value not defined in all devices.
  1063. * @retval uint32_t
  1064. */
  1065. __STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
  1066. {
  1067. return ((READ_BIT(RCC->AHB2ENR, Periphs) == Periphs)?1U:0U);
  1068. }
  1069. /**
  1070. * @brief Disable AHB2 peripherals clock.
  1071. * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_DisableClock\n
  1072. * AHB2ENR HSEMEN LL_AHB2_GRP1_DisableClock\n (*)
  1073. * AHB2ENR CRYPEN LL_AHB2_GRP1_DisableClock\n (*)
  1074. * AHB2ENR HASHEN LL_AHB2_GRP1_DisableClock\n (*)
  1075. * AHB2ENR RNGEN LL_AHB2_GRP1_DisableClock\n
  1076. * AHB2ENR SDMMC2EN LL_AHB2_GRP1_DisableClock\n
  1077. * AHB2ENR BDMA1EN LL_AHB2_GRP1_DisableClock\n (*)
  1078. * AHB2ENR D2SRAM1EN LL_AHB2_GRP1_DisableClock\n
  1079. * AHB2ENR D2SRAM2EN LL_AHB2_GRP1_DisableClock\n
  1080. * AHB2ENR D2SRAM3EN LL_AHB2_GRP1_DisableClock (*)
  1081. * @param Periphs This parameter can be a combination of the following values:
  1082. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  1083. * @arg @ref LL_AHB2_GRP1_PERIPH_HSEMEN (*)
  1084. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  1085. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  1086. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  1087. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  1088. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  1089. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  1090. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  1091. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  1092. *
  1093. * (*) value not defined in all devices.
  1094. * @retval None
  1095. */
  1096. __STATIC_INLINE void LL_AHB2_GRP1_DisableClock(uint32_t Periphs)
  1097. {
  1098. CLEAR_BIT(RCC->AHB2ENR, Periphs);
  1099. }
  1100. /**
  1101. * @brief Force AHB2 peripherals reset.
  1102. * @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ForceReset\n
  1103. * AHB2RSTR HSEMRST LL_AHB2_GRP1_ForceReset\n (*)
  1104. * AHB2RSTR CRYPRST LL_AHB2_GRP1_ForceReset\n (*)
  1105. * AHB2RSTR HASHRST LL_AHB2_GRP1_ForceReset\n (*)
  1106. * AHB2RSTR RNGRST LL_AHB2_GRP1_ForceReset\n
  1107. * AHB2RSTR SDMMC2RST LL_AHB2_GRP1_ForceReset\n
  1108. * AHB2RSTR BDMA1RST LL_AHB2_GRP1_ForceReset (*)
  1109. * @param Periphs This parameter can be a combination of the following values:
  1110. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  1111. * @arg @ref LL_AHB2_GRP1_PERIPH_HSEM (*)
  1112. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  1113. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  1114. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  1115. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  1116. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  1117. *
  1118. * (*) value not defined in all devices.
  1119. * @retval None
  1120. */
  1121. __STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs)
  1122. {
  1123. SET_BIT(RCC->AHB2RSTR, Periphs);
  1124. }
  1125. /**
  1126. * @brief Release AHB2 peripherals reset.
  1127. * @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ReleaseReset\n
  1128. * AHB2RSTR HSEMRST LL_AHB2_GRP1_ReleaseReset\n (*)
  1129. * AHB2RSTR CRYPRST LL_AHB2_GRP1_ReleaseReset\n (*)
  1130. * AHB2RSTR HASHRST LL_AHB2_GRP1_ReleaseReset\n (*)
  1131. * AHB2RSTR RNGRST LL_AHB2_GRP1_ReleaseReset\n
  1132. * AHB2RSTR SDMMC2RST LL_AHB2_GRP1_ReleaseReset\n
  1133. * AHB2RSTR BDMA1RST LL_AHB2_GRP1_ReleaseReset (*)
  1134. * @param Periphs This parameter can be a combination of the following values:
  1135. * @arg @ref LL_AHB2_GRP1_PERIPH_HSEM (*)
  1136. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  1137. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  1138. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  1139. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  1140. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  1141. *
  1142. * (*) value not defined in all devices.
  1143. * @retval None
  1144. */
  1145. __STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)
  1146. {
  1147. CLEAR_BIT(RCC->AHB2RSTR, Periphs);
  1148. }
  1149. /**
  1150. * @brief Enable AHB2 peripherals clock during Low Power (Sleep) mode.
  1151. * @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_EnableClockSleep\n
  1152. * AHB2LPENR CRYPLPEN LL_AHB2_GRP1_EnableClockSleep\n (*)
  1153. * AHB2LPENR HASHLPEN LL_AHB2_GRP1_EnableClockSleep\n (*)
  1154. * AHB2LPENR RNGLPEN LL_AHB2_GRP1_EnableClockSleep\n
  1155. * AHB2LPENR SDMMC2LPEN LL_AHB2_GRP1_EnableClockSleep\n
  1156. * AHB2LPENR BDMA1LPEN LL_AHB2_GRP1_EnableClockSleep\n (*)
  1157. * AHB2LPENR D2SRAM1LPEN LL_AHB2_GRP1_EnableClockSleep\n
  1158. * AHB2LPENR D2SRAM2LPEN LL_AHB2_GRP1_EnableClockSleep\n
  1159. * AHB2LPENR D2SRAM3LPEN LL_AHB2_GRP1_EnableClockSleep (*)
  1160. * @param Periphs This parameter can be a combination of the following values:
  1161. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  1162. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  1163. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  1164. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  1165. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  1166. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  1167. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  1168. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  1169. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  1170. *
  1171. * (*) value not defined in all devices.
  1172. * @retval None
  1173. */
  1174. __STATIC_INLINE void LL_AHB2_GRP1_EnableClockSleep(uint32_t Periphs)
  1175. {
  1176. __IO uint32_t tmpreg;
  1177. SET_BIT(RCC->AHB2LPENR, Periphs);
  1178. /* Delay after an RCC peripheral clock enabling */
  1179. tmpreg = READ_BIT(RCC->AHB2LPENR, Periphs);
  1180. (void)tmpreg;
  1181. }
  1182. /**
  1183. * @brief Disable AHB2 peripherals clock during Low Power (Sleep) mode.
  1184. * @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_DisableClockSleep\n
  1185. * AHB2LPENR CRYPLPEN LL_AHB2_GRP1_DisableClockSleep\n (*)
  1186. * AHB2LPENR HASHLPEN LL_AHB2_GRP1_DisableClockSleep\n (*)
  1187. * AHB2LPENR RNGLPEN LL_AHB2_GRP1_DisableClockSleep\n
  1188. * AHB2LPENR SDMMC2LPEN LL_AHB2_GRP1_DisableClockSleep\n
  1189. * AHB2LPENR BDMA1LPEN LL_AHB2_GRP1_DisableClockSleep\n (*)
  1190. * AHB2LPENR D2SRAM1LPEN LL_AHB2_GRP1_DisableClockSleep\n
  1191. * AHB2LPENR D2SRAM2LPEN LL_AHB2_GRP1_DisableClockSleep\n
  1192. * AHB2LPENR D2SRAM3LPEN LL_AHB2_GRP1_DisableClockSleep (*)
  1193. * @param Periphs This parameter can be a combination of the following values:
  1194. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  1195. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  1196. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  1197. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  1198. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  1199. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  1200. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  1201. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  1202. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  1203. *
  1204. * (*) value not defined in all devices.
  1205. * @retval None
  1206. */
  1207. __STATIC_INLINE void LL_AHB2_GRP1_DisableClockSleep(uint32_t Periphs)
  1208. {
  1209. CLEAR_BIT(RCC->AHB2LPENR, Periphs);
  1210. }
  1211. /**
  1212. * @}
  1213. */
  1214. /** @defgroup BUS_LL_EF_AHB4 AHB4
  1215. * @{
  1216. */
  1217. /**
  1218. * @brief Enable AHB4 peripherals clock.
  1219. * @rmtoll AHB4ENR GPIOAEN LL_AHB4_GRP1_EnableClock\n
  1220. * AHB4ENR GPIOBEN LL_AHB4_GRP1_EnableClock\n
  1221. * AHB4ENR GPIOCEN LL_AHB4_GRP1_EnableClock\n
  1222. * AHB4ENR GPIODEN LL_AHB4_GRP1_EnableClock\n
  1223. * AHB4ENR GPIOEEN LL_AHB4_GRP1_EnableClock\n
  1224. * AHB4ENR GPIOFEN LL_AHB4_GRP1_EnableClock\n
  1225. * AHB4ENR GPIOGEN LL_AHB4_GRP1_EnableClock\n
  1226. * AHB4ENR GPIOHEN LL_AHB4_GRP1_EnableClock\n
  1227. * AHB4ENR GPIOIEN LL_AHB4_GRP1_EnableClock\n
  1228. * AHB4ENR GPIOJEN LL_AHB4_GRP1_EnableClock\n
  1229. * AHB4ENR GPIOKEN LL_AHB4_GRP1_EnableClock\n
  1230. * AHB4ENR CRCEN LL_AHB4_GRP1_EnableClock\n (*)
  1231. * AHB4ENR BDMAEN LL_AHB4_GRP1_EnableClock\n
  1232. * AHB4ENR ADC3EN LL_AHB4_GRP1_EnableClock\n (*)
  1233. * AHB4ENR HSEMEN LL_AHB4_GRP1_EnableClock\n (*)
  1234. * AHB4ENR BKPRAMEN LL_AHB4_GRP1_EnableClock\n
  1235. * AHB4ENR SRAM4EN LL_AHB4_GRP1_EnableClock
  1236. * @param Periphs This parameter can be a combination of the following values:
  1237. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  1238. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  1239. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  1240. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  1241. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  1242. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  1243. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  1244. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  1245. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  1246. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  1247. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  1248. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  1249. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  1250. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  1251. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  1252. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  1253. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  1254. *
  1255. * (*) value not defined in all devices.
  1256. * @retval None
  1257. */
  1258. __STATIC_INLINE void LL_AHB4_GRP1_EnableClock(uint32_t Periphs)
  1259. {
  1260. __IO uint32_t tmpreg;
  1261. SET_BIT(RCC->AHB4ENR, Periphs);
  1262. /* Delay after an RCC peripheral clock enabling */
  1263. tmpreg = READ_BIT(RCC->AHB4ENR, Periphs);
  1264. (void)tmpreg;
  1265. }
  1266. /**
  1267. * @brief Check if AHB4 peripheral clock is enabled or not
  1268. * @rmtoll AHB4ENR GPIOAEN LL_AHB4_GRP1_IsEnabledClock\n
  1269. * AHB4ENR GPIOBEN LL_AHB4_GRP1_IsEnabledClock\n
  1270. * AHB4ENR GPIOCEN LL_AHB4_GRP1_IsEnabledClock\n
  1271. * AHB4ENR GPIODEN LL_AHB4_GRP1_IsEnabledClock\n
  1272. * AHB4ENR GPIOEEN LL_AHB4_GRP1_IsEnabledClock\n
  1273. * AHB4ENR GPIOFEN LL_AHB4_GRP1_IsEnabledClock\n
  1274. * AHB4ENR GPIOGEN LL_AHB4_GRP1_IsEnabledClock\n
  1275. * AHB4ENR GPIOHEN LL_AHB4_GRP1_IsEnabledClock\n
  1276. * AHB4ENR GPIOIEN LL_AHB4_GRP1_IsEnabledClock\n
  1277. * AHB4ENR GPIOJEN LL_AHB4_GRP1_IsEnabledClock\n
  1278. * AHB4ENR GPIOKEN LL_AHB4_GRP1_IsEnabledClock\n
  1279. * AHB4ENR CRCEN LL_AHB4_GRP1_IsEnabledClock\n (*)
  1280. * AHB4ENR BDMAEN LL_AHB4_GRP1_IsEnabledClock\n
  1281. * AHB4ENR ADC3EN LL_AHB4_GRP1_IsEnabledClock\n (*)
  1282. * AHB4ENR HSEMEN LL_AHB4_GRP1_IsEnabledClock\n (*)
  1283. * AHB4ENR BKPRAMEN LL_AHB4_GRP1_IsEnabledClock\n
  1284. * AHB4ENR SRAM4EN LL_AHB4_GRP1_IsEnabledClock
  1285. * @param Periphs This parameter can be a combination of the following values:
  1286. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  1287. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  1288. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  1289. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  1290. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  1291. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  1292. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  1293. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  1294. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  1295. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  1296. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  1297. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  1298. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  1299. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  1300. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  1301. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  1302. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  1303. *
  1304. * (*) value not defined in all devices.
  1305. * @retval uint32_t
  1306. */
  1307. __STATIC_INLINE uint32_t LL_AHB4_GRP1_IsEnabledClock(uint32_t Periphs)
  1308. {
  1309. return ((READ_BIT(RCC->AHB4ENR, Periphs) == Periphs)?1U:0U);
  1310. }
  1311. /**
  1312. * @brief Disable AHB4 peripherals clock.
  1313. * @rmtoll AHB4ENR GPIOAEN LL_AHB4_GRP1_DisableClock\n
  1314. * AHB4ENR GPIOBEN LL_AHB4_GRP1_DisableClock\n
  1315. * AHB4ENR GPIOCEN LL_AHB4_GRP1_DisableClock\n
  1316. * AHB4ENR GPIODEN LL_AHB4_GRP1_DisableClock\n
  1317. * AHB4ENR GPIOEEN LL_AHB4_GRP1_DisableClock\n
  1318. * AHB4ENR GPIOFEN LL_AHB4_GRP1_DisableClock\n
  1319. * AHB4ENR GPIOGEN LL_AHB4_GRP1_DisableClock\n
  1320. * AHB4ENR GPIOHEN LL_AHB4_GRP1_DisableClock\n
  1321. * AHB4ENR GPIOIEN LL_AHB4_GRP1_DisableClock\n
  1322. * AHB4ENR GPIOJEN LL_AHB4_GRP1_DisableClock\n
  1323. * AHB4ENR GPIOKEN LL_AHB4_GRP1_DisableClock\n
  1324. * AHB4ENR CRCEN LL_AHB4_GRP1_DisableClock\n (*)
  1325. * AHB4ENR BDMAEN LL_AHB4_GRP1_DisableClock\n
  1326. * AHB4ENR ADC3EN LL_AHB4_GRP1_DisableClock\n (*)
  1327. * AHB4ENR HSEMEN LL_AHB4_GRP1_DisableClock\n (*)
  1328. * AHB4ENR BKPRAMEN LL_AHB4_GRP1_DisableClock\n
  1329. * AHB4ENR SRAM4EN LL_AHB4_GRP1_DisableClock
  1330. * @param Periphs This parameter can be a combination of the following values:
  1331. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  1332. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  1333. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  1334. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  1335. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  1336. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  1337. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  1338. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  1339. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  1340. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  1341. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  1342. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  1343. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  1344. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  1345. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  1346. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  1347. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  1348. *
  1349. * (*) value not defined in all devices.
  1350. * @retval None
  1351. */
  1352. __STATIC_INLINE void LL_AHB4_GRP1_DisableClock(uint32_t Periphs)
  1353. {
  1354. CLEAR_BIT(RCC->AHB4ENR, Periphs);
  1355. }
  1356. /**
  1357. * @brief Force AHB4 peripherals reset.
  1358. * @rmtoll AHB4RSTR GPIOARST LL_AHB4_GRP1_ForceReset\n
  1359. * AHB4RSTR GPIOBRST LL_AHB4_GRP1_ForceReset\n
  1360. * AHB4RSTR GPIOCRST LL_AHB4_GRP1_ForceReset\n
  1361. * AHB4RSTR GPIODRST LL_AHB4_GRP1_ForceReset\n
  1362. * AHB4RSTR GPIOERST LL_AHB4_GRP1_ForceReset\n
  1363. * AHB4RSTR GPIOFRST LL_AHB4_GRP1_ForceReset\n
  1364. * AHB4RSTR GPIOGRST LL_AHB4_GRP1_ForceReset\n
  1365. * AHB4RSTR GPIOHRST LL_AHB4_GRP1_ForceReset\n
  1366. * AHB4RSTR GPIOIRST LL_AHB4_GRP1_ForceReset\n
  1367. * AHB4RSTR GPIOJRST LL_AHB4_GRP1_ForceReset\n
  1368. * AHB4RSTR GPIOKRST LL_AHB4_GRP1_ForceReset\n
  1369. * AHB4RSTR CRCRST LL_AHB4_GRP1_ForceReset\n (*)
  1370. * AHB4RSTR BDMARST LL_AHB4_GRP1_ForceReset\n
  1371. * AHB4RSTR ADC3RST LL_AHB4_GRP1_ForceReset\n (*)
  1372. * AHB4RSTR HSEMRST LL_AHB4_GRP1_ForceReset (*)
  1373. * @param Periphs This parameter can be a combination of the following values:
  1374. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  1375. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  1376. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  1377. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  1378. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  1379. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  1380. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  1381. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  1382. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  1383. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  1384. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  1385. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  1386. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  1387. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  1388. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  1389. *
  1390. * (*) value not defined in all devices.
  1391. * @retval None
  1392. */
  1393. __STATIC_INLINE void LL_AHB4_GRP1_ForceReset(uint32_t Periphs)
  1394. {
  1395. SET_BIT(RCC->AHB4RSTR, Periphs);
  1396. }
  1397. /**
  1398. * @brief Release AHB4 peripherals reset.
  1399. * @rmtoll AHB4RSTR GPIOARST LL_AHB4_GRP1_ReleaseReset\n
  1400. * AHB4RSTR GPIOBRST LL_AHB4_GRP1_ReleaseReset\n
  1401. * AHB4RSTR GPIOCRST LL_AHB4_GRP1_ReleaseReset\n
  1402. * AHB4RSTR GPIODRST LL_AHB4_GRP1_ReleaseReset\n
  1403. * AHB4RSTR GPIOERST LL_AHB4_GRP1_ReleaseReset\n
  1404. * AHB4RSTR GPIOFRST LL_AHB4_GRP1_ReleaseReset\n
  1405. * AHB4RSTR GPIOGRST LL_AHB4_GRP1_ReleaseReset\n
  1406. * AHB4RSTR GPIOHRST LL_AHB4_GRP1_ReleaseReset\n
  1407. * AHB4RSTR GPIOIRST LL_AHB4_GRP1_ReleaseReset\n
  1408. * AHB4RSTR GPIOJRST LL_AHB4_GRP1_ReleaseReset\n
  1409. * AHB4RSTR GPIOKRST LL_AHB4_GRP1_ReleaseReset\n
  1410. * AHB4RSTR CRCRST LL_AHB4_GRP1_ReleaseReset\n (*)
  1411. * AHB4RSTR BDMARST LL_AHB4_GRP1_ReleaseReset\n
  1412. * AHB4RSTR ADC3RST LL_AHB4_GRP1_ReleaseReset\n (*)
  1413. * AHB4RSTR HSEMRST LL_AHB4_GRP1_ReleaseReset (*)
  1414. * @param Periphs This parameter can be a combination of the following values:
  1415. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  1416. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  1417. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  1418. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  1419. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  1420. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  1421. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  1422. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  1423. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  1424. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  1425. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  1426. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  1427. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  1428. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  1429. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  1430. *
  1431. * (*) value not defined in all devices.
  1432. * @retval None
  1433. */
  1434. __STATIC_INLINE void LL_AHB4_GRP1_ReleaseReset(uint32_t Periphs)
  1435. {
  1436. CLEAR_BIT(RCC->AHB4RSTR, Periphs);
  1437. }
  1438. /**
  1439. * @brief Enable AHB4 peripherals clock during Low Power (Sleep) mode.
  1440. * @rmtoll AHB4LPENR GPIOALPEN LL_AHB4_GRP1_EnableClockSleep\n
  1441. * AHB4LPENR GPIOBLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1442. * AHB4LPENR GPIOCLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1443. * AHB4LPENR GPIODLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1444. * AHB4LPENR GPIOELPEN LL_AHB4_GRP1_EnableClockSleep\n
  1445. * AHB4LPENR GPIOFLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1446. * AHB4LPENR GPIOGLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1447. * AHB4LPENR GPIOHLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1448. * AHB4LPENR GPIOILPEN LL_AHB4_GRP1_EnableClockSleep\n
  1449. * AHB4LPENR GPIOJLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1450. * AHB4LPENR GPIOKLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1451. * AHB4LPENR CRCLPEN LL_AHB4_GRP1_EnableClockSleep\n (*)
  1452. * AHB4LPENR BDMALPEN LL_AHB4_GRP1_EnableClockSleep\n
  1453. * AHB4LPENR ADC3LPEN LL_AHB4_GRP1_EnableClockSleep\n (*)
  1454. * AHB4LPENR BKPRAMLPEN LL_AHB4_GRP1_EnableClockSleep\n
  1455. * AHB4LPENR SRAM4LPEN LL_AHB4_GRP1_EnableClockSleep
  1456. * @param Periphs This parameter can be a combination of the following values:
  1457. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  1458. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  1459. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  1460. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  1461. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  1462. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  1463. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  1464. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  1465. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  1466. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  1467. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  1468. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  1469. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  1470. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  1471. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  1472. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  1473. * @retval None
  1474. */
  1475. __STATIC_INLINE void LL_AHB4_GRP1_EnableClockSleep(uint32_t Periphs)
  1476. {
  1477. __IO uint32_t tmpreg;
  1478. SET_BIT(RCC->AHB4LPENR, Periphs);
  1479. /* Delay after an RCC peripheral clock enabling */
  1480. tmpreg = READ_BIT(RCC->AHB4LPENR, Periphs);
  1481. (void)tmpreg;
  1482. }
  1483. /**
  1484. * @brief Disable AHB4 peripherals clock during Low Power (Sleep) mode.
  1485. * @rmtoll AHB4LPENR GPIOALPEN LL_AHB4_GRP1_DisableClockSleep\n
  1486. * AHB4LPENR GPIOBLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1487. * AHB4LPENR GPIOCLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1488. * AHB4LPENR GPIODLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1489. * AHB4LPENR GPIOELPEN LL_AHB4_GRP1_DisableClockSleep\n
  1490. * AHB4LPENR GPIOFLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1491. * AHB4LPENR GPIOGLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1492. * AHB4LPENR GPIOHLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1493. * AHB4LPENR GPIOILPEN LL_AHB4_GRP1_DisableClockSleep\n
  1494. * AHB4LPENR GPIOJLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1495. * AHB4LPENR GPIOKLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1496. * AHB4LPENR CRCLPEN LL_AHB4_GRP1_DisableClockSleep\n (*)
  1497. * AHB4LPENR BDMALPEN LL_AHB4_GRP1_DisableClockSleep\n
  1498. * AHB4LPENR ADC3LPEN LL_AHB4_GRP1_DisableClockSleep\n (*)
  1499. * AHB4LPENR BKPRAMLPEN LL_AHB4_GRP1_DisableClockSleep\n
  1500. * AHB4LPENR SRAM4LPEN LL_AHB4_GRP1_DisableClockSleep
  1501. * @param Periphs This parameter can be a combination of the following values:
  1502. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  1503. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  1504. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  1505. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  1506. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  1507. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  1508. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  1509. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  1510. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  1511. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  1512. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  1513. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  1514. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  1515. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  1516. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  1517. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  1518. * @retval None
  1519. */
  1520. __STATIC_INLINE void LL_AHB4_GRP1_DisableClockSleep(uint32_t Periphs)
  1521. {
  1522. CLEAR_BIT(RCC->AHB4LPENR, Periphs);
  1523. }
  1524. /**
  1525. * @}
  1526. */
  1527. /** @defgroup BUS_LL_EF_APB3 APB3
  1528. * @{
  1529. */
  1530. /**
  1531. * @brief Enable APB3 peripherals clock.
  1532. * @rmtoll APB3ENR LTDCEN LL_APB3_GRP1_EnableClock\n (*)
  1533. * APB3ENR DSIEN LL_APB3_GRP1_EnableClock\n (*)
  1534. * APB3ENR WWDG1EN LL_APB3_GRP1_EnableClock
  1535. * @param Periphs This parameter can be a combination of the following values:
  1536. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  1537. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  1538. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  1539. *
  1540. * (*) value not defined in all devices.
  1541. * @retval None
  1542. */
  1543. __STATIC_INLINE void LL_APB3_GRP1_EnableClock(uint32_t Periphs)
  1544. {
  1545. __IO uint32_t tmpreg;
  1546. SET_BIT(RCC->APB3ENR, Periphs);
  1547. /* Delay after an RCC peripheral clock enabling */
  1548. tmpreg = READ_BIT(RCC->APB3ENR, Periphs);
  1549. (void)tmpreg;
  1550. }
  1551. /**
  1552. * @brief Check if APB3 peripheral clock is enabled or not
  1553. * @rmtoll APB3ENR LTDCEN LL_APB3_GRP1_IsEnabledClock\n (*)
  1554. * APB3ENR DSIEN LL_APB3_GRP1_IsEnabledClock\n (*)
  1555. * APB3ENR WWDG1EN LL_APB3_GRP1_IsEnabledClock
  1556. * @param Periphs This parameter can be a combination of the following values:
  1557. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  1558. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  1559. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  1560. *
  1561. * (*) value not defined in all devices.
  1562. * @retval uint32_t
  1563. */
  1564. __STATIC_INLINE uint32_t LL_APB3_GRP1_IsEnabledClock(uint32_t Periphs)
  1565. {
  1566. return ((READ_BIT(RCC->APB3ENR, Periphs) == Periphs)?1U:0U);
  1567. }
  1568. /**
  1569. * @brief Disable APB3 peripherals clock.
  1570. * @rmtoll APB3ENR LTDCEN LL_APB3_GRP1_DisableClock\n
  1571. * APB3ENR DSIEN LL_APB3_GRP1_DisableClock\n
  1572. * APB3ENR WWDG1EN LL_APB3_GRP1_DisableClock
  1573. * @param Periphs This parameter can be a combination of the following values:
  1574. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  1575. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  1576. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  1577. *
  1578. * (*) value not defined in all devices.
  1579. * @retval None
  1580. */
  1581. __STATIC_INLINE void LL_APB3_GRP1_DisableClock(uint32_t Periphs)
  1582. {
  1583. CLEAR_BIT(RCC->APB3ENR, Periphs);
  1584. }
  1585. /**
  1586. * @brief Force APB3 peripherals reset.
  1587. * @rmtoll APB3RSTR LTDCRST LL_APB3_GRP1_ForceReset\n (*)
  1588. * APB3RSTR DSIRST LL_APB3_GRP1_ForceReset (*)
  1589. * @param Periphs This parameter can be a combination of the following values:
  1590. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  1591. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  1592. *
  1593. * (*) value not defined in all devices.
  1594. * @retval None
  1595. */
  1596. __STATIC_INLINE void LL_APB3_GRP1_ForceReset(uint32_t Periphs)
  1597. {
  1598. SET_BIT(RCC->APB3RSTR, Periphs);
  1599. }
  1600. /**
  1601. * @brief Release APB3 peripherals reset.
  1602. * @rmtoll APB3RSTR LTDCRST LL_APB3_GRP1_ReleaseReset\n
  1603. * APB3RSTR DSIRST LL_APB3_GRP1_ReleaseReset
  1604. * @param Periphs This parameter can be a combination of the following values:
  1605. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  1606. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  1607. *
  1608. * (*) value not defined in all devices.
  1609. * @retval None
  1610. */
  1611. __STATIC_INLINE void LL_APB3_GRP1_ReleaseReset(uint32_t Periphs)
  1612. {
  1613. CLEAR_BIT(RCC->APB3RSTR, Periphs);
  1614. }
  1615. /**
  1616. * @brief Enable APB3 peripherals clock during Low Power (Sleep) mode.
  1617. * @rmtoll APB3LPENR LTDCLPEN LL_APB3_GRP1_EnableClockSleep\n (*)
  1618. * APB3LPENR DSILPEN LL_APB3_GRP1_EnableClockSleep\n (*)
  1619. * APB3LPENR WWDG1LPEN LL_APB3_GRP1_EnableClockSleep
  1620. * @param Periphs This parameter can be a combination of the following values:
  1621. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  1622. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  1623. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  1624. *
  1625. * (*) value not defined in all devices.
  1626. * @retval None
  1627. */
  1628. __STATIC_INLINE void LL_APB3_GRP1_EnableClockSleep(uint32_t Periphs)
  1629. {
  1630. __IO uint32_t tmpreg;
  1631. SET_BIT(RCC->APB3LPENR, Periphs);
  1632. /* Delay after an RCC peripheral clock enabling */
  1633. tmpreg = READ_BIT(RCC->APB3LPENR, Periphs);
  1634. (void)tmpreg;
  1635. }
  1636. /**
  1637. * @brief Disable APB3 peripherals clock during Low Power (Sleep) mode.
  1638. * @rmtoll APB3LPENR LTDCLPEN LL_APB3_GRP1_DisableClockSleep\n (*)
  1639. * APB3LPENR DSILPEN LL_APB3_GRP1_DisableClockSleep\n (*)
  1640. * APB3LPENR WWDG1LPEN LL_APB3_GRP1_DisableClockSleep
  1641. * @param Periphs This parameter can be a combination of the following values:
  1642. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  1643. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  1644. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  1645. *
  1646. * (*) value not defined in all devices.
  1647. * @retval None
  1648. */
  1649. __STATIC_INLINE void LL_APB3_GRP1_DisableClockSleep(uint32_t Periphs)
  1650. {
  1651. CLEAR_BIT(RCC->APB3LPENR, Periphs);
  1652. }
  1653. /**
  1654. * @}
  1655. */
  1656. /** @defgroup BUS_LL_EF_APB1 APB1
  1657. * @{
  1658. */
  1659. /**
  1660. * @brief Enable APB1 peripherals clock.
  1661. * @rmtoll APB1LENR TIM2EN LL_APB1_GRP1_EnableClock\n
  1662. * APB1LENR TIM3EN LL_APB1_GRP1_EnableClock\n
  1663. * APB1LENR TIM4EN LL_APB1_GRP1_EnableClock\n
  1664. * APB1LENR TIM5EN LL_APB1_GRP1_EnableClock\n
  1665. * APB1LENR TIM6EN LL_APB1_GRP1_EnableClock\n
  1666. * APB1LENR TIM7EN LL_APB1_GRP1_EnableClock\n
  1667. * APB1LENR TIM12EN LL_APB1_GRP1_EnableClock\n
  1668. * APB1LENR TIM13EN LL_APB1_GRP1_EnableClock\n
  1669. * APB1LENR TIM14EN LL_APB1_GRP1_EnableClock\n
  1670. * APB1LENR LPTIM1EN LL_APB1_GRP1_EnableClock\n
  1671. * APB1LENR WWDG2EN LL_APB1_GRP1_EnableClock\n (*)
  1672. * APB1LENR SPI2EN LL_APB1_GRP1_EnableClock\n
  1673. * APB1LENR SPI3EN LL_APB1_GRP1_EnableClock\n
  1674. * APB1LENR SPDIFRXEN LL_APB1_GRP1_EnableClock\n
  1675. * APB1LENR USART2EN LL_APB1_GRP1_EnableClock\n
  1676. * APB1LENR USART3EN LL_APB1_GRP1_EnableClock\n
  1677. * APB1LENR UART4EN LL_APB1_GRP1_EnableClock\n
  1678. * APB1LENR UART5EN LL_APB1_GRP1_EnableClock\n
  1679. * APB1LENR I2C1EN LL_APB1_GRP1_EnableClock\n
  1680. * APB1LENR I2C2EN LL_APB1_GRP1_EnableClock\n
  1681. * APB1LENR I2C3EN LL_APB1_GRP1_EnableClock\n
  1682. * APB1LENR CECEN LL_APB1_GRP1_EnableClock\n
  1683. * APB1LENR DAC12EN LL_APB1_GRP1_EnableClock\n
  1684. * APB1LENR UART7EN LL_APB1_GRP1_EnableClock\n
  1685. * APB1LENR UART8EN LL_APB1_GRP1_EnableClock
  1686. * @param Periphs This parameter can be a combination of the following values:
  1687. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1688. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1689. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1690. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1691. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1692. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1693. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1694. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1695. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1696. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1697. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  1698. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1699. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1700. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  1701. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1702. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1703. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1704. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1705. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1706. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1707. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1708. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  1709. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  1710. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1711. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1712. *
  1713. * (*) value not defined in all devices.
  1714. * @retval None
  1715. */
  1716. __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs)
  1717. {
  1718. __IO uint32_t tmpreg;
  1719. SET_BIT(RCC->APB1LENR, Periphs);
  1720. /* Delay after an RCC peripheral clock enabling */
  1721. tmpreg = READ_BIT(RCC->APB1LENR, Periphs);
  1722. (void)tmpreg;
  1723. }
  1724. /**
  1725. * @brief Check if APB1 peripheral clock is enabled or not
  1726. * @rmtoll APB1LENR TIM2EN LL_APB1_GRP1_IsEnabledClock\n
  1727. * APB1LENR TIM3EN LL_APB1_GRP1_IsEnabledClock\n
  1728. * APB1LENR TIM4EN LL_APB1_GRP1_IsEnabledClock\n
  1729. * APB1LENR TIM5EN LL_APB1_GRP1_IsEnabledClock\n
  1730. * APB1LENR TIM6EN LL_APB1_GRP1_IsEnabledClock\n
  1731. * APB1LENR TIM7EN LL_APB1_GRP1_IsEnabledClock\n
  1732. * APB1LENR TIM12EN LL_APB1_GRP1_IsEnabledClock\n
  1733. * APB1LENR TIM13EN LL_APB1_GRP1_IsEnabledClock\n
  1734. * APB1LENR TIM14EN LL_APB1_GRP1_IsEnabledClock\n
  1735. * APB1LENR LPTIM1EN LL_APB1_GRP1_IsEnabledClock\n
  1736. * APB1LENR WWDG2EN LL_APB1_GRP1_IsEnabledClock\n (*)
  1737. * APB1LENR SPI2EN LL_APB1_GRP1_IsEnabledClock\n
  1738. * APB1LENR SPI3EN LL_APB1_GRP1_IsEnabledClock\n
  1739. * APB1LENR SPDIFRXEN LL_APB1_GRP1_IsEnabledClock\n
  1740. * APB1LENR USART2EN LL_APB1_GRP1_IsEnabledClock\n
  1741. * APB1LENR USART3EN LL_APB1_GRP1_IsEnabledClock\n
  1742. * APB1LENR UART4EN LL_APB1_GRP1_IsEnabledClock\n
  1743. * APB1LENR UART5EN LL_APB1_GRP1_IsEnabledClock\n
  1744. * APB1LENR I2C1EN LL_APB1_GRP1_IsEnabledClock\n
  1745. * APB1LENR I2C2EN LL_APB1_GRP1_IsEnabledClock\n
  1746. * APB1LENR I2C3EN LL_APB1_GRP1_IsEnabledClock\n
  1747. * APB1LENR CECEN LL_APB1_GRP1_IsEnabledClock\n
  1748. * APB1LENR DAC12EN LL_APB1_GRP1_IsEnabledClock\n
  1749. * APB1LENR UART7EN LL_APB1_GRP1_IsEnabledClock\n
  1750. * APB1LENR UART8EN LL_APB1_GRP1_IsEnabledClock
  1751. * @param Periphs This parameter can be a combination of the following values:
  1752. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1753. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1754. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1755. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1756. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1757. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1758. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1759. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1760. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1761. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1762. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  1763. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1764. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1765. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  1766. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1767. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1768. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1769. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1770. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1771. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1772. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1773. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  1774. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  1775. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1776. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1777. *
  1778. * (*) value not defined in all devices.
  1779. * @retval uint32_t
  1780. */
  1781. __STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
  1782. {
  1783. return ((READ_BIT(RCC->APB1LENR, Periphs) == Periphs)?1U:0U);
  1784. }
  1785. /**
  1786. * @brief Disable APB1 peripherals clock.
  1787. * @rmtoll APB1LENR TIM2EN LL_APB1_GRP1_DisableClock\n
  1788. * APB1LENR TIM3EN LL_APB1_GRP1_DisableClock\n
  1789. * APB1LENR TIM4EN LL_APB1_GRP1_DisableClock\n
  1790. * APB1LENR TIM5EN LL_APB1_GRP1_DisableClock\n
  1791. * APB1LENR TIM6EN LL_APB1_GRP1_DisableClock\n
  1792. * APB1LENR TIM7EN LL_APB1_GRP1_DisableClock\n
  1793. * APB1LENR TIM12EN LL_APB1_GRP1_DisableClock\n
  1794. * APB1LENR TIM13EN LL_APB1_GRP1_DisableClock\n
  1795. * APB1LENR TIM14EN LL_APB1_GRP1_DisableClock\n
  1796. * APB1LENR LPTIM1EN LL_APB1_GRP1_DisableClock\n
  1797. * APB1LENR WWDG2EN LL_APB1_GRP1_DisableClock\n (*)
  1798. * APB1LENR SPI2EN LL_APB1_GRP1_DisableClock\n
  1799. * APB1LENR SPI3EN LL_APB1_GRP1_DisableClock\n
  1800. * APB1LENR SPDIFRXEN LL_APB1_GRP1_DisableClock\n
  1801. * APB1LENR USART2EN LL_APB1_GRP1_DisableClock\n
  1802. * APB1LENR USART3EN LL_APB1_GRP1_DisableClock\n
  1803. * APB1LENR UART4EN LL_APB1_GRP1_DisableClock\n
  1804. * APB1LENR UART5EN LL_APB1_GRP1_DisableClock\n
  1805. * APB1LENR I2C1EN LL_APB1_GRP1_DisableClock\n
  1806. * APB1LENR I2C2EN LL_APB1_GRP1_DisableClock\n
  1807. * APB1LENR I2C3EN LL_APB1_GRP1_DisableClock\n
  1808. * APB1LENR CECEN LL_APB1_GRP1_DisableClock\n
  1809. * APB1LENR DAC12EN LL_APB1_GRP1_DisableClock\n
  1810. * APB1LENR UART7EN LL_APB1_GRP1_DisableClock\n
  1811. * APB1LENR UART8EN LL_APB1_GRP1_DisableClock
  1812. * @param Periphs This parameter can be a combination of the following values:
  1813. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1814. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1815. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1816. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1817. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1818. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1819. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1820. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1821. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1822. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1823. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  1824. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1825. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1826. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  1827. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1828. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1829. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1830. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1831. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1832. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1833. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1834. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  1835. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  1836. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1837. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1838. *
  1839. * (*) value not defined in all devices.
  1840. * @retval None
  1841. */
  1842. __STATIC_INLINE void LL_APB1_GRP1_DisableClock(uint32_t Periphs)
  1843. {
  1844. CLEAR_BIT(RCC->APB1LENR, Periphs);
  1845. }
  1846. /**
  1847. * @brief Force APB1 peripherals reset.
  1848. * @rmtoll APB1LRSTR TIM2RST LL_APB1_GRP1_ForceReset\n
  1849. * APB1LRSTR TIM3RST LL_APB1_GRP1_ForceReset\n
  1850. * APB1LRSTR TIM4RST LL_APB1_GRP1_ForceReset\n
  1851. * APB1LRSTR TIM5RST LL_APB1_GRP1_ForceReset\n
  1852. * APB1LRSTR TIM6RST LL_APB1_GRP1_ForceReset\n
  1853. * APB1LRSTR TIM7RST LL_APB1_GRP1_ForceReset\n
  1854. * APB1LRSTR TIM12RST LL_APB1_GRP1_ForceReset\n
  1855. * APB1LRSTR TIM13RST LL_APB1_GRP1_ForceReset\n
  1856. * APB1LRSTR TIM14RST LL_APB1_GRP1_ForceReset\n
  1857. * APB1LRSTR LPTIM1RST LL_APB1_GRP1_ForceReset\n
  1858. * APB1LRSTR SPI2RST LL_APB1_GRP1_ForceReset\n
  1859. * APB1LRSTR SPI3RST LL_APB1_GRP1_ForceReset\n
  1860. * APB1LRSTR SPDIFRXRST LL_APB1_GRP1_ForceReset\n
  1861. * APB1LRSTR USART2RST LL_APB1_GRP1_ForceReset\n
  1862. * APB1LRSTR USART3RST LL_APB1_GRP1_ForceReset\n
  1863. * APB1LRSTR UART4RST LL_APB1_GRP1_ForceReset\n
  1864. * APB1LRSTR UART5RST LL_APB1_GRP1_ForceReset\n
  1865. * APB1LRSTR I2C1RST LL_APB1_GRP1_ForceReset\n
  1866. * APB1LRSTR I2C2RST LL_APB1_GRP1_ForceReset\n
  1867. * APB1LRSTR I2C3RST LL_APB1_GRP1_ForceReset\n
  1868. * APB1LRSTR CECRST LL_APB1_GRP1_ForceReset\n
  1869. * APB1LRSTR DAC12RST LL_APB1_GRP1_ForceReset\n
  1870. * APB1LRSTR UART7RST LL_APB1_GRP1_ForceReset\n
  1871. * APB1LRSTR UART8RST LL_APB1_GRP1_ForceReset
  1872. * @param Periphs This parameter can be a combination of the following values:
  1873. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1874. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1875. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1876. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1877. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1878. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1879. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1880. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1881. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1882. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1883. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1884. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1885. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  1886. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1887. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1888. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1889. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1890. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1891. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1892. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1893. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  1894. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  1895. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1896. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1897. * @retval None
  1898. */
  1899. __STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
  1900. {
  1901. SET_BIT(RCC->APB1LRSTR, Periphs);
  1902. }
  1903. /**
  1904. * @brief Release APB1 peripherals reset.
  1905. * @rmtoll APB1LRSTR TIM2RST LL_APB1_GRP1_ReleaseReset\n
  1906. * APB1LRSTR TIM3RST LL_APB1_GRP1_ReleaseReset\n
  1907. * APB1LRSTR TIM4RST LL_APB1_GRP1_ReleaseReset\n
  1908. * APB1LRSTR TIM5RST LL_APB1_GRP1_ReleaseReset\n
  1909. * APB1LRSTR TIM6RST LL_APB1_GRP1_ReleaseReset\n
  1910. * APB1LRSTR TIM7RST LL_APB1_GRP1_ReleaseReset\n
  1911. * APB1LRSTR TIM12RST LL_APB1_GRP1_ReleaseReset\n
  1912. * APB1LRSTR TIM13RST LL_APB1_GRP1_ReleaseReset\n
  1913. * APB1LRSTR TIM14RST LL_APB1_GRP1_ReleaseReset\n
  1914. * APB1LRSTR LPTIM1RST LL_APB1_GRP1_ReleaseReset\n
  1915. * APB1LRSTR SPI2RST LL_APB1_GRP1_ReleaseReset\n
  1916. * APB1LRSTR SPI3RST LL_APB1_GRP1_ReleaseReset\n
  1917. * APB1LRSTR SPDIFRXRST LL_APB1_GRP1_ReleaseReset\n
  1918. * APB1LRSTR USART2RST LL_APB1_GRP1_ReleaseReset\n
  1919. * APB1LRSTR USART3RST LL_APB1_GRP1_ReleaseReset\n
  1920. * APB1LRSTR UART4RST LL_APB1_GRP1_ReleaseReset\n
  1921. * APB1LRSTR UART5RST LL_APB1_GRP1_ReleaseReset\n
  1922. * APB1LRSTR I2C1RST LL_APB1_GRP1_ReleaseReset\n
  1923. * APB1LRSTR I2C2RST LL_APB1_GRP1_ReleaseReset\n
  1924. * APB1LRSTR I2C3RST LL_APB1_GRP1_ReleaseReset\n
  1925. * APB1LRSTR CECRST LL_APB1_GRP1_ReleaseReset\n
  1926. * APB1LRSTR DAC12RST LL_APB1_GRP1_ReleaseReset\n
  1927. * APB1LRSTR UART7RST LL_APB1_GRP1_ReleaseReset\n
  1928. * APB1LRSTR UART8RST LL_APB1_GRP1_ReleaseReset
  1929. * @param Periphs This parameter can be a combination of the following values:
  1930. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1931. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1932. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1933. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1934. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1935. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1936. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1937. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1938. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1939. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1940. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1941. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1942. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  1943. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1944. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1945. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1946. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1947. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1948. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1949. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1950. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  1951. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  1952. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1953. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1954. * @retval None
  1955. */
  1956. __STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
  1957. {
  1958. CLEAR_BIT(RCC->APB1LRSTR, Periphs);
  1959. }
  1960. /**
  1961. * @brief Enable APB1 peripherals clock during Low Power (Sleep) mode.
  1962. * @rmtoll APB1LLPENR TIM2LPEN LL_APB1_GRP1_EnableClockSleep\n
  1963. * APB1LLPENR TIM3LPEN LL_APB1_GRP1_EnableClockSleep\n
  1964. * APB1LLPENR TIM4LPEN LL_APB1_GRP1_EnableClockSleep\n
  1965. * APB1LLPENR TIM5LPEN LL_APB1_GRP1_EnableClockSleep\n
  1966. * APB1LLPENR TIM6LPEN LL_APB1_GRP1_EnableClockSleep\n
  1967. * APB1LLPENR TIM7LPEN LL_APB1_GRP1_EnableClockSleep\n
  1968. * APB1LLPENR TIM12LPEN LL_APB1_GRP1_EnableClockSleep\n
  1969. * APB1LLPENR TIM13LPEN LL_APB1_GRP1_EnableClockSleep\n
  1970. * APB1LLPENR TIM14LPEN LL_APB1_GRP1_EnableClockSleep\n
  1971. * APB1LLPENR LPTIM1LPEN LL_APB1_GRP1_EnableClockSleep\n
  1972. * APB1LLPENR WWDG2LPEN LL_APB1_GRP1_EnableClockSleep\n (*)
  1973. * APB1LLPENR SPI2LPEN LL_APB1_GRP1_EnableClockSleep\n
  1974. * APB1LLPENR SPI3LPEN LL_APB1_GRP1_EnableClockSleep\n
  1975. * APB1LLPENR SPDIFRXLPEN LL_APB1_GRP1_EnableClockSleep\n
  1976. * APB1LLPENR USART2LPEN LL_APB1_GRP1_EnableClockSleep\n
  1977. * APB1LLPENR USART3LPEN LL_APB1_GRP1_EnableClockSleep\n
  1978. * APB1LLPENR UART4LPEN LL_APB1_GRP1_EnableClockSleep\n
  1979. * APB1LLPENR UART5LPEN LL_APB1_GRP1_EnableClockSleep\n
  1980. * APB1LLPENR I2C1LPEN LL_APB1_GRP1_EnableClockSleep\n
  1981. * APB1LLPENR I2C2LPEN LL_APB1_GRP1_EnableClockSleep\n
  1982. * APB1LLPENR I2C3LPEN LL_APB1_GRP1_EnableClockSleep\n
  1983. * APB1LLPENR CECLPEN LL_APB1_GRP1_EnableClockSleep\n
  1984. * APB1LLPENR DAC12LPEN LL_APB1_GRP1_EnableClockSleep\n
  1985. * APB1LLPENR UART7LPEN LL_APB1_GRP1_EnableClockSleep\n
  1986. * APB1LLPENR UART8LPEN LL_APB1_GRP1_EnableClockSleep
  1987. * @param Periphs This parameter can be a combination of the following values:
  1988. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1989. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1990. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1991. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1992. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1993. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1994. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1995. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1996. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1997. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1998. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  1999. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  2000. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  2001. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  2002. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  2003. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  2004. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  2005. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  2006. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  2007. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  2008. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  2009. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  2010. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  2011. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  2012. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  2013. *
  2014. * (*) value not defined in all devices.
  2015. * @retval None
  2016. */
  2017. __STATIC_INLINE void LL_APB1_GRP1_EnableClockSleep(uint32_t Periphs)
  2018. {
  2019. __IO uint32_t tmpreg;
  2020. SET_BIT(RCC->APB1LLPENR, Periphs);
  2021. /* Delay after an RCC peripheral clock enabling */
  2022. tmpreg = READ_BIT(RCC->APB1LLPENR, Periphs);
  2023. (void)tmpreg;
  2024. }
  2025. /**
  2026. * @brief Disable APB1 peripherals clock during Low Power (Sleep) mode.
  2027. * @rmtoll APB1LLPENR TIM2LPEN LL_APB1_GRP1_DisableClockSleep\n
  2028. * APB1LLPENR TIM3LPEN LL_APB1_GRP1_DisableClockSleep\n
  2029. * APB1LLPENR TIM4LPEN LL_APB1_GRP1_DisableClockSleep\n
  2030. * APB1LLPENR TIM5LPEN LL_APB1_GRP1_DisableClockSleep\n
  2031. * APB1LLPENR TIM6LPEN LL_APB1_GRP1_DisableClockSleep\n
  2032. * APB1LLPENR TIM7LPEN LL_APB1_GRP1_DisableClockSleep\n
  2033. * APB1LLPENR TIM12LPEN LL_APB1_GRP1_DisableClockSleep\n
  2034. * APB1LLPENR TIM13LPEN LL_APB1_GRP1_DisableClockSleep\n
  2035. * APB1LLPENR TIM14LPEN LL_APB1_GRP1_DisableClockSleep\n
  2036. * APB1LLPENR LPTIM1LPEN LL_APB1_GRP1_DisableClockSleep\n
  2037. * APB1LLPENR WWDG2LPEN LL_APB1_GRP1_DisableClockSleep\n (*)
  2038. * APB1LLPENR SPI2LPEN LL_APB1_GRP1_DisableClockSleep\n
  2039. * APB1LLPENR SPI3LPEN LL_APB1_GRP1_DisableClockSleep\n
  2040. * APB1LLPENR SPDIFRXLPEN LL_APB1_GRP1_DisableClockSleep\n
  2041. * APB1LLPENR USART2LPEN LL_APB1_GRP1_DisableClockSleep\n
  2042. * APB1LLPENR USART3LPEN LL_APB1_GRP1_DisableClockSleep\n
  2043. * APB1LLPENR UART4LPEN LL_APB1_GRP1_DisableClockSleep\n
  2044. * APB1LLPENR UART5LPEN LL_APB1_GRP1_DisableClockSleep\n
  2045. * APB1LLPENR I2C1LPEN LL_APB1_GRP1_DisableClockSleep\n
  2046. * APB1LLPENR I2C2LPEN LL_APB1_GRP1_DisableClockSleep\n
  2047. * APB1LLPENR I2C3LPEN LL_APB1_GRP1_DisableClockSleep\n
  2048. * APB1LLPENR CECLPEN LL_APB1_GRP1_DisableClockSleep\n
  2049. * APB1LLPENR DAC12LPEN LL_APB1_GRP1_DisableClockSleep\n
  2050. * APB1LLPENR UART7LPEN LL_APB1_GRP1_DisableClockSleep\n
  2051. * APB1LLPENR UART8LPEN LL_APB1_GRP1_DisableClockSleep
  2052. * @param Periphs This parameter can be a combination of the following values:
  2053. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  2054. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  2055. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  2056. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  2057. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  2058. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  2059. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  2060. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  2061. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  2062. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  2063. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  2064. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  2065. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  2066. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  2067. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  2068. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  2069. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  2070. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  2071. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  2072. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  2073. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  2074. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  2075. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  2076. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  2077. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  2078. *
  2079. * (*) value not defined in all devices.
  2080. * @retval None
  2081. */
  2082. __STATIC_INLINE void LL_APB1_GRP1_DisableClockSleep(uint32_t Periphs)
  2083. {
  2084. CLEAR_BIT(RCC->APB1LLPENR, Periphs);
  2085. }
  2086. /**
  2087. * @brief Enable APB1 peripherals clock.
  2088. * @rmtoll APB1HENR CRSEN LL_APB1_GRP2_EnableClock\n
  2089. * APB1HENR SWPMIEN LL_APB1_GRP2_EnableClock\n
  2090. * APB1HENR OPAMPEN LL_APB1_GRP2_EnableClock\n
  2091. * APB1HENR MDIOSEN LL_APB1_GRP2_EnableClock\n
  2092. * APB1HENR FDCANEN LL_APB1_GRP2_EnableClock
  2093. * @param Periphs This parameter can be a combination of the following values:
  2094. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  2095. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  2096. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  2097. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  2098. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  2099. * @retval None
  2100. */
  2101. __STATIC_INLINE void LL_APB1_GRP2_EnableClock(uint32_t Periphs)
  2102. {
  2103. __IO uint32_t tmpreg;
  2104. SET_BIT(RCC->APB1HENR, Periphs);
  2105. /* Delay after an RCC peripheral clock enabling */
  2106. tmpreg = READ_BIT(RCC->APB1HENR, Periphs);
  2107. (void)tmpreg;
  2108. }
  2109. /**
  2110. * @brief Check if APB1 peripheral clock is enabled or not
  2111. * @rmtoll APB1HENR CRSEN LL_APB1_GRP2_IsEnabledClock\n
  2112. * APB1HENR SWPMIEN LL_APB1_GRP2_IsEnabledClock\n
  2113. * APB1HENR OPAMPEN LL_APB1_GRP2_IsEnabledClock\n
  2114. * APB1HENR MDIOSEN LL_APB1_GRP2_IsEnabledClock\n
  2115. * APB1HENR FDCANEN LL_APB1_GRP2_IsEnabledClock
  2116. * @param Periphs This parameter can be a combination of the following values:
  2117. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  2118. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  2119. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  2120. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  2121. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  2122. * @retval uint32_t
  2123. */
  2124. __STATIC_INLINE uint32_t LL_APB1_GRP2_IsEnabledClock(uint32_t Periphs)
  2125. {
  2126. return ((READ_BIT(RCC->APB1HENR, Periphs) == Periphs)?1U:0U);
  2127. }
  2128. /**
  2129. * @brief Disable APB1 peripherals clock.
  2130. * @rmtoll APB1HENR CRSEN LL_APB1_GRP2_DisableClock\n
  2131. * APB1HENR SWPMIEN LL_APB1_GRP2_DisableClock\n
  2132. * APB1HENR OPAMPEN LL_APB1_GRP2_DisableClock\n
  2133. * APB1HENR MDIOSEN LL_APB1_GRP2_DisableClock\n
  2134. * APB1HENR FDCANEN LL_APB1_GRP2_DisableClock
  2135. * @param Periphs This parameter can be a combination of the following values:
  2136. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  2137. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  2138. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  2139. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  2140. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  2141. * @retval None
  2142. */
  2143. __STATIC_INLINE void LL_APB1_GRP2_DisableClock(uint32_t Periphs)
  2144. {
  2145. CLEAR_BIT(RCC->APB1HENR, Periphs);
  2146. }
  2147. /**
  2148. * @brief Force APB1 peripherals reset.
  2149. * @rmtoll APB1HRSTR CRSRST LL_APB1_GRP2_ForceReset\n
  2150. * APB1HRSTR SWPMIRST LL_APB1_GRP2_ForceReset\n
  2151. * APB1HRSTR OPAMPRST LL_APB1_GRP2_ForceReset\n
  2152. * APB1HRSTR MDIOSRST LL_APB1_GRP2_ForceReset\n
  2153. * APB1HRSTR FDCANRST LL_APB1_GRP2_ForceReset
  2154. * @param Periphs This parameter can be a combination of the following values:
  2155. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  2156. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  2157. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  2158. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  2159. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  2160. * @retval None
  2161. */
  2162. __STATIC_INLINE void LL_APB1_GRP2_ForceReset(uint32_t Periphs)
  2163. {
  2164. SET_BIT(RCC->APB1HRSTR, Periphs);
  2165. }
  2166. /**
  2167. * @brief Release APB1 peripherals reset.
  2168. * @rmtoll APB1HRSTR CRSRST LL_APB1_GRP2_ReleaseReset\n
  2169. * APB1HRSTR SWPMIRST LL_APB1_GRP2_ReleaseReset\n
  2170. * APB1HRSTR OPAMPRST LL_APB1_GRP2_ReleaseReset\n
  2171. * APB1HRSTR MDIOSRST LL_APB1_GRP2_ReleaseReset\n
  2172. * APB1HRSTR FDCANRST LL_APB1_GRP2_ReleaseReset
  2173. * @param Periphs This parameter can be a combination of the following values:
  2174. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  2175. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  2176. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  2177. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  2178. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  2179. * @retval None
  2180. */
  2181. __STATIC_INLINE void LL_APB1_GRP2_ReleaseReset(uint32_t Periphs)
  2182. {
  2183. CLEAR_BIT(RCC->APB1HRSTR, Periphs);
  2184. }
  2185. /**
  2186. * @brief Enable APB1 peripherals clock during Low Power (Sleep) mode.
  2187. * @rmtoll APB1HLPENR CRSLPEN LL_APB1_GRP2_EnableClockSleep\n
  2188. * APB1HLPENR SWPMILPEN LL_APB1_GRP2_EnableClockSleep\n
  2189. * APB1HLPENR OPAMPLPEN LL_APB1_GRP2_EnableClockSleep\n
  2190. * APB1HLPENR MDIOSLPEN LL_APB1_GRP2_EnableClockSleep\n
  2191. * APB1HLPENR FDCANLPEN LL_APB1_GRP2_EnableClockSleep
  2192. * @param Periphs This parameter can be a combination of the following values:
  2193. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  2194. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  2195. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  2196. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  2197. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  2198. * @retval None
  2199. */
  2200. __STATIC_INLINE void LL_APB1_GRP2_EnableClockSleep(uint32_t Periphs)
  2201. {
  2202. __IO uint32_t tmpreg;
  2203. SET_BIT(RCC->APB1HLPENR, Periphs);
  2204. /* Delay after an RCC peripheral clock enabling */
  2205. tmpreg = READ_BIT(RCC->APB1HLPENR, Periphs);
  2206. (void)tmpreg;
  2207. }
  2208. /**
  2209. * @brief Disable APB1 peripherals clock during Low Power (Sleep) mode.
  2210. * @rmtoll APB1HLPENR CRSLPEN LL_APB1_GRP2_DisableClockSleep\n
  2211. * APB1HLPENR SWPMILPEN LL_APB1_GRP2_DisableClockSleep\n
  2212. * APB1HLPENR OPAMPLPEN LL_APB1_GRP2_DisableClockSleep\n
  2213. * APB1HLPENR MDIOSLPEN LL_APB1_GRP2_DisableClockSleep\n
  2214. * APB1HLPENR FDCANLPEN LL_APB1_GRP2_DisableClockSleep
  2215. * @param Periphs This parameter can be a combination of the following values:
  2216. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  2217. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  2218. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  2219. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  2220. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  2221. * @retval None
  2222. */
  2223. __STATIC_INLINE void LL_APB1_GRP2_DisableClockSleep(uint32_t Periphs)
  2224. {
  2225. CLEAR_BIT(RCC->APB1HLPENR, Periphs);
  2226. }
  2227. /**
  2228. * @}
  2229. */
  2230. /** @defgroup BUS_LL_EF_APB2 APB2
  2231. * @{
  2232. */
  2233. /**
  2234. * @brief Enable APB2 peripherals clock.
  2235. * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_EnableClock\n
  2236. * APB2ENR TIM8EN LL_APB2_GRP1_EnableClock\n
  2237. * APB2ENR USART1EN LL_APB2_GRP1_EnableClock\n
  2238. * APB2ENR USART6EN LL_APB2_GRP1_EnableClock\n
  2239. * APB2ENR UART9EN LL_APB2_GRP1_EnableClock\n (*)
  2240. * APB2ENR USART10EN LL_APB2_GRP1_EnableClock\n (*)
  2241. * APB2ENR SPI1EN LL_APB2_GRP1_EnableClock\n
  2242. * APB2ENR SPI4EN LL_APB2_GRP1_EnableClock\n
  2243. * APB2ENR TIM15EN LL_APB2_GRP1_EnableClock\n
  2244. * APB2ENR TIM16EN LL_APB2_GRP1_EnableClock\n
  2245. * APB2ENR TIM17EN LL_APB2_GRP1_EnableClock\n
  2246. * APB2ENR SPI5EN LL_APB2_GRP1_EnableClock\n
  2247. * APB2ENR SAI1EN LL_APB2_GRP1_EnableClock\n
  2248. * APB2ENR SAI2EN LL_APB2_GRP1_EnableClock\n
  2249. * APB2ENR SAI3EN LL_APB2_GRP1_EnableClock\n (*)
  2250. * APB2ENR DFSDM1EN LL_APB2_GRP1_EnableClock\n
  2251. * APB2ENR HRTIMEN LL_APB2_GRP1_EnableClock (*)
  2252. * @param Periphs This parameter can be a combination of the following values:
  2253. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  2254. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  2255. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  2256. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  2257. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  2258. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  2259. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  2260. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  2261. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  2262. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  2263. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  2264. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  2265. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  2266. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  2267. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  2268. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  2269. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  2270. *
  2271. * (*) value not defined in all devices.
  2272. * @retval None
  2273. */
  2274. __STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs)
  2275. {
  2276. __IO uint32_t tmpreg;
  2277. SET_BIT(RCC->APB2ENR, Periphs);
  2278. /* Delay after an RCC peripheral clock enabling */
  2279. tmpreg = READ_BIT(RCC->APB2ENR, Periphs);
  2280. (void)tmpreg;
  2281. }
  2282. /**
  2283. * @brief Check if APB2 peripheral clock is enabled or not
  2284. * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_IsEnabledClock\n
  2285. * APB2ENR TIM8EN LL_APB2_GRP1_IsEnabledClock\n
  2286. * APB2ENR USART1EN LL_APB2_GRP1_IsEnabledClock\n
  2287. * APB2ENR USART6EN LL_APB2_GRP1_IsEnabledClock\n
  2288. * APB2ENR UART9EN LL_APB2_GRP1_IsEnabledClock\n (*)
  2289. * APB2ENR USART10EN LL_APB2_GRP1_IsEnabledClock\n (*)
  2290. * APB2ENR SPI1EN LL_APB2_GRP1_IsEnabledClock\n
  2291. * APB2ENR SPI4EN LL_APB2_GRP1_IsEnabledClock\n
  2292. * APB2ENR TIM15EN LL_APB2_GRP1_IsEnabledClock\n
  2293. * APB2ENR TIM16EN LL_APB2_GRP1_IsEnabledClock\n
  2294. * APB2ENR TIM17EN LL_APB2_GRP1_IsEnabledClock\n
  2295. * APB2ENR SPI5EN LL_APB2_GRP1_IsEnabledClock\n
  2296. * APB2ENR SAI1EN LL_APB2_GRP1_IsEnabledClock\n
  2297. * APB2ENR SAI2EN LL_APB2_GRP1_IsEnabledClock\n
  2298. * APB2ENR SAI3EN LL_APB2_GRP1_IsEnabledClock\n
  2299. * APB2ENR DFSDM1EN LL_APB2_GRP1_IsEnabledClock\n
  2300. * APB2ENR HRTIMEN LL_APB2_GRP1_IsEnabledClock
  2301. * @param Periphs This parameter can be a combination of the following values:
  2302. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  2303. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  2304. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  2305. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  2306. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  2307. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  2308. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  2309. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  2310. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  2311. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  2312. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  2313. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  2314. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  2315. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  2316. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  2317. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  2318. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  2319. *
  2320. * (*) value not defined in all devices.
  2321. * @retval uint32_t
  2322. */
  2323. __STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
  2324. {
  2325. return ((READ_BIT(RCC->APB2ENR, Periphs) == Periphs)?1U:0U);
  2326. }
  2327. /**
  2328. * @brief Disable APB2 peripherals clock.
  2329. * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_DisableClock\n
  2330. * APB2ENR TIM8EN LL_APB2_GRP1_DisableClock\n
  2331. * APB2ENR USART1EN LL_APB2_GRP1_DisableClock\n
  2332. * APB2ENR USART6EN LL_APB2_GRP1_DisableClock\n
  2333. * APB2ENR UART9EN LL_APB2_GRP1_DisableClock\n (*)
  2334. * APB2ENR USART10EN LL_APB2_GRP1_DisableClock\n (*)
  2335. * APB2ENR SPI1EN LL_APB2_GRP1_DisableClock\n
  2336. * APB2ENR SPI4EN LL_APB2_GRP1_DisableClock\n
  2337. * APB2ENR TIM15EN LL_APB2_GRP1_DisableClock\n
  2338. * APB2ENR TIM16EN LL_APB2_GRP1_DisableClock\n
  2339. * APB2ENR TIM17EN LL_APB2_GRP1_DisableClock\n
  2340. * APB2ENR SPI5EN LL_APB2_GRP1_DisableClock\n
  2341. * APB2ENR SAI1EN LL_APB2_GRP1_DisableClock\n
  2342. * APB2ENR SAI2EN LL_APB2_GRP1_DisableClock\n
  2343. * APB2ENR SAI3EN LL_APB2_GRP1_DisableClock\n (*)
  2344. * APB2ENR DFSDM1EN LL_APB2_GRP1_DisableClock\n
  2345. * APB2ENR HRTIMEN LL_APB2_GRP1_DisableClock (*)
  2346. * @param Periphs This parameter can be a combination of the following values:
  2347. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  2348. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  2349. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  2350. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  2351. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  2352. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  2353. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  2354. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  2355. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  2356. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  2357. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  2358. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  2359. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  2360. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  2361. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  2362. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  2363. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  2364. *
  2365. * (*) value not defined in all devices.
  2366. * @retval None
  2367. */
  2368. __STATIC_INLINE void LL_APB2_GRP1_DisableClock(uint32_t Periphs)
  2369. {
  2370. CLEAR_BIT(RCC->APB2ENR, Periphs);
  2371. }
  2372. /**
  2373. * @brief Force APB2 peripherals reset.
  2374. * @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ForceReset\n
  2375. * APB2RSTR TIM8RST LL_APB2_GRP1_ForceReset\n
  2376. * APB2RSTR USART1RST LL_APB2_GRP1_ForceReset\n
  2377. * APB2RSTR USART6RST LL_APB2_GRP1_ForceReset\n
  2378. * APB2ENR UART9RST LL_APB2_GRP1_ForceReset\n (*)
  2379. * APB2ENR USART10RST LL_APB2_GRP1_ForceReset\n (*)
  2380. * APB2RSTR SPI1RST LL_APB2_GRP1_ForceReset\n
  2381. * APB2RSTR SPI4RST LL_APB2_GRP1_ForceReset\n
  2382. * APB2RSTR TIM15RST LL_APB2_GRP1_ForceReset\n
  2383. * APB2RSTR TIM16RST LL_APB2_GRP1_ForceReset\n
  2384. * APB2RSTR TIM17RST LL_APB2_GRP1_ForceReset\n
  2385. * APB2RSTR SPI5RST LL_APB2_GRP1_ForceReset\n
  2386. * APB2RSTR SAI1RST LL_APB2_GRP1_ForceReset\n
  2387. * APB2RSTR SAI2RST LL_APB2_GRP1_ForceReset\n
  2388. * APB2RSTR SAI3RST LL_APB2_GRP1_ForceReset\n (*)
  2389. * APB2RSTR DFSDM1RST LL_APB2_GRP1_ForceReset\n
  2390. * APB2RSTR HRTIMRST LL_APB2_GRP1_ForceReset (*)
  2391. * @param Periphs This parameter can be a combination of the following values:
  2392. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  2393. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  2394. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  2395. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  2396. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  2397. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  2398. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  2399. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  2400. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  2401. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  2402. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  2403. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  2404. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  2405. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  2406. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  2407. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  2408. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  2409. *
  2410. * (*) value not defined in all devices.
  2411. * @retval None
  2412. */
  2413. __STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
  2414. {
  2415. SET_BIT(RCC->APB2RSTR, Periphs);
  2416. }
  2417. /**
  2418. * @brief Release APB2 peripherals reset.
  2419. * @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ReleaseReset\n
  2420. * APB2RSTR TIM8RST LL_APB2_GRP1_ReleaseReset\n
  2421. * APB2RSTR USART1RST LL_APB2_GRP1_ReleaseReset\n
  2422. * APB2RSTR USART6RST LL_APB2_GRP1_ReleaseReset\n
  2423. * APB2ENR UART9RST LL_APB2_GRP1_ReleaseReset\n (*)
  2424. * APB2ENR USART10RST LL_APB2_GRP1_ReleaseReset\n (*)
  2425. * APB2RSTR SPI1RST LL_APB2_GRP1_ReleaseReset\n
  2426. * APB2RSTR SPI4RST LL_APB2_GRP1_ReleaseReset\n
  2427. * APB2RSTR TIM15RST LL_APB2_GRP1_ReleaseReset\n
  2428. * APB2RSTR TIM16RST LL_APB2_GRP1_ReleaseReset\n
  2429. * APB2RSTR TIM17RST LL_APB2_GRP1_ReleaseReset\n
  2430. * APB2RSTR SPI5RST LL_APB2_GRP1_ReleaseReset\n
  2431. * APB2RSTR SAI1RST LL_APB2_GRP1_ReleaseReset\n
  2432. * APB2RSTR SAI2RST LL_APB2_GRP1_ReleaseReset\n
  2433. * APB2RSTR SAI3RST LL_APB2_GRP1_ReleaseReset\n (*)
  2434. * APB2RSTR DFSDM1RST LL_APB2_GRP1_ReleaseReset\n
  2435. * APB2RSTR HRTIMRST LL_APB2_GRP1_ReleaseReset (*)
  2436. * @param Periphs This parameter can be a combination of the following values:
  2437. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  2438. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  2439. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  2440. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  2441. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  2442. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  2443. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  2444. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  2445. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  2446. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  2447. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  2448. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  2449. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  2450. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  2451. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  2452. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  2453. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  2454. *
  2455. * (*) value not defined in all devices.
  2456. * @retval None
  2457. */
  2458. __STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
  2459. {
  2460. CLEAR_BIT(RCC->APB2RSTR, Periphs);
  2461. }
  2462. /**
  2463. * @brief Enable APB2 peripherals clock during Low Power (Sleep) mode.
  2464. * @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_EnableClockSleep\n
  2465. * APB2LPENR TIM8LPEN LL_APB2_GRP1_EnableClockSleep\n
  2466. * APB2LPENR USART1LPEN LL_APB2_GRP1_EnableClockSleep\n
  2467. * APB2LPENR USART6LPEN LL_APB2_GRP1_EnableClockSleep\n
  2468. * APB2ENR UART9LPEN LL_APB2_GRP1_EnableClockSleep\n (*)
  2469. * APB2ENR USART10LPEN LL_APB2_GRP1_EnableClockSleep\n (*)
  2470. * APB2LPENR SPI1LPEN LL_APB2_GRP1_EnableClockSleep\n
  2471. * APB2LPENR SPI4LPEN LL_APB2_GRP1_EnableClockSleep\n
  2472. * APB2LPENR TIM15LPEN LL_APB2_GRP1_EnableClockSleep\n
  2473. * APB2LPENR TIM16LPEN LL_APB2_GRP1_EnableClockSleep\n
  2474. * APB2LPENR TIM17LPEN LL_APB2_GRP1_EnableClockSleep\n
  2475. * APB2LPENR SPI5LPEN LL_APB2_GRP1_EnableClockSleep\n
  2476. * APB2LPENR SAI1LPEN LL_APB2_GRP1_EnableClockSleep\n
  2477. * APB2LPENR SAI2LPEN LL_APB2_GRP1_EnableClockSleep\n
  2478. * APB2LPENR SAI3LPEN LL_APB2_GRP1_EnableClockSleep\n (*)
  2479. * APB2LPENR DFSDM1LPEN LL_APB2_GRP1_EnableClockSleep\n
  2480. * APB2LPENR HRTIMLPEN LL_APB2_GRP1_EnableClockSleep (*)
  2481. * @param Periphs This parameter can be a combination of the following values:
  2482. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  2483. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  2484. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  2485. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  2486. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  2487. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  2488. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  2489. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  2490. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  2491. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  2492. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  2493. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  2494. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  2495. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  2496. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  2497. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  2498. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  2499. * @retval None
  2500. */
  2501. __STATIC_INLINE void LL_APB2_GRP1_EnableClockSleep(uint32_t Periphs)
  2502. {
  2503. __IO uint32_t tmpreg;
  2504. SET_BIT(RCC->APB2LPENR, Periphs);
  2505. /* Delay after an RCC peripheral clock enabling */
  2506. tmpreg = READ_BIT(RCC->APB2LPENR, Periphs);
  2507. (void)tmpreg;
  2508. }
  2509. /**
  2510. * @brief Disable APB2 peripherals clock during Low Power (Sleep) mode.
  2511. * @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_DisableClockSleep\n
  2512. * APB2LPENR TIM8LPEN LL_APB2_GRP1_DisableClockSleep\n
  2513. * APB2LPENR USART1LPEN LL_APB2_GRP1_DisableClockSleep\n
  2514. * APB2LPENR USART6LPEN LL_APB2_GRP1_DisableClockSleep\n
  2515. * APB2ENR UART9LPEN LL_APB2_GRP1_DisableClockSleep\n (*)
  2516. * APB2ENR USART10LPEN LL_APB2_GRP1_DisableClockSleep\n (*)
  2517. * APB2LPENR SPI1LPEN LL_APB2_GRP1_DisableClockSleep\n
  2518. * APB2LPENR SPI4LPEN LL_APB2_GRP1_DisableClockSleep\n
  2519. * APB2LPENR TIM15LPEN LL_APB2_GRP1_DisableClockSleep\n
  2520. * APB2LPENR TIM16LPEN LL_APB2_GRP1_DisableClockSleep\n
  2521. * APB2LPENR TIM17LPEN LL_APB2_GRP1_DisableClockSleep\n
  2522. * APB2LPENR SPI5LPEN LL_APB2_GRP1_DisableClockSleep\n
  2523. * APB2LPENR SAI1LPEN LL_APB2_GRP1_DisableClockSleep\n
  2524. * APB2LPENR SAI2LPEN LL_APB2_GRP1_DisableClockSleep\n
  2525. * APB2LPENR SAI3LPEN LL_APB2_GRP1_DisableClockSleep\n (*)
  2526. * APB2LPENR DFSDM1LPEN LL_APB2_GRP1_DisableClockSleep\n
  2527. * APB2LPENR HRTIMLPEN LL_APB2_GRP1_DisableClockSleep (*)
  2528. * @param Periphs This parameter can be a combination of the following values:
  2529. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  2530. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  2531. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  2532. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  2533. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  2534. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  2535. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  2536. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  2537. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  2538. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  2539. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  2540. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  2541. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  2542. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  2543. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  2544. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  2545. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  2546. * @retval None
  2547. */
  2548. __STATIC_INLINE void LL_APB2_GRP1_DisableClockSleep(uint32_t Periphs)
  2549. {
  2550. CLEAR_BIT(RCC->APB2LPENR, Periphs);
  2551. }
  2552. /**
  2553. * @}
  2554. */
  2555. /** @defgroup BUS_LL_EF_APB4 APB4
  2556. * @{
  2557. */
  2558. /**
  2559. * @brief Enable APB4 peripherals clock.
  2560. * @rmtoll APB4ENR SYSCFGEN LL_APB4_GRP1_EnableClock\n
  2561. * APB4ENR LPUART1EN LL_APB4_GRP1_EnableClock\n
  2562. * APB4ENR SPI6EN LL_APB4_GRP1_EnableClock\n
  2563. * APB4ENR I2C4EN LL_APB4_GRP1_EnableClock\n
  2564. * APB4ENR LPTIM2EN LL_APB4_GRP1_EnableClock\n
  2565. * APB4ENR LPTIM3EN LL_APB4_GRP1_EnableClock\n
  2566. * APB4ENR LPTIM4EN LL_APB4_GRP1_EnableClock\n (*)
  2567. * APB4ENR LPTIM5EN LL_APB4_GRP1_EnableClock\n (*)
  2568. * APB4ENR DAC2EN LL_APB4_GRP1_EnableClock\n (*)
  2569. * APB4ENR COMP12EN LL_APB4_GRP1_EnableClock\n
  2570. * APB4ENR VREFEN LL_APB4_GRP1_EnableClock\n
  2571. * APB4ENR RTCAPBEN LL_APB4_GRP1_EnableClock\n
  2572. * APB4ENR SAI4EN LL_APB4_GRP1_EnableClock\n (*)
  2573. * APB4ENR DTSEN LL_APB4_GRP1_EnableClock\n (*)
  2574. * APB4ENR DFSDM2EN LL_APB4_GRP1_EnableClock (*)
  2575. * @param Periphs This parameter can be a combination of the following values:
  2576. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  2577. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  2578. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  2579. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  2580. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  2581. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  2582. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  2583. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  2584. * @arg @ref LL_APB4_GRP1_PERIPH_DAC2 (*)
  2585. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  2586. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  2587. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  2588. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  2589. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  2590. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  2591. *
  2592. * (*) value not defined in all devices.
  2593. * @retval None
  2594. */
  2595. __STATIC_INLINE void LL_APB4_GRP1_EnableClock(uint32_t Periphs)
  2596. {
  2597. __IO uint32_t tmpreg;
  2598. SET_BIT(RCC->APB4ENR, Periphs);
  2599. /* Delay after an RCC peripheral clock enabling */
  2600. tmpreg = READ_BIT(RCC->APB4ENR, Periphs);
  2601. (void)tmpreg;
  2602. }
  2603. /**
  2604. * @brief Check if APB4 peripheral clock is enabled or not
  2605. * @rmtoll APB4ENR SYSCFGEN LL_APB4_GRP1_IsEnabledClock\n
  2606. * APB4ENR LPUART1EN LL_APB4_GRP1_IsEnabledClock\n
  2607. * APB4ENR SPI6EN LL_APB4_GRP1_IsEnabledClock\n
  2608. * APB4ENR I2C4EN LL_APB4_GRP1_IsEnabledClock\n
  2609. * APB4ENR LPTIM2EN LL_APB4_GRP1_IsEnabledClock\n
  2610. * APB4ENR LPTIM3EN LL_APB4_GRP1_IsEnabledClock\n
  2611. * APB4ENR LPTIM4EN LL_APB4_GRP1_IsEnabledClock\n (*)
  2612. * APB4ENR LPTIM5EN LL_APB4_GRP1_IsEnabledClock\n (*)
  2613. * APB4ENR DAC2EN LL_APB4_GRP1_IsEnabledClock\n (*)
  2614. * APB4ENR COMP12EN LL_APB4_GRP1_IsEnabledClock\n
  2615. * APB4ENR VREFEN LL_APB4_GRP1_IsEnabledClock\n
  2616. * APB4ENR RTCAPBEN LL_APB4_GRP1_IsEnabledClock\n
  2617. * APB4ENR SAI4EN LL_APB4_GRP1_IsEnabledClock\n (*)
  2618. * APB4ENR DTSEN LL_APB4_GRP1_IsEnabledClock\n (*)
  2619. * APB4ENR DFSDM2EN LL_APB4_GRP1_IsEnabledClock (*)
  2620. * @param Periphs This parameter can be a combination of the following values:
  2621. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  2622. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  2623. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  2624. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  2625. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  2626. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  2627. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  2628. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  2629. * @arg @ref LL_APB4_GRP1_PERIPH_DAC2 (*)
  2630. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  2631. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  2632. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  2633. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  2634. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  2635. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  2636. *
  2637. * (*) value not defined in all devices.
  2638. * @retval uint32_t
  2639. */
  2640. __STATIC_INLINE uint32_t LL_APB4_GRP1_IsEnabledClock(uint32_t Periphs)
  2641. {
  2642. return ((READ_BIT(RCC->APB4ENR, Periphs) == Periphs)?1U:0U);
  2643. }
  2644. /**
  2645. * @brief Disable APB4 peripherals clock.
  2646. * @rmtoll APB4ENR SYSCFGEN LL_APB4_GRP1_DisableClock\n
  2647. * APB4ENR LPUART1EN LL_APB4_GRP1_DisableClock\n
  2648. * APB4ENR SPI6EN LL_APB4_GRP1_DisableClock\n
  2649. * APB4ENR I2C4EN LL_APB4_GRP1_DisableClock\n
  2650. * APB4ENR LPTIM2EN LL_APB4_GRP1_DisableClock\n
  2651. * APB4ENR LPTIM3EN LL_APB4_GRP1_DisableClock\n
  2652. * APB4ENR LPTIM4EN LL_APB4_GRP1_DisableClock\n (*)
  2653. * APB4ENR LPTIM5EN LL_APB4_GRP1_DisableClock\n (*)
  2654. * APB4ENR DAC2EN LL_APB4_GRP1_DisableClock\n (*)
  2655. * APB4ENR COMP12EN LL_APB4_GRP1_DisableClock\n
  2656. * APB4ENR VREFEN LL_APB4_GRP1_DisableClock\n
  2657. * APB4ENR RTCAPBEN LL_APB4_GRP1_DisableClock\n
  2658. * APB4ENR SAI4EN LL_APB4_GRP1_DisableClock\n (*)
  2659. * APB4ENR DTSEN LL_APB4_GRP1_DisableClock\n (*)
  2660. * APB4ENR DFSDM2EN LL_APB4_GRP1_DisableClock (*)
  2661. * @param Periphs This parameter can be a combination of the following values:
  2662. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  2663. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  2664. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  2665. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  2666. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  2667. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  2668. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  2669. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  2670. * @arg @ref LL_APB4_GRP1_PERIPH_DAC2 (*)
  2671. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  2672. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  2673. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  2674. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  2675. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  2676. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  2677. *
  2678. * (*) value not defined in all devices.
  2679. * @retval None
  2680. */
  2681. __STATIC_INLINE void LL_APB4_GRP1_DisableClock(uint32_t Periphs)
  2682. {
  2683. CLEAR_BIT(RCC->APB4ENR, Periphs);
  2684. }
  2685. /**
  2686. * @brief Force APB4 peripherals reset.
  2687. * @rmtoll APB4RSTR SYSCFGRST LL_APB4_GRP1_ForceReset\n
  2688. * APB4RSTR LPUART1RST LL_APB4_GRP1_ForceReset\n
  2689. * APB4RSTR SPI6RST LL_APB4_GRP1_ForceReset\n
  2690. * APB4RSTR I2C4RST LL_APB4_GRP1_ForceReset\n
  2691. * APB4RSTR LPTIM2RST LL_APB4_GRP1_ForceReset\n
  2692. * APB4RSTR LPTIM3RST LL_APB4_GRP1_ForceReset\n
  2693. * APB4RSTR LPTIM4RST LL_APB4_GRP1_ForceReset\n (*)
  2694. * APB4RSTR LPTIM5RST LL_APB4_GRP1_ForceReset\n (*)
  2695. * APB4RSTR DAC2EN LL_APB4_GRP1_ForceReset\n (*)
  2696. * APB4RSTR COMP12RST LL_APB4_GRP1_ForceReset\n
  2697. * APB4RSTR VREFRST LL_APB4_GRP1_ForceReset\n
  2698. * APB4RSTR SAI4RST LL_APB4_GRP1_ForceReset\n (*)
  2699. * APB4RSTR DTSRST LL_APB4_GRP1_ForceReset\n (*)
  2700. * APB4RSTR DFSDM2RST LL_APB4_GRP1_ForceReset (*)
  2701. * @param Periphs This parameter can be a combination of the following values:
  2702. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  2703. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  2704. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  2705. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  2706. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  2707. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  2708. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  2709. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  2710. * @arg @ref LL_APB4_GRP1_PERIPH_DAC2 (*)
  2711. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  2712. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  2713. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  2714. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  2715. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  2716. *
  2717. * (*) value not defined in all devices.
  2718. * @retval None
  2719. */
  2720. __STATIC_INLINE void LL_APB4_GRP1_ForceReset(uint32_t Periphs)
  2721. {
  2722. SET_BIT(RCC->APB4RSTR, Periphs);
  2723. }
  2724. /**
  2725. * @brief Release APB4 peripherals reset.
  2726. * @rmtoll APB4RSTR SYSCFGRST LL_APB4_GRP1_ReleaseReset\n
  2727. * APB4RSTR LPUART1RST LL_APB4_GRP1_ReleaseReset\n
  2728. * APB4RSTR SPI6RST LL_APB4_GRP1_ReleaseReset\n
  2729. * APB4RSTR I2C4RST LL_APB4_GRP1_ReleaseReset\n
  2730. * APB4RSTR LPTIM2RST LL_APB4_GRP1_ReleaseReset\n
  2731. * APB4RSTR LPTIM3RST LL_APB4_GRP1_ReleaseReset\n
  2732. * APB4RSTR LPTIM4RST LL_APB4_GRP1_ReleaseReset\n (*)
  2733. * APB4RSTR LPTIM5RST LL_APB4_GRP1_ReleaseReset\n (*)
  2734. * APB4RSTR DAC2RST LL_APB4_GRP1_ReleaseReset\n (*)
  2735. * APB4RSTR COMP12RST LL_APB4_GRP1_ReleaseReset\n
  2736. * APB4RSTR VREFRST LL_APB4_GRP1_ReleaseReset\n
  2737. * APB4RSTR SAI4RST LL_APB4_GRP1_ReleaseReset\n
  2738. * APB4RSTR DTSRST LL_APB4_GRP1_ReleaseReset\n (*)
  2739. * APB4RSTR DFSDM2RST LL_APB4_GRP1_ReleaseReset (*)
  2740. * @param Periphs This parameter can be a combination of the following values:
  2741. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  2742. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  2743. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  2744. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  2745. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  2746. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  2747. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  2748. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  2749. * @arg @ref LL_APB4_GRP1_PERIPH_DAC2 (*)
  2750. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  2751. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  2752. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  2753. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  2754. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  2755. *
  2756. * (*) value not defined in all devices.
  2757. * @retval None
  2758. */
  2759. __STATIC_INLINE void LL_APB4_GRP1_ReleaseReset(uint32_t Periphs)
  2760. {
  2761. CLEAR_BIT(RCC->APB4RSTR, Periphs);
  2762. }
  2763. /**
  2764. * @brief Enable APB4 peripherals clock during Low Power (Sleep) mode.
  2765. * @rmtoll APB4LPENR SYSCFGLPEN LL_APB4_GRP1_EnableClockSleep\n
  2766. * APB4LPENR LPUART1LPEN LL_APB4_GRP1_EnableClockSleep\n
  2767. * APB4LPENR SPI6LPEN LL_APB4_GRP1_EnableClockSleep\n
  2768. * APB4LPENR I2C4LPEN LL_APB4_GRP1_EnableClockSleep\n
  2769. * APB4LPENR LPTIM2LPEN LL_APB4_GRP1_EnableClockSleep\n
  2770. * APB4LPENR LPTIM3LPEN LL_APB4_GRP1_EnableClockSleep\n
  2771. * APB4LPENR LPTIM4LPEN LL_APB4_GRP1_EnableClockSleep\n (*)
  2772. * APB4LPENR LPTIM5LPEN LL_APB4_GRP1_EnableClockSleep\n (*)
  2773. * APB4LPENR DAC2LPEN LL_APB4_GRP1_EnableClockSleep\n (*)
  2774. * APB4LPENR COMP12LPEN LL_APB4_GRP1_EnableClockSleep\n
  2775. * APB4LPENR VREFLPEN LL_APB4_GRP1_EnableClockSleep\n
  2776. * APB4LPENR RTCAPBLPEN LL_APB4_GRP1_EnableClockSleep\n
  2777. * APB4LPENR SAI4LPEN LL_APB4_GRP1_EnableClockSleep\n (*)
  2778. * APB4LPENR DTSLPEN LL_APB4_GRP1_EnableClockSleep\n (*)
  2779. * APB4LPENR DFSDM2LPEN LL_APB4_GRP1_EnableClockSleep (*)
  2780. * @param Periphs This parameter can be a combination of the following values:
  2781. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  2782. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  2783. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  2784. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  2785. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  2786. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  2787. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  2788. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  2789. * @arg @ref LL_APB4_GRP1_PERIPH_DAC2 (*)
  2790. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  2791. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  2792. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  2793. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  2794. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  2795. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  2796. *
  2797. * (*) value not defined in all devices.
  2798. * @retval None
  2799. */
  2800. __STATIC_INLINE void LL_APB4_GRP1_EnableClockSleep(uint32_t Periphs)
  2801. {
  2802. __IO uint32_t tmpreg;
  2803. SET_BIT(RCC->APB4LPENR, Periphs);
  2804. /* Delay after an RCC peripheral clock enabling */
  2805. tmpreg = READ_BIT(RCC->APB4LPENR, Periphs);
  2806. (void)tmpreg;
  2807. }
  2808. /**
  2809. * @brief Disable APB4 peripherals clock during Low Power (Sleep) mode.
  2810. * @rmtoll APB4LPENR SYSCFGLPEN LL_APB4_GRP1_DisableClockSleep\n
  2811. * APB4LPENR LPUART1LPEN LL_APB4_GRP1_DisableClockSleep\n
  2812. * APB4LPENR SPI6LPEN LL_APB4_GRP1_DisableClockSleep\n
  2813. * APB4LPENR I2C4LPEN LL_APB4_GRP1_DisableClockSleep\n
  2814. * APB4LPENR LPTIM2LPEN LL_APB4_GRP1_DisableClockSleep\n
  2815. * APB4LPENR LPTIM3LPEN LL_APB4_GRP1_DisableClockSleep\n
  2816. * APB4LPENR LPTIM4LPEN LL_APB4_GRP1_DisableClockSleep\n (*)
  2817. * APB4LPENR LPTIM5LPEN LL_APB4_GRP1_DisableClockSleep\n (*)
  2818. * APB4LPENR DAC2LPEN LL_APB4_GRP1_DisableClockSleep\n (*)
  2819. * APB4LPENR COMP12LPEN LL_APB4_GRP1_DisableClockSleep\n
  2820. * APB4LPENR VREFLPEN LL_APB4_GRP1_DisableClockSleep\n
  2821. * APB4LPENR RTCAPBLPEN LL_APB4_GRP1_DisableClockSleep\n
  2822. * APB4LPENR SAI4LPEN LL_APB4_GRP1_DisableClockSleep\n (*)
  2823. * APB4LPENR DTSLPEN LL_APB4_GRP1_DisableClockSleep\n (*)
  2824. * APB4LPENR DFSDM2LPEN LL_APB4_GRP1_DisableClockSleep (*)
  2825. * @param Periphs This parameter can be a combination of the following values:
  2826. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  2827. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  2828. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  2829. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  2830. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  2831. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  2832. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  2833. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  2834. * @arg @ref LL_APB4_GRP1_PERIPH_DAC2 (*)
  2835. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  2836. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  2837. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  2838. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  2839. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  2840. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  2841. *
  2842. * (*) value not defined in all devices.
  2843. * @retval None
  2844. */
  2845. __STATIC_INLINE void LL_APB4_GRP1_DisableClockSleep(uint32_t Periphs)
  2846. {
  2847. CLEAR_BIT(RCC->APB4LPENR, Periphs);
  2848. }
  2849. /**
  2850. * @}
  2851. */
  2852. /** @defgroup BUS_LL_EF_CLKAM
  2853. * @{
  2854. */
  2855. /**
  2856. * @brief Enable peripherals clock for CLKAM Mode.
  2857. * @rmtoll D3AMR / SRDAMR BDMA LL_CLKAM_Enable\n
  2858. * D3AMR / SRDAMR LPUART1 LL_CLKAM_Enable\n
  2859. * D3AMR / SRDAMR SPI6 LL_CLKAM_Enable\n
  2860. * D3AMR / SRDAMR I2C4 LL_CLKAM_Enable\n
  2861. * D3AMR / SRDAMR LPTIM2 LL_CLKAM_Enable\n
  2862. * D3AMR / SRDAMR LPTIM3 LL_CLKAM_Enable\n
  2863. * D3AMR / SRDAMR LPTIM4 LL_CLKAM_Enable\n (*)
  2864. * D3AMR / SRDAMR LPTIM5 LL_CLKAM_Enable\n (*)
  2865. * D3AMR / SRDAMR DAC2 LL_CLKAM_Enable\n (*)
  2866. * D3AMR / SRDAMR COMP12 LL_CLKAM_Enable\n
  2867. * D3AMR / SRDAMR VREF LL_CLKAM_Enable\n
  2868. * D3AMR / SRDAMR RTC LL_CLKAM_Enable\n
  2869. * D3AMR / SRDAMR CRC LL_CLKAM_Enable\n
  2870. * D3AMR / SRDAMR SAI4 LL_CLKAM_Enable\n (*)
  2871. * D3AMR / SRDAMR ADC3 LL_CLKAM_Enable\n (*)
  2872. * D3AMR / SRDAMR DTS LL_CLKAM_Enable\n (*)
  2873. * D3AMR / SRDAMR DFSDM2 LL_CLKAM_Enable\n (*)
  2874. * D3AMR / SRDAMR BKPRAM LL_CLKAM_Enable\n
  2875. * D3AMR / SRDAMR SRAM4 LL_CLKAM_Enable
  2876. * @param Periphs This parameter can be a combination of the following values:
  2877. * @arg @ref LL_CLKAM_PERIPH_BDMA
  2878. * @arg @ref LL_CLKAM_PERIPH_LPUART1
  2879. * @arg @ref LL_CLKAM_PERIPH_SPI6
  2880. * @arg @ref LL_CLKAM_PERIPH_I2C4
  2881. * @arg @ref LL_CLKAM_PERIPH_LPTIM2
  2882. * @arg @ref LL_CLKAM_PERIPH_LPTIM3
  2883. * @arg @ref LL_CLKAM_PERIPH_LPTIM4 (*)
  2884. * @arg @ref LL_CLKAM_PERIPH_LPTIM5 (*)
  2885. * @arg @ref LL_CLKAM_PERIPH_DAC2 (*)
  2886. * @arg @ref LL_CLKAM_PERIPH_COMP12
  2887. * @arg @ref LL_CLKAM_PERIPH_VREF
  2888. * @arg @ref LL_CLKAM_PERIPH_RTC
  2889. * @arg @ref LL_CLKAM_PERIPH_CRC
  2890. * @arg @ref LL_CLKAM_PERIPH_SAI4 (*)
  2891. * @arg @ref LL_CLKAM_PERIPH_ADC3 (*)
  2892. * @arg @ref LL_CLKAM_PERIPH_DTS (*)
  2893. * @arg @ref LL_CLKAM_PERIPH_DFSDM2 (*)
  2894. * @arg @ref LL_CLKAM_PERIPH_BKPRAM
  2895. * @arg @ref LL_CLKAM_PERIPH_SRAM4
  2896. *
  2897. * (*) value not defined in all devices.
  2898. * @retval None
  2899. */
  2900. __STATIC_INLINE void LL_CLKAM_Enable(uint32_t Periphs)
  2901. {
  2902. __IO uint32_t tmpreg;
  2903. #if defined(RCC_D3AMR_BDMAAMEN)
  2904. SET_BIT(RCC->D3AMR, Periphs);
  2905. /* Delay after an RCC peripheral clock enabling */
  2906. tmpreg = READ_BIT(RCC->D3AMR, Periphs);
  2907. #else
  2908. SET_BIT(RCC->SRDAMR, Periphs);
  2909. /* Delay after an RCC peripheral clock enabling */
  2910. tmpreg = READ_BIT(RCC->SRDAMR, Periphs);
  2911. #endif /* RCC_D3AMR_BDMAAMEN */
  2912. (void)tmpreg;
  2913. }
  2914. /**
  2915. * @brief Disable peripherals clock for CLKAM Mode.
  2916. * @rmtoll D3AMR / SRDAMR BDMA LL_CLKAM_Disable\n
  2917. * D3AMR / SRDAMR LPUART1 LL_CLKAM_Disable\n
  2918. * D3AMR / SRDAMR SPI6 LL_CLKAM_Disable\n
  2919. * D3AMR / SRDAMR I2C4 LL_CLKAM_Disable\n
  2920. * D3AMR / SRDAMR LPTIM2 LL_CLKAM_Disable\n
  2921. * D3AMR / SRDAMR LPTIM3 LL_CLKAM_Disable\n
  2922. * D3AMR / SRDAMR LPTIM4 LL_CLKAM_Disable\n (*)
  2923. * D3AMR / SRDAMR LPTIM5 LL_CLKAM_Disable\n (*)
  2924. * D3AMR / SRDAMR DAC2 LL_CLKAM_Disable\n (*)
  2925. * D3AMR / SRDAMR COMP12 LL_CLKAM_Disable\n
  2926. * D3AMR / SRDAMR VREF LL_CLKAM_Disable\n
  2927. * D3AMR / SRDAMR RTC LL_CLKAM_Disable\n
  2928. * D3AMR / SRDAMR CRC LL_CLKAM_Disable\n
  2929. * D3AMR / SRDAMR SAI4 LL_CLKAM_Disable\n (*)
  2930. * D3AMR / SRDAMR ADC3 LL_CLKAM_Disable\n (*)
  2931. * D3AMR / SRDAMR DTS LL_CLKAM_Disable\n (*)
  2932. * D3AMR / SRDAMR DFSDM2 LL_CLKAM_Disable\n (*)
  2933. * D3AMR / SRDAMR BKPRAM LL_CLKAM_Disable\n
  2934. * D3AMR / SRDAMR SRAM4 LL_CLKAM_Disable
  2935. * @param Periphs This parameter can be a combination of the following values:
  2936. * @arg @ref LL_CLKAM_PERIPH_BDMA
  2937. * @arg @ref LL_CLKAM_PERIPH_LPUART1
  2938. * @arg @ref LL_CLKAM_PERIPH_SPI6
  2939. * @arg @ref LL_CLKAM_PERIPH_I2C4
  2940. * @arg @ref LL_CLKAM_PERIPH_LPTIM2
  2941. * @arg @ref LL_CLKAM_PERIPH_LPTIM3
  2942. * @arg @ref LL_CLKAM_PERIPH_LPTIM4 (*)
  2943. * @arg @ref LL_CLKAM_PERIPH_LPTIM5 (*)
  2944. * @arg @ref LL_CLKAM_PERIPH_DAC2 (*)
  2945. * @arg @ref LL_CLKAM_PERIPH_COMP12
  2946. * @arg @ref LL_CLKAM_PERIPH_VREF
  2947. * @arg @ref LL_CLKAM_PERIPH_RTC
  2948. * @arg @ref LL_CLKAM_PERIPH_CRC
  2949. * @arg @ref LL_CLKAM_PERIPH_SAI4 (*)
  2950. * @arg @ref LL_CLKAM_PERIPH_ADC3 (*)
  2951. * @arg @ref LL_CLKAM_PERIPH_DTS (*)
  2952. * @arg @ref LL_CLKAM_PERIPH_DFSDM2 (*)
  2953. * @arg @ref LL_CLKAM_PERIPH_BKPRAM
  2954. * @arg @ref LL_CLKAM_PERIPH_SRAM4
  2955. *
  2956. * (*) value not defined in all devices.
  2957. * @retval None
  2958. */
  2959. __STATIC_INLINE void LL_CLKAM_Disable(uint32_t Periphs)
  2960. {
  2961. #if defined(RCC_D3AMR_BDMAAMEN)
  2962. CLEAR_BIT(RCC->D3AMR, Periphs);
  2963. #else
  2964. CLEAR_BIT(RCC->SRDAMR, Periphs);
  2965. #endif /* RCC_D3AMR_BDMAAMEN */
  2966. }
  2967. #if defined(RCC_CKGAENR_AXICKG)
  2968. /**
  2969. * @}
  2970. */
  2971. /**
  2972. * @brief Enable clock gating for AXI bus peripherals.
  2973. * @rmtoll
  2974. * @param :
  2975. * @retval None
  2976. */
  2977. __STATIC_INLINE void LL_CKGA_Enable(uint32_t Periphs)
  2978. {
  2979. __IO uint32_t tmpreg;
  2980. SET_BIT(RCC->CKGAENR, Periphs);
  2981. /* Delay after an RCC peripheral clock enabling */
  2982. tmpreg = READ_BIT(RCC->CKGAENR, Periphs);
  2983. (void)tmpreg;
  2984. }
  2985. /**
  2986. * @}
  2987. */
  2988. #endif /* RCC_CKGAENR_AXICKG */
  2989. #if defined(RCC_CKGAENR_AXICKG)
  2990. /**
  2991. * @}
  2992. */
  2993. /**
  2994. * @brief Disable clock gating for AXI bus peripherals.
  2995. * @rmtoll
  2996. * @param :
  2997. * @retval None
  2998. */
  2999. __STATIC_INLINE void LL_CKGA_Disable(uint32_t Periphs)
  3000. {
  3001. CLEAR_BIT(RCC->CKGAENR, Periphs);
  3002. }
  3003. /**
  3004. * @}
  3005. */
  3006. #endif /* RCC_CKGAENR_AXICKG */
  3007. #if defined(DUAL_CORE)
  3008. /** @defgroup BUS_LL_EF_AHB3 AHB3
  3009. * @{
  3010. */
  3011. /**
  3012. * @brief Enable C1 AHB3 peripherals clock.
  3013. * @rmtoll AHB3ENR MDMAEN LL_C1_AHB3_GRP1_EnableClock\n
  3014. * AHB3ENR DMA2DEN LL_C1_AHB3_GRP1_EnableClock\n
  3015. * AHB3ENR JPGDECEN LL_C1_AHB3_GRP1_EnableClock\n
  3016. * AHB3ENR FMCEN LL_C1_AHB3_GRP1_EnableClock\n
  3017. * AHB3ENR QSPIEN LL_C1_AHB3_GRP1_EnableClock\n (*)
  3018. * AHB3ENR OSPI1EN LL_C1_AHB3_GRP1_EnableClock\n (*)
  3019. * AHB3ENR OSPI2EN LL_C1_AHB3_GRP1_EnableClock\n (*)
  3020. * AHB3ENR IOMNGREN LL_C1_AHB3_GRP1_EnableClock\n (*)
  3021. * AHB3ENR OTFDEC1EN LL_C1_AHB3_GRP1_EnableClock\n (*)
  3022. * AHB3ENR OTFDEC2EN LL_C1_AHB3_GRP1_EnableClock\n (*)
  3023. * AHB3ENR GFXMMU LL_C1_AHB3_GRP1_EnableClock\n (*)
  3024. * AHB3ENR SDMMC1EN LL_C1_AHB3_GRP1_EnableClock
  3025. * @param Periphs This parameter can be a combination of the following values:
  3026. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  3027. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  3028. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  3029. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  3030. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  3031. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  3032. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  3033. * @arg @ref LL_AHB3_GRP1_PERIPH_IOMNGR (*)
  3034. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  3035. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  3036. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  3037. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  3038. *
  3039. * (*) value not defined in all devices.
  3040. * @retval None
  3041. */
  3042. __STATIC_INLINE void LL_C1_AHB3_GRP1_EnableClock(uint32_t Periphs)
  3043. {
  3044. __IO uint32_t tmpreg;
  3045. SET_BIT(RCC_C1->AHB3ENR, Periphs);
  3046. /* Delay after an RCC peripheral clock enabling */
  3047. tmpreg = READ_BIT(RCC_C1->AHB3ENR, Periphs);
  3048. (void)tmpreg;
  3049. }
  3050. /**
  3051. * @brief Check if C1 AHB3 peripheral clock is enabled or not
  3052. * @rmtoll AHB3ENR MDMAEN LL_C1_AHB3_GRP1_IsEnabledClock\n
  3053. * AHB3ENR DMA2DEN LL_C1_AHB3_GRP1_IsEnabledClock\n
  3054. * AHB3ENR JPGDECEN LL_C1_AHB3_GRP1_IsEnabledClock\n
  3055. * AHB3ENR FMCEN LL_C1_AHB3_GRP1_IsEnabledClock\n
  3056. * AHB3ENR QSPIEN LL_C1_AHB3_GRP1_IsEnabledClock\n (*)
  3057. * AHB3ENR OSPI1EN LL_C1_AHB3_GRP1_IsEnabledClock\n (*)
  3058. * AHB3ENR OSPI2EN LL_C1_AHB3_GRP1_IsEnabledClock\n (*)
  3059. * AHB3ENR IOMNGREN LL_C1_AHB3_GRP1_IsEnabledClock\n (*)
  3060. * AHB3ENR OTFDEC1EN LL_C1_AHB3_GRP1_IsEnabledClock\n (*)
  3061. * AHB3ENR OTFDEC2EN LL_C1_AHB3_GRP1_IsEnabledClock\n (*)
  3062. * AHB3ENR GFXMMU LL_C1_AHB3_GRP1_IsEnabledClock\n (*)
  3063. * AHB3ENR SDMMC1EN LL_C1_AHB3_GRP1_IsEnabledClock
  3064. * @param Periphs This parameter can be a combination of the following values:
  3065. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  3066. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  3067. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  3068. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  3069. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  3070. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  3071. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  3072. * @arg @ref LL_AHB3_GRP1_PERIPH_IOMNGR (*)
  3073. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  3074. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  3075. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  3076. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  3077. *
  3078. * (*) value not defined in all devices.
  3079. * @retval uint32_t
  3080. */
  3081. __STATIC_INLINE uint32_t LL_C1_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
  3082. {
  3083. return ((READ_BIT(RCC_C1->AHB3ENR, Periphs) == Periphs)?1U:0U);
  3084. }
  3085. /**
  3086. * @brief Disable C1 AHB3 peripherals clock.
  3087. * @rmtoll AHB3ENR MDMAEN LL_C1_AHB3_GRP1_DisableClock\n
  3088. * AHB3ENR DMA2DEN LL_C1_AHB3_GRP1_DisableClock\n
  3089. * AHB3ENR JPGDECEN LL_C1_AHB3_GRP1_DisableClock\n
  3090. * AHB3ENR FMCEN LL_C1_AHB3_GRP1_DisableClock\n
  3091. * AHB3ENR QSPIEN LL_C1_AHB3_GRP1_DisableClock\n (*)
  3092. * AHB3ENR OSPI1EN LL_C1_AHB3_GRP1_DisableClock\n (*)
  3093. * AHB3ENR OSPI2EN LL_C1_AHB3_GRP1_DisableClock\n (*)
  3094. * AHB3ENR IOMNGREN LL_C1_AHB3_GRP1_DisableClock\n (*)
  3095. * AHB3ENR OTFDEC1EN LL_C1_AHB3_GRP1_DisableClock\n (*)
  3096. * AHB3ENR OTFDEC2EN LL_C1_AHB3_GRP1_DisableClock\n (*)
  3097. * AHB3ENR GFXMMU LL_C1_AHB3_GRP1_DisableClock\n (*)
  3098. * AHB3ENR SDMMC1EN LL_C1_AHB3_GRP1_DisableClock
  3099. * @param Periphs This parameter can be a combination of the following values:
  3100. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  3101. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  3102. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  3103. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  3104. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  3105. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  3106. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  3107. * @arg @ref LL_AHB3_GRP1_PERIPH_IOMNGR (*)
  3108. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  3109. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  3110. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  3111. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  3112. *
  3113. * (*) value not defined in all devices.
  3114. * @retval None
  3115. */
  3116. __STATIC_INLINE void LL_C1_AHB3_GRP1_DisableClock(uint32_t Periphs)
  3117. {
  3118. CLEAR_BIT(RCC_C1->AHB3ENR, Periphs);
  3119. }
  3120. /**
  3121. * @brief Enable C1 AHB3 peripherals clock during Low Power (Sleep) mode.
  3122. * @rmtoll AHB3LPENR MDMALPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3123. * AHB3LPENR DMA2DLPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3124. * AHB3LPENR JPGDECLPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3125. * AHB3LPENR FMCLPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3126. * AHB3LPENR QSPILPEN LL_C1_AHB3_GRP1_EnableClockSleep\n (*)
  3127. * AHB3LPENR OSPI1LPEN LL_C1_AHB3_GRP1_EnableClockSleep\n (*)
  3128. * AHB3LPENR OSPI2LPEN LL_C1_AHB3_GRP1_EnableClockSleep\n (*)
  3129. * AHB3LPENR IOMNGRLPEN LL_C1_AHB3_GRP1_EnableClockSleep\n (*)
  3130. * AHB3LPENR OTFDEC1LPEN LL_C1_AHB3_GRP1_EnableClockSleep\n (*)
  3131. * AHB3LPENR OTFDEC1LPEN LL_C1_AHB3_GRP1_EnableClockSleep\n (*)
  3132. * AHB3LPENR GFXMMULPEN LL_C1_AHB3_GRP1_EnableClockSleep\n (*)
  3133. * AHB3LPENR SDMMC1LPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3134. * AHB3LPENR FLASHLPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3135. * AHB3LPENR DTCM1LPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3136. * AHB3LPENR DTCM2LPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3137. * AHB3LPENR ITCMLPEN LL_C1_AHB3_GRP1_EnableClockSleep\n
  3138. * AHB3LPENR AXISRAMLPEN LL_C1_AHB3_GRP1_EnableClockSleep
  3139. * @param Periphs This parameter can be a combination of the following values:
  3140. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  3141. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  3142. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  3143. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  3144. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  3145. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  3146. * @arg @ref LL_AHB3_GRP1_PERIPH_OCTOSPIM (*)
  3147. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  3148. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  3149. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  3150. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  3151. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  3152. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  3153. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  3154. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  3155. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  3156. *
  3157. * (*) value not defined in all devices.
  3158. * @retval None
  3159. */
  3160. __STATIC_INLINE void LL_C1_AHB3_GRP1_EnableClockSleep(uint32_t Periphs)
  3161. {
  3162. __IO uint32_t tmpreg;
  3163. SET_BIT(RCC_C1->AHB3LPENR, Periphs);
  3164. /* Delay after an RCC peripheral clock enabling */
  3165. tmpreg = READ_BIT(RCC_C1->AHB3LPENR, Periphs);
  3166. (void)tmpreg;
  3167. }
  3168. /**
  3169. * @brief Disable C1 AHB3 peripherals clock during Low Power (Sleep) mode.
  3170. * @rmtoll AHB3LPENR MDMALPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3171. * AHB3LPENR DMA2DLPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3172. * AHB3LPENR JPGDECLPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3173. * AHB3LPENR FMCLPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3174. * AHB3LPENR QSPILPEN LL_C1_AHB3_GRP1_DisableClockSleep\n (*)
  3175. * AHB3LPENR OSPI1LPEN LL_C1_AHB3_GRP1_DisableClockSleep\n (*)
  3176. * AHB3LPENR OSPI2LPEN LL_C1_AHB3_GRP1_DisableClockSleep\n (*)
  3177. * AHB3LPENR IOMNGRLPEN LL_C1_AHB3_GRP1_DisableClockSleep\n (*)
  3178. * AHB3LPENR OTFDEC1LPEN LL_C1_AHB3_GRP1_DisableClockSleep\n (*)
  3179. * AHB3LPENR OTFDEC1LPEN LL_C1_AHB3_GRP1_DisableClockSleep\n (*)
  3180. * AHB3LPENR GFXMMULPEN LL_C1_AHB3_GRP1_DisableClockSleep\n (*)
  3181. * AHB3LPENR SDMMC1LPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3182. * AHB3LPENR FLASHLPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3183. * AHB3LPENR DTCM1LPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3184. * AHB3LPENR DTCM2LPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3185. * AHB3LPENR ITCMLPEN LL_C1_AHB3_GRP1_DisableClockSleep\n
  3186. * AHB3LPENR AXISRAMLPEN LL_C1_AHB3_GRP1_DisableClockSleep
  3187. * @param Periphs This parameter can be a combination of the following values:
  3188. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  3189. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  3190. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  3191. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI (*)
  3192. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI1 (*)
  3193. * @arg @ref LL_AHB3_GRP1_PERIPH_OSPI2 (*)
  3194. * @arg @ref LL_AHB3_GRP1_PERIPH_OCTOSPIM (*)
  3195. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC1 (*)
  3196. * @arg @ref LL_AHB3_GRP1_PERIPH_OTFDEC2 (*)
  3197. * @arg @ref LL_AHB3_GRP1_PERIPH_GFXMMU (*)
  3198. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  3199. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  3200. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  3201. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  3202. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  3203. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  3204. *
  3205. * (*) value not defined in all devices.
  3206. * @retval None
  3207. */
  3208. __STATIC_INLINE void LL_C1_AHB3_GRP1_DisableClockSleep(uint32_t Periphs)
  3209. {
  3210. CLEAR_BIT(RCC_C1->AHB3LPENR, Periphs);
  3211. }
  3212. /**
  3213. * @}
  3214. */
  3215. /** @defgroup BUS_LL_EF_AHB1 AHB1
  3216. * @{
  3217. */
  3218. /**
  3219. * @brief Enable C1 AHB1 peripherals clock.
  3220. * @rmtoll AHB1ENR DMA1EN LL_C1_AHB1_GRP1_EnableClock\n
  3221. * AHB1ENR DMA2EN LL_C1_AHB1_GRP1_EnableClock\n
  3222. * AHB1ENR ADC12EN LL_C1_AHB1_GRP1_EnableClock\n
  3223. * AHB1ENR CRCEN LL_C1_AHB1_GRP1_EnableClock\n (*)
  3224. * AHB1ENR ARTEN LL_C1_AHB1_GRP1_EnableClock\n (*)
  3225. * AHB1ENR ETH1MACEN LL_C1_AHB1_GRP1_EnableClock\n (*)
  3226. * AHB1ENR ETH1TXEN LL_C1_AHB1_GRP1_EnableClock\n (*)
  3227. * AHB1ENR ETH1RXEN LL_C1_AHB1_GRP1_EnableClock\n (*)
  3228. * AHB1ENR USB1OTGHSEN LL_C1_AHB1_GRP1_EnableClock\n
  3229. * AHB1ENR USB1OTGHSULPIEN LL_C1_AHB1_GRP1_EnableClock\n
  3230. * AHB1ENR USB2OTGHSEN LL_C1_AHB1_GRP1_EnableClock\n (*)
  3231. * AHB1ENR USB2OTGHSULPIEN LL_C1_AHB1_GRP1_EnableClock (*)
  3232. * @param Periphs This parameter can be a combination of the following values:
  3233. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  3234. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  3235. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  3236. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  3237. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  3238. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  3239. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  3240. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  3241. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  3242. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  3243. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  3244. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  3245. *
  3246. * (*) value not defined in all devices.
  3247. * @retval None
  3248. */
  3249. __STATIC_INLINE void LL_C1_AHB1_GRP1_EnableClock(uint32_t Periphs)
  3250. {
  3251. __IO uint32_t tmpreg;
  3252. SET_BIT(RCC_C1->AHB1ENR, Periphs);
  3253. /* Delay after an RCC peripheral clock enabling */
  3254. tmpreg = READ_BIT(RCC_C1->AHB1ENR, Periphs);
  3255. (void)tmpreg;
  3256. }
  3257. /**
  3258. * @brief Check if C1 AHB1 peripheral clock is enabled or not
  3259. * @rmtoll AHB1ENR DMA1EN LL_C1_AHB1_GRP1_IsEnabledClock\n
  3260. * AHB1ENR DMA2EN LL_C1_AHB1_GRP1_IsEnabledClock\n
  3261. * AHB1ENR ADC12EN LL_C1_AHB1_GRP1_IsEnabledClock\n
  3262. * AHB1ENR CRCEN LL_C1_AHB1_GRP1_IsEnabledClock\n (*)
  3263. * AHB1ENR ARTEN LL_C1_AHB1_GRP1_IsEnabledClock\n (*)
  3264. * AHB1ENR ETH1MACEN LL_C1_AHB1_GRP1_IsEnabledClock\n (*)
  3265. * AHB1ENR ETH1TXEN LL_C1_AHB1_GRP1_IsEnabledClock\n (*)
  3266. * AHB1ENR ETH1RXEN LL_C1_AHB1_GRP1_IsEnabledClock\n (*)
  3267. * AHB1ENR USB1OTGHSEN LL_C1_AHB1_GRP1_IsEnabledClock\n
  3268. * AHB1ENR USB1OTGHSULPIEN LL_C1_AHB1_GRP1_IsEnabledClock\n
  3269. * AHB1ENR USB2OTGHSEN LL_C1_AHB1_GRP1_IsEnabledClock\n (*)
  3270. * AHB1ENR USB2OTGHSULPIEN LL_C1_AHB1_GRP1_IsEnabledClock (*)
  3271. * @param Periphs This parameter can be a combination of the following values:
  3272. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  3273. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  3274. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  3275. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  3276. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  3277. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  3278. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  3279. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  3280. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  3281. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  3282. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  3283. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  3284. *
  3285. * (*) value not defined in all devices.
  3286. * @retval uint32_t
  3287. */
  3288. __STATIC_INLINE uint32_t LL_C1_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
  3289. {
  3290. return ((READ_BIT(RCC_C1->AHB1ENR, Periphs) == Periphs)?1U:0U);
  3291. }
  3292. /**
  3293. * @brief Disable C1 AHB1 peripherals clock.
  3294. * @rmtoll AHB1ENR DMA1EN LL_C1_AHB1_GRP1_DisableClock\n
  3295. * AHB1ENR DMA2EN LL_C1_AHB1_GRP1_DisableClock\n
  3296. * AHB1ENR ADC12EN LL_C1_AHB1_GRP1_DisableClock\n
  3297. * AHB1ENR CRCEN LL_C1_AHB1_GRP1_DisableClock\n (*)
  3298. * AHB1ENR ARTEN LL_C1_AHB1_GRP1_DisableClock\n (*)
  3299. * AHB1ENR ETH1MACEN LL_C1_AHB1_GRP1_DisableClock\n (*)
  3300. * AHB1ENR ETH1TXEN LL_C1_AHB1_GRP1_DisableClock\n (*)
  3301. * AHB1ENR ETH1RXEN LL_C1_AHB1_GRP1_DisableClock\n (*)
  3302. * AHB1ENR USB1OTGHSEN LL_C1_AHB1_GRP1_DisableClock\n
  3303. * AHB1ENR USB1OTGHSULPIEN LL_C1_AHB1_GRP1_DisableClock\n
  3304. * AHB1ENR USB2OTGHSEN LL_C1_AHB1_GRP1_DisableClock\n (*)
  3305. * AHB1ENR USB2OTGHSULPIEN LL_C1_AHB1_GRP1_DisableClock (*)
  3306. * @param Periphs This parameter can be a combination of the following values:
  3307. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  3308. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  3309. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  3310. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  3311. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  3312. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  3313. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  3314. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  3315. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  3316. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  3317. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  3318. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  3319. *
  3320. * (*) value not defined in all devices.
  3321. * @retval None
  3322. */
  3323. __STATIC_INLINE void LL_C1_AHB1_GRP1_DisableClock(uint32_t Periphs)
  3324. {
  3325. CLEAR_BIT(RCC_C1->AHB1ENR, Periphs);
  3326. }
  3327. /**
  3328. * @brief Enable C1 AHB1 peripherals clock during Low Power (Sleep) mode.
  3329. * @rmtoll AHB1LPENR DMA1LPEN LL_C1_AHB1_GRP1_EnableClockSleep\n
  3330. * AHB1LPENR DMA2LPEN LL_C1_AHB1_GRP1_EnableClockSleep\n
  3331. * AHB1LPENR ADC12LPEN LL_C1_AHB1_GRP1_EnableClockSleep\n
  3332. * AHB1LPENR CRCLPEN LL_C1_AHB1_GRP1_EnableClockSleep\n (*)
  3333. * AHB1LPENR ARTLPEN LL_C1_AHB1_GRP1_EnableClockSleep\n (*)
  3334. * AHB1LPENR ETH1MACLPEN LL_C1_AHB1_GRP1_EnableClockSleep\n (*)
  3335. * AHB1LPENR ETH1TXLPEN LL_C1_AHB1_GRP1_EnableClockSleep\n (*)
  3336. * AHB1LPENR ETH1RXLPEN LL_C1_AHB1_GRP1_EnableClockSleep\n (*)
  3337. * AHB1LPENR USB1OTGHSLPEN LL_C1_AHB1_GRP1_EnableClockSleep\n
  3338. * AHB1LPENR USB1OTGHSULPILPEN LL_C1_AHB1_GRP1_EnableClockSleep\n
  3339. * AHB1LPENR USB2OTGHSLPEN LL_C1_AHB1_GRP1_EnableClockSleep\n (*)
  3340. * AHB1LPENR USB2OTGHSULPILPEN LL_C1_AHB1_GRP1_EnableClockSleep (*)
  3341. * @param Periphs This parameter can be a combination of the following values:
  3342. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  3343. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  3344. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  3345. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  3346. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  3347. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  3348. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  3349. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  3350. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  3351. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  3352. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  3353. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  3354. *
  3355. * (*) value not defined in all devices.
  3356. * @retval None
  3357. */
  3358. __STATIC_INLINE void LL_C1_AHB1_GRP1_EnableClockSleep(uint32_t Periphs)
  3359. {
  3360. __IO uint32_t tmpreg;
  3361. SET_BIT(RCC_C1->AHB1LPENR, Periphs);
  3362. /* Delay after an RCC peripheral clock enabling */
  3363. tmpreg = READ_BIT(RCC_C1->AHB1LPENR, Periphs);
  3364. (void)tmpreg;
  3365. }
  3366. /**
  3367. * @brief Disable C1 AHB1 peripherals clock during Low Power (Sleep) mode.
  3368. * @rmtoll AHB1LPENR DMA1LPEN LL_C1_AHB1_GRP1_DisableClockSleep\n
  3369. * AHB1LPENR DMA2LPEN LL_C1_AHB1_GRP1_DisableClockSleep\n
  3370. * AHB1LPENR ADC12LPEN LL_C1_AHB1_GRP1_DisableClockSleep\n
  3371. * AHB1LPENR CRCLPEN LL_C1_AHB1_GRP1_DisableClockSleep\n (*)
  3372. * AHB1LPENR ARTLPEN LL_C1_AHB1_GRP1_DisableClockSleep\n (*)
  3373. * AHB1LPENR ETH1MACLPEN LL_C1_AHB1_GRP1_DisableClockSleep\n (*)
  3374. * AHB1LPENR ETH1TXLPEN LL_C1_AHB1_GRP1_DisableClockSleep\n (*)
  3375. * AHB1LPENR ETH1RXLPEN LL_C1_AHB1_GRP1_DisableClockSleep\n (*)
  3376. * AHB1LPENR USB1OTGHSLPEN LL_C1_AHB1_GRP1_DisableClockSleep\n
  3377. * AHB1LPENR USB1OTGHSULPILPEN LL_C1_AHB1_GRP1_DisableClockSleep\n
  3378. * AHB1LPENR USB2OTGHSLPEN LL_C1_AHB1_GRP1_DisableClockSleep\n (*)
  3379. * AHB1LPENR USB2OTGHSULPILPEN LL_C1_AHB1_GRP1_DisableClockSleep (*)
  3380. * @param Periphs This parameter can be a combination of the following values:
  3381. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  3382. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  3383. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  3384. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC (*)
  3385. * @arg @ref LL_AHB1_GRP1_PERIPH_ART (*)
  3386. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC (*)
  3387. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX (*)
  3388. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX (*)
  3389. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  3390. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  3391. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS (*)
  3392. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI (*)
  3393. *
  3394. * (*) value not defined in all devices.
  3395. * @retval None
  3396. */
  3397. __STATIC_INLINE void LL_C1_AHB1_GRP1_DisableClockSleep(uint32_t Periphs)
  3398. {
  3399. CLEAR_BIT(RCC_C1->AHB1LPENR, Periphs);
  3400. }
  3401. /**
  3402. * @}
  3403. */
  3404. /** @defgroup BUS_LL_EF_AHB2 AHB2
  3405. * @{
  3406. */
  3407. /**
  3408. * @brief Enable C1 AHB2 peripherals clock.
  3409. * @rmtoll AHB2ENR DCMIEN LL_C1_AHB2_GRP1_EnableClock\n
  3410. * AHB2ENR HSEMEN LL_C1_AHB2_GRP1_EnableClock\n (*)
  3411. * AHB2ENR CRYPEN LL_C1_AHB2_GRP1_EnableClock\n (*)
  3412. * AHB2ENR HASHEN LL_C1_AHB2_GRP1_EnableClock\n (*)
  3413. * AHB2ENR RNGEN LL_C1_AHB2_GRP1_EnableClock\n
  3414. * AHB2ENR SDMMC2EN LL_C1_AHB2_GRP1_EnableClock\n
  3415. * AHB2ENR BDMA1EN LL_C1_AHB2_GRP1_EnableClock\n (*)
  3416. * AHB2ENR D2SRAM1EN LL_C1_AHB2_GRP1_EnableClock\n
  3417. * AHB2ENR D2SRAM2EN LL_C1_AHB2_GRP1_EnableClock\n
  3418. * AHB2ENR D2SRAM3EN LL_C1_AHB2_GRP1_EnableClock (*)
  3419. * @param Periphs This parameter can be a combination of the following values:
  3420. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  3421. * @arg @ref LL_AHB2_GRP1_PERIPH_HSEM (*)
  3422. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  3423. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  3424. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  3425. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  3426. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  3427. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  3428. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  3429. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  3430. *
  3431. * (*) value not defined in all devices.
  3432. * @retval None
  3433. */
  3434. __STATIC_INLINE void LL_C1_AHB2_GRP1_EnableClock(uint32_t Periphs)
  3435. {
  3436. __IO uint32_t tmpreg;
  3437. SET_BIT(RCC_C1->AHB2ENR, Periphs);
  3438. /* Delay after an RCC peripheral clock enabling */
  3439. tmpreg = READ_BIT(RCC_C1->AHB2ENR, Periphs);
  3440. (void)tmpreg;
  3441. }
  3442. /**
  3443. * @brief Check if C1 AHB2 peripheral clock is enabled or not
  3444. * @rmtoll AHB2ENR DCMIEN LL_C1_AHB2_GRP1_IsEnabledClock\n
  3445. * AHB2ENR HSEMEN LL_C1_AHB2_GRP1_IsEnabledClock\n (*)
  3446. * AHB2ENR CRYPEN LL_C1_AHB2_GRP1_IsEnabledClock\n (*)
  3447. * AHB2ENR HASHEN LL_C1_AHB2_GRP1_IsEnabledClock\n (*)
  3448. * AHB2ENR RNGEN LL_C1_AHB2_GRP1_IsEnabledClock\n
  3449. * AHB2ENR SDMMC2EN LL_C1_AHB2_GRP1_IsEnabledClock\n
  3450. * AHB2ENR BDMA1EN LL_C1_AHB2_GRP1_IsEnabledClock\n (*)
  3451. * AHB2ENR D2SRAM1EN LL_C1_AHB2_GRP1_IsEnabledClock\n
  3452. * AHB2ENR D2SRAM2EN LL_C1_AHB2_GRP1_IsEnabledClock\n
  3453. * AHB2ENR D2SRAM3EN LL_C1_AHB2_GRP1_IsEnabledClock (*)
  3454. * @param Periphs This parameter can be a combination of the following values:
  3455. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  3456. * @arg @ref LL_AHB2_GRP1_PERIPH_HSEM (*)
  3457. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  3458. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  3459. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  3460. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  3461. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  3462. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  3463. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  3464. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  3465. *
  3466. * (*) value not defined in all devices.
  3467. * @retval uint32_t
  3468. */
  3469. __STATIC_INLINE uint32_t LL_C1_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
  3470. {
  3471. return ((READ_BIT(RCC_C1->AHB2ENR, Periphs) == Periphs)?1U:0U);
  3472. }
  3473. /**
  3474. * @brief Disable C1 AHB2 peripherals clock.
  3475. * @rmtoll AHB2ENR DCMIEN LL_C1_AHB2_GRP1_DisableClock\n
  3476. * AHB2ENR HSEMEN LL_C1_AHB2_GRP1_DisableClock\n (*)
  3477. * AHB2ENR CRYPEN LL_C1_AHB2_GRP1_DisableClock\n (*)
  3478. * AHB2ENR HASHEN LL_C1_AHB2_GRP1_DisableClock\n (*)
  3479. * AHB2ENR RNGEN LL_C1_AHB2_GRP1_DisableClock\n
  3480. * AHB2ENR SDMMC2EN LL_C1_AHB2_GRP1_DisableClock\n
  3481. * AHB2ENR BDMA1EN LL_C1_AHB2_GRP1_DisableClock\n (*)
  3482. * AHB2ENR D2SRAM1EN LL_C1_AHB2_GRP1_DisableClock\n
  3483. * AHB2ENR D2SRAM2EN LL_C1_AHB2_GRP1_DisableClock\n
  3484. * AHB2ENR D2SRAM3EN LL_C1_AHB2_GRP1_DisableClock (*)
  3485. * @param Periphs This parameter can be a combination of the following values:
  3486. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  3487. * @arg @ref LL_AHB2_GRP1_PERIPH_HSEM (*)
  3488. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  3489. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  3490. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  3491. * @arg @ref LL_AHB2_GRP1_PERIPH_BDMA1 (*)
  3492. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  3493. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  3494. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  3495. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  3496. *
  3497. * (*) value not defined in all devices.
  3498. * @retval None
  3499. */
  3500. __STATIC_INLINE void LL_C1_AHB2_GRP1_DisableClock(uint32_t Periphs)
  3501. {
  3502. CLEAR_BIT(RCC_C1->AHB2ENR, Periphs);
  3503. }
  3504. /**
  3505. * @brief Enable C1 AHB2 peripherals clock during Low Power (Sleep) mode.
  3506. * @rmtoll AHB2LPENR DCMILPEN LL_C1_AHB2_GRP1_EnableClockSleep\n
  3507. * AHB2LPENR CRYPLPEN LL_C1_AHB2_GRP1_EnableClockSleep\n (*)
  3508. * AHB2LPENR HASHLPEN LL_C1_AHB2_GRP1_EnableClockSleep\n (*)
  3509. * AHB2LPENR RNGLPEN LL_C1_AHB2_GRP1_EnableClockSleep\n
  3510. * AHB2LPENR SDMMC2LPEN LL_C1_AHB2_GRP1_EnableClockSleep\n
  3511. * AHB2LPENR SDMMC2LPEN LL_C1_AHB2_GRP1_EnableClockSleep\n
  3512. * AHB2LPENR BDAM1LPEN LL_C1_AHB2_GRP1_EnableClockSleep\n (*)
  3513. * AHB2LPENR D2SRAM2LPEN LL_C1_AHB2_GRP1_EnableClockSleep\n
  3514. * AHB2LPENR D2SRAM3LPEN LL_C1_AHB2_GRP1_EnableClockSleep (*)
  3515. * @param Periphs This parameter can be a combination of the following values:
  3516. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  3517. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  3518. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  3519. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  3520. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  3521. * @arg @ref LL_AHB2_GRP1_PERIPH_BDAM1 (*)
  3522. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  3523. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  3524. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  3525. *
  3526. * (*) value not defined in all devices.
  3527. * @retval None
  3528. */
  3529. __STATIC_INLINE void LL_C1_AHB2_GRP1_EnableClockSleep(uint32_t Periphs)
  3530. {
  3531. __IO uint32_t tmpreg;
  3532. SET_BIT(RCC_C1->AHB2LPENR, Periphs);
  3533. /* Delay after an RCC peripheral clock enabling */
  3534. tmpreg = READ_BIT(RCC_C1->AHB2LPENR, Periphs);
  3535. (void)tmpreg;
  3536. }
  3537. /**
  3538. * @brief Disable C1 AHB2 peripherals clock during Low Power (Sleep) mode.
  3539. * @rmtoll AHB2LPENR DCMILPEN LL_C1_AHB2_GRP1_DisableClockSleep\n
  3540. * AHB2LPENR CRYPLPEN LL_C1_AHB2_GRP1_DisableClockSleep\n (*)
  3541. * AHB2LPENR HASHLPEN LL_C1_AHB2_GRP1_DisableClockSleep\n (*)
  3542. * AHB2LPENR RNGLPEN LL_C1_AHB2_GRP1_DisableClockSleep\n
  3543. * AHB2LPENR SDMMC2LPEN LL_C1_AHB2_GRP1_DisableClockSleep\n
  3544. * AHB2LPENR BDAM1LPEN LL_C1_AHB2_GRP1_DisableClockSleep\n (*)
  3545. * AHB2LPENR D2SRAM1LPEN LL_C1_AHB2_GRP1_DisableClockSleep\n
  3546. * AHB2LPENR D2SRAM2LPEN LL_C1_AHB2_GRP1_DisableClockSleep\n
  3547. * AHB2LPENR D2SRAM3LPEN LL_C1_AHB2_GRP1_DisableClockSleep
  3548. * @param Periphs This parameter can be a combination of the following values:
  3549. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  3550. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  3551. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  3552. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  3553. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  3554. * @arg @ref LL_AHB2_GRP1_PERIPH_BDAM1 (*)
  3555. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  3556. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  3557. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3 (*)
  3558. *
  3559. * (*) value not defined in all devices.
  3560. * @retval None
  3561. */
  3562. __STATIC_INLINE void LL_C1_AHB2_GRP1_DisableClockSleep(uint32_t Periphs)
  3563. {
  3564. CLEAR_BIT(RCC_C1->AHB2LPENR, Periphs);
  3565. }
  3566. /**
  3567. * @}
  3568. */
  3569. /** @defgroup BUS_LL_EF_AHB4 AHB4
  3570. * @{
  3571. */
  3572. /**
  3573. * @brief Enable C1 AHB4 peripherals clock.
  3574. * @rmtoll AHB4ENR GPIOAEN LL_C1_AHB4_GRP1_EnableClock\n
  3575. * AHB4ENR GPIOBEN LL_C1_AHB4_GRP1_EnableClock\n
  3576. * AHB4ENR GPIOCEN LL_C1_AHB4_GRP1_EnableClock\n
  3577. * AHB4ENR GPIODEN LL_C1_AHB4_GRP1_EnableClock\n
  3578. * AHB4ENR GPIOEEN LL_C1_AHB4_GRP1_EnableClock\n
  3579. * AHB4ENR GPIOFEN LL_C1_AHB4_GRP1_EnableClock\n
  3580. * AHB4ENR GPIOGEN LL_C1_AHB4_GRP1_EnableClock\n
  3581. * AHB4ENR GPIOHEN LL_C1_AHB4_GRP1_EnableClock\n
  3582. * AHB4ENR GPIOIEN LL_C1_AHB4_GRP1_EnableClock\n
  3583. * AHB4ENR GPIOJEN LL_C1_AHB4_GRP1_EnableClock\n
  3584. * AHB4ENR GPIOKEN LL_C1_AHB4_GRP1_EnableClock\n
  3585. * AHB4ENR CRCEN LL_C1_AHB4_GRP1_EnableClock\n (*)
  3586. * AHB4ENR BDMAEN LL_C1_AHB4_GRP1_EnableClock\n
  3587. * AHB4ENR ADC3EN LL_C1_AHB4_GRP1_EnableClock\n (*)
  3588. * AHB4ENR HSEMEN LL_C1_AHB4_GRP1_EnableClock\n (*)
  3589. * AHB4ENR BKPRAMEN LL_C1_AHB4_GRP1_EnableClock\n
  3590. * AHB4ENR SRAM4EN LL_C1_AHB4_GRP1_EnableClock
  3591. * @param Periphs This parameter can be a combination of the following values:
  3592. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  3593. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  3594. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  3595. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  3596. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  3597. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  3598. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  3599. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  3600. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  3601. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  3602. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  3603. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  3604. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  3605. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  3606. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  3607. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  3608. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  3609. *
  3610. * (*) value not defined in all devices.
  3611. * @retval None
  3612. */
  3613. __STATIC_INLINE void LL_C1_AHB4_GRP1_EnableClock(uint32_t Periphs)
  3614. {
  3615. __IO uint32_t tmpreg;
  3616. SET_BIT(RCC_C1->AHB4ENR, Periphs);
  3617. /* Delay after an RCC peripheral clock enabling */
  3618. tmpreg = READ_BIT(RCC_C1->AHB4ENR, Periphs);
  3619. (void)tmpreg;
  3620. }
  3621. /**
  3622. * @brief Check if C1 AHB4 peripheral clock is enabled or not
  3623. * @rmtoll AHB4ENR GPIOAEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3624. * AHB4ENR GPIOBEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3625. * AHB4ENR GPIOCEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3626. * AHB4ENR GPIODEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3627. * AHB4ENR GPIOEEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3628. * AHB4ENR GPIOFEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3629. * AHB4ENR GPIOGEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3630. * AHB4ENR GPIOHEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3631. * AHB4ENR GPIOIEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3632. * AHB4ENR GPIOJEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3633. * AHB4ENR GPIOKEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3634. * AHB4ENR CRCEN LL_C1_AHB4_GRP1_IsEnabledClock\n (*)
  3635. * AHB4ENR BDMAEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3636. * AHB4ENR ADC3EN LL_C1_AHB4_GRP1_IsEnabledClock\n (*)
  3637. * AHB4ENR HSEMEN LL_C1_AHB4_GRP1_IsEnabledClock\n (*)
  3638. * AHB4ENR BKPRAMEN LL_C1_AHB4_GRP1_IsEnabledClock\n
  3639. * AHB4ENR SRAM4EN LL_C1_AHB4_GRP1_IsEnabledClock
  3640. * @param Periphs This parameter can be a combination of the following values:
  3641. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  3642. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  3643. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  3644. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  3645. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  3646. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  3647. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  3648. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  3649. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  3650. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  3651. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  3652. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  3653. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  3654. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  3655. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  3656. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  3657. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  3658. *
  3659. * (*) value not defined in all devices.
  3660. * @retval uint32_t
  3661. */
  3662. __STATIC_INLINE uint32_t LL_C1_AHB4_GRP1_IsEnabledClock(uint32_t Periphs)
  3663. {
  3664. return ((READ_BIT(RCC_C1->AHB4ENR, Periphs) == Periphs)?1U:0U);
  3665. }
  3666. /**
  3667. * @brief Disable C1 AHB4 peripherals clock.
  3668. * @rmtoll AHB4ENR GPIOAEN LL_C1_AHB4_GRP1_DisableClock\n
  3669. * AHB4ENR GPIOBEN LL_C1_AHB4_GRP1_DisableClock\n
  3670. * AHB4ENR GPIOCEN LL_C1_AHB4_GRP1_DisableClock\n
  3671. * AHB4ENR GPIODEN LL_C1_AHB4_GRP1_DisableClock\n
  3672. * AHB4ENR GPIOEEN LL_C1_AHB4_GRP1_DisableClock\n
  3673. * AHB4ENR GPIOFEN LL_C1_AHB4_GRP1_DisableClock\n
  3674. * AHB4ENR GPIOGEN LL_C1_AHB4_GRP1_DisableClock\n
  3675. * AHB4ENR GPIOHEN LL_C1_AHB4_GRP1_DisableClock\n
  3676. * AHB4ENR GPIOIEN LL_C1_AHB4_GRP1_DisableClock\n
  3677. * AHB4ENR GPIOJEN LL_C1_AHB4_GRP1_DisableClock\n
  3678. * AHB4ENR GPIOKEN LL_C1_AHB4_GRP1_DisableClock\n
  3679. * AHB4ENR CRCEN LL_C1_AHB4_GRP1_DisableClock\n (*)
  3680. * AHB4ENR BDMAEN LL_C1_AHB4_GRP1_DisableClock\n
  3681. * AHB4ENR ADC3EN LL_C1_AHB4_GRP1_DisableClock\n (*)
  3682. * AHB4ENR HSEMEN LL_C1_AHB4_GRP1_DisableClock\n (*)
  3683. * AHB4ENR BKPRAMEN LL_C1_AHB4_GRP1_DisableClock\n
  3684. * AHB4ENR SRAM4EN LL_C1_AHB4_GRP1_DisableClock
  3685. * @param Periphs This parameter can be a combination of the following values:
  3686. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  3687. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  3688. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  3689. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  3690. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  3691. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  3692. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  3693. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  3694. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  3695. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  3696. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  3697. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  3698. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  3699. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  3700. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  3701. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  3702. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  3703. *
  3704. * (*) value not defined in all devices.
  3705. * @retval None
  3706. */
  3707. __STATIC_INLINE void LL_C1_AHB4_GRP1_DisableClock(uint32_t Periphs)
  3708. {
  3709. CLEAR_BIT(RCC_C1->AHB4ENR, Periphs);
  3710. }
  3711. /**
  3712. * @brief Enable C1 AHB4 peripherals clock during Low Power (Sleep) mode.
  3713. * @rmtoll AHB4LPENR GPIOALPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3714. * AHB4LPENR GPIOBLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3715. * AHB4LPENR GPIOCLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3716. * AHB4LPENR GPIODLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3717. * AHB4LPENR GPIOELPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3718. * AHB4LPENR GPIOFLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3719. * AHB4LPENR GPIOGLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3720. * AHB4LPENR GPIOHLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3721. * AHB4LPENR GPIOILPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3722. * AHB4LPENR GPIOJLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3723. * AHB4LPENR GPIOKLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3724. * AHB4LPENR CRCLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n (*)
  3725. * AHB4LPENR BDMALPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3726. * AHB4LPENR ADC3LPEN LL_C1_AHB4_GRP1_EnableClockSleep\n (*)
  3727. * AHB4LPENR BKPRAMLPEN LL_C1_AHB4_GRP1_EnableClockSleep\n
  3728. * AHB4LPENR SRAM4LPEN LL_C1_AHB4_GRP1_EnableClockSleep
  3729. * @param Periphs This parameter can be a combination of the following values:
  3730. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  3731. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  3732. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  3733. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  3734. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  3735. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  3736. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  3737. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  3738. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  3739. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  3740. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  3741. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  3742. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  3743. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  3744. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  3745. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  3746. * @retval None
  3747. */
  3748. __STATIC_INLINE void LL_C1_AHB4_GRP1_EnableClockSleep(uint32_t Periphs)
  3749. {
  3750. __IO uint32_t tmpreg;
  3751. SET_BIT(RCC_C1->AHB4LPENR, Periphs);
  3752. /* Delay after an RCC peripheral clock enabling */
  3753. tmpreg = READ_BIT(RCC_C1->AHB4LPENR, Periphs);
  3754. (void)tmpreg;
  3755. }
  3756. /**
  3757. * @brief Disable C1 AHB4 peripherals clock during Low Power (Sleep) mode.
  3758. * @rmtoll AHB4LPENR GPIOALPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3759. * AHB4LPENR GPIOBLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3760. * AHB4LPENR GPIOCLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3761. * AHB4LPENR GPIODLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3762. * AHB4LPENR GPIOELPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3763. * AHB4LPENR GPIOFLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3764. * AHB4LPENR GPIOGLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3765. * AHB4LPENR GPIOHLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3766. * AHB4LPENR GPIOILPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3767. * AHB4LPENR GPIOJLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3768. * AHB4LPENR GPIOKLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3769. * AHB4LPENR CRCLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n (*)
  3770. * AHB4LPENR BDMALPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3771. * AHB4LPENR ADC3LPEN LL_C1_AHB4_GRP1_DisableClockSleep\n (*)
  3772. * AHB4LPENR BKPRAMLPEN LL_C1_AHB4_GRP1_DisableClockSleep\n
  3773. * AHB4LPENR SRAM4LPEN LL_C1_AHB4_GRP1_DisableClockSleep
  3774. * @param Periphs This parameter can be a combination of the following values:
  3775. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  3776. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  3777. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  3778. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  3779. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  3780. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  3781. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  3782. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  3783. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  3784. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  3785. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  3786. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC (*)
  3787. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  3788. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3 (*)
  3789. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  3790. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  3791. * @retval None
  3792. */
  3793. __STATIC_INLINE void LL_C1_AHB4_GRP1_DisableClockSleep(uint32_t Periphs)
  3794. {
  3795. CLEAR_BIT(RCC_C1->AHB4LPENR, Periphs);
  3796. }
  3797. /**
  3798. * @}
  3799. */
  3800. /** @defgroup BUS_LL_EF_APB3 APB3
  3801. * @{
  3802. */
  3803. /**
  3804. * @brief Enable C1 APB3 peripherals clock.
  3805. * @rmtoll APB3ENR LTDCEN LL_C1_APB3_GRP1_EnableClock\n (*)
  3806. * APB3ENR DSIEN LL_C1_APB3_GRP1_EnableClock\n (*)
  3807. * APB3ENR WWDG1EN LL_C1_APB3_GRP1_EnableClock
  3808. * @param Periphs This parameter can be a combination of the following values:
  3809. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  3810. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  3811. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  3812. *
  3813. * (*) value not defined in all devices.
  3814. * @retval None
  3815. */
  3816. __STATIC_INLINE void LL_C1_APB3_GRP1_EnableClock(uint32_t Periphs)
  3817. {
  3818. __IO uint32_t tmpreg;
  3819. SET_BIT(RCC_C1->APB3ENR, Periphs);
  3820. /* Delay after an RCC peripheral clock enabling */
  3821. tmpreg = READ_BIT(RCC_C1->APB3ENR, Periphs);
  3822. (void)tmpreg;
  3823. }
  3824. /**
  3825. * @brief Check if C1 APB3 peripheral clock is enabled or not
  3826. * @rmtoll APB3ENR LTDCEN LL_C1_APB3_GRP1_IsEnabledClock\n (*)
  3827. * APB3ENR DSIEN LL_C1_APB3_GRP1_IsEnabledClock\n (*)
  3828. * APB3ENR WWDG1EN LL_C1_APB3_GRP1_IsEnabledClock
  3829. * @param Periphs This parameter can be a combination of the following values:
  3830. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  3831. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  3832. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  3833. *
  3834. * (*) value not defined in all devices.
  3835. * @retval uint32_t
  3836. */
  3837. __STATIC_INLINE uint32_t LL_C1_APB3_GRP1_IsEnabledClock(uint32_t Periphs)
  3838. {
  3839. return ((READ_BIT(RCC_C1->APB3ENR, Periphs) == Periphs)?1U:0U);
  3840. }
  3841. /**
  3842. * @brief Disable C1 APB3 peripherals clock.
  3843. * @rmtoll APB3ENR LTDCEN LL_C1_APB3_GRP1_DisableClock\n (*)
  3844. * APB3ENR DSIEN LL_C1_APB3_GRP1_DisableClock\n (*)
  3845. * APB3ENR WWDG1EN LL_C1_APB3_GRP1_DisableClock
  3846. * @param Periphs This parameter can be a combination of the following values:
  3847. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  3848. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  3849. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  3850. *
  3851. * (*) value not defined in all devices.
  3852. * @retval None
  3853. */
  3854. __STATIC_INLINE void LL_C1_APB3_GRP1_DisableClock(uint32_t Periphs)
  3855. {
  3856. CLEAR_BIT(RCC_C1->APB3ENR, Periphs);
  3857. }
  3858. /**
  3859. * @brief Enable C1 APB3 peripherals clock during Low Power (Sleep) mode.
  3860. * @rmtoll APB3LPENR LTDCLPEN LL_C1_APB3_GRP1_EnableClockSleep\n (*)
  3861. * APB3LPENR DSILPEN LL_C1_APB3_GRP1_EnableClockSleep\n (*)
  3862. * APB3LPENR WWDG1LPEN LL_C1_APB3_GRP1_EnableClockSleep
  3863. * @param Periphs This parameter can be a combination of the following values:
  3864. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  3865. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  3866. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  3867. *
  3868. * (*) value not defined in all devices.
  3869. * @retval None
  3870. */
  3871. __STATIC_INLINE void LL_C1_APB3_GRP1_EnableClockSleep(uint32_t Periphs)
  3872. {
  3873. __IO uint32_t tmpreg;
  3874. SET_BIT(RCC_C1->APB3LPENR, Periphs);
  3875. /* Delay after an RCC peripheral clock enabling */
  3876. tmpreg = READ_BIT(RCC_C1->APB3LPENR, Periphs);
  3877. (void)tmpreg;
  3878. }
  3879. /**
  3880. * @brief Disable C1 APB3 peripherals clock during Low Power (Sleep) mode.
  3881. * @rmtoll APB3LPENR LTDCLPEN LL_C1_APB3_GRP1_DisableClockSleep\n (*)
  3882. * APB3LPENR DSILPEN LL_C1_APB3_GRP1_DisableClockSleep\n (*)
  3883. * APB3LPENR WWDG1LPEN LL_C1_APB3_GRP1_DisableClockSleep
  3884. * @param Periphs This parameter can be a combination of the following values:
  3885. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC (*)
  3886. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  3887. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  3888. *
  3889. * (*) value not defined in all devices.
  3890. * @retval None
  3891. */
  3892. __STATIC_INLINE void LL_C1_APB3_GRP1_DisableClockSleep(uint32_t Periphs)
  3893. {
  3894. CLEAR_BIT(RCC_C1->APB3LPENR, Periphs);
  3895. }
  3896. /**
  3897. * @}
  3898. */
  3899. /** @defgroup BUS_LL_EF_APB1 APB1
  3900. * @{
  3901. */
  3902. /**
  3903. * @brief Enable C1 APB1 peripherals clock.
  3904. * @rmtoll APB1LENR TIM2EN LL_C1_APB1_GRP1_EnableClock\n
  3905. * APB1LENR TIM3EN LL_C1_APB1_GRP1_EnableClock\n
  3906. * APB1LENR TIM4EN LL_C1_APB1_GRP1_EnableClock\n
  3907. * APB1LENR TIM5EN LL_C1_APB1_GRP1_EnableClock\n
  3908. * APB1LENR TIM6EN LL_C1_APB1_GRP1_EnableClock\n
  3909. * APB1LENR TIM7EN LL_C1_APB1_GRP1_EnableClock\n
  3910. * APB1LENR TIM12EN LL_C1_APB1_GRP1_EnableClock\n
  3911. * APB1LENR TIM13EN LL_C1_APB1_GRP1_EnableClock\n
  3912. * APB1LENR TIM14EN LL_C1_APB1_GRP1_EnableClock\n
  3913. * APB1LENR LPTIM1EN LL_C1_APB1_GRP1_EnableClock\n
  3914. * APB1LENR WWDG2EN LL_C1_APB1_GRP1_EnableClock\n (*)
  3915. * APB1LENR SPI2EN LL_C1_APB1_GRP1_EnableClock\n
  3916. * APB1LENR SPI3EN LL_C1_APB1_GRP1_EnableClock\n
  3917. * APB1LENR SPDIFRXEN LL_C1_APB1_GRP1_EnableClock\n
  3918. * APB1LENR USART2EN LL_C1_APB1_GRP1_EnableClock\n
  3919. * APB1LENR USART3EN LL_C1_APB1_GRP1_EnableClock\n
  3920. * APB1LENR UART4EN LL_C1_APB1_GRP1_EnableClock\n
  3921. * APB1LENR UART5EN LL_C1_APB1_GRP1_EnableClock\n
  3922. * APB1LENR I2C1EN LL_C1_APB1_GRP1_EnableClock\n
  3923. * APB1LENR I2C2EN LL_C1_APB1_GRP1_EnableClock\n
  3924. * APB1LENR I2C3EN LL_C1_APB1_GRP1_EnableClock\n
  3925. * APB1LENR CECEN LL_C1_APB1_GRP1_EnableClock\n
  3926. * APB1LENR DAC12EN LL_C1_APB1_GRP1_EnableClock\n
  3927. * APB1LENR UART7EN LL_C1_APB1_GRP1_EnableClock\n
  3928. * APB1LENR UART8EN LL_C1_APB1_GRP1_EnableClock
  3929. * @param Periphs This parameter can be a combination of the following values:
  3930. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  3931. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  3932. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  3933. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  3934. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  3935. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  3936. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  3937. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  3938. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  3939. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  3940. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  3941. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  3942. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  3943. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  3944. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  3945. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  3946. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  3947. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  3948. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  3949. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  3950. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  3951. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  3952. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  3953. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  3954. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  3955. *
  3956. * (*) value not defined in all devices.
  3957. * @retval None
  3958. */
  3959. __STATIC_INLINE void LL_C1_APB1_GRP1_EnableClock(uint32_t Periphs)
  3960. {
  3961. __IO uint32_t tmpreg;
  3962. SET_BIT(RCC_C1->APB1LENR, Periphs);
  3963. /* Delay after an RCC peripheral clock enabling */
  3964. tmpreg = READ_BIT(RCC_C1->APB1LENR, Periphs);
  3965. (void)tmpreg;
  3966. }
  3967. /**
  3968. * @brief Check if C1 APB1 peripheral clock is enabled or not
  3969. * @rmtoll APB1LENR TIM2EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3970. * APB1LENR TIM3EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3971. * APB1LENR TIM4EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3972. * APB1LENR TIM5EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3973. * APB1LENR TIM6EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3974. * APB1LENR TIM7EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3975. * APB1LENR TIM12EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3976. * APB1LENR TIM13EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3977. * APB1LENR TIM14EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3978. * APB1LENR LPTIM1EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3979. * APB1LENR WWDG2EN LL_C1_APB1_GRP1_IsEnabledClock\n (*)
  3980. * APB1LENR SPI2EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3981. * APB1LENR SPI3EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3982. * APB1LENR SPDIFRXEN LL_C1_APB1_GRP1_IsEnabledClock\n
  3983. * APB1LENR USART2EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3984. * APB1LENR USART3EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3985. * APB1LENR UART4EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3986. * APB1LENR UART5EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3987. * APB1LENR I2C1EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3988. * APB1LENR I2C2EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3989. * APB1LENR I2C3EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3990. * APB1LENR CECEN LL_C1_APB1_GRP1_IsEnabledClock\n
  3991. * APB1LENR DAC12EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3992. * APB1LENR UART7EN LL_C1_APB1_GRP1_IsEnabledClock\n
  3993. * APB1LENR UART8EN LL_C1_APB1_GRP1_IsEnabledClock
  3994. * @param Periphs This parameter can be a combination of the following values:
  3995. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  3996. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  3997. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  3998. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  3999. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  4000. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  4001. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  4002. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  4003. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  4004. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  4005. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  4006. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  4007. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  4008. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  4009. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  4010. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  4011. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  4012. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  4013. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  4014. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  4015. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  4016. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  4017. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  4018. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  4019. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  4020. *
  4021. * (*) value not defined in all devices.
  4022. * @retval uint32_t
  4023. */
  4024. __STATIC_INLINE uint32_t LL_C1_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
  4025. {
  4026. return ((READ_BIT(RCC_C1->APB1LENR, Periphs) == Periphs)?1U:0U);
  4027. }
  4028. /**
  4029. * @brief Disable C1 APB1 peripherals clock.
  4030. * @rmtoll APB1LENR TIM2EN LL_C1_APB1_GRP1_DisableClock\n
  4031. * APB1LENR TIM3EN LL_C1_APB1_GRP1_DisableClock\n
  4032. * APB1LENR TIM4EN LL_C1_APB1_GRP1_DisableClock\n
  4033. * APB1LENR TIM5EN LL_C1_APB1_GRP1_DisableClock\n
  4034. * APB1LENR TIM6EN LL_C1_APB1_GRP1_DisableClock\n
  4035. * APB1LENR TIM7EN LL_C1_APB1_GRP1_DisableClock\n
  4036. * APB1LENR TIM12EN LL_C1_APB1_GRP1_DisableClock\n
  4037. * APB1LENR TIM13EN LL_C1_APB1_GRP1_DisableClock\n
  4038. * APB1LENR TIM14EN LL_C1_APB1_GRP1_DisableClock\n
  4039. * APB1LENR LPTIM1EN LL_C1_APB1_GRP1_DisableClock\n
  4040. * APB1LENR WWDG2EN LL_C1_APB1_GRP1_DisableClock\n (*)
  4041. * APB1LENR SPI2EN LL_C1_APB1_GRP1_DisableClock\n
  4042. * APB1LENR SPI3EN LL_C1_APB1_GRP1_DisableClock\n
  4043. * APB1LENR SPDIFRXEN LL_C1_APB1_GRP1_DisableClock\n
  4044. * APB1LENR USART2EN LL_C1_APB1_GRP1_DisableClock\n
  4045. * APB1LENR USART3EN LL_C1_APB1_GRP1_DisableClock\n
  4046. * APB1LENR UART4EN LL_C1_APB1_GRP1_DisableClock\n
  4047. * APB1LENR UART5EN LL_C1_APB1_GRP1_DisableClock\n
  4048. * APB1LENR I2C1EN LL_C1_APB1_GRP1_DisableClock\n
  4049. * APB1LENR I2C2EN LL_C1_APB1_GRP1_DisableClock\n
  4050. * APB1LENR I2C3EN LL_C1_APB1_GRP1_DisableClock\n
  4051. * APB1LENR CECEN LL_C1_APB1_GRP1_DisableClock\n
  4052. * APB1LENR DAC12EN LL_C1_APB1_GRP1_DisableClock\n
  4053. * APB1LENR UART7EN LL_C1_APB1_GRP1_DisableClock\n
  4054. * APB1LENR UART8EN LL_C1_APB1_GRP1_DisableClock
  4055. * @param Periphs This parameter can be a combination of the following values:
  4056. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  4057. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  4058. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  4059. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  4060. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  4061. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  4062. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  4063. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  4064. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  4065. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  4066. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  4067. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  4068. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  4069. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  4070. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  4071. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  4072. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  4073. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  4074. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  4075. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  4076. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  4077. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  4078. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  4079. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  4080. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  4081. *
  4082. * (*) value not defined in all devices.
  4083. * @retval uint32_t
  4084. */
  4085. __STATIC_INLINE void LL_C1_APB1_GRP1_DisableClock(uint32_t Periphs)
  4086. {
  4087. CLEAR_BIT(RCC_C1->APB1LENR, Periphs);
  4088. }
  4089. /**
  4090. * @brief Enable C1 APB1 peripherals clock during Low Power (Sleep) mode.
  4091. * @rmtoll APB1LLPENR TIM2LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4092. * APB1LLPENR TIM3LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4093. * APB1LLPENR TIM4LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4094. * APB1LLPENR TIM5LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4095. * APB1LLPENR TIM6LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4096. * APB1LLPENR TIM7LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4097. * APB1LLPENR TIM12LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4098. * APB1LLPENR TIM13LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4099. * APB1LLPENR TIM14LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4100. * APB1LLPENR LPTIM1LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4101. * APB1LLPENR WWDG2LPEN LL_C1_APB1_GRP1_EnableClockSleep\n (*)
  4102. * APB1LLPENR SPI2LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4103. * APB1LLPENR SPI3LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4104. * APB1LLPENR SPDIFRXLPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4105. * APB1LLPENR USART2LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4106. * APB1LLPENR USART3LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4107. * APB1LLPENR UART4LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4108. * APB1LLPENR UART5LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4109. * APB1LLPENR I2C1LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4110. * APB1LLPENR I2C2LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4111. * APB1LLPENR I2C3LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4112. * APB1LLPENR CECLPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4113. * APB1LLPENR DAC12LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4114. * APB1LLPENR UART7LPEN LL_C1_APB1_GRP1_EnableClockSleep\n
  4115. * APB1LLPENR UART8LPEN LL_C1_APB1_GRP1_EnableClockSleep
  4116. * @param Periphs This parameter can be a combination of the following values:
  4117. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  4118. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  4119. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  4120. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  4121. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  4122. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  4123. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  4124. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  4125. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  4126. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  4127. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  4128. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  4129. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  4130. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  4131. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  4132. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  4133. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  4134. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  4135. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  4136. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  4137. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  4138. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  4139. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  4140. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  4141. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  4142. *
  4143. * (*) value not defined in all devices.
  4144. * @retval None
  4145. */
  4146. __STATIC_INLINE void LL_C1_APB1_GRP1_EnableClockSleep(uint32_t Periphs)
  4147. {
  4148. __IO uint32_t tmpreg;
  4149. SET_BIT(RCC_C1->APB1LLPENR, Periphs);
  4150. /* Delay after an RCC peripheral clock enabling */
  4151. tmpreg = READ_BIT(RCC_C1->APB1LLPENR, Periphs);
  4152. (void)tmpreg;
  4153. }
  4154. /**
  4155. * @brief Disable C1 APB1 peripherals clock during Low Power (Sleep) mode.
  4156. * @rmtoll APB1LLPENR TIM2LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4157. * APB1LLPENR TIM3LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4158. * APB1LLPENR TIM4LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4159. * APB1LLPENR TIM5LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4160. * APB1LLPENR TIM6LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4161. * APB1LLPENR TIM7LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4162. * APB1LLPENR TIM12LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4163. * APB1LLPENR TIM13LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4164. * APB1LLPENR TIM14LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4165. * APB1LLPENR LPTIM1LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4166. * APB1LLPENR WWDG2LPEN LL_C1_APB1_GRP1_DisableClockSleep\n (*)
  4167. * APB1LLPENR SPI2LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4168. * APB1LLPENR SPI3LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4169. * APB1LLPENR SPDIFRXLPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4170. * APB1LLPENR USART2LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4171. * APB1LLPENR USART3LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4172. * APB1LLPENR UART4LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4173. * APB1LLPENR UART5LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4174. * APB1LLPENR I2C1LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4175. * APB1LLPENR I2C2LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4176. * APB1LLPENR I2C3LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4177. * APB1LLPENR CECLPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4178. * APB1LLPENR DAC12LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4179. * APB1LLPENR UART7LPEN LL_C1_APB1_GRP1_DisableClockSleep\n
  4180. * APB1LLPENR UART8LPEN LL_C1_APB1_GRP1_DisableClockSleep
  4181. * @param Periphs This parameter can be a combination of the following values:
  4182. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  4183. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  4184. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  4185. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  4186. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  4187. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  4188. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  4189. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  4190. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  4191. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  4192. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2 (*)
  4193. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  4194. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  4195. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  4196. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  4197. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  4198. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  4199. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  4200. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  4201. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  4202. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  4203. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  4204. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  4205. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  4206. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  4207. *
  4208. * (*) value not defined in all devices.
  4209. * @retval None
  4210. */
  4211. __STATIC_INLINE void LL_C1_APB1_GRP1_DisableClockSleep(uint32_t Periphs)
  4212. {
  4213. CLEAR_BIT(RCC_C1->APB1LLPENR, Periphs);
  4214. }
  4215. /**
  4216. * @brief Enable C1 APB1 peripherals clock.
  4217. * @rmtoll APB1HENR CRSEN LL_C1_APB1_GRP2_EnableClock\n
  4218. * APB1HENR SWPMIEN LL_C1_APB1_GRP2_EnableClock\n
  4219. * APB1HENR OPAMPEN LL_C1_APB1_GRP2_EnableClock\n
  4220. * APB1HENR MDIOSEN LL_C1_APB1_GRP2_EnableClock\n
  4221. * APB1HENR FDCANEN LL_C1_APB1_GRP2_EnableClock
  4222. * @param Periphs This parameter can be a combination of the following values:
  4223. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  4224. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  4225. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  4226. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  4227. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  4228. * @retval None
  4229. */
  4230. __STATIC_INLINE void LL_C1_APB1_GRP2_EnableClock(uint32_t Periphs)
  4231. {
  4232. __IO uint32_t tmpreg;
  4233. SET_BIT(RCC_C1->APB1HENR, Periphs);
  4234. /* Delay after an RCC peripheral clock enabling */
  4235. tmpreg = READ_BIT(RCC_C1->APB1HENR, Periphs);
  4236. (void)tmpreg;
  4237. }
  4238. /**
  4239. * @brief Check if C1 APB1 peripheral clock is enabled or not
  4240. * @rmtoll APB1HENR CRSEN LL_C1_APB1_GRP2_IsEnabledClock\n
  4241. * APB1HENR SWPMIEN LL_C1_APB1_GRP2_IsEnabledClock\n
  4242. * APB1HENR OPAMPEN LL_C1_APB1_GRP2_IsEnabledClock\n
  4243. * APB1HENR MDIOSEN LL_C1_APB1_GRP2_IsEnabledClock\n
  4244. * APB1HENR FDCANEN LL_C1_APB1_GRP2_IsEnabledClock
  4245. * @param Periphs This parameter can be a combination of the following values:
  4246. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  4247. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  4248. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  4249. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  4250. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  4251. * @retval uint32_t
  4252. */
  4253. __STATIC_INLINE uint32_t LL_C1_APB1_GRP2_IsEnabledClock(uint32_t Periphs)
  4254. {
  4255. return ((READ_BIT(RCC_C1->APB1HENR, Periphs) == Periphs)?1U:0U);
  4256. }
  4257. /**
  4258. * @brief Disable C1 APB1 peripherals clock.
  4259. * @rmtoll APB1HENR CRSEN LL_C1_APB1_GRP2_DisableClock\n
  4260. * APB1HENR SWPMIEN LL_C1_APB1_GRP2_DisableClock\n
  4261. * APB1HENR OPAMPEN LL_C1_APB1_GRP2_DisableClock\n
  4262. * APB1HENR MDIOSEN LL_C1_APB1_GRP2_DisableClock\n
  4263. * APB1HENR FDCANEN LL_C1_APB1_GRP2_DisableClock
  4264. * @param Periphs This parameter can be a combination of the following values:
  4265. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  4266. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  4267. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  4268. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  4269. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  4270. * @retval None
  4271. */
  4272. __STATIC_INLINE void LL_C1_APB1_GRP2_DisableClock(uint32_t Periphs)
  4273. {
  4274. CLEAR_BIT(RCC_C1->APB1HENR, Periphs);
  4275. }
  4276. /**
  4277. * @brief Enable C1 APB1 peripherals clock during Low Power (Sleep) mode.
  4278. * @rmtoll APB1HLPENR CRSLPEN LL_C1_APB1_GRP2_EnableClockSleep\n
  4279. * APB1HLPENR SWPMILPEN LL_C1_APB1_GRP2_EnableClockSleep\n
  4280. * APB1HLPENR OPAMPLPEN LL_C1_APB1_GRP2_EnableClockSleep\n
  4281. * APB1HLPENR MDIOSLPEN LL_C1_APB1_GRP2_EnableClockSleep\n
  4282. * APB1HLPENR FDCANLPEN LL_C1_APB1_GRP2_EnableClockSleep
  4283. * @param Periphs This parameter can be a combination of the following values:
  4284. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  4285. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  4286. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  4287. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  4288. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  4289. * @retval None
  4290. */
  4291. __STATIC_INLINE void LL_C1_APB1_GRP2_EnableClockSleep(uint32_t Periphs)
  4292. {
  4293. __IO uint32_t tmpreg;
  4294. SET_BIT(RCC_C1->APB1HLPENR, Periphs);
  4295. /* Delay after an RCC peripheral clock enabling */
  4296. tmpreg = READ_BIT(RCC_C1->APB1HLPENR, Periphs);
  4297. (void)tmpreg;
  4298. }
  4299. /**
  4300. * @brief Disable C1 APB1 peripherals clock during Low Power (Sleep) mode.
  4301. * @rmtoll APB1HLPENR CRSLPEN LL_C1_APB1_GRP2_DisableClockSleep\n
  4302. * APB1HLPENR SWPMILPEN LL_C1_APB1_GRP2_DisableClockSleep\n
  4303. * APB1HLPENR OPAMPLPEN LL_C1_APB1_GRP2_DisableClockSleep\n
  4304. * APB1HLPENR MDIOSLPEN LL_C1_APB1_GRP2_DisableClockSleep\n
  4305. * APB1HLPENR FDCANLPEN LL_C1_APB1_GRP2_DisableClockSleep
  4306. * @param Periphs This parameter can be a combination of the following values:
  4307. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  4308. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  4309. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  4310. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  4311. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  4312. * @retval None
  4313. */
  4314. __STATIC_INLINE void LL_C1_APB1_GRP2_DisableClockSleep(uint32_t Periphs)
  4315. {
  4316. CLEAR_BIT(RCC_C1->APB1HLPENR, Periphs);
  4317. }
  4318. /**
  4319. * @}
  4320. */
  4321. /** @defgroup BUS_LL_EF_APB2 APB2
  4322. * @{
  4323. */
  4324. /**
  4325. * @brief Enable C1 APB2 peripherals clock.
  4326. * @rmtoll APB2ENR TIM1EN LL_C1_APB2_GRP1_EnableClock\n
  4327. * APB2ENR TIM8EN LL_C1_APB2_GRP1_EnableClock\n
  4328. * APB2ENR USART1EN LL_C1_APB2_GRP1_EnableClock\n
  4329. * APB2ENR USART6EN LL_C1_APB2_GRP1_EnableClock\n
  4330. * APB2ENR UART9EN LL_C1_APB2_GRP1_EnableClock\n (*)
  4331. * APB2ENR USART10EN LL_C1_APB2_GRP1_EnableClock\n (*)
  4332. * APB2ENR SPI1EN LL_C1_APB2_GRP1_EnableClock\n
  4333. * APB2ENR SPI4EN LL_C1_APB2_GRP1_EnableClock\n
  4334. * APB2ENR TIM15EN LL_C1_APB2_GRP1_EnableClock\n
  4335. * APB2ENR TIM16EN LL_C1_APB2_GRP1_EnableClock\n
  4336. * APB2ENR TIM17EN LL_C1_APB2_GRP1_EnableClock\n
  4337. * APB2ENR SPI5EN LL_C1_APB2_GRP1_EnableClock\n
  4338. * APB2ENR SAI1EN LL_C1_APB2_GRP1_EnableClock\n
  4339. * APB2ENR SAI2EN LL_C1_APB2_GRP1_EnableClock\n
  4340. * APB2ENR SAI3EN LL_C1_APB2_GRP1_EnableClock\n (*)
  4341. * APB2ENR DFSDM1EN LL_C1_APB2_GRP1_EnableClock\n
  4342. * APB2ENR HRTIMEN LL_C1_APB2_GRP1_EnableClock (*)
  4343. * @param Periphs This parameter can be a combination of the following values:
  4344. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  4345. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  4346. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  4347. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  4348. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  4349. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  4350. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  4351. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  4352. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  4353. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  4354. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  4355. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  4356. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  4357. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  4358. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  4359. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  4360. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  4361. *
  4362. * (*) value not defined in all devices.
  4363. * @retval None
  4364. */
  4365. __STATIC_INLINE void LL_C1_APB2_GRP1_EnableClock(uint32_t Periphs)
  4366. {
  4367. __IO uint32_t tmpreg;
  4368. SET_BIT(RCC_C1->APB2ENR, Periphs);
  4369. /* Delay after an RCC peripheral clock enabling */
  4370. tmpreg = READ_BIT(RCC_C1->APB2ENR, Periphs);
  4371. (void)tmpreg;
  4372. }
  4373. /**
  4374. * @brief Check if C1 APB2 peripheral clock is enabled or not
  4375. * @rmtoll APB2ENR TIM1EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4376. * APB2ENR TIM8EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4377. * APB2ENR USART1EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4378. * APB2ENR USART6EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4379. * APB2ENR UART9EN LL_C1_APB2_GRP1_IsEnabledClock\n (*)
  4380. * APB2ENR USART10EN LL_C1_APB2_GRP1_IsEnabledClock\n (*)
  4381. * APB2ENR SPI1EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4382. * APB2ENR SPI4EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4383. * APB2ENR TIM15EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4384. * APB2ENR TIM16EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4385. * APB2ENR TIM17EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4386. * APB2ENR SPI5EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4387. * APB2ENR SAI1EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4388. * APB2ENR SAI2EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4389. * APB2ENR SAI3EN LL_C1_APB2_GRP1_IsEnabledClock\n (*)
  4390. * APB2ENR DFSDM1EN LL_C1_APB2_GRP1_IsEnabledClock\n
  4391. * APB2ENR HRTIMEN LL_C1_APB2_GRP1_IsEnabledClock (*)
  4392. * @param Periphs This parameter can be a combination of the following values:
  4393. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  4394. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  4395. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  4396. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  4397. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  4398. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  4399. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  4400. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  4401. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  4402. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  4403. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  4404. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  4405. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  4406. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  4407. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  4408. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  4409. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  4410. *
  4411. * (*) value not defined in all devices.
  4412. * @retval None
  4413. */
  4414. __STATIC_INLINE uint32_t LL_C1_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
  4415. {
  4416. return ((READ_BIT(RCC_C1->APB2ENR, Periphs) == Periphs)?1U:0U);
  4417. }
  4418. /**
  4419. * @brief Disable C1 APB2 peripherals clock.
  4420. * @rmtoll APB2ENR TIM1EN LL_C1_APB2_GRP1_DisableClock\n
  4421. * APB2ENR TIM8EN LL_C1_APB2_GRP1_DisableClock\n
  4422. * APB2ENR USART1EN LL_C1_APB2_GRP1_DisableClock\n
  4423. * APB2ENR USART6EN LL_C1_APB2_GRP1_DisableClock\n
  4424. * APB2ENR UART9EN LL_C1_APB2_GRP1_DisableClock\n (*)
  4425. * APB2ENR USART10EN LL_C1_APB2_GRP1_DisableClock\n (*)
  4426. * APB2ENR SPI1EN LL_C1_APB2_GRP1_DisableClock\n
  4427. * APB2ENR SPI4EN LL_C1_APB2_GRP1_DisableClock\n
  4428. * APB2ENR TIM15EN LL_C1_APB2_GRP1_DisableClock\n
  4429. * APB2ENR TIM16EN LL_C1_APB2_GRP1_DisableClock\n
  4430. * APB2ENR TIM17EN LL_C1_APB2_GRP1_DisableClock\n
  4431. * APB2ENR SPI5EN LL_C1_APB2_GRP1_DisableClock\n
  4432. * APB2ENR SAI1EN LL_C1_APB2_GRP1_DisableClock\n
  4433. * APB2ENR SAI2EN LL_C1_APB2_GRP1_DisableClock\n
  4434. * APB2ENR SAI3EN LL_C1_APB2_GRP1_DisableClock\n (*)
  4435. * APB2ENR DFSDM1EN LL_C1_APB2_GRP1_DisableClock\n
  4436. * APB2ENR HRTIMEN LL_C1_APB2_GRP1_DisableClock (*)
  4437. * @param Periphs This parameter can be a combination of the following values:
  4438. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  4439. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  4440. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  4441. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  4442. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  4443. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  4444. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  4445. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  4446. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  4447. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  4448. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  4449. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  4450. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  4451. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  4452. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  4453. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  4454. *
  4455. * (*) value not defined in all devices.
  4456. * @retval None
  4457. */
  4458. __STATIC_INLINE void LL_C1_APB2_GRP1_DisableClock(uint32_t Periphs)
  4459. {
  4460. CLEAR_BIT(RCC_C1->APB2ENR, Periphs);
  4461. }
  4462. /**
  4463. * @brief Enable C1 APB2 peripherals clock during Low Power (Sleep) mode.
  4464. * @rmtoll APB2LPENR TIM1LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4465. * APB2LPENR TIM8LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4466. * APB2LPENR USART1LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4467. * APB2LPENR USART6LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4468. * APB2ENR UART9EN LL_C1_APB2_GRP1_EnableClockSleep\n (*)
  4469. * APB2ENR USART10EN LL_C1_APB2_GRP1_EnableClockSleep\n (*)
  4470. * APB2LPENR SPI1LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4471. * APB2LPENR SPI4LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4472. * APB2LPENR TIM15LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4473. * APB2LPENR TIM16LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4474. * APB2LPENR TIM17LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4475. * APB2LPENR SPI5LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4476. * APB2LPENR SAI1LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4477. * APB2LPENR SAI2LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4478. * APB2LPENR SAI3LPEN LL_C1_APB2_GRP1_EnableClockSleep\n (*)
  4479. * APB2LPENR DFSDM1LPEN LL_C1_APB2_GRP1_EnableClockSleep\n
  4480. * APB2LPENR HRTIMLPEN LL_C1_APB2_GRP1_EnableClockSleep (*)
  4481. * @param Periphs This parameter can be a combination of the following values:
  4482. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  4483. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  4484. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  4485. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  4486. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  4487. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  4488. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  4489. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  4490. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  4491. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  4492. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  4493. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  4494. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  4495. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  4496. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  4497. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  4498. *
  4499. * (*) value not defined in all devices.
  4500. * @retval None
  4501. */
  4502. __STATIC_INLINE void LL_C1_APB2_GRP1_EnableClockSleep(uint32_t Periphs)
  4503. {
  4504. __IO uint32_t tmpreg;
  4505. SET_BIT(RCC_C1->APB2LPENR, Periphs);
  4506. /* Delay after an RCC peripheral clock enabling */
  4507. tmpreg = READ_BIT(RCC_C1->APB2LPENR, Periphs);
  4508. (void)tmpreg;
  4509. }
  4510. /**
  4511. * @brief Disable C1 APB2 peripherals clock during Low Power (Sleep) mode.
  4512. * @rmtoll APB2LPENR TIM1LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4513. * APB2LPENR TIM8LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4514. * APB2LPENR USART1LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4515. * APB2LPENR UART9LPEN LL_C1_APB2_GRP1_DisableClockSleep\n (*)
  4516. * APB2LPENR USART10LPEN LL_C1_APB2_GRP1_DisableClockSleep\n (*)
  4517. * APB2LPENR USART6LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4518. * APB2LPENR SPI1LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4519. * APB2LPENR SPI4LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4520. * APB2LPENR TIM15LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4521. * APB2LPENR TIM16LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4522. * APB2LPENR TIM17LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4523. * APB2LPENR SPI5LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4524. * APB2LPENR SAI1LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4525. * APB2LPENR SAI2LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4526. * APB2LPENR SAI3LPEN LL_C1_APB2_GRP1_DisableClockSleep\n (*)
  4527. * APB2LPENR DFSDM1LPEN LL_C1_APB2_GRP1_DisableClockSleep\n
  4528. * APB2LPENR HRTIMLPEN LL_C1_APB2_GRP1_DisableClockSleep (*)
  4529. * @param Periphs This parameter can be a combination of the following values:
  4530. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  4531. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  4532. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  4533. * @arg @ref LL_APB2_GRP1_PERIPH_UART9 (*)
  4534. * @arg @ref LL_APB2_GRP1_PERIPH_USART10 (*)
  4535. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  4536. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  4537. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  4538. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  4539. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  4540. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  4541. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  4542. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  4543. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3 (*)
  4544. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  4545. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM (*)
  4546. *
  4547. * (*) value not defined in all devices.
  4548. * @retval None
  4549. */
  4550. __STATIC_INLINE void LL_C1_APB2_GRP1_DisableClockSleep(uint32_t Periphs)
  4551. {
  4552. CLEAR_BIT(RCC_C1->APB2LPENR, Periphs);
  4553. }
  4554. /**
  4555. * @}
  4556. */
  4557. /** @defgroup BUS_LL_EF_APB4 APB4
  4558. * @{
  4559. */
  4560. /**
  4561. * @brief Enable C1 APB4 peripherals clock.
  4562. * @rmtoll APB4ENR SYSCFGEN LL_C1_APB4_GRP1_EnableClock\n
  4563. * APB4ENR LPUART1EN LL_C1_APB4_GRP1_EnableClock\n
  4564. * APB4ENR SPI6EN LL_C1_APB4_GRP1_EnableClock\n
  4565. * APB4ENR I2C4EN LL_C1_APB4_GRP1_EnableClock\n
  4566. * APB4ENR LPTIM2EN LL_C1_APB4_GRP1_EnableClock\n
  4567. * APB4ENR LPTIM3EN LL_C1_APB4_GRP1_EnableClock\n
  4568. * APB4ENR LPTIM4EN LL_C1_APB4_GRP1_EnableClock\n (*)
  4569. * APB4ENR LPTIM5EN LL_C1_APB4_GRP1_EnableClock\n (*)
  4570. * APB4ENR DAC2EN LL_C1_APB4_GRP1_EnableClock\n (*)
  4571. * APB4ENR COMP12EN LL_C1_APB4_GRP1_EnableClock\n
  4572. * APB4ENR VREFEN LL_C1_APB4_GRP1_EnableClock\n
  4573. * APB4ENR RTCAPBEN LL_C1_APB4_GRP1_EnableClock\n
  4574. * APB4ENR SAI4EN LL_C1_APB4_GRP1_EnableClock\n (*)
  4575. * APB4ENR DTSEN LL_C1_APB4_GRP1_EnableClock\n (*)
  4576. * APB4ENR DFSDM2EN LL_C1_APB4_GRP1_EnableClock (*)
  4577. * @param Periphs This parameter can be a combination of the following values:
  4578. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  4579. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  4580. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  4581. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  4582. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  4583. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  4584. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  4585. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  4586. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  4587. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  4588. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  4589. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  4590. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  4591. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  4592. *
  4593. * (*) value not defined in all devices.
  4594. * @retval None
  4595. */
  4596. __STATIC_INLINE void LL_C1_APB4_GRP1_EnableClock(uint32_t Periphs)
  4597. {
  4598. __IO uint32_t tmpreg;
  4599. SET_BIT(RCC_C1->APB4ENR, Periphs);
  4600. /* Delay after an RCC peripheral clock enabling */
  4601. tmpreg = READ_BIT(RCC_C1->APB4ENR, Periphs);
  4602. (void)tmpreg;
  4603. }
  4604. /**
  4605. * @brief Check if C1 APB4 peripheral clock is enabled or not
  4606. * @rmtoll APB4ENR SYSCFGEN LL_C1_APB4_GRP1_IsEnabledClock\n
  4607. * APB4ENR LPUART1EN LL_C1_APB4_GRP1_IsEnabledClock\n
  4608. * APB4ENR SPI6EN LL_C1_APB4_GRP1_IsEnabledClock\n
  4609. * APB4ENR I2C4EN LL_C1_APB4_GRP1_IsEnabledClock\n
  4610. * APB4ENR LPTIM2EN LL_C1_APB4_GRP1_IsEnabledClock\n
  4611. * APB4ENR LPTIM3EN LL_C1_APB4_GRP1_IsEnabledClock\n
  4612. * APB4ENR LPTIM4EN LL_C1_APB4_GRP1_IsEnabledClock\n (*)
  4613. * APB4ENR LPTIM5EN LL_C1_APB4_GRP1_IsEnabledClock\n (*)
  4614. * APB4ENR COMP12EN LL_C1_APB4_GRP1_IsEnabledClock\n
  4615. * APB4ENR VREFEN LL_C1_APB4_GRP1_IsEnabledClock\n
  4616. * APB4ENR RTCAPBEN LL_C1_APB4_GRP1_IsEnabledClock\n
  4617. * APB4ENR SAI4EN LL_C1_APB4_GRP1_IsEnabledClock\n (*)
  4618. * APB4ENR DTSEN LL_C1_APB4_GRP1_IsEnabledClock\n (*)
  4619. * APB4ENR DFSDM2EN LL_C1_APB4_GRP1_IsEnabledClock (*)
  4620. * @param Periphs This parameter can be a combination of the following values:
  4621. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  4622. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  4623. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  4624. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  4625. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  4626. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  4627. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  4628. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  4629. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  4630. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  4631. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  4632. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  4633. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  4634. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  4635. *
  4636. * (*) value not defined in all devices.
  4637. * @retval uint32_t
  4638. */
  4639. __STATIC_INLINE uint32_t LL_C1_APB4_GRP1_IsEnabledClock(uint32_t Periphs)
  4640. {
  4641. return ((READ_BIT(RCC_C1->APB4ENR, Periphs) == Periphs)?1U:0U);
  4642. }
  4643. /**
  4644. * @brief Disable C1 APB4 peripherals clock.
  4645. * @rmtoll APB4ENR SYSCFGEN LL_C1_APB4_GRP1_DisableClock\n
  4646. * APB4ENR LPUART1EN LL_C1_APB4_GRP1_DisableClock\n
  4647. * APB4ENR SPI6EN LL_C1_APB4_GRP1_DisableClock\n
  4648. * APB4ENR I2C4EN LL_C1_APB4_GRP1_DisableClock\n
  4649. * APB4ENR LPTIM2EN LL_C1_APB4_GRP1_DisableClock\n
  4650. * APB4ENR LPTIM3EN LL_C1_APB4_GRP1_DisableClock\n
  4651. * APB4ENR LPTIM4EN LL_C1_APB4_GRP1_DisableClock\n (*)
  4652. * APB4ENR LPTIM5EN LL_C1_APB4_GRP1_DisableClock\n (*)
  4653. * APB4ENR COMP12EN LL_C1_APB4_GRP1_DisableClock\n
  4654. * APB4ENR VREFEN LL_C1_APB4_GRP1_DisableClock\n
  4655. * APB4ENR RTCAPBEN LL_C1_APB4_GRP1_DisableClock\n
  4656. * APB4ENR SAI4EN LL_C1_APB4_GRP1_DisableClock\n (*)
  4657. * APB4ENR DTSEN LL_C1_APB4_GRP1_DisableClock\n (*)
  4658. * APB4ENR DFSDM2EN LL_C1_APB4_GRP1_DisableClock (*)
  4659. * @param Periphs This parameter can be a combination of the following values:
  4660. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  4661. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  4662. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  4663. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  4664. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  4665. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  4666. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  4667. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  4668. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  4669. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  4670. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  4671. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  4672. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  4673. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  4674. *
  4675. * (*) value not defined in all devices.
  4676. * @retval None
  4677. */
  4678. __STATIC_INLINE void LL_C1_APB4_GRP1_DisableClock(uint32_t Periphs)
  4679. {
  4680. CLEAR_BIT(RCC_C1->APB4ENR, Periphs);
  4681. }
  4682. /**
  4683. * @brief Enable C1 APB4 peripherals clock during Low Power (Sleep) mode.
  4684. * @rmtoll APB4LPENR SYSCFGLPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4685. * APB4LPENR LPUART1LPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4686. * APB4LPENR SPI6LPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4687. * APB4LPENR I2C4LPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4688. * APB4LPENR LPTIM2LPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4689. * APB4LPENR LPTIM3LPEN LL_C1_APB4_GRP1_EnableClockSleep\n (*)
  4690. * APB4LPENR LPTIM4LPEN LL_C1_APB4_GRP1_EnableClockSleep\n (*)
  4691. * APB4LPENR LPTIM5LPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4692. * APB4LPENR COMP12LPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4693. * APB4LPENR VREFLPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4694. * APB4LPENR RTCAPBLPEN LL_C1_APB4_GRP1_EnableClockSleep\n
  4695. * APB4ENR SAI4EN LL_C1_APB4_GRP1_EnableClockSleep\n (*)
  4696. * APB4ENR DTSEN LL_C1_APB4_GRP1_EnableClockSleep\n (*)
  4697. * APB4ENR DFSDM2EN LL_C1_APB4_GRP1_EnableClockSleep (*)
  4698. * @param Periphs This parameter can be a combination of the following values:
  4699. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  4700. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  4701. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  4702. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  4703. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  4704. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  4705. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  4706. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  4707. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  4708. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  4709. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  4710. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  4711. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  4712. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  4713. *
  4714. * (*) value not defined in all devices.
  4715. * @retval None
  4716. */
  4717. __STATIC_INLINE void LL_C1_APB4_GRP1_EnableClockSleep(uint32_t Periphs)
  4718. {
  4719. __IO uint32_t tmpreg;
  4720. SET_BIT(RCC_C1->APB4LPENR, Periphs);
  4721. /* Delay after an RCC peripheral clock enabling */
  4722. tmpreg = READ_BIT(RCC_C1->APB4LPENR, Periphs);
  4723. (void)tmpreg;
  4724. }
  4725. /**
  4726. * @brief Disable C1 APB4 peripherals clock during Low Power (Sleep) mode.
  4727. * @rmtoll APB4LPENR SYSCFGLPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4728. * APB4LPENR LPUART1LPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4729. * APB4LPENR SPI6LPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4730. * APB4LPENR I2C4LPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4731. * APB4LPENR LPTIM2LPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4732. * APB4LPENR LPTIM3LPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4733. * APB4LPENR LPTIM4LPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4734. * APB4LPENR LPTIM5LPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4735. * APB4LPENR COMP12LPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4736. * APB4LPENR VREFLPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4737. * APB4LPENR RTCAPBLPEN LL_C1_APB4_GRP1_DisableClockSleep\n
  4738. * APB4ENR SAI4EN LL_C1_APB4_GRP1_DisableClockSleep\n (*)
  4739. * APB4ENR DTSEN LL_C1_APB4_GRP1_DisableClockSleep\n (*)
  4740. * APB4ENR DFSDM2EN LL_C1_APB4_GRP1_DisableClockSleep (*)
  4741. * @param Periphs This parameter can be a combination of the following values:
  4742. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  4743. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  4744. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  4745. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  4746. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  4747. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  4748. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4 (*)
  4749. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5 (*)
  4750. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  4751. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  4752. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  4753. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4 (*)
  4754. * @arg @ref LL_APB4_GRP1_PERIPH_DTS (*)
  4755. * @arg @ref LL_APB4_GRP1_PERIPH_DFSDM2 (*)
  4756. *
  4757. * (*) value not defined in all devices.
  4758. * @retval None
  4759. */
  4760. __STATIC_INLINE void LL_C1_APB4_GRP1_DisableClockSleep(uint32_t Periphs)
  4761. {
  4762. CLEAR_BIT(RCC_C1->APB4LPENR, Periphs);
  4763. }
  4764. /**
  4765. * @}
  4766. */
  4767. /** @defgroup BUS_LL_EF_AHB3 AHB3
  4768. * @{
  4769. */
  4770. /**
  4771. * @brief Enable C2 AHB3 peripherals clock.
  4772. * @rmtoll AHB3ENR MDMAEN LL_C2_AHB3_GRP1_EnableClock\n
  4773. * AHB3ENR DMA2DEN LL_C2_AHB3_GRP1_EnableClock\n
  4774. * AHB3ENR JPGDECEN LL_C2_AHB3_GRP1_EnableClock\n
  4775. * AHB3ENR FMCEN LL_C2_AHB3_GRP1_EnableClock\n
  4776. * AHB3ENR QSPIEN LL_C2_AHB3_GRP1_EnableClock\n
  4777. * AHB3ENR SDMMC1EN LL_C2_AHB3_GRP1_EnableClock\n
  4778. * AHB3ENR FLASHEN LL_C2_AHB3_GRP1_EnableClock\n
  4779. * AHB3ENR DTCM1EN LL_C2_AHB3_GRP1_EnableClock\n
  4780. * AHB3ENR DTCM2EN LL_C2_AHB3_GRP1_EnableClock\n
  4781. * AHB3ENR ITCMEN LL_C2_AHB3_GRP1_EnableClock\n
  4782. * AHB3ENR AXISRAMEN LL_C2_AHB3_GRP1_EnableClock
  4783. * @param Periphs This parameter can be a combination of the following values:
  4784. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  4785. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  4786. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  4787. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  4788. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  4789. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  4790. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  4791. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  4792. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  4793. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  4794. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  4795. * @retval None
  4796. */
  4797. __STATIC_INLINE void LL_C2_AHB3_GRP1_EnableClock(uint32_t Periphs)
  4798. {
  4799. __IO uint32_t tmpreg;
  4800. SET_BIT(RCC_C2->AHB3ENR, Periphs);
  4801. /* Delay after an RCC peripheral clock enabling */
  4802. tmpreg = READ_BIT(RCC_C2->AHB3ENR, Periphs);
  4803. (void)tmpreg;
  4804. }
  4805. /**
  4806. * @brief Check if C2 AHB3 peripheral clock is enabled or not
  4807. * @rmtoll AHB3ENR MDMAEN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4808. * AHB3ENR DMA2DEN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4809. * AHB3ENR JPGDECEN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4810. * AHB3ENR FMCEN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4811. * AHB3ENR QSPIEN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4812. * AHB3ENR SDMMC1EN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4813. * AHB3ENR FLASHEN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4814. * AHB3ENR DTCM1EN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4815. * AHB3ENR DTCM2EN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4816. * AHB3ENR ITCMEN LL_C2_AHB3_GRP1_IsEnabledClock\n
  4817. * AHB3ENR AXISRAMEN LL_C2_AHB3_GRP1_IsEnabledClock
  4818. * @param Periphs This parameter can be a combination of the following values:
  4819. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  4820. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  4821. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  4822. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  4823. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  4824. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  4825. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  4826. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  4827. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  4828. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  4829. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  4830. * @retval uint32_t
  4831. */
  4832. __STATIC_INLINE uint32_t LL_C2_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
  4833. {
  4834. return ((READ_BIT(RCC_C2->AHB3ENR, Periphs) == Periphs)?1U:0U);
  4835. }
  4836. /**
  4837. * @brief Disable C2 AHB3 peripherals clock.
  4838. * @rmtoll AHB3ENR MDMAEN LL_C2_AHB3_GRP1_DisableClock\n
  4839. * AHB3ENR DMA2DEN LL_C2_AHB3_GRP1_DisableClock\n
  4840. * AHB3ENR JPGDECEN LL_C2_AHB3_GRP1_DisableClock\n
  4841. * AHB3ENR FMCEN LL_C2_AHB3_GRP1_DisableClock\n
  4842. * AHB3ENR QSPIEN LL_C2_AHB3_GRP1_DisableClock\n
  4843. * AHB3ENR SDMMC1EN LL_C2_AHB3_GRP1_DisableClock\n
  4844. * AHB3ENR FLASHEN LL_C2_AHB3_GRP1_DisableClock\n
  4845. * AHB3ENR DTCM1EN LL_C2_AHB3_GRP1_DisableClock\n
  4846. * AHB3ENR DTCM2EN LL_C2_AHB3_GRP1_DisableClock\n
  4847. * AHB3ENR ITCMEN LL_C2_AHB3_GRP1_DisableClock\n
  4848. * AHB3ENR AXISRAMEN LL_C2_AHB3_GRP1_DisableClock
  4849. * @param Periphs This parameter can be a combination of the following values:
  4850. * @arg @ref LL_AHB3_GRP1_PERIPH_MDMA
  4851. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  4852. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  4853. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  4854. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  4855. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  4856. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  4857. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  4858. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  4859. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  4860. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  4861. * @retval None
  4862. */
  4863. __STATIC_INLINE void LL_C2_AHB3_GRP1_DisableClock(uint32_t Periphs)
  4864. {
  4865. CLEAR_BIT(RCC_C2->AHB3ENR, Periphs);
  4866. }
  4867. /**
  4868. * @brief Enable C2 AHB3 peripherals clock during Low Power (Sleep) mode.
  4869. * @rmtoll AHB3LPENR MDMALPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4870. * AHB3LPENR DMA2DLPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4871. * AHB3LPENR JPGDECLPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4872. * AHB3LPENR FMCLPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4873. * AHB3LPENR QSPILPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4874. * AHB3LPENR SDMMC1LPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4875. * AHB3LPENR FLASHLPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4876. * AHB3LPENR DTCM1LPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4877. * AHB3LPENR DTCM2LPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4878. * AHB3LPENR ITCMLPEN LL_C2_AHB3_GRP1_EnableClockSleep\n
  4879. * AHB3LPENR AXISRAMLPEN LL_C2_AHB3_GRP1_EnableClockSleep
  4880. * @param Periphs This parameter can be a combination of the following values:
  4881. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  4882. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  4883. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  4884. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  4885. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  4886. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  4887. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  4888. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  4889. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  4890. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  4891. * @retval None
  4892. */
  4893. __STATIC_INLINE void LL_C2_AHB3_GRP1_EnableClockSleep(uint32_t Periphs)
  4894. {
  4895. __IO uint32_t tmpreg;
  4896. SET_BIT(RCC_C2->AHB3LPENR, Periphs);
  4897. /* Delay after an RCC peripheral clock enabling */
  4898. tmpreg = READ_BIT(RCC_C2->AHB3LPENR, Periphs);
  4899. (void)tmpreg;
  4900. }
  4901. /**
  4902. * @brief Disable C2 AHB3 peripherals clock during Low Power (Sleep) mode.
  4903. * @rmtoll AHB3LPENR MDMALPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4904. * AHB3LPENR DMA2DLPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4905. * AHB3LPENR JPGDECLPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4906. * AHB3LPENR FMCLPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4907. * AHB3LPENR QSPILPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4908. * AHB3LPENR SDMMC1LPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4909. * AHB3LPENR FLASHLPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4910. * AHB3LPENR DTCM1LPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4911. * AHB3LPENR DTCM2LPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4912. * AHB3LPENR ITCMLPEN LL_C2_AHB3_GRP1_DisableClockSleep\n
  4913. * AHB3LPENR AXISRAMLPEN LL_C2_AHB3_GRP1_DisableClockSleep
  4914. * @param Periphs This parameter can be a combination of the following values:
  4915. * @arg @ref LL_AHB3_GRP1_PERIPH_DMA2D
  4916. * @arg @ref LL_AHB3_GRP1_PERIPH_JPGDEC
  4917. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC
  4918. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  4919. * @arg @ref LL_AHB3_GRP1_PERIPH_SDMMC1
  4920. * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH
  4921. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM1
  4922. * @arg @ref LL_AHB3_GRP1_PERIPH_DTCM2
  4923. * @arg @ref LL_AHB3_GRP1_PERIPH_ITCM
  4924. * @arg @ref LL_AHB3_GRP1_PERIPH_AXISRAM
  4925. * @retval None
  4926. */
  4927. __STATIC_INLINE void LL_C2_AHB3_GRP1_DisableClockSleep(uint32_t Periphs)
  4928. {
  4929. CLEAR_BIT(RCC_C2->AHB3LPENR, Periphs);
  4930. }
  4931. /**
  4932. * @}
  4933. */
  4934. /** @defgroup BUS_LL_EF_AHB1 AHB1
  4935. * @{
  4936. */
  4937. /**
  4938. * @brief Enable C2 AHB1 peripherals clock.
  4939. * @rmtoll AHB1ENR DMA1EN LL_C2_AHB1_GRP1_EnableClock\n
  4940. * AHB1ENR DMA2EN LL_C2_AHB1_GRP1_EnableClock\n
  4941. * AHB1ENR ADC12EN LL_C2_AHB1_GRP1_EnableClock\n
  4942. * AHB1ENR ARTEN LL_C2_AHB1_GRP1_EnableClock\n
  4943. * AHB1ENR ETH1MACEN LL_C2_AHB1_GRP1_EnableClock\n
  4944. * AHB1ENR ETH1TXEN LL_C2_AHB1_GRP1_EnableClock\n
  4945. * AHB1ENR ETH1RXEN LL_C2_AHB1_GRP1_EnableClock\n
  4946. * AHB1ENR USB1OTGHSEN LL_C2_AHB1_GRP1_EnableClock\n
  4947. * AHB1ENR USB1OTGHSULPIEN LL_C2_AHB1_GRP1_EnableClock\n
  4948. * AHB1ENR USB2OTGHSEN LL_C2_AHB1_GRP1_EnableClock\n
  4949. * AHB1ENR USB2OTGHSULPIEN LL_C2_AHB1_GRP1_EnableClock
  4950. * @param Periphs This parameter can be a combination of the following values:
  4951. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  4952. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  4953. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  4954. * @arg @ref LL_AHB1_GRP1_PERIPH_ART
  4955. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
  4956. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
  4957. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
  4958. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  4959. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  4960. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS
  4961. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI
  4962. * @retval None
  4963. */
  4964. __STATIC_INLINE void LL_C2_AHB1_GRP1_EnableClock(uint32_t Periphs)
  4965. {
  4966. __IO uint32_t tmpreg;
  4967. SET_BIT(RCC_C2->AHB1ENR, Periphs);
  4968. /* Delay after an RCC peripheral clock enabling */
  4969. tmpreg = READ_BIT(RCC_C2->AHB1ENR, Periphs);
  4970. (void)tmpreg;
  4971. }
  4972. /**
  4973. * @brief Check if C2 AHB1 peripheral clock is enabled or not
  4974. * @rmtoll AHB1ENR DMA1EN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4975. * AHB1ENR DMA2EN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4976. * AHB1ENR ADC12EN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4977. * AHB1ENR ARTEN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4978. * AHB1ENR ETH1MACEN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4979. * AHB1ENR ETH1TXEN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4980. * AHB1ENR ETH1RXEN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4981. * AHB1ENR USB1OTGHSEN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4982. * AHB1ENR USB1OTGHSULPIEN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4983. * AHB1ENR USB2OTGHSEN LL_C2_AHB1_GRP1_IsEnabledClock\n
  4984. * AHB1ENR USB2OTGHSULPIEN LL_C2_AHB1_GRP1_IsEnabledClock
  4985. * @param Periphs This parameter can be a combination of the following values:
  4986. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  4987. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  4988. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  4989. * @arg @ref LL_AHB1_GRP1_PERIPH_ART
  4990. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
  4991. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
  4992. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
  4993. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  4994. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  4995. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS
  4996. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI
  4997. * @retval uint32_t
  4998. */
  4999. __STATIC_INLINE uint32_t LL_C2_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
  5000. {
  5001. return ((READ_BIT(RCC_C2->AHB1ENR, Periphs) == Periphs)?1U:0U);
  5002. }
  5003. /**
  5004. * @brief Disable C2 AHB1 peripherals clock.
  5005. * @rmtoll AHB1ENR DMA1EN LL_C2_AHB1_GRP1_DisableClock\n
  5006. * AHB1ENR DMA2EN LL_C2_AHB1_GRP1_DisableClock\n
  5007. * AHB1ENR ADC12EN LL_C2_AHB1_GRP1_DisableClock\n
  5008. * AHB1ENR ARTEN LL_C2_AHB1_GRP1_DisableClock\n
  5009. * AHB1ENR ETH1MACEN LL_C2_AHB1_GRP1_DisableClock\n
  5010. * AHB1ENR ETH1TXEN LL_C2_AHB1_GRP1_DisableClock\n
  5011. * AHB1ENR ETH1RXEN LL_C2_AHB1_GRP1_DisableClock\n
  5012. * AHB1ENR USB1OTGHSEN LL_C2_AHB1_GRP1_DisableClock\n
  5013. * AHB1ENR USB1OTGHSULPIEN LL_C2_AHB1_GRP1_DisableClock\n
  5014. * AHB1ENR USB2OTGHSEN LL_C2_AHB1_GRP1_DisableClock\n
  5015. * AHB1ENR USB2OTGHSULPIEN LL_C2_AHB1_GRP1_DisableClock
  5016. * @param Periphs This parameter can be a combination of the following values:
  5017. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  5018. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  5019. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  5020. * @arg @ref LL_AHB1_GRP1_PERIPH_ART
  5021. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
  5022. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
  5023. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
  5024. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  5025. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  5026. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS
  5027. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI
  5028. * @retval None
  5029. */
  5030. __STATIC_INLINE void LL_C2_AHB1_GRP1_DisableClock(uint32_t Periphs)
  5031. {
  5032. CLEAR_BIT(RCC_C2->AHB1ENR, Periphs);
  5033. }
  5034. /**
  5035. * @brief Enable C2 AHB1 peripherals clock during Low Power (Sleep) mode.
  5036. * @rmtoll AHB1LPENR DMA1LPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5037. * AHB1LPENR DMA2LPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5038. * AHB1LPENR ADC12LPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5039. * AHB1LPENR ARTLPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5040. * AHB1LPENR ETH1MACLPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5041. * AHB1LPENR ETH1TXLPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5042. * AHB1LPENR ETH1RXLPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5043. * AHB1LPENR USB1OTGHSLPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5044. * AHB1LPENR USB1OTGHSULPILPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5045. * AHB1LPENR USB2OTGHSLPEN LL_C2_AHB1_GRP1_EnableClockSleep\n
  5046. * AHB1LPENR USB2OTGHSULPILPEN LL_C2_AHB1_GRP1_EnableClockSleep
  5047. * @param Periphs This parameter can be a combination of the following values:
  5048. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  5049. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  5050. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  5051. * @arg @ref LL_AHB1_GRP1_PERIPH_ART
  5052. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
  5053. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
  5054. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
  5055. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  5056. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  5057. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS
  5058. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI
  5059. * @retval None
  5060. */
  5061. __STATIC_INLINE void LL_C2_AHB1_GRP1_EnableClockSleep(uint32_t Periphs)
  5062. {
  5063. __IO uint32_t tmpreg;
  5064. SET_BIT(RCC_C2->AHB1LPENR, Periphs);
  5065. /* Delay after an RCC peripheral clock enabling */
  5066. tmpreg = READ_BIT(RCC_C2->AHB1LPENR, Periphs);
  5067. (void)tmpreg;
  5068. }
  5069. /**
  5070. * @brief Disable C2 AHB1 peripherals clock during Low Power (Sleep) mode.
  5071. * @rmtoll AHB1LPENR DMA1LPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5072. * AHB1LPENR DMA2LPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5073. * AHB1LPENR ADC12LPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5074. * AHB1LPENR ARTLPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5075. * AHB1LPENR ETH1MACLPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5076. * AHB1LPENR ETH1TXLPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5077. * AHB1LPENR ETH1RXLPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5078. * AHB1LPENR USB1OTGHSLPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5079. * AHB1LPENR USB1OTGHSULPILPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5080. * AHB1LPENR USB2OTGHSLPEN LL_C2_AHB1_GRP1_DisableClockSleep\n
  5081. * AHB1LPENR USB2OTGHSULPILPEN LL_C2_AHB1_GRP1_DisableClockSleep
  5082. * @param Periphs This parameter can be a combination of the following values:
  5083. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  5084. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  5085. * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
  5086. * @arg @ref LL_AHB1_GRP1_PERIPH_ART
  5087. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
  5088. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
  5089. * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
  5090. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHS
  5091. * @arg @ref LL_AHB1_GRP1_PERIPH_USB1OTGHSULPI
  5092. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHS
  5093. * @arg @ref LL_AHB1_GRP1_PERIPH_USB2OTGHSULPI
  5094. * @retval None
  5095. */
  5096. __STATIC_INLINE void LL_C2_AHB1_GRP1_DisableClockSleep(uint32_t Periphs)
  5097. {
  5098. CLEAR_BIT(RCC_C2->AHB1LPENR, Periphs);
  5099. }
  5100. /**
  5101. * @}
  5102. */
  5103. /** @defgroup BUS_LL_EF_AHB2 AHB2
  5104. * @{
  5105. */
  5106. /**
  5107. * @brief Enable C2 AHB2 peripherals clock.
  5108. * @rmtoll AHB2ENR DCMIEN LL_C2_AHB2_GRP1_EnableClock\n
  5109. * AHB2ENR CRYPEN LL_C2_AHB2_GRP1_EnableClock\n
  5110. * AHB2ENR HASHEN LL_C2_AHB2_GRP1_EnableClock\n
  5111. * AHB2ENR RNGEN LL_C2_AHB2_GRP1_EnableClock\n
  5112. * AHB2ENR SDMMC2EN LL_C2_AHB2_GRP1_EnableClock
  5113. * @param Periphs This parameter can be a combination of the following values:
  5114. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  5115. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  5116. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  5117. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  5118. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  5119. *
  5120. * (*) value not defined in all devices.
  5121. * @retval None
  5122. */
  5123. __STATIC_INLINE void LL_C2_AHB2_GRP1_EnableClock(uint32_t Periphs)
  5124. {
  5125. __IO uint32_t tmpreg;
  5126. SET_BIT(RCC_C2->AHB2ENR, Periphs);
  5127. /* Delay after an RCC peripheral clock enabling */
  5128. tmpreg = READ_BIT(RCC_C2->AHB2ENR, Periphs);
  5129. (void)tmpreg;
  5130. }
  5131. /**
  5132. * @brief Check if C2 AHB2 peripheral clock is enabled or not
  5133. * @rmtoll AHB2ENR DCMIEN LL_C2_AHB2_GRP1_IsEnabledClock\n
  5134. * AHB2ENR CRYPEN LL_C2_AHB2_GRP1_IsEnabledClock\n
  5135. * AHB2ENR HASHEN LL_C2_AHB2_GRP1_IsEnabledClock\n
  5136. * AHB2ENR RNGEN LL_C2_AHB2_GRP1_IsEnabledClock\n
  5137. * AHB2ENR SDMMC2EN LL_C2_AHB2_GRP1_IsEnabledClock
  5138. * @param Periphs This parameter can be a combination of the following values:
  5139. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  5140. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  5141. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  5142. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  5143. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  5144. *
  5145. * (*) value not defined in all devices.
  5146. * @retval uint32_t
  5147. */
  5148. __STATIC_INLINE uint32_t LL_C2_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
  5149. {
  5150. return ((READ_BIT(RCC_C2->AHB2ENR, Periphs) == Periphs)?1U:0U);
  5151. }
  5152. /**
  5153. * @brief Disable C2 AHB2 peripherals clock.
  5154. * @rmtoll AHB2ENR DCMIEN LL_C2_AHB2_GRP1_DisableClock\n
  5155. * AHB2ENR CRYPEN LL_C2_AHB2_GRP1_DisableClock\n
  5156. * AHB2ENR HASHEN LL_C2_AHB2_GRP1_DisableClock\n
  5157. * AHB2ENR RNGEN LL_C2_AHB2_GRP1_DisableClock\n
  5158. * AHB2ENR SDMMC2EN LL_C2_AHB2_GRP1_DisableClock
  5159. * @param Periphs This parameter can be a combination of the following values:
  5160. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  5161. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  5162. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  5163. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  5164. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  5165. *
  5166. * (*) value not defined in all devices.
  5167. * @retval None
  5168. */
  5169. __STATIC_INLINE void LL_C2_AHB2_GRP1_DisableClock(uint32_t Periphs)
  5170. {
  5171. CLEAR_BIT(RCC_C2->AHB2ENR, Periphs);
  5172. }
  5173. /**
  5174. * @brief Enable C2 AHB2 peripherals clock during Low Power (Sleep) mode.
  5175. * @rmtoll AHB2LPENR DCMILPEN LL_C2_AHB2_GRP1_EnableClockSleep\n
  5176. * AHB2LPENR CRYPLPEN LL_C2_AHB2_GRP1_EnableClockSleep\n
  5177. * AHB2LPENR HASHLPEN LL_C2_AHB2_GRP1_EnableClockSleep\n
  5178. * AHB2LPENR RNGLPEN LL_C2_AHB2_GRP1_EnableClockSleep\n
  5179. * AHB2LPENR SDMMC2LPEN LL_C2_AHB2_GRP1_EnableClockSleep\n
  5180. * AHB2LPENR D2SRAM1LPEN LL_C2_AHB2_GRP1_EnableClockSleep\n
  5181. * AHB2LPENR D2SRAM2LPEN LL_C2_AHB2_GRP1_EnableClockSleep\n
  5182. * AHB2LPENR D2SRAM3LPEN LL_C2_AHB2_GRP1_EnableClockSleep
  5183. * @param Periphs This parameter can be a combination of the following values:
  5184. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  5185. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  5186. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  5187. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  5188. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  5189. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  5190. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  5191. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3
  5192. *
  5193. * (*) value not defined in all devices.
  5194. * @retval None
  5195. */
  5196. __STATIC_INLINE void LL_C2_AHB2_GRP1_EnableClockSleep(uint32_t Periphs)
  5197. {
  5198. __IO uint32_t tmpreg;
  5199. SET_BIT(RCC_C2->AHB2LPENR, Periphs);
  5200. /* Delay after an RCC peripheral clock enabling */
  5201. tmpreg = READ_BIT(RCC_C2->AHB2LPENR, Periphs);
  5202. (void)tmpreg;
  5203. }
  5204. /**
  5205. * @brief Disable C2 AHB2 peripherals clock during Low Power (Sleep) mode.
  5206. * @rmtoll AHB2LPENR DCMILPEN LL_C2_AHB2_GRP1_DisableClockSleep\n
  5207. * AHB2LPENR CRYPLPEN LL_C2_AHB2_GRP1_DisableClockSleep\n
  5208. * AHB2LPENR HASHLPEN LL_C2_AHB2_GRP1_DisableClockSleep\n
  5209. * AHB2LPENR RNGLPEN LL_C2_AHB2_GRP1_DisableClockSleep\n
  5210. * AHB2LPENR SDMMC2LPEN LL_C2_AHB2_GRP1_DisableClockSleep\n
  5211. * AHB2LPENR D2SRAM1LPEN LL_C2_AHB2_GRP1_DisableClockSleep\n
  5212. * AHB2LPENR D2SRAM2LPEN LL_C2_AHB2_GRP1_DisableClockSleep\n
  5213. * AHB2LPENR D2SRAM3LPEN LL_C2_AHB2_GRP1_DisableClockSleep
  5214. * @param Periphs This parameter can be a combination of the following values:
  5215. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI
  5216. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  5217. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  5218. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  5219. * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
  5220. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM1
  5221. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM2
  5222. * @arg @ref LL_AHB2_GRP1_PERIPH_D2SRAM3
  5223. *
  5224. * (*) value not defined in all devices.
  5225. * @retval None
  5226. */
  5227. __STATIC_INLINE void LL_C2_AHB2_GRP1_DisableClockSleep(uint32_t Periphs)
  5228. {
  5229. CLEAR_BIT(RCC_C2->AHB2LPENR, Periphs);
  5230. }
  5231. /**
  5232. * @}
  5233. */
  5234. /** @defgroup BUS_LL_EF_AHB4 AHB4
  5235. * @{
  5236. */
  5237. /**
  5238. * @brief Enable C2 AHB4 peripherals clock.
  5239. * @rmtoll AHB4ENR GPIOAEN LL_C2_AHB4_GRP1_EnableClock\n
  5240. * AHB4ENR GPIOBEN LL_C2_AHB4_GRP1_EnableClock\n
  5241. * AHB4ENR GPIOCEN LL_C2_AHB4_GRP1_EnableClock\n
  5242. * AHB4ENR GPIODEN LL_C2_AHB4_GRP1_EnableClock\n
  5243. * AHB4ENR GPIOEEN LL_C2_AHB4_GRP1_EnableClock\n
  5244. * AHB4ENR GPIOFEN LL_C2_AHB4_GRP1_EnableClock\n
  5245. * AHB4ENR GPIOGEN LL_C2_AHB4_GRP1_EnableClock\n
  5246. * AHB4ENR GPIOHEN LL_C2_AHB4_GRP1_EnableClock\n
  5247. * AHB4ENR GPIOIEN LL_C2_AHB4_GRP1_EnableClock\n
  5248. * AHB4ENR GPIOJEN LL_C2_AHB4_GRP1_EnableClock\n
  5249. * AHB4ENR GPIOKEN LL_C2_AHB4_GRP1_EnableClock\n
  5250. * AHB4ENR CRCEN LL_C2_AHB4_GRP1_EnableClock\n
  5251. * AHB4ENR BDMAEN LL_C2_AHB4_GRP1_EnableClock\n
  5252. * AHB4ENR ADC3EN LL_C2_AHB4_GRP1_EnableClock\n
  5253. * AHB4ENR HSEMEN LL_C2_AHB4_GRP1_EnableClock\n
  5254. * AHB4ENR BKPRAMEN LL_C2_AHB4_GRP1_EnableClock\n
  5255. * AHB4ENR SRAM4EN LL_C2_AHB4_GRP1_EnableClock
  5256. * @param Periphs This parameter can be a combination of the following values:
  5257. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  5258. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  5259. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  5260. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  5261. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  5262. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  5263. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  5264. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  5265. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  5266. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  5267. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  5268. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
  5269. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  5270. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3
  5271. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  5272. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  5273. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  5274. *
  5275. * (*) value not defined in all devices.
  5276. * @retval None
  5277. */
  5278. __STATIC_INLINE void LL_C2_AHB4_GRP1_EnableClock(uint32_t Periphs)
  5279. {
  5280. __IO uint32_t tmpreg;
  5281. SET_BIT(RCC_C2->AHB4ENR, Periphs);
  5282. /* Delay after an RCC peripheral clock enabling */
  5283. tmpreg = READ_BIT(RCC_C2->AHB4ENR, Periphs);
  5284. (void)tmpreg;
  5285. }
  5286. /**
  5287. * @brief Check if C2 AHB4 peripheral clock is enabled or not
  5288. * @rmtoll AHB4ENR GPIOAEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5289. * AHB4ENR GPIOBEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5290. * AHB4ENR GPIOCEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5291. * AHB4ENR GPIODEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5292. * AHB4ENR GPIOEEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5293. * AHB4ENR GPIOFEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5294. * AHB4ENR GPIOGEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5295. * AHB4ENR GPIOHEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5296. * AHB4ENR GPIOIEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5297. * AHB4ENR GPIOJEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5298. * AHB4ENR GPIOKEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5299. * AHB4ENR CRCEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5300. * AHB4ENR BDMAEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5301. * AHB4ENR ADC3EN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5302. * AHB4ENR HSEMEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5303. * AHB4ENR BKPRAMEN LL_C2_AHB4_GRP1_IsEnabledClock\n
  5304. * AHB4ENR SRAM4EN LL_C2_AHB4_GRP1_IsEnabledClock
  5305. * @param Periphs This parameter can be a combination of the following values:
  5306. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  5307. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  5308. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  5309. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  5310. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  5311. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  5312. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  5313. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  5314. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  5315. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  5316. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  5317. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
  5318. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  5319. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3
  5320. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  5321. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  5322. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  5323. *
  5324. * (*) value not defined in all devices.
  5325. * @retval uint32_t
  5326. */
  5327. __STATIC_INLINE uint32_t LL_C2_AHB4_GRP1_IsEnabledClock(uint32_t Periphs)
  5328. {
  5329. return ((READ_BIT(RCC_C2->AHB4ENR, Periphs) == Periphs)?1U:0U);
  5330. }
  5331. /**
  5332. * @brief Disable C2 AHB4 peripherals clock.
  5333. * @rmtoll AHB4ENR GPIOAEN LL_C2_AHB4_GRP1_DisableClock\n
  5334. * AHB4ENR GPIOBEN LL_C2_AHB4_GRP1_DisableClock\n
  5335. * AHB4ENR GPIOCEN LL_C2_AHB4_GRP1_DisableClock\n
  5336. * AHB4ENR GPIODEN LL_C2_AHB4_GRP1_DisableClock\n
  5337. * AHB4ENR GPIOEEN LL_C2_AHB4_GRP1_DisableClock\n
  5338. * AHB4ENR GPIOFEN LL_C2_AHB4_GRP1_DisableClock\n
  5339. * AHB4ENR GPIOGEN LL_C2_AHB4_GRP1_DisableClock\n
  5340. * AHB4ENR GPIOHEN LL_C2_AHB4_GRP1_DisableClock\n
  5341. * AHB4ENR GPIOIEN LL_C2_AHB4_GRP1_DisableClock\n
  5342. * AHB4ENR GPIOJEN LL_C2_AHB4_GRP1_DisableClock\n
  5343. * AHB4ENR GPIOKEN LL_C2_AHB4_GRP1_DisableClock\n
  5344. * AHB4ENR CRCEN LL_C2_AHB4_GRP1_DisableClock\n
  5345. * AHB4ENR BDMAEN LL_C2_AHB4_GRP1_DisableClock\n
  5346. * AHB4ENR ADC3EN LL_C2_AHB4_GRP1_DisableClock\n
  5347. * AHB4ENR HSEMEN LL_C2_AHB4_GRP1_DisableClock\n
  5348. * AHB4ENR BKPRAMEN LL_C2_AHB4_GRP1_DisableClock\n
  5349. * AHB4ENR SRAM4EN LL_C2_AHB4_GRP1_DisableClock
  5350. * @param Periphs This parameter can be a combination of the following values:
  5351. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  5352. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  5353. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  5354. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  5355. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  5356. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  5357. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  5358. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  5359. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  5360. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  5361. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  5362. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
  5363. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  5364. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3
  5365. * @arg @ref LL_AHB4_GRP1_PERIPH_HSEM (*)
  5366. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  5367. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  5368. *
  5369. * (*) value not defined in all devices.
  5370. * @retval None
  5371. */
  5372. __STATIC_INLINE void LL_C2_AHB4_GRP1_DisableClock(uint32_t Periphs)
  5373. {
  5374. CLEAR_BIT(RCC_C2->AHB4ENR, Periphs);
  5375. }
  5376. /**
  5377. * @brief Enable C2 AHB4 peripherals clock during Low Power (Sleep) mode.
  5378. * @rmtoll AHB4LPENR GPIOALPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5379. * AHB4LPENR GPIOBLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5380. * AHB4LPENR GPIOCLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5381. * AHB4LPENR GPIODLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5382. * AHB4LPENR GPIOELPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5383. * AHB4LPENR GPIOFLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5384. * AHB4LPENR GPIOGLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5385. * AHB4LPENR GPIOHLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5386. * AHB4LPENR GPIOILPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5387. * AHB4LPENR GPIOJLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5388. * AHB4LPENR GPIOKLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5389. * AHB4LPENR CRCLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5390. * AHB4LPENR BDMALPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5391. * AHB4LPENR ADC3LPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5392. * AHB4LPENR BKPRAMLPEN LL_C2_AHB4_GRP1_EnableClockSleep\n
  5393. * AHB4LPENR SRAM4LPEN LL_C2_AHB4_GRP1_EnableClockSleep
  5394. * @param Periphs This parameter can be a combination of the following values:
  5395. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  5396. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  5397. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  5398. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  5399. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  5400. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  5401. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  5402. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  5403. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  5404. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  5405. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  5406. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
  5407. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  5408. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3
  5409. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  5410. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  5411. * @retval None
  5412. */
  5413. __STATIC_INLINE void LL_C2_AHB4_GRP1_EnableClockSleep(uint32_t Periphs)
  5414. {
  5415. __IO uint32_t tmpreg;
  5416. SET_BIT(RCC_C2->AHB4LPENR, Periphs);
  5417. /* Delay after an RCC peripheral clock enabling */
  5418. tmpreg = READ_BIT(RCC_C2->AHB4LPENR, Periphs);
  5419. (void)tmpreg;
  5420. }
  5421. /**
  5422. * @brief Disable C2 AHB4 peripherals clock during Low Power (Sleep) mode.
  5423. * @rmtoll AHB4LPENR GPIOALPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5424. * AHB4LPENR GPIOBLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5425. * AHB4LPENR GPIOCLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5426. * AHB4LPENR GPIODLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5427. * AHB4LPENR GPIOELPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5428. * AHB4LPENR GPIOFLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5429. * AHB4LPENR GPIOGLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5430. * AHB4LPENR GPIOHLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5431. * AHB4LPENR GPIOILPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5432. * AHB4LPENR GPIOJLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5433. * AHB4LPENR GPIOKLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5434. * AHB4LPENR CRCLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5435. * AHB4LPENR BDMALPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5436. * AHB4LPENR ADC3LPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5437. * AHB4LPENR BKPRAMLPEN LL_C2_AHB4_GRP1_DisableClockSleep\n
  5438. * AHB4LPENR SRAM4LPEN LL_C2_AHB4_GRP1_DisableClockSleep
  5439. * @param Periphs This parameter can be a combination of the following values:
  5440. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
  5441. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
  5442. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
  5443. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
  5444. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
  5445. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
  5446. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
  5447. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
  5448. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOI
  5449. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOJ
  5450. * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOK
  5451. * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
  5452. * @arg @ref LL_AHB4_GRP1_PERIPH_BDMA
  5453. * @arg @ref LL_AHB4_GRP1_PERIPH_ADC3
  5454. * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
  5455. * @arg @ref LL_AHB4_GRP1_PERIPH_SRAM4
  5456. * @retval None
  5457. */
  5458. __STATIC_INLINE void LL_C2_AHB4_GRP1_DisableClockSleep(uint32_t Periphs)
  5459. {
  5460. CLEAR_BIT(RCC_C2->AHB4LPENR, Periphs);
  5461. }
  5462. /**
  5463. * @}
  5464. */
  5465. /** @defgroup BUS_LL_EF_APB3 APB3
  5466. * @{
  5467. */
  5468. /**
  5469. * @brief Enable C2 APB3 peripherals clock.
  5470. * @rmtoll APB3ENR LTDCEN LL_C2_APB3_GRP1_EnableClock\n
  5471. * APB3ENR DSIEN LL_C2_APB3_GRP1_EnableClock\n
  5472. * APB3ENR WWDG1EN LL_C2_APB3_GRP1_EnableClock
  5473. * @param Periphs This parameter can be a combination of the following values:
  5474. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC
  5475. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  5476. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  5477. *
  5478. * (*) value not defined in all devices.
  5479. * @retval None
  5480. */
  5481. __STATIC_INLINE void LL_C2_APB3_GRP1_EnableClock(uint32_t Periphs)
  5482. {
  5483. __IO uint32_t tmpreg;
  5484. SET_BIT(RCC_C2->APB3ENR, Periphs);
  5485. /* Delay after an RCC peripheral clock enabling */
  5486. tmpreg = READ_BIT(RCC_C2->APB3ENR, Periphs);
  5487. (void)tmpreg;
  5488. }
  5489. /**
  5490. * @brief Check if C2 APB3 peripheral clock is enabled or not
  5491. * @rmtoll APB3ENR LTDCEN LL_C2_APB3_GRP1_IsEnabledClock\n
  5492. * APB3ENR DSIEN LL_C2_APB3_GRP1_IsEnabledClock\n
  5493. * APB3ENR WWDG1EN LL_C2_APB3_GRP1_IsEnabledClock
  5494. * @param Periphs This parameter can be a combination of the following values:
  5495. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC
  5496. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  5497. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  5498. *
  5499. * (*) value not defined in all devices.
  5500. * @retval uint32_t
  5501. */
  5502. __STATIC_INLINE uint32_t LL_C2_APB3_GRP1_IsEnabledClock(uint32_t Periphs)
  5503. {
  5504. return ((READ_BIT(RCC_C2->APB3ENR, Periphs) == Periphs)?1U:0U);
  5505. }
  5506. /**
  5507. * @brief Disable C2 APB3 peripherals clock.
  5508. * @rmtoll APB3ENR LTDCEN LL_C2_APB3_GRP1_DisableClock\n
  5509. * APB3ENR DSIEN LL_C2_APB3_GRP1_DisableClock\n
  5510. * APB3ENR WWDG1EN LL_C2_APB3_GRP1_DisableClock
  5511. * @param Periphs This parameter can be a combination of the following values:
  5512. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC
  5513. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  5514. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  5515. *
  5516. * (*) value not defined in all devices.
  5517. * @retval None
  5518. */
  5519. __STATIC_INLINE void LL_C2_APB3_GRP1_DisableClock(uint32_t Periphs)
  5520. {
  5521. CLEAR_BIT(RCC_C2->APB3ENR, Periphs);
  5522. }
  5523. /**
  5524. * @brief Enable C2 APB3 peripherals clock during Low Power (Sleep) mode.
  5525. * @rmtoll APB3LPENR LTDCLPEN LL_C2_APB3_GRP1_EnableClockSleep\n
  5526. * APB3LPENR DSILPEN LL_C2_APB3_GRP1_EnableClockSleep\n
  5527. * APB3LPENR WWDG1LPEN LL_C2_APB3_GRP1_EnableClockSleep
  5528. * @param Periphs This parameter can be a combination of the following values:
  5529. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC
  5530. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  5531. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  5532. *
  5533. * (*) value not defined in all devices.
  5534. * @retval None
  5535. */
  5536. __STATIC_INLINE void LL_C2_APB3_GRP1_EnableClockSleep(uint32_t Periphs)
  5537. {
  5538. __IO uint32_t tmpreg;
  5539. SET_BIT(RCC_C2->APB3LPENR, Periphs);
  5540. /* Delay after an RCC peripheral clock enabling */
  5541. tmpreg = READ_BIT(RCC_C2->APB3LPENR, Periphs);
  5542. (void)tmpreg;
  5543. }
  5544. /**
  5545. * @brief Disable C2 APB3 peripherals clock during Low Power (Sleep) mode.
  5546. * @rmtoll APB3LPENR LTDCLPEN LL_C2_APB3_GRP1_DisableClockSleep\n
  5547. * APB3LPENR DSILPEN LL_C2_APB3_GRP1_DisableClockSleep\n
  5548. * APB3LPENR WWDG1LPEN LL_C2_APB3_GRP1_DisableClockSleep
  5549. * @param Periphs This parameter can be a combination of the following values:
  5550. * @arg @ref LL_APB3_GRP1_PERIPH_LTDC
  5551. * @arg @ref LL_APB3_GRP1_PERIPH_DSI (*)
  5552. * @arg @ref LL_APB3_GRP1_PERIPH_WWDG1
  5553. *
  5554. * (*) value not defined in all devices.
  5555. * @retval None
  5556. */
  5557. __STATIC_INLINE void LL_C2_APB3_GRP1_DisableClockSleep(uint32_t Periphs)
  5558. {
  5559. CLEAR_BIT(RCC_C2->APB3LPENR, Periphs);
  5560. }
  5561. /**
  5562. * @}
  5563. */
  5564. /** @defgroup BUS_LL_EF_APB1 APB1
  5565. * @{
  5566. */
  5567. /**
  5568. * @brief Enable C2 APB1 peripherals clock.
  5569. * @rmtoll APB1LENR TIM2EN LL_C2_APB1_GRP1_EnableClock\n
  5570. * APB1LENR TIM3EN LL_C2_APB1_GRP1_EnableClock\n
  5571. * APB1LENR TIM4EN LL_C2_APB1_GRP1_EnableClock\n
  5572. * APB1LENR TIM5EN LL_C2_APB1_GRP1_EnableClock\n
  5573. * APB1LENR TIM6EN LL_C2_APB1_GRP1_EnableClock\n
  5574. * APB1LENR TIM7EN LL_C2_APB1_GRP1_EnableClock\n
  5575. * APB1LENR TIM12EN LL_C2_APB1_GRP1_EnableClock\n
  5576. * APB1LENR TIM13EN LL_C2_APB1_GRP1_EnableClock\n
  5577. * APB1LENR TIM14EN LL_C2_APB1_GRP1_EnableClock\n
  5578. * APB1LENR LPTIM1EN LL_C2_APB1_GRP1_EnableClock\n
  5579. * APB1LENR WWDG2EN LL_C2_APB1_GRP1_EnableClock\n
  5580. * APB1LENR SPI2EN LL_C2_APB1_GRP1_EnableClock\n
  5581. * APB1LENR SPI3EN LL_C2_APB1_GRP1_EnableClock\n
  5582. * APB1LENR SPDIFRXEN LL_C2_APB1_GRP1_EnableClock\n
  5583. * APB1LENR USART2EN LL_C2_APB1_GRP1_EnableClock\n
  5584. * APB1LENR USART3EN LL_C2_APB1_GRP1_EnableClock\n
  5585. * APB1LENR UART4EN LL_C2_APB1_GRP1_EnableClock\n
  5586. * APB1LENR UART5EN LL_C2_APB1_GRP1_EnableClock\n
  5587. * APB1LENR I2C1EN LL_C2_APB1_GRP1_EnableClock\n
  5588. * APB1LENR I2C2EN LL_C2_APB1_GRP1_EnableClock\n
  5589. * APB1LENR I2C3EN LL_C2_APB1_GRP1_EnableClock\n
  5590. * APB1LENR CECEN LL_C2_APB1_GRP1_EnableClock\n
  5591. * APB1LENR DAC12EN LL_C2_APB1_GRP1_EnableClock\n
  5592. * APB1LENR UART7EN LL_C2_APB1_GRP1_EnableClock\n
  5593. * APB1LENR UART8EN LL_C2_APB1_GRP1_EnableClock
  5594. * @param Periphs This parameter can be a combination of the following values:
  5595. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  5596. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  5597. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  5598. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  5599. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  5600. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  5601. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  5602. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  5603. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  5604. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  5605. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2
  5606. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  5607. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  5608. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  5609. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  5610. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  5611. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  5612. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  5613. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  5614. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  5615. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  5616. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  5617. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  5618. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  5619. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  5620. * @retval None
  5621. */
  5622. __STATIC_INLINE void LL_C2_APB1_GRP1_EnableClock(uint32_t Periphs)
  5623. {
  5624. __IO uint32_t tmpreg;
  5625. SET_BIT(RCC_C2->APB1LENR, Periphs);
  5626. /* Delay after an RCC peripheral clock enabling */
  5627. tmpreg = READ_BIT(RCC_C2->APB1LENR, Periphs);
  5628. (void)tmpreg;
  5629. }
  5630. /**
  5631. * @brief Check if C2 APB1 peripheral clock is enabled or not
  5632. * @rmtoll APB1LENR TIM2EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5633. * APB1LENR TIM3EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5634. * APB1LENR TIM4EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5635. * APB1LENR TIM5EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5636. * APB1LENR TIM6EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5637. * APB1LENR TIM7EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5638. * APB1LENR TIM12EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5639. * APB1LENR TIM13EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5640. * APB1LENR TIM14EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5641. * APB1LENR LPTIM1EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5642. * APB1LENR WWDG2EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5643. * APB1LENR SPI2EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5644. * APB1LENR SPI3EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5645. * APB1LENR SPDIFRXEN LL_C2_APB1_GRP1_IsEnabledClock\n
  5646. * APB1LENR USART2EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5647. * APB1LENR USART3EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5648. * APB1LENR UART4EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5649. * APB1LENR UART5EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5650. * APB1LENR I2C1EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5651. * APB1LENR I2C2EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5652. * APB1LENR I2C3EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5653. * APB1LENR CECEN LL_C2_APB1_GRP1_IsEnabledClock\n
  5654. * APB1LENR DAC12EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5655. * APB1LENR UART7EN LL_C2_APB1_GRP1_IsEnabledClock\n
  5656. * APB1LENR UART8EN LL_C2_APB1_GRP1_IsEnabledClock
  5657. * @param Periphs This parameter can be a combination of the following values:
  5658. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  5659. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  5660. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  5661. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  5662. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  5663. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  5664. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  5665. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  5666. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  5667. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  5668. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2
  5669. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  5670. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  5671. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  5672. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  5673. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  5674. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  5675. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  5676. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  5677. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  5678. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  5679. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  5680. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  5681. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  5682. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  5683. * @retval uint32_t
  5684. */
  5685. __STATIC_INLINE uint32_t LL_C2_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
  5686. {
  5687. return ((READ_BIT(RCC_C2->APB1LENR, Periphs) == Periphs)?1U:0U);
  5688. }
  5689. /**
  5690. * @brief Disable C2 APB1 peripherals clock.
  5691. * @rmtoll APB1LENR TIM2EN LL_C2_APB1_GRP1_DisableClock\n
  5692. * APB1LENR TIM3EN LL_C2_APB1_GRP1_DisableClock\n
  5693. * APB1LENR TIM4EN LL_C2_APB1_GRP1_DisableClock\n
  5694. * APB1LENR TIM5EN LL_C2_APB1_GRP1_DisableClock\n
  5695. * APB1LENR TIM6EN LL_C2_APB1_GRP1_DisableClock\n
  5696. * APB1LENR TIM7EN LL_C2_APB1_GRP1_DisableClock\n
  5697. * APB1LENR TIM12EN LL_C2_APB1_GRP1_DisableClock\n
  5698. * APB1LENR TIM13EN LL_C2_APB1_GRP1_DisableClock\n
  5699. * APB1LENR TIM14EN LL_C2_APB1_GRP1_DisableClock\n
  5700. * APB1LENR LPTIM1EN LL_C2_APB1_GRP1_DisableClock\n
  5701. * APB1LENR WWDG2EN LL_C2_APB1_GRP1_DisableClock\n
  5702. * APB1LENR SPI2EN LL_C2_APB1_GRP1_DisableClock\n
  5703. * APB1LENR SPI3EN LL_C2_APB1_GRP1_DisableClock\n
  5704. * APB1LENR SPDIFRXEN LL_C2_APB1_GRP1_DisableClock\n
  5705. * APB1LENR USART2EN LL_C2_APB1_GRP1_DisableClock\n
  5706. * APB1LENR USART3EN LL_C2_APB1_GRP1_DisableClock\n
  5707. * APB1LENR UART4EN LL_C2_APB1_GRP1_DisableClock\n
  5708. * APB1LENR UART5EN LL_C2_APB1_GRP1_DisableClock\n
  5709. * APB1LENR I2C1EN LL_C2_APB1_GRP1_DisableClock\n
  5710. * APB1LENR I2C2EN LL_C2_APB1_GRP1_DisableClock\n
  5711. * APB1LENR I2C3EN LL_C2_APB1_GRP1_DisableClock\n
  5712. * APB1LENR CECEN LL_C2_APB1_GRP1_DisableClock\n
  5713. * APB1LENR DAC12EN LL_C2_APB1_GRP1_DisableClock\n
  5714. * APB1LENR UART7EN LL_C2_APB1_GRP1_DisableClock\n
  5715. * APB1LENR UART8EN LL_C2_APB1_GRP1_DisableClock
  5716. * @param Periphs This parameter can be a combination of the following values:
  5717. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  5718. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  5719. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  5720. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  5721. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  5722. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  5723. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  5724. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  5725. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  5726. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  5727. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2
  5728. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  5729. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  5730. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  5731. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  5732. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  5733. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  5734. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  5735. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  5736. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  5737. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  5738. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  5739. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  5740. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  5741. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  5742. * @retval None
  5743. */
  5744. __STATIC_INLINE void LL_C2_APB1_GRP1_DisableClock(uint32_t Periphs)
  5745. {
  5746. CLEAR_BIT(RCC_C2->APB1LENR, Periphs);
  5747. }
  5748. /**
  5749. * @brief Enable C2 APB1 peripherals clock during Low Power (Sleep) mode.
  5750. * @rmtoll APB1LLPENR TIM2LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5751. * APB1LLPENR TIM3LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5752. * APB1LLPENR TIM4LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5753. * APB1LLPENR TIM5LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5754. * APB1LLPENR TIM6LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5755. * APB1LLPENR TIM7LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5756. * APB1LLPENR TIM12LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5757. * APB1LLPENR TIM13LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5758. * APB1LLPENR TIM14LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5759. * APB1LLPENR LPTIM1LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5760. * APB1LLPENR WWDG2LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5761. * APB1LLPENR SPI2LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5762. * APB1LLPENR SPI3LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5763. * APB1LLPENR SPDIFRXLPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5764. * APB1LLPENR USART2LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5765. * APB1LLPENR USART3LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5766. * APB1LLPENR UART4LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5767. * APB1LLPENR UART5LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5768. * APB1LLPENR I2C1LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5769. * APB1LLPENR I2C2LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5770. * APB1LLPENR I2C3LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5771. * APB1LLPENR CECLPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5772. * APB1LLPENR DAC12LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5773. * APB1LLPENR UART7LPEN LL_C2_APB1_GRP1_EnableClockSleep\n
  5774. * APB1LLPENR UART8LPEN LL_C2_APB1_GRP1_EnableClockSleep
  5775. * @param Periphs This parameter can be a combination of the following values:
  5776. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  5777. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  5778. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  5779. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  5780. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  5781. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  5782. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  5783. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  5784. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  5785. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  5786. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2
  5787. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  5788. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  5789. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  5790. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  5791. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  5792. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  5793. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  5794. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  5795. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  5796. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  5797. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  5798. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  5799. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  5800. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  5801. * @retval None
  5802. */
  5803. __STATIC_INLINE void LL_C2_APB1_GRP1_EnableClockSleep(uint32_t Periphs)
  5804. {
  5805. __IO uint32_t tmpreg;
  5806. SET_BIT(RCC_C2->APB1LLPENR, Periphs);
  5807. /* Delay after an RCC peripheral clock enabling */
  5808. tmpreg = READ_BIT(RCC_C2->APB1LLPENR, Periphs);
  5809. (void)tmpreg;
  5810. }
  5811. /**
  5812. * @brief Disable C2 APB1 peripherals clock during Low Power (Sleep) mode.
  5813. * @rmtoll APB1LLPENR TIM2LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5814. * APB1LLPENR TIM3LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5815. * APB1LLPENR TIM4LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5816. * APB1LLPENR TIM5LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5817. * APB1LLPENR TIM6LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5818. * APB1LLPENR TIM7LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5819. * APB1LLPENR TIM12LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5820. * APB1LLPENR TIM13LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5821. * APB1LLPENR TIM14LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5822. * APB1LLPENR LPTIM1LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5823. * APB1LLPENR WWDG2LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5824. * APB1LLPENR SPI2LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5825. * APB1LLPENR SPI3LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5826. * APB1LLPENR SPDIFRXLPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5827. * APB1LLPENR USART2LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5828. * APB1LLPENR USART3LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5829. * APB1LLPENR UART4LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5830. * APB1LLPENR UART5LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5831. * APB1LLPENR I2C1LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5832. * APB1LLPENR I2C2LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5833. * APB1LLPENR I2C3LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5834. * APB1LLPENR CECLPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5835. * APB1LLPENR DAC12LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5836. * APB1LLPENR UART7LPEN LL_C2_APB1_GRP1_DisableClockSleep\n
  5837. * APB1LLPENR UART8LPEN LL_C2_APB1_GRP1_DisableClockSleep
  5838. * @param Periphs This parameter can be a combination of the following values:
  5839. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  5840. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  5841. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  5842. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  5843. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  5844. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  5845. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  5846. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  5847. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  5848. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  5849. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG2
  5850. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  5851. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  5852. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
  5853. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  5854. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  5855. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  5856. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  5857. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  5858. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  5859. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  5860. * @arg @ref LL_APB1_GRP1_PERIPH_CEC
  5861. * @arg @ref LL_APB1_GRP1_PERIPH_DAC12
  5862. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  5863. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  5864. * @retval None
  5865. */
  5866. __STATIC_INLINE void LL_C2_APB1_GRP1_DisableClockSleep(uint32_t Periphs)
  5867. {
  5868. CLEAR_BIT(RCC_C2->APB1LLPENR, Periphs);
  5869. }
  5870. /**
  5871. * @brief Enable C2 APB1 peripherals clock.
  5872. * @rmtoll APB1HENR CRSEN LL_C2_APB1_GRP2_EnableClock\n
  5873. * APB1HENR SWPMIEN LL_C2_APB1_GRP2_EnableClock\n
  5874. * APB1HENR OPAMPEN LL_C2_APB1_GRP2_EnableClock\n
  5875. * APB1HENR MDIOSEN LL_C2_APB1_GRP2_EnableClock\n
  5876. * APB1HENR FDCANEN LL_C2_APB1_GRP2_EnableClock
  5877. * @param Periphs This parameter can be a combination of the following values:
  5878. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  5879. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  5880. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  5881. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  5882. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  5883. * @retval None
  5884. */
  5885. __STATIC_INLINE void LL_C2_APB1_GRP2_EnableClock(uint32_t Periphs)
  5886. {
  5887. __IO uint32_t tmpreg;
  5888. SET_BIT(RCC_C2->APB1HENR, Periphs);
  5889. /* Delay after an RCC peripheral clock enabling */
  5890. tmpreg = READ_BIT(RCC_C2->APB1HENR, Periphs);
  5891. (void)tmpreg;
  5892. }
  5893. /**
  5894. * @brief Check if C2 APB1 peripheral clock is enabled or not
  5895. * @rmtoll APB1HENR CRSEN LL_C2_APB1_GRP2_IsEnabledClock\n
  5896. * APB1HENR SWPMIEN LL_C2_APB1_GRP2_IsEnabledClock\n
  5897. * APB1HENR OPAMPEN LL_C2_APB1_GRP2_IsEnabledClock\n
  5898. * APB1HENR MDIOSEN LL_C2_APB1_GRP2_IsEnabledClock\n
  5899. * APB1HENR FDCANEN LL_C2_APB1_GRP2_IsEnabledClock
  5900. * @param Periphs This parameter can be a combination of the following values:
  5901. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  5902. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  5903. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  5904. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  5905. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  5906. * @retval uint32_t
  5907. */
  5908. __STATIC_INLINE uint32_t LL_C2_APB1_GRP2_IsEnabledClock(uint32_t Periphs)
  5909. {
  5910. return ((READ_BIT(RCC_C2->APB1HENR, Periphs) == Periphs)?1U:0U);
  5911. }
  5912. /**
  5913. * @brief Disable C2 APB1 peripherals clock.
  5914. * @rmtoll APB1HENR CRSEN LL_C2_APB1_GRP2_DisableClock\n
  5915. * APB1HENR SWPMIEN LL_C2_APB1_GRP2_DisableClock\n
  5916. * APB1HENR OPAMPEN LL_C2_APB1_GRP2_DisableClock\n
  5917. * APB1HENR MDIOSEN LL_C2_APB1_GRP2_DisableClock\n
  5918. * APB1HENR FDCANEN LL_C2_APB1_GRP2_DisableClock
  5919. * @param Periphs This parameter can be a combination of the following values:
  5920. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  5921. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  5922. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  5923. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  5924. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  5925. * @retval None
  5926. */
  5927. __STATIC_INLINE void LL_C2_APB1_GRP2_DisableClock(uint32_t Periphs)
  5928. {
  5929. CLEAR_BIT(RCC_C2->APB1HENR, Periphs);
  5930. }
  5931. /**
  5932. * @brief Enable C2 APB1 peripherals clock during Low Power (Sleep) mode.
  5933. * @rmtoll APB1HLPENR CRSLPEN LL_C2_APB1_GRP2_EnableClockSleep\n
  5934. * APB1HLPENR SWPMILPEN LL_C2_APB1_GRP2_EnableClockSleep\n
  5935. * APB1HLPENR OPAMPLPEN LL_C2_APB1_GRP2_EnableClockSleep\n
  5936. * APB1HLPENR MDIOSLPEN LL_C2_APB1_GRP2_EnableClockSleep\n
  5937. * APB1HLPENR FDCANLPEN LL_C2_APB1_GRP2_EnableClockSleep
  5938. * @param Periphs This parameter can be a combination of the following values:
  5939. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  5940. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  5941. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  5942. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  5943. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  5944. * @retval None
  5945. */
  5946. __STATIC_INLINE void LL_C2_APB1_GRP2_EnableClockSleep(uint32_t Periphs)
  5947. {
  5948. __IO uint32_t tmpreg;
  5949. SET_BIT(RCC_C2->APB1HLPENR, Periphs);
  5950. /* Delay after an RCC peripheral clock enabling */
  5951. tmpreg = READ_BIT(RCC_C2->APB1HLPENR, Periphs);
  5952. (void)tmpreg;
  5953. }
  5954. /**
  5955. * @brief Disable C2 APB1 peripherals clock during Low Power (Sleep) mode.
  5956. * @rmtoll APB1HLPENR CRSLPEN LL_C2_APB1_GRP2_DisableClockSleep\n
  5957. * APB1HLPENR SWPMILPEN LL_C2_APB1_GRP2_DisableClockSleep\n
  5958. * APB1HLPENR OPAMPLPEN LL_C2_APB1_GRP2_DisableClockSleep\n
  5959. * APB1HLPENR MDIOSLPEN LL_C2_APB1_GRP2_DisableClockSleep\n
  5960. * APB1HLPENR FDCANLPEN LL_C2_APB1_GRP2_DisableClockSleep
  5961. * @param Periphs This parameter can be a combination of the following values:
  5962. * @arg @ref LL_APB1_GRP2_PERIPH_CRS
  5963. * @arg @ref LL_APB1_GRP2_PERIPH_SWPMI1
  5964. * @arg @ref LL_APB1_GRP2_PERIPH_OPAMP
  5965. * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
  5966. * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
  5967. * @retval None
  5968. */
  5969. __STATIC_INLINE void LL_C2_APB1_GRP2_DisableClockSleep(uint32_t Periphs)
  5970. {
  5971. CLEAR_BIT(RCC_C2->APB1HLPENR, Periphs);
  5972. }
  5973. /**
  5974. * @}
  5975. */
  5976. /** @defgroup BUS_LL_EF_APB2 APB2
  5977. * @{
  5978. */
  5979. /**
  5980. * @brief Enable C2 APB2 peripherals clock.
  5981. * @rmtoll APB2ENR TIM1EN LL_C2_APB2_GRP1_EnableClock\n
  5982. * APB2ENR TIM8EN LL_C2_APB2_GRP1_EnableClock\n
  5983. * APB2ENR USART1EN LL_C2_APB2_GRP1_EnableClock\n
  5984. * APB2ENR USART6EN LL_C2_APB2_GRP1_EnableClock\n
  5985. * APB2ENR SPI1EN LL_C2_APB2_GRP1_EnableClock\n
  5986. * APB2ENR SPI4EN LL_C2_APB2_GRP1_EnableClock\n
  5987. * APB2ENR TIM15EN LL_C2_APB2_GRP1_EnableClock\n
  5988. * APB2ENR TIM16EN LL_C2_APB2_GRP1_EnableClock\n
  5989. * APB2ENR TIM17EN LL_C2_APB2_GRP1_EnableClock\n
  5990. * APB2ENR SPI5EN LL_C2_APB2_GRP1_EnableClock\n
  5991. * APB2ENR SAI1EN LL_C2_APB2_GRP1_EnableClock\n
  5992. * APB2ENR SAI2EN LL_C2_APB2_GRP1_EnableClock\n
  5993. * APB2ENR SAI3EN LL_C2_APB2_GRP1_EnableClock\n
  5994. * APB2ENR DFSDM1EN LL_C2_APB2_GRP1_EnableClock\n
  5995. * APB2ENR HRTIMEN LL_C2_APB2_GRP1_EnableClock
  5996. * @param Periphs This parameter can be a combination of the following values:
  5997. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  5998. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  5999. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  6000. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  6001. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  6002. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  6003. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  6004. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  6005. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  6006. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  6007. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  6008. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  6009. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3
  6010. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  6011. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM
  6012. * @retval None
  6013. */
  6014. __STATIC_INLINE void LL_C2_APB2_GRP1_EnableClock(uint32_t Periphs)
  6015. {
  6016. __IO uint32_t tmpreg;
  6017. SET_BIT(RCC_C2->APB2ENR, Periphs);
  6018. /* Delay after an RCC peripheral clock enabling */
  6019. tmpreg = READ_BIT(RCC_C2->APB2ENR, Periphs);
  6020. (void)tmpreg;
  6021. }
  6022. /**
  6023. * @brief Check if C2 APB2 peripheral clock is enabled or not
  6024. * @rmtoll APB2ENR TIM1EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6025. * APB2ENR TIM8EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6026. * APB2ENR USART1EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6027. * APB2ENR USART6EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6028. * APB2ENR SPI1EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6029. * APB2ENR SPI4EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6030. * APB2ENR TIM15EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6031. * APB2ENR TIM16EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6032. * APB2ENR TIM17EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6033. * APB2ENR SPI5EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6034. * APB2ENR SAI1EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6035. * APB2ENR SAI2EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6036. * APB2ENR SAI3EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6037. * APB2ENR DFSDM1EN LL_C2_APB2_GRP1_IsEnabledClock\n
  6038. * APB2ENR HRTIMEN LL_C2_APB2_GRP1_IsEnabledClock
  6039. * @param Periphs This parameter can be a combination of the following values:
  6040. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  6041. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  6042. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  6043. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  6044. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  6045. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  6046. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  6047. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  6048. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  6049. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  6050. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  6051. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  6052. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3
  6053. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  6054. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM
  6055. * @retval uint32_t
  6056. */
  6057. __STATIC_INLINE uint32_t LL_C2_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
  6058. {
  6059. return ((READ_BIT(RCC_C2->APB2ENR, Periphs) == Periphs)?1U:0U);
  6060. }
  6061. /**
  6062. * @brief Disable C2 APB2 peripherals clock.
  6063. * @rmtoll APB2ENR TIM1EN LL_C2_APB2_GRP1_DisableClock\n
  6064. * APB2ENR TIM8EN LL_C2_APB2_GRP1_DisableClock\n
  6065. * APB2ENR USART1EN LL_C2_APB2_GRP1_DisableClock\n
  6066. * APB2ENR USART6EN LL_C2_APB2_GRP1_DisableClock\n
  6067. * APB2ENR SPI1EN LL_C2_APB2_GRP1_DisableClock\n
  6068. * APB2ENR SPI4EN LL_C2_APB2_GRP1_DisableClock\n
  6069. * APB2ENR TIM15EN LL_C2_APB2_GRP1_DisableClock\n
  6070. * APB2ENR TIM16EN LL_C2_APB2_GRP1_DisableClock\n
  6071. * APB2ENR TIM17EN LL_C2_APB2_GRP1_DisableClock\n
  6072. * APB2ENR SPI5EN LL_C2_APB2_GRP1_DisableClock\n
  6073. * APB2ENR SAI1EN LL_C2_APB2_GRP1_DisableClock\n
  6074. * APB2ENR SAI2EN LL_C2_APB2_GRP1_DisableClock\n
  6075. * APB2ENR SAI3EN LL_C2_APB2_GRP1_DisableClock\n
  6076. * APB2ENR DFSDM1EN LL_C2_APB2_GRP1_DisableClock\n
  6077. * APB2ENR HRTIMEN LL_C2_APB2_GRP1_DisableClock
  6078. * @param Periphs This parameter can be a combination of the following values:
  6079. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  6080. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  6081. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  6082. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  6083. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  6084. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  6085. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  6086. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  6087. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  6088. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  6089. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  6090. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  6091. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3
  6092. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  6093. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM
  6094. * @retval None
  6095. */
  6096. __STATIC_INLINE void LL_C2_APB2_GRP1_DisableClock(uint32_t Periphs)
  6097. {
  6098. CLEAR_BIT(RCC_C2->APB2ENR, Periphs);
  6099. }
  6100. /**
  6101. * @brief Enable C2 APB2 peripherals clock during Low Power (Sleep) mode.
  6102. * @rmtoll APB2LPENR TIM1LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6103. * APB2LPENR TIM8LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6104. * APB2LPENR USART1LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6105. * APB2LPENR USART6LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6106. * APB2LPENR SPI1LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6107. * APB2LPENR SPI4LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6108. * APB2LPENR TIM15LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6109. * APB2LPENR TIM16LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6110. * APB2LPENR TIM17LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6111. * APB2LPENR SPI5LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6112. * APB2LPENR SAI1LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6113. * APB2LPENR SAI2LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6114. * APB2LPENR SAI3LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6115. * APB2LPENR DFSDM1LPEN LL_C2_APB2_GRP1_EnableClockSleep\n
  6116. * APB2LPENR HRTIMLPEN LL_C2_APB2_GRP1_EnableClockSleep
  6117. * @param Periphs This parameter can be a combination of the following values:
  6118. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  6119. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  6120. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  6121. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  6122. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  6123. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  6124. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  6125. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  6126. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  6127. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  6128. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  6129. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  6130. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3
  6131. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  6132. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM
  6133. * @retval None
  6134. */
  6135. __STATIC_INLINE void LL_C2_APB2_GRP1_EnableClockSleep(uint32_t Periphs)
  6136. {
  6137. __IO uint32_t tmpreg;
  6138. SET_BIT(RCC_C2->APB2LPENR, Periphs);
  6139. /* Delay after an RCC peripheral clock enabling */
  6140. tmpreg = READ_BIT(RCC_C2->APB2LPENR, Periphs);
  6141. (void)tmpreg;
  6142. }
  6143. /**
  6144. * @brief Disable C2 APB2 peripherals clock during Low Power (Sleep) mode.
  6145. * @rmtoll APB2LPENR TIM1LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6146. * APB2LPENR TIM8LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6147. * APB2LPENR USART1LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6148. * APB2LPENR USART6LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6149. * APB2LPENR SPI1LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6150. * APB2LPENR SPI4LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6151. * APB2LPENR TIM15LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6152. * APB2LPENR TIM16LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6153. * APB2LPENR TIM17LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6154. * APB2LPENR SPI5LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6155. * APB2LPENR SAI1LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6156. * APB2LPENR SAI2LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6157. * APB2LPENR SAI3LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6158. * APB2LPENR DFSDM1LPEN LL_C2_APB2_GRP1_DisableClockSleep\n
  6159. * APB2LPENR HRTIMLPEN LL_C2_APB2_GRP1_DisableClockSleep
  6160. * @param Periphs This parameter can be a combination of the following values:
  6161. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  6162. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  6163. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  6164. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  6165. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  6166. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  6167. * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
  6168. * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
  6169. * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
  6170. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  6171. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  6172. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  6173. * @arg @ref LL_APB2_GRP1_PERIPH_SAI3
  6174. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1
  6175. * @arg @ref LL_APB2_GRP1_PERIPH_HRTIM
  6176. * @retval None
  6177. */
  6178. __STATIC_INLINE void LL_C2_APB2_GRP1_DisableClockSleep(uint32_t Periphs)
  6179. {
  6180. CLEAR_BIT(RCC_C2->APB2LPENR, Periphs);
  6181. }
  6182. /**
  6183. * @}
  6184. */
  6185. /** @defgroup BUS_LL_EF_APB4 APB4
  6186. * @{
  6187. */
  6188. /**
  6189. * @brief Enable C2 APB4 peripherals clock.
  6190. * @rmtoll APB4ENR SYSCFGEN LL_C2_APB4_GRP1_EnableClock\n
  6191. * APB4ENR LPUART1EN LL_C2_APB4_GRP1_EnableClock\n
  6192. * APB4ENR SPI6EN LL_C2_APB4_GRP1_EnableClock\n
  6193. * APB4ENR I2C4EN LL_C2_APB4_GRP1_EnableClock\n
  6194. * APB4ENR LPTIM2EN LL_C2_APB4_GRP1_EnableClock\n
  6195. * APB4ENR LPTIM3EN LL_C2_APB4_GRP1_EnableClock\n
  6196. * APB4ENR LPTIM4EN LL_C2_APB4_GRP1_EnableClock\n
  6197. * APB4ENR LPTIM5EN LL_C2_APB4_GRP1_EnableClock\n
  6198. * APB4ENR COMP12EN LL_C2_APB4_GRP1_EnableClock\n
  6199. * APB4ENR VREFEN LL_C2_APB4_GRP1_EnableClock\n
  6200. * APB4ENR RTCAPBEN LL_C2_APB4_GRP1_EnableClock\n
  6201. * APB4ENR SAI4EN LL_C2_APB4_GRP1_EnableClock
  6202. * @param Periphs This parameter can be a combination of the following values:
  6203. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  6204. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  6205. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  6206. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  6207. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  6208. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  6209. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
  6210. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
  6211. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  6212. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  6213. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  6214. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4
  6215. * @retval None
  6216. */
  6217. __STATIC_INLINE void LL_C2_APB4_GRP1_EnableClock(uint32_t Periphs)
  6218. {
  6219. __IO uint32_t tmpreg;
  6220. SET_BIT(RCC_C2->APB4ENR, Periphs);
  6221. /* Delay after an RCC peripheral clock enabling */
  6222. tmpreg = READ_BIT(RCC_C2->APB4ENR, Periphs);
  6223. (void)tmpreg;
  6224. }
  6225. /**
  6226. * @brief Check if C2 APB4 peripheral clock is enabled or not
  6227. * @rmtoll APB4ENR SYSCFGEN LL_C2_APB4_GRP1_IsEnabledClock\n
  6228. * APB4ENR LPUART1EN LL_C2_APB4_GRP1_IsEnabledClock\n
  6229. * APB4ENR SPI6EN LL_C2_APB4_GRP1_IsEnabledClock\n
  6230. * APB4ENR I2C4EN LL_C2_APB4_GRP1_IsEnabledClock\n
  6231. * APB4ENR LPTIM2EN LL_C2_APB4_GRP1_IsEnabledClock\n
  6232. * APB4ENR LPTIM3EN LL_C2_APB4_GRP1_IsEnabledClock\n
  6233. * APB4ENR LPTIM4EN LL_C2_APB4_GRP1_IsEnabledClock\n
  6234. * APB4ENR LPTIM5EN LL_C2_APB4_GRP1_IsEnabledClock\n
  6235. * APB4ENR COMP12EN LL_C2_APB4_GRP1_IsEnabledClock\n
  6236. * APB4ENR VREFEN LL_C2_APB4_GRP1_IsEnabledClock\n
  6237. * APB4ENR RTCAPBEN LL_C2_APB4_GRP1_IsEnabledClock\n
  6238. * APB4ENR SAI4EN LL_C2_APB4_GRP1_IsEnabledClock
  6239. * @param Periphs This parameter can be a combination of the following values:
  6240. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  6241. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  6242. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  6243. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  6244. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  6245. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  6246. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
  6247. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
  6248. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  6249. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  6250. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  6251. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4
  6252. * @retval uint32_t
  6253. */
  6254. __STATIC_INLINE uint32_t LL_C2_APB4_GRP1_IsEnabledClock(uint32_t Periphs)
  6255. {
  6256. return ((READ_BIT(RCC_C2->APB4ENR, Periphs) == Periphs)?1U:0U);
  6257. }
  6258. /**
  6259. * @brief Disable C2 APB4 peripherals clock.
  6260. * @rmtoll APB4ENR SYSCFGEN LL_C2_APB4_GRP1_DisableClock\n
  6261. * APB4ENR LPUART1EN LL_C2_APB4_GRP1_DisableClock\n
  6262. * APB4ENR SPI6EN LL_C2_APB4_GRP1_DisableClock\n
  6263. * APB4ENR I2C4EN LL_C2_APB4_GRP1_DisableClock\n
  6264. * APB4ENR LPTIM2EN LL_C2_APB4_GRP1_DisableClock\n
  6265. * APB4ENR LPTIM3EN LL_C2_APB4_GRP1_DisableClock\n
  6266. * APB4ENR LPTIM4EN LL_C2_APB4_GRP1_DisableClock\n
  6267. * APB4ENR LPTIM5EN LL_C2_APB4_GRP1_DisableClock\n
  6268. * APB4ENR COMP12EN LL_C2_APB4_GRP1_DisableClock\n
  6269. * APB4ENR VREFEN LL_C2_APB4_GRP1_DisableClock\n
  6270. * APB4ENR RTCAPBEN LL_C2_APB4_GRP1_DisableClock\n
  6271. * APB4ENR SAI4EN LL_C2_APB4_GRP1_DisableClock
  6272. * @param Periphs This parameter can be a combination of the following values:
  6273. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  6274. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  6275. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  6276. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  6277. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  6278. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  6279. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
  6280. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
  6281. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  6282. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  6283. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  6284. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4
  6285. * @retval None
  6286. */
  6287. __STATIC_INLINE void LL_C2_APB4_GRP1_DisableClock(uint32_t Periphs)
  6288. {
  6289. CLEAR_BIT(RCC_C2->APB4ENR, Periphs);
  6290. }
  6291. /**
  6292. * @brief Enable C2 APB4 peripherals clock during Low Power (Sleep) mode.
  6293. * @rmtoll APB4LPENR SYSCFGLPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6294. * APB4LPENR LPUART1LPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6295. * APB4LPENR SPI6LPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6296. * APB4LPENR I2C4LPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6297. * APB4LPENR LPTIM2LPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6298. * APB4LPENR LPTIM3LPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6299. * APB4LPENR LPTIM4LPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6300. * APB4LPENR LPTIM5LPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6301. * APB4LPENR COMP12LPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6302. * APB4LPENR VREFLPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6303. * APB4LPENR RTCAPBLPEN LL_C2_APB4_GRP1_EnableClockSleep\n
  6304. * APB4LPENR SAI4LPEN LL_C2_APB4_GRP1_EnableClockSleep
  6305. * @param Periphs This parameter can be a combination of the following values:
  6306. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  6307. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  6308. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  6309. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  6310. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  6311. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  6312. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
  6313. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
  6314. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  6315. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  6316. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  6317. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4
  6318. * @retval None
  6319. */
  6320. __STATIC_INLINE void LL_C2_APB4_GRP1_EnableClockSleep(uint32_t Periphs)
  6321. {
  6322. __IO uint32_t tmpreg;
  6323. SET_BIT(RCC_C2->APB4LPENR, Periphs);
  6324. /* Delay after an RCC peripheral clock enabling */
  6325. tmpreg = READ_BIT(RCC_C2->APB4LPENR, Periphs);
  6326. (void)tmpreg;
  6327. }
  6328. /**
  6329. * @brief Disable C2 APB4 peripherals clock during Low Power (Sleep) mode.
  6330. * @rmtoll APB4LPENR SYSCFGLPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6331. * APB4LPENR LPUART1LPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6332. * APB4LPENR SPI6LPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6333. * APB4LPENR I2C4LPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6334. * APB4LPENR LPTIM2LPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6335. * APB4LPENR LPTIM3LPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6336. * APB4LPENR LPTIM4LPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6337. * APB4LPENR LPTIM5LPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6338. * APB4LPENR COMP12LPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6339. * APB4LPENR VREFLPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6340. * APB4LPENR RTCAPBLPEN LL_C2_APB4_GRP1_DisableClockSleep\n
  6341. * APB4LPENR SAI4LPEN LL_C2_APB4_GRP1_DisableClockSleep
  6342. * @param Periphs This parameter can be a combination of the following values:
  6343. * @arg @ref LL_APB4_GRP1_PERIPH_SYSCFG
  6344. * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
  6345. * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
  6346. * @arg @ref LL_APB4_GRP1_PERIPH_I2C4
  6347. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
  6348. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
  6349. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
  6350. * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
  6351. * @arg @ref LL_APB4_GRP1_PERIPH_COMP12
  6352. * @arg @ref LL_APB4_GRP1_PERIPH_VREF
  6353. * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
  6354. * @arg @ref LL_APB4_GRP1_PERIPH_SAI4
  6355. * @retval None
  6356. */
  6357. __STATIC_INLINE void LL_C2_APB4_GRP1_DisableClockSleep(uint32_t Periphs)
  6358. {
  6359. CLEAR_BIT(RCC_C2->APB4LPENR, Periphs);
  6360. }
  6361. /**
  6362. * @}
  6363. */
  6364. #endif /*DUAL_CORE*/
  6365. /**
  6366. * @}
  6367. */
  6368. /**
  6369. * @}
  6370. */
  6371. #endif /* defined(RCC) */
  6372. /**
  6373. * @}
  6374. */
  6375. #ifdef __cplusplus
  6376. }
  6377. #endif
  6378. #endif /* STM32H7xx_LL_BUS_H */
  6379. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/