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