STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
stm32h7xx_ll_bus.h
Go to the documentation of this file.
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
40extern "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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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*/
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
#define __STATIC_INLINE
Definition cmsis_armcc.h:64
#define __IO
Defines 'read / write' permissions.
#define CLEAR_BIT(REG, BIT)
Definition stm32h7xx.h:209
#define SET_BIT(REG, BIT)
Definition stm32h7xx.h:207
#define READ_BIT(REG, BIT)
Definition stm32h7xx.h:211
#define RCC
CMSIS STM32H7xx Device Peripheral Access Layer Header File.