1 /**
2 ******************************************************************************
3 * @file stm32h7rsxx_ll_bus.h
4 * @author MCD Application Team
5 * @brief Header file of BUS LL module.
6 *
7 ******************************************************************************
8 * @attention
9 *
10 * Copyright (c) 2022 STMicroelectronics.
11 * All rights reserved.
12 *
13 * This software is licensed under terms that can be found in the LICENSE file
14 * in the root directory of this software component.
15 * If no LICENSE file comes with this software, it is provided AS-IS.
16 *
17 ******************************************************************************
18 @verbatim
19 ##### RCC Limitations #####
20 ==============================================================================
21 [..]
22 A delay between an RCC peripheral clock enable and the effective peripheral
23 enabling should be taken into account in order to manage the peripheral read/write
24 from/to registers.
25 (+) This delay depends on the peripheral mapping.
26 (++) AHB & APB peripherals, 1 dummy read is necessary
27
28 [..]
29 Workarounds:
30 (#) For AHB & APB peripherals, a dummy read to the peripheral register has been
31 inserted in each LL_{BUS}_GRP{x}_EnableClock() function.
32
33 @endverbatim
34 */
35
36 /* Define to prevent recursive inclusion -------------------------------------*/
37 #ifndef STM32H7RSxx_LL_BUS_H
38 #define STM32H7RSxx_LL_BUS_H
39
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43
44 /* Includes ------------------------------------------------------------------*/
45 #include "stm32h7rsxx.h"
46
47 /** @addtogroup STM32H7RSxx_LL_Driver
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_AHB1_GRP1_PERIPH AHB1 GRP1 PERIPH
70 * @{
71 */
72 #define LL_AHB1_GRP1_PERIPH_GPDMA1 RCC_AHB1ENR_GPDMA1EN
73 #define LL_AHB1_GRP1_PERIPH_ADC12 RCC_AHB1ENR_ADC12EN
74 #define LL_AHB1_GRP1_PERIPH_ETH1MAC RCC_AHB1ENR_ETH1MACEN
75 #define LL_AHB1_GRP1_PERIPH_ETH1TX RCC_AHB1ENR_ETH1TXEN
76 #define LL_AHB1_GRP1_PERIPH_ETH1RX RCC_AHB1ENR_ETH1RXEN
77 #define LL_AHB1_GRP1_PERIPH_USBOTGHS RCC_AHB1ENR_OTGHSEN
78 #define LL_AHB1_GRP1_PERIPH_USBOTGFS RCC_AHB1ENR_OTGFSEN
79 #define LL_AHB1_GRP1_PERIPH_USBPHYC RCC_AHB1ENR_USBPHYCEN
80 #define LL_AHB1_GRP1_PERIPH_ADF1 RCC_AHB1ENR_ADF1EN
81 /**
82 * @}
83 */
84
85 /** @defgroup BUS_LL_EC_AHB2_GRP1_PERIPH AHB2 GRP1 PERIPH
86 * @{
87 */
88 #define LL_AHB2_GRP1_PERIPH_PSSI RCC_AHB2ENR_PSSIEN
89 #define LL_AHB2_GRP1_PERIPH_SDMMC2 RCC_AHB2ENR_SDMMC2EN
90 #define LL_AHB2_GRP1_PERIPH_CORDIC RCC_AHB2ENR_CORDICEN
91 #define LL_AHB2_GRP1_PERIPH_AHBSRAM1 RCC_AHB2ENR_SRAM1EN
92 #define LL_AHB2_GRP1_PERIPH_AHBSRAM2 RCC_AHB2ENR_SRAM2EN
93 /**
94 * @}
95 */
96
97 /** @defgroup BUS_LL_EC_AHB3_GRP1_PERIPH AHB3 GRP1 PERIPH
98 * @{
99 */
100 #define LL_AHB3_GRP1_PERIPH_RNG RCC_AHB3ENR_RNGEN
101 #define LL_AHB3_GRP1_PERIPH_HASH RCC_AHB3ENR_HASHEN
102 #if defined(CRYP)
103 #define LL_AHB3_GRP1_PERIPH_CRYP RCC_AHB3ENR_CRYPEN
104 #endif /* CRYP */
105 #if defined(SAES)
106 #define LL_AHB3_GRP1_PERIPH_SAES RCC_AHB3ENR_SAESEN
107 #endif /* SAES */
108 #define LL_AHB3_GRP1_PERIPH_PKA RCC_AHB3ENR_PKAEN
109 /**
110 * @}
111 */
112
113 /** @defgroup BUS_LL_EC_AHB4_GRP1_PERIPH AHB4 GRP1 PERIPH
114 * @{
115 */
116 #define LL_AHB4_GRP1_PERIPH_GPIOA RCC_AHB4ENR_GPIOAEN
117 #define LL_AHB4_GRP1_PERIPH_GPIOB RCC_AHB4ENR_GPIOBEN
118 #define LL_AHB4_GRP1_PERIPH_GPIOC RCC_AHB4ENR_GPIOCEN
119 #define LL_AHB4_GRP1_PERIPH_GPIOD RCC_AHB4ENR_GPIODEN
120 #define LL_AHB4_GRP1_PERIPH_GPIOE RCC_AHB4ENR_GPIOEEN
121 #define LL_AHB4_GRP1_PERIPH_GPIOF RCC_AHB4ENR_GPIOFEN
122 #define LL_AHB4_GRP1_PERIPH_GPIOG RCC_AHB4ENR_GPIOGEN
123 #define LL_AHB4_GRP1_PERIPH_GPIOH RCC_AHB4ENR_GPIOHEN
124 #define LL_AHB4_GRP1_PERIPH_GPIOM RCC_AHB4ENR_GPIOMEN
125 #define LL_AHB4_GRP1_PERIPH_GPION RCC_AHB4ENR_GPIONEN
126 #define LL_AHB4_GRP1_PERIPH_GPIOO RCC_AHB4ENR_GPIOOEN
127 #define LL_AHB4_GRP1_PERIPH_GPIOP RCC_AHB4ENR_GPIOPEN
128 #define LL_AHB4_GRP1_PERIPH_CRC RCC_AHB4ENR_CRCEN
129 #define LL_AHB4_GRP1_PERIPH_BKPRAM RCC_AHB4ENR_BKPRAMEN
130 /**
131 * @}
132 */
133
134 /** @defgroup BUS_LL_EC_AHB5_GRP1_PERIPH AHB5 GRP1 PERIPH
135 * @{
136 */
137 #define LL_AHB5_GRP1_PERIPH_HPDMA1 RCC_AHB5ENR_HPDMA1EN
138 #define LL_AHB5_GRP1_PERIPH_DMA2D RCC_AHB5ENR_DMA2DEN
139 #define LL_AHB5_GRP1_PERIPH_JPEG RCC_AHB5ENR_JPEGEN
140 #define LL_AHB5_GRP1_PERIPH_FMC RCC_AHB5ENR_FMCEN
141 #define LL_AHB5_GRP1_PERIPH_XSPI1 RCC_AHB5ENR_XSPI1EN
142 #define LL_AHB5_GRP1_PERIPH_XSPI2 RCC_AHB5ENR_XSPI2EN
143 #define LL_AHB5_GRP1_PERIPH_XSPIM RCC_AHB5ENR_XSPIMEN
144 #define LL_AHB5_GRP1_PERIPH_SDMMC1 RCC_AHB5ENR_SDMMC1EN
145 #define LL_AHB5_GRP1_PERIPH_GFXMMU RCC_AHB5ENR_GFXMMUEN
146 #if defined(GPU2D)
147 #define LL_AHB5_GRP1_PERIPH_GPU2D RCC_AHB5ENR_GPU2DEN
148 #endif /* GPU2D */
149
150 #define LL_AHB5_GRP1_PERIPH_FLASH RCC_AHB5LPENR_FLASHLPEN
151 #define LL_AHB5_GRP1_PERIPH_AXISRAM RCC_AHB5LPENR_AXISRAMLPEN
152 #define LL_AHB5_GRP1_PERIPH_DTCM1 RCC_AHB5LPENR_DTCM1LPEN
153 #define LL_AHB5_GRP1_PERIPH_DTCM2 RCC_AHB5LPENR_DTCM2LPEN
154 #define LL_AHB5_GRP1_PERIPH_ITCM RCC_AHB5LPENR_ITCMLPEN
155 /**
156 * @}
157 */
158
159 /** @defgroup BUS_LL_EC_APB1_GRP1_PERIPH APB1 GRP1 PERIPH
160 * @{
161 */
162 #define LL_APB1_GRP1_PERIPH_TIM2 RCC_APB1ENR1_TIM2EN
163 #define LL_APB1_GRP1_PERIPH_TIM3 RCC_APB1ENR1_TIM3EN
164 #define LL_APB1_GRP1_PERIPH_TIM4 RCC_APB1ENR1_TIM4EN
165 #define LL_APB1_GRP1_PERIPH_TIM5 RCC_APB1ENR1_TIM5EN
166 #define LL_APB1_GRP1_PERIPH_TIM6 RCC_APB1ENR1_TIM6EN
167 #define LL_APB1_GRP1_PERIPH_TIM7 RCC_APB1ENR1_TIM7EN
168 #define LL_APB1_GRP1_PERIPH_TIM12 RCC_APB1ENR1_TIM12EN
169 #define LL_APB1_GRP1_PERIPH_TIM13 RCC_APB1ENR1_TIM13EN
170 #define LL_APB1_GRP1_PERIPH_TIM14 RCC_APB1ENR1_TIM14EN
171 #define LL_APB1_GRP1_PERIPH_LPTIM1 RCC_APB1ENR1_LPTIM1EN
172 #define LL_APB1_GRP1_PERIPH_WWDG RCC_APB1ENR1_WWDGEN
173 #define LL_APB1_GRP1_PERIPH_SPI2 RCC_APB1ENR1_SPI2EN
174 #define LL_APB1_GRP1_PERIPH_SPI3 RCC_APB1ENR1_SPI3EN
175 #define LL_APB1_GRP1_PERIPH_SPDIFRX RCC_APB1ENR1_SPDIFRXEN
176 #define LL_APB1_GRP1_PERIPH_USART2 RCC_APB1ENR1_USART2EN
177 #define LL_APB1_GRP1_PERIPH_USART3 RCC_APB1ENR1_USART3EN
178 #define LL_APB1_GRP1_PERIPH_UART4 RCC_APB1ENR1_UART4EN
179 #define LL_APB1_GRP1_PERIPH_UART5 RCC_APB1ENR1_UART5EN
180 #define LL_APB1_GRP1_PERIPH_I2C1 RCC_APB1ENR1_I2C1_I3C1EN
181 #define LL_APB1_GRP1_PERIPH_I2C2 RCC_APB1ENR1_I2C2EN
182 #define LL_APB1_GRP1_PERIPH_I2C3 RCC_APB1ENR1_I2C3EN
183 #define LL_APB1_GRP1_PERIPH_I3C1 RCC_APB1ENR1_I2C1_I3C1EN
184 #define LL_APB1_GRP1_PERIPH_CEC RCC_APB1ENR1_CECEN
185 #define LL_APB1_GRP1_PERIPH_UART7 RCC_APB1ENR1_UART7EN
186 #define LL_APB1_GRP1_PERIPH_UART8 RCC_APB1ENR1_UART8EN
187 /**
188 * @}
189 */
190
191 /** @defgroup BUS_LL_EC_APB1_GRP2_PERIPH APB1 GRP2 PERIPH
192 * @{
193 */
194 #define LL_APB1_GRP2_PERIPH_CRS RCC_APB1ENR2_CRSEN
195 #define LL_APB1_GRP2_PERIPH_MDIOS RCC_APB1ENR2_MDIOSEN
196 #define LL_APB1_GRP2_PERIPH_FDCAN RCC_APB1ENR2_FDCANEN
197 #define LL_APB1_GRP2_PERIPH_UCPD1 RCC_APB1ENR2_UCPD1EN
198 /**
199 * @}
200 */
201
202 /** @defgroup BUS_LL_EC_APB2_GRP1_PERIPH APB2 GRP1 PERIPH
203 * @{
204 */
205 #define LL_APB2_GRP1_PERIPH_TIM1 RCC_APB2ENR_TIM1EN
206 #define LL_APB2_GRP1_PERIPH_USART1 RCC_APB2ENR_USART1EN
207 #define LL_APB2_GRP1_PERIPH_SPI1 RCC_APB2ENR_SPI1EN
208 #define LL_APB2_GRP1_PERIPH_SPI4 RCC_APB2ENR_SPI4EN
209 #define LL_APB2_GRP1_PERIPH_TIM15 RCC_APB2ENR_TIM15EN
210 #define LL_APB2_GRP1_PERIPH_TIM16 RCC_APB2ENR_TIM16EN
211 #define LL_APB2_GRP1_PERIPH_TIM17 RCC_APB2ENR_TIM17EN
212 #define LL_APB2_GRP1_PERIPH_TIM9 RCC_APB2ENR_TIM9EN
213 #define LL_APB2_GRP1_PERIPH_SPI5 RCC_APB2ENR_SPI5EN
214 #define LL_APB2_GRP1_PERIPH_SAI1 RCC_APB2ENR_SAI1EN
215 #define LL_APB2_GRP1_PERIPH_SAI2 RCC_APB2ENR_SAI2EN
216 /**
217 * @}
218 */
219
220 /** @defgroup BUS_LL_EC_APB4_GRP1_PERIPH APB4 GRP1 PERIPH
221 * @{
222 */
223 #define LL_APB4_GRP1_PERIPH_SBS RCC_APB4ENR_SBSEN
224 #define LL_APB4_GRP1_PERIPH_LPUART1 RCC_APB4ENR_LPUART1EN
225 #define LL_APB4_GRP1_PERIPH_SPI6 RCC_APB4ENR_SPI6EN
226 #define LL_APB4_GRP1_PERIPH_LPTIM2 RCC_APB4ENR_LPTIM2EN
227 #define LL_APB4_GRP1_PERIPH_LPTIM3 RCC_APB4ENR_LPTIM3EN
228 #define LL_APB4_GRP1_PERIPH_LPTIM4 RCC_APB4ENR_LPTIM4EN
229 #define LL_APB4_GRP1_PERIPH_LPTIM5 RCC_APB4ENR_LPTIM5EN
230 #define LL_APB4_GRP1_PERIPH_VREF RCC_APB4ENR_VREFEN
231 #define LL_APB4_GRP1_PERIPH_RTCAPB RCC_APB4ENR_RTCAPBEN
232 #define LL_APB4_GRP1_PERIPH_DTS RCC_APB4ENR_DTSEN
233 /**
234 * @}
235 */
236
237 /** @defgroup BUS_LL_EC_APB5_GRP1_PERIPH APB5 GRP1 PERIPH
238 * @{
239 */
240 #if defined(LTDC)
241 #define LL_APB5_GRP1_PERIPH_LTDC RCC_APB5ENR_LTDCEN
242 #endif /* LTDC */
243 #define LL_APB5_GRP1_PERIPH_DCMIPP RCC_APB5ENR_DCMIPPEN
244 #define LL_APB5_GRP1_PERIPH_GFXTIM RCC_APB5ENR_GFXTIMEN
245 /**
246 * @}
247 */
248
249 /** @defgroup BUS_LL_EC_CKGA_PERIPH CKGA (AXI Clocks Gating) PERIPH
250 * @{
251 */
252 #define LL_CKGA_PERIPH_AXI RCC_CKGDISR_AXICKG
253 #define LL_CKGA_PERIPH_AHBM RCC_CKGDISR_AHBMCKG
254 #define LL_CKGA_PERIPH_SDMMC1 RCC_CKGDISR_SDMMC1CKG
255 #define LL_CKGA_PERIPH_HPDMA1 RCC_CKGDISR_HPDMA1CKG
256 #define LL_CKGA_PERIPH_CPU RCC_CKGDISR_CPUCKG
257 #if defined(GPU2D)
258 #define LL_CKGA_PERIPH_GPU2DS1 RCC_CKGDISR_GPU2DS1CKG
259 #define LL_CKGA_PERIPH_GPU2DS0 RCC_CKGDISR_GPU2DS0CKG
260 #define LL_CKGA_PERIPH_GPU2DCL RCC_CKGDISR_GPU2DCLCKG
261 #endif /* GPU2D */
262 #define LL_CKGA_PERIPH_DCMIPP RCC_CKGDISR_DCMIPPCKG
263 #define LL_CKGA_PERIPH_DMA2D RCC_CKGDISR_DMA2DCKG
264 #define LL_CKGA_PERIPH_GFXMMUS RCC_CKGDISR_GFXMMUSCKG
265 #if defined(LTDC)
266 #define LL_CKGA_PERIPH_LTDC RCC_CKGDISR_LTDCCKG
267 #endif /* LTDC */
268 #define LL_CKGA_PERIPH_GFXMMUM RCC_CKGDISR_GFXMMUMCKG
269 #define LL_CKGA_PERIPH_AHBS RCC_CKGDISR_AHBSCKG
270 #define LL_CKGA_PERIPH_FMC RCC_CKGDISR_FMCCKG
271 #define LL_CKGA_PERIPH_XSPI1 RCC_CKGDISR_XSPI1CKG
272 #define LL_CKGA_PERIPH_XSPI2 RCC_CKGDISR_XSPI2CKG
273 #define LL_CKGA_PERIPH_AXIRAM1 RCC_CKGDISR_AXISRAM1CKG
274 #define LL_CKGA_PERIPH_AXIRAM2 RCC_CKGDISR_AXISRAM2CKG
275 #define LL_CKGA_PERIPH_AXIRAM3 RCC_CKGDISR_AXISRAM3CKG
276 #define LL_CKGA_PERIPH_AXIRAM4 RCC_CKGDISR_AXISRAM4CKG
277 #define LL_CKGA_PERIPH_FLASH RCC_CKGDISR_FLASHCKG
278 #define LL_CKGA_PERIPH_EXTI RCC_CKGDISR_EXTICKG
279 #define LL_CKGA_PERIPH_JTAG RCC_CKGDISR_JTAGCKG
280 /**
281 * @}
282 */
283
284 /**
285 * @}
286 */
287 /* Exported macro ------------------------------------------------------------*/
288
289 /* Exported functions --------------------------------------------------------*/
290
291 /** @defgroup BUS_LL_Exported_Functions BUS Exported Functions
292 * @{
293 */
294
295 /** @defgroup BUS_LL_EF_AHB1 AHB1
296 * @{
297 */
298
299 /**
300 * @brief Enable AHB1 peripherals clock.
301 * @rmtoll AHB1ENR GPDMA1EN LL_AHB1_GRP1_EnableClock\n
302 * AHB1ENR ADC12EN LL_AHB1_GRP1_EnableClock\n
303 * AHB1ENR ETH1MACEN LL_AHB1_GRP1_EnableClock\n
304 * AHB1ENR ETH1TXEN LL_AHB1_GRP1_EnableClock\n
305 * AHB1ENR ETH1RXEN LL_AHB1_GRP1_EnableClock\n
306 * AHB1ENR OTGFSEN LL_AHB1_GRP1_EnableClock\n
307 * AHB1ENR OTGHSEN LL_AHB1_GRP1_EnableClock\n
308 * AHB1ENR USBPHYCEN LL_AHB1_GRP1_EnableClock\n
309 * AHB1ENR ADF1EN LL_AHB1_GRP1_EnableClock
310 * @param Periphs This parameter can be a combination of the following values:
311 * @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
312 * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
313 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
314 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
315 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
316 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGHS
317 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGFS
318 * @arg @ref LL_AHB1_GRP1_PERIPH_USBPHYC
319 * @arg @ref LL_AHB1_GRP1_PERIPH_ADF1
320 * @retval None
321 */
LL_AHB1_GRP1_EnableClock(uint32_t Periphs)322 __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs)
323 {
324 __IO uint32_t tmpreg;
325 SET_BIT(RCC->AHB1ENR, Periphs);
326 /* Delay after an RCC peripheral clock enabling */
327 tmpreg = READ_BIT(RCC->AHB1ENR, Periphs);
328 (void)tmpreg;
329 }
330
331 /**
332 * @brief Check if AHB1 peripheral clock is enabled or not
333 * @rmtoll AHB1ENR GPDMA1EN LL_AHB1_GRP1_IsEnabledClock\n
334 * AHB1ENR ADC12EN LL_AHB1_GRP1_IsEnabledClock\n
335 * AHB1ENR ETH1MACEN LL_AHB1_GRP1_IsEnabledClock\n
336 * AHB1ENR ETH1TXEN LL_AHB1_GRP1_IsEnabledClock\n
337 * AHB1ENR ETH1RXEN LL_AHB1_GRP1_IsEnabledClock\n
338 * AHB1ENR OTGHSEN LL_AHB1_GRP1_IsEnabledClock\n
339 * AHB1ENR OTGFSEN LL_AHB1_GRP1_IsEnabledClock\n
340 * AHB1ENR USBPHYCEN LL_AHB1_GRP1_IsEnabledClock\n
341 * AHB1ENR ADF1EN LL_AHB1_GRP1_IsEnabledClock
342 * @param Periphs This parameter can be a combination of the following values:
343 * @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
344 * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
345 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
346 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
347 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
348 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGHS
349 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGFS
350 * @arg @ref LL_AHB1_GRP1_PERIPH_USBPHYC
351 * @arg @ref LL_AHB1_GRP1_PERIPH_ADF1
352 * @retval uint32_t
353 */
LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)354 __STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
355 {
356 return ((READ_BIT(RCC->AHB1ENR, Periphs) == Periphs) ? 1U : 0U);
357 }
358
359 /**
360 * @brief Disable AHB1 peripherals clock.
361 * @rmtoll AHB1ENR GPDMA1EN LL_AHB1_GRP1_DisableClock\n
362 * AHB1ENR ADC12EN LL_AHB1_GRP1_DisableClock\n
363 * AHB1ENR ETH1MACEN LL_AHB1_GRP1_DisableClock\n
364 * AHB1ENR ETH1TXEN LL_AHB1_GRP1_DisableClock\n
365 * AHB1ENR ETH1RXEN LL_AHB1_GRP1_DisableClock\n
366 * AHB1ENR OTGHSEN LL_AHB1_GRP1_DisableClock\n
367 * AHB1ENR OTGFSEN LL_AHB1_GRP1_DisableClock\n
368 * AHB1ENR USBPHYCEN LL_AHB1_GRP1_DisableClock\n
369 * AHB1ENR ADF1EN LL_AHB1_GRP1_DisableClock
370 * @param Periphs This parameter can be a combination of the following values:
371 * @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
372 * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
373 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
374 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
375 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
376 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGHS
377 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGFS
378 * @arg @ref LL_AHB1_GRP1_PERIPH_USBPHYC
379 * @arg @ref LL_AHB1_GRP1_PERIPH_ADF1
380 * @retval None
381 */
LL_AHB1_GRP1_DisableClock(uint32_t Periphs)382 __STATIC_INLINE void LL_AHB1_GRP1_DisableClock(uint32_t Periphs)
383 {
384 CLEAR_BIT(RCC->AHB1ENR, Periphs);
385 }
386
387 /**
388 * @brief Force AHB1 peripherals reset.
389 * @rmtoll AHB1RSTR GPDMA1RST LL_AHB1_GRP1_ForceReset\n
390 * AHB1RSTR ADC12RST LL_AHB1_GRP1_ForceReset\n
391 * AHB1RSTR ETH1RST LL_AHB1_GRP1_ForceReset\n
392 * AHB1RSTR OTGHSRST LL_AHB1_GRP1_ForceReset\n
393 * AHB1RSTR OTGFSRST LL_AHB1_GRP1_ForceReset\n
394 * AHB1RSTR USBPHYCRST LL_AHB1_GRP1_ForceReset\n
395 * AHB1RSTR ADF1RST LL_AHB1_GRP1_ForceReset
396 * @param Periphs This parameter can be a combination of the following values:
397 * @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
398 * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
399 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
400 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGHS
401 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGFS
402 * @arg @ref LL_AHB1_GRP1_PERIPH_USBPHYC
403 * @arg @ref LL_AHB1_GRP1_PERIPH_ADF1
404 * @retval None
405 */
LL_AHB1_GRP1_ForceReset(uint32_t Periphs)406 __STATIC_INLINE void LL_AHB1_GRP1_ForceReset(uint32_t Periphs)
407 {
408 SET_BIT(RCC->AHB1RSTR, Periphs);
409 }
410
411 /**
412 * @brief Release AHB1 peripherals reset.
413 * @rmtoll AHB1RSTR GPDMA1RST LL_AHB1_GRP1_ReleaseReset\n
414 * AHB1RSTR ADC12RST LL_AHB1_GRP1_ReleaseReset\n
415 * AHB1RSTR ETH1RST LL_AHB1_GRP1_ReleaseReset\n
416 * AHB1RSTR OTGHSRST LL_AHB1_GRP1_ReleaseReset\n
417 * AHB1RSTR OTGFSRST LL_AHB1_GRP1_ReleaseReset\n
418 * AHB1RSTR USBPHYCRST LL_AHB1_GRP1_ReleaseReset\n
419 * AHB1RSTR ADF1RST LL_AHB1_GRP1_ReleaseReset
420 * @param Periphs This parameter can be a combination of the following values:
421 * @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
422 * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
423 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
424 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGHS
425 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGFS
426 * @arg @ref LL_AHB1_GRP1_PERIPH_USBPHYC
427 * @arg @ref LL_AHB1_GRP1_PERIPH_ADF1
428 * @retval None
429 */
LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)430 __STATIC_INLINE void LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)
431 {
432 CLEAR_BIT(RCC->AHB1RSTR, Periphs);
433 }
434
435 /**
436 * @brief Enable AHB1 peripherals clock during Low Power (Sleep) mode.
437 * @rmtoll AHB1LPENR GPDMA1LPEN LL_AHB1_GRP1_EnableClockSleep\n
438 * AHB1LPENR ADC12LPEN LL_AHB1_GRP1_EnableClockSleep\n
439 * AHB1LPENR ETH1MACLPEN LL_AHB1_GRP1_EnableClockSleep\n
440 * AHB1LPENR ETH1TXLPEN LL_AHB1_GRP1_EnableClockSleep\n
441 * AHB1LPENR ETH1RXLPEN LL_AHB1_GRP1_EnableClockSleep\n
442 * AHB1LPENR OTGHSLPEN LL_AHB1_GRP1_EnableClockSleep\n
443 * AHB1LPENR OTGFSLPEN LL_AHB1_GRP1_EnableClockSleep\n
444 * AHB1LPENR USBPHYCLPEN LL_AHB1_GRP1_EnableClockSleep\n
445 * AHB1LPENR ADF1LPEN LL_AHB1_GRP1_EnableClockSleep
446 * @param Periphs This parameter can be a combination of the following values:
447 * @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
448 * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
449 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
450 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
451 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
452 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGHS
453 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGFS
454 * @arg @ref LL_AHB1_GRP1_PERIPH_USBPHYC
455 * @arg @ref LL_AHB1_GRP1_PERIPH_ADF1
456 * @retval None
457 */
LL_AHB1_GRP1_EnableClockSleep(uint32_t Periphs)458 __STATIC_INLINE void LL_AHB1_GRP1_EnableClockSleep(uint32_t Periphs)
459 {
460 __IO uint32_t tmpreg;
461 SET_BIT(RCC->AHB1LPENR, Periphs);
462 /* Delay after an RCC peripheral clock enabling */
463 tmpreg = READ_BIT(RCC->AHB1LPENR, Periphs);
464 (void)tmpreg;
465 }
466
467 /**
468 * @brief Disable AHB1 peripherals clock during Low Power (Sleep) mode.
469 * @rmtoll AHB1LPENR GPDMA1LPEN LL_AHB1_GRP1_DisableClockSleep\n
470 * AHB1LPENR ADC12LPEN LL_AHB1_GRP1_DisableClockSleep\n
471 * AHB1LPENR ETH1MACLPEN LL_AHB1_GRP1_DisableClockSleep\n
472 * AHB1LPENR ETH1TXLPEN LL_AHB1_GRP1_DisableClockSleep\n
473 * AHB1LPENR ETH1RXLPEN LL_AHB1_GRP1_DisableClockSleep\n
474 * AHB1LPENR OTGHSLPEN LL_AHB1_GRP1_DisableClockSleep\n
475 * AHB1LPENR OTGHSLPEN LL_AHB1_GRP1_DisableClockSleep\n
476 * AHB1LPENR USBPHYCLPEN LL_AHB1_GRP1_DisableClockSleep\n
477 * AHB1LPENR ADF1LPEN LL_AHB1_GRP1_DisableClockSleep
478 * @param Periphs This parameter can be a combination of the following values:
479 * @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
480 * @arg @ref LL_AHB1_GRP1_PERIPH_ADC12
481 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1MAC
482 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1TX
483 * @arg @ref LL_AHB1_GRP1_PERIPH_ETH1RX
484 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGHS
485 * @arg @ref LL_AHB1_GRP1_PERIPH_USBOTGFS
486 * @arg @ref LL_AHB1_GRP1_PERIPH_USBPHYC
487 * @arg @ref LL_AHB1_GRP1_PERIPH_ADF1
488 * @retval None
489 */
LL_AHB1_GRP1_DisableClockSleep(uint32_t Periphs)490 __STATIC_INLINE void LL_AHB1_GRP1_DisableClockSleep(uint32_t Periphs)
491 {
492 CLEAR_BIT(RCC->AHB1LPENR, Periphs);
493 }
494
495 /**
496 * @}
497 */
498
499 /** @defgroup BUS_LL_EF_AHB2 AHB2
500 * @{
501 */
502
503 /**
504 * @brief Enable AHB2 peripherals clock.
505 * @rmtoll AHB2ENR PSSIEN LL_AHB2_GRP1_EnableClock\n
506 * AHB2ENR SDMMC2EN LL_AHB2_GRP1_EnableClock\n
507 * AHB2ENR CORDICEN LL_AHB2_GRP1_EnableClock\n
508 * AHB2ENR AHBSRAM1EN LL_AHB2_GRP1_EnableClock\n
509 * AHB2ENR AHBSRAM2EN LL_AHB2_GRP1_EnableClock
510 * @param Periphs This parameter can be a combination of the following values:
511 * @arg @ref LL_AHB2_GRP1_PERIPH_PSSI
512 * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
513 * @arg @ref LL_AHB2_GRP1_PERIPH_CORDIC
514 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM1
515 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM2
516 * @retval None
517 */
LL_AHB2_GRP1_EnableClock(uint32_t Periphs)518 __STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs)
519 {
520 __IO uint32_t tmpreg;
521 SET_BIT(RCC->AHB2ENR, Periphs);
522 /* Delay after an RCC peripheral clock enabling */
523 tmpreg = READ_BIT(RCC->AHB2ENR, Periphs);
524 (void)tmpreg;
525 }
526
527 /**
528 * @brief Check if AHB2 peripheral clock is enabled or not
529 * @rmtoll AHB2ENR PSSIEN LL_AHB2_GRP1_IsEnabledClock\n
530 * AHB2ENR SDMMC2EN LL_AHB2_GRP1_IsEnabledClock\n
531 * AHB2ENR CORDICEN LL_AHB2_GRP1_IsEnabledClock\n
532 * AHB2ENR AHBSRAM1EN LL_AHB2_GRP1_IsEnabledClock\n
533 * AHB2ENR AHBSRAM2EN LL_AHB2_GRP1_IsEnabledClock
534 * @param Periphs This parameter can be a combination of the following values:
535 * @arg @ref LL_AHB2_GRP1_PERIPH_PSSI
536 * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
537 * @arg @ref LL_AHB2_GRP1_PERIPH_CORDIC
538 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM1
539 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM2
540 * @retval uint32_t
541 */
LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)542 __STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
543 {
544 return ((READ_BIT(RCC->AHB2ENR, Periphs) == Periphs) ? 1U : 0U);
545 }
546
547 /**
548 * @brief Disable AHB2 peripherals clock.
549 * @rmtoll AHB2ENR PSSIEN LL_AHB2_GRP1_DisableClock\n
550 * AHB2ENR SDMMC2EN LL_AHB2_GRP1_DisableClock\n
551 * AHB2ENR CORDICEN LL_AHB2_GRP1_DisableClock\n
552 * AHB2ENR AHBSRAM1EN LL_AHB2_GRP1_DisableClock\n
553 * AHB2ENR AHBSRAM2EN LL_AHB2_GRP1_DisableClock
554 * @param Periphs This parameter can be a combination of the following values:
555 * @arg @ref LL_AHB2_GRP1_PERIPH_PSSI
556 * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
557 * @arg @ref LL_AHB2_GRP1_PERIPH_CORDIC
558 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM1
559 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM2
560 * @retval None
561 */
LL_AHB2_GRP1_DisableClock(uint32_t Periphs)562 __STATIC_INLINE void LL_AHB2_GRP1_DisableClock(uint32_t Periphs)
563 {
564 CLEAR_BIT(RCC->AHB2ENR, Periphs);
565 }
566
567 /**
568 * @brief Force AHB2 peripherals reset.
569 * @rmtoll AHB2RSTR PSSIRST LL_AHB2_GRP1_ForceReset\n
570 * AHB2RSTR SDMMC2RST LL_AHB2_GRP1_ForceReset\n
571 * AHB2RSTR CORDICRST LL_AHB2_GRP1_ForceReset
572 * @param Periphs This parameter can be a combination of the following values:
573 * @arg @ref LL_AHB2_GRP1_PERIPH_PSSI
574 * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
575 * @arg @ref LL_AHB2_GRP1_PERIPH_CORDIC
576 * @retval None
577 */
LL_AHB2_GRP1_ForceReset(uint32_t Periphs)578 __STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs)
579 {
580 SET_BIT(RCC->AHB2RSTR, Periphs);
581 }
582
583 /**
584 * @brief Release AHB2 peripherals reset.
585 * @rmtoll AHB2RSTR PSSIRST LL_AHB2_GRP1_ReleaseReset\n
586 * AHB2RSTR SDMMC2RST LL_AHB2_GRP1_ReleaseReset\n
587 * AHB2RSTR CORDICRST LL_AHB2_GRP1_ReleaseReset
588 * @param Periphs This parameter can be a combination of the following values:
589 * @arg @ref LL_AHB2_GRP1_PERIPH_PSSI
590 * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
591 * @arg @ref LL_AHB2_GRP1_PERIPH_CORDIC
592 * @retval None
593 */
LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)594 __STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)
595 {
596 CLEAR_BIT(RCC->AHB2RSTR, Periphs);
597 }
598
599 /**
600 * @brief Enable AHB2 peripherals clock during Low Power (Sleep) mode.
601 * @rmtoll AHB2LPENR PSSILPEN LL_AHB2_GRP1_EnableClockSleep\n
602 * AHB2LPENR SDMMC2LPEN LL_AHB2_GRP1_EnableClockSleep\n
603 * AHB2LPENR CORDICLPEN LL_AHB2_GRP1_EnableClockSleep\n
604 * AHB2LPENR AHBSRAM1LPEN LL_AHB2_GRP1_EnableClockSleep\n
605 * AHB2LPENR AHBSRAM2LPEN LL_AHB2_GRP1_EnableClockSleep
606 * @param Periphs This parameter can be a combination of the following values:
607 * @arg @ref LL_AHB2_GRP1_PERIPH_PSSI
608 * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
609 * @arg @ref LL_AHB2_GRP1_PERIPH_CORDIC
610 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM1
611 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM2
612 * @retval None
613 */
LL_AHB2_GRP1_EnableClockSleep(uint32_t Periphs)614 __STATIC_INLINE void LL_AHB2_GRP1_EnableClockSleep(uint32_t Periphs)
615 {
616 __IO uint32_t tmpreg;
617 SET_BIT(RCC->AHB2LPENR, Periphs);
618 /* Delay after an RCC peripheral clock enabling */
619 tmpreg = READ_BIT(RCC->AHB2LPENR, Periphs);
620 (void)tmpreg;
621 }
622
623 /**
624 * @brief Disable AHB2 peripherals clock during Low Power (Sleep) mode.
625 * @rmtoll AHB2LPENR PSSILPEN LL_AHB2_GRP1_DisableClockSleep\n
626 * AHB2LPENR SDMMC2LPEN LL_AHB2_GRP1_DisableClockSleep\n
627 * AHB2LPENR CORDICLPEN LL_AHB2_GRP1_DisableClockSleep\n
628 * AHB2LPENR AHBSRAM1LPEN LL_AHB2_GRP1_DisableClockSleep\n
629 * AHB2LPENR AHBSRAM2LPEN LL_AHB2_GRP1_DisableClockSleep
630 * @param Periphs This parameter can be a combination of the following values:
631 * @arg @ref LL_AHB2_GRP1_PERIPH_PSSI
632 * @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2
633 * @arg @ref LL_AHB2_GRP1_PERIPH_CORDIC
634 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM1
635 * @arg @ref LL_AHB2_GRP1_PERIPH_AHBSRAM2
636 * @retval None
637 */
LL_AHB2_GRP1_DisableClockSleep(uint32_t Periphs)638 __STATIC_INLINE void LL_AHB2_GRP1_DisableClockSleep(uint32_t Periphs)
639 {
640 CLEAR_BIT(RCC->AHB2LPENR, Periphs);
641 }
642
643 /**
644 * @}
645 */
646
647 /** @defgroup BUS_LL_EF_AHB3 AHB3
648 * @{
649 */
650
651 /**
652 * @brief Enable AHB3 peripherals clock.
653 * @rmtoll AHB3ENR RNGEN LL_AHB3_GRP1_EnableClock\n
654 * AHB3ENR HASHEN LL_AHB3_GRP1_EnableClock\n
655 * AHB3ENR CRYPEN LL_AHB3_GRP1_EnableClock\n
656 * AHB3ENR SAESEN LL_AHB3_GRP1_EnableClock\n
657 * AHB3ENR PKAEN LL_AHB3_GRP1_EnableClock
658 * @param Periphs This parameter can be a combination of the following values:
659 * @arg @ref LL_AHB3_GRP1_PERIPH_RNG
660 * @arg @ref LL_AHB3_GRP1_PERIPH_HASH
661 * @arg @ref LL_AHB3_GRP1_PERIPH_CRYP (*)
662 * @arg @ref LL_AHB3_GRP1_PERIPH_SAES (*)
663 * @arg @ref LL_AHB3_GRP1_PERIPH_PKA
664 *
665 * (*) value not defined in all devices.
666 * @retval None
667 */
LL_AHB3_GRP1_EnableClock(uint32_t Periphs)668 __STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs)
669 {
670 __IO uint32_t tmpreg;
671 SET_BIT(RCC->AHB3ENR, Periphs);
672 /* Delay after an RCC peripheral clock enabling */
673 tmpreg = READ_BIT(RCC->AHB3ENR, Periphs);
674 (void)tmpreg;
675 }
676
677 /**
678 * @brief Check if AHB3 peripheral clock is enabled or not
679 * @rmtoll AHB3ENR RNGEN LL_AHB3_GRP1_IsEnabledClock\n
680 * AHB3ENR HASHEN LL_AHB3_GRP1_IsEnabledClock\n
681 * AHB3ENR CRYPEN LL_AHB3_GRP1_IsEnabledClock\n
682 * AHB3ENR SAESEN LL_AHB3_GRP1_IsEnabledClock\n
683 * AHB3ENR PKAEN LL_AHB3_GRP1_IsEnabledClock
684 * @param Periphs This parameter can be a combination of the following values:
685 * @arg @ref LL_AHB3_GRP1_PERIPH_RNG
686 * @arg @ref LL_AHB3_GRP1_PERIPH_HASH
687 * @arg @ref LL_AHB3_GRP1_PERIPH_CRYP (*)
688 * @arg @ref LL_AHB3_GRP1_PERIPH_SAES (*)
689 * @arg @ref LL_AHB3_GRP1_PERIPH_PKA
690 *
691 * (*) value not defined in all devices.
692 * @retval uint32_t
693 */
LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)694 __STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
695 {
696 return ((READ_BIT(RCC->AHB3ENR, Periphs) == Periphs) ? 1U : 0U);
697 }
698
699 /**
700 * @brief Disable AHB3 peripherals clock.
701 * @rmtoll AHB3ENR RNGEN LL_AHB3_GRP1_DisableClock\n
702 * AHB3ENR HASHEN LL_AHB3_GRP1_DisableClock\n
703 * AHB3ENR CRYPEN LL_AHB3_GRP1_DisableClock\n
704 * AHB3ENR SAESEN LL_AHB3_GRP1_DisableClock\n
705 * AHB3ENR PKAEN LL_AHB3_GRP1_DisableClock
706 * @param Periphs This parameter can be a combination of the following values:
707 * @arg @ref LL_AHB3_GRP1_PERIPH_RNG
708 * @arg @ref LL_AHB3_GRP1_PERIPH_HASH
709 * @arg @ref LL_AHB3_GRP1_PERIPH_CRYP (*)
710 * @arg @ref LL_AHB3_GRP1_PERIPH_SAES (*)
711 * @arg @ref LL_AHB3_GRP1_PERIPH_PKA
712 *
713 * (*) value not defined in all devices.
714 * @retval None
715 */
LL_AHB3_GRP1_DisableClock(uint32_t Periphs)716 __STATIC_INLINE void LL_AHB3_GRP1_DisableClock(uint32_t Periphs)
717 {
718 CLEAR_BIT(RCC->AHB3ENR, Periphs);
719 }
720
721 /**
722 * @brief Enable AHB3 peripherals clock.
723 * @rmtoll AHB3RSTR RNGRST LL_AHB3_GRP1_ForceReset\n
724 * AHB3RSTR HASHRST LL_AHB3_GRP1_ForceReset\n
725 * AHB3RSTR CRYPRST LL_AHB3_GRP1_ForceReset\n
726 * AHB3RSTR SAESRST LL_AHB3_GRP1_ForceReset\n
727 * AHB3RSTR PKARST LL_AHB3_GRP1_ForceReset
728 * @param Periphs This parameter can be a combination of the following values:
729 * @arg @ref LL_AHB3_GRP1_PERIPH_RNG
730 * @arg @ref LL_AHB3_GRP1_PERIPH_HASH
731 * @arg @ref LL_AHB3_GRP1_PERIPH_CRYP (*)
732 * @arg @ref LL_AHB3_GRP1_PERIPH_SAES (*)
733 * @arg @ref LL_AHB3_GRP1_PERIPH_PKA
734 *
735 * (*) value not defined in all devices.
736 * @retval None
737 */
LL_AHB3_GRP1_ForceReset(uint32_t Periphs)738 __STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs)
739 {
740 SET_BIT(RCC->AHB3RSTR, Periphs);
741 }
742
743 /**
744 * @brief Release AHB3 peripherals reset.
745 * @rmtoll AHB3RSTR RNGRST LL_AHB3_GRP1_ReleaseReset\n
746 * AHB3RSTR HASHRST LL_AHB3_GRP1_ReleaseReset\n
747 * AHB3RSTR CRYPRST LL_AHB3_GRP1_ReleaseReset\n
748 * AHB3RSTR SAESRST LL_AHB3_GRP1_ReleaseReset\n
749 * AHB3RSTR PKARST LL_AHB3_GRP1_ReleaseReset
750 * @param Periphs This parameter can be a combination of the following values:
751 * @arg @ref LL_AHB3_GRP1_PERIPH_RNG
752 * @arg @ref LL_AHB3_GRP1_PERIPH_HASH
753 * @arg @ref LL_AHB3_GRP1_PERIPH_CRYP (*)
754 * @arg @ref LL_AHB3_GRP1_PERIPH_SAES (*)
755 * @arg @ref LL_AHB3_GRP1_PERIPH_PKA
756 *
757 * (*) value not defined in all devices.
758 * @retval None
759 */
LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)760 __STATIC_INLINE void LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)
761 {
762 CLEAR_BIT(RCC->AHB3RSTR, Periphs);
763 }
764
765 /**
766 * @brief Enable AHB3 peripherals clock during Low Power (Sleep) mode.
767 * @rmtoll AHB3LPENR RNGLPEN LL_AHB3_GRP1_EnableClockSleep\n
768 * AHB3LPENR HASHLPEN LL_AHB3_GRP1_EnableClockSleep\n
769 * AHB3LPENR CRYPLPEN LL_AHB3_GRP1_EnableClockSleep\n
770 * AHB3LPENR SAESLPEN LL_AHB3_GRP1_EnableClockSleep\n
771 * AHB3LPENR PKALPEN LL_AHB3_GRP1_EnableClockSleep
772 * @param Periphs This parameter can be a combination of the following values:
773 * @arg @ref LL_AHB3_GRP1_PERIPH_RNG
774 * @arg @ref LL_AHB3_GRP1_PERIPH_HASH
775 * @arg @ref LL_AHB3_GRP1_PERIPH_CRYP (*)
776 * @arg @ref LL_AHB3_GRP1_PERIPH_SAES (*)
777 * @arg @ref LL_AHB3_GRP1_PERIPH_PKA
778 *
779 * (*) value not defined in all devices.
780 * @retval None
781 */
LL_AHB3_GRP1_EnableClockSleep(uint32_t Periphs)782 __STATIC_INLINE void LL_AHB3_GRP1_EnableClockSleep(uint32_t Periphs)
783 {
784 __IO uint32_t tmpreg;
785 SET_BIT(RCC->AHB3LPENR, Periphs);
786 /* Delay after an RCC peripheral clock enabling */
787 tmpreg = READ_BIT(RCC->AHB3LPENR, Periphs);
788 (void)tmpreg;
789 }
790
791 /**
792 * @brief Disable AHB3 peripherals clock during Low Power (Sleep) mode.
793 * @rmtoll AHB3LPENR RNGLPEN LL_AHB3_GRP1_DisableClockSleep\n
794 * AHB3LPENR HASHLPEN LL_AHB3_GRP1_DisableClockSleep\n
795 * AHB3LPENR CRYPLPEN LL_AHB3_GRP1_DisableClockSleep\n
796 * AHB3LPENR SAESLPEN LL_AHB3_GRP1_DisableClockSleep\n
797 * AHB3LPENR PKALPEN LL_AHB3_GRP1_DisableClockSleep
798 * @param Periphs This parameter can be a combination of the following values:
799 * @arg @ref LL_AHB3_GRP1_PERIPH_RNG
800 * @arg @ref LL_AHB3_GRP1_PERIPH_HASH
801 * @arg @ref LL_AHB3_GRP1_PERIPH_CRYP (*)
802 * @arg @ref LL_AHB3_GRP1_PERIPH_SAES (*)
803 * @arg @ref LL_AHB3_GRP1_PERIPH_PKA
804 *
805 * (*) value not defined in all devices.
806 * @retval None
807 */
LL_AHB3_GRP1_DisableClockSleep(uint32_t Periphs)808 __STATIC_INLINE void LL_AHB3_GRP1_DisableClockSleep(uint32_t Periphs)
809 {
810 CLEAR_BIT(RCC->AHB3LPENR, Periphs);
811 }
812
813 /**
814 * @}
815 */
816
817 /** @defgroup BUS_LL_EF_AHB4 AHB4
818 * @{
819 */
820
821 /**
822 * @brief Enable AHB4 peripherals clock.
823 * @rmtoll AHB4ENR GPIOAEN LL_AHB4_GRP1_EnableClock\n
824 * AHB4ENR GPIOBEN LL_AHB4_GRP1_EnableClock\n
825 * AHB4ENR GPIOCEN LL_AHB4_GRP1_EnableClock\n
826 * AHB4ENR GPIODEN LL_AHB4_GRP1_EnableClock\n
827 * AHB4ENR GPIOEEN LL_AHB4_GRP1_EnableClock\n
828 * AHB4ENR GPIOFEN LL_AHB4_GRP1_EnableClock\n
829 * AHB4ENR GPIOGEN LL_AHB4_GRP1_EnableClock\n
830 * AHB4ENR GPIOHEN LL_AHB4_GRP1_EnableClock\n
831 * AHB4ENR GPIOMEN LL_AHB4_GRP1_EnableClock\n
832 * AHB4ENR GPIONEN LL_AHB4_GRP1_EnableClock\n
833 * AHB4ENR GPIOOEN LL_AHB4_GRP1_EnableClock\n
834 * AHB4ENR GPIOPEN LL_AHB4_GRP1_EnableClock\n
835 * AHB4ENR CRCEN LL_AHB4_GRP1_EnableClock\n
836 * AHB4ENR BKPRAMEN LL_AHB4_GRP1_EnableClock
837 * @param Periphs This parameter can be a combination of the following values:
838 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
839 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
840 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
841 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
842 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
843 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
844 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
845 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
846 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOM
847 * @arg @ref LL_AHB4_GRP1_PERIPH_GPION
848 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOO
849 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOP
850 * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
851 * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
852 * @retval None
853 */
LL_AHB4_GRP1_EnableClock(uint32_t Periphs)854 __STATIC_INLINE void LL_AHB4_GRP1_EnableClock(uint32_t Periphs)
855 {
856 __IO uint32_t tmpreg;
857 SET_BIT(RCC->AHB4ENR, Periphs);
858 /* Delay after an RCC peripheral clock enabling */
859 tmpreg = READ_BIT(RCC->AHB4ENR, Periphs);
860 (void)tmpreg;
861 }
862
863 /**
864 * @brief Check if AHB4 peripheral clock is enabled or not
865 * @rmtoll AHB4ENR GPIOAEN LL_AHB4_GRP1_IsEnabledClock\n
866 * AHB4ENR GPIOBEN LL_AHB4_GRP1_IsEnabledClock\n
867 * AHB4ENR GPIOCEN LL_AHB4_GRP1_IsEnabledClock\n
868 * AHB4ENR GPIODEN LL_AHB4_GRP1_IsEnabledClock\n
869 * AHB4ENR GPIOEEN LL_AHB4_GRP1_IsEnabledClock\n
870 * AHB4ENR GPIOFEN LL_AHB4_GRP1_IsEnabledClock\n
871 * AHB4ENR GPIOGEN LL_AHB4_GRP1_IsEnabledClock\n
872 * AHB4ENR GPIOHEN LL_AHB4_GRP1_IsEnabledClock\n
873 * AHB4ENR GPIOMEN LL_AHB4_GRP1_IsEnabledClock\n
874 * AHB4ENR GPIONEN LL_AHB4_GRP1_IsEnabledClock\n
875 * AHB4ENR GPIOOEN LL_AHB4_GRP1_IsEnabledClock\n
876 * AHB4ENR GPIOPEN LL_AHB4_GRP1_IsEnabledClock\n
877 * AHB4ENR CRCEN LL_AHB4_GRP1_IsEnabledClock\n
878 * AHB4ENR BKPRAMEN LL_AHB4_GRP1_IsEnabledClock
879 * @param Periphs This parameter can be a combination of the following values:
880 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
881 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
882 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
883 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
884 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
885 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
886 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
887 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
888 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOM
889 * @arg @ref LL_AHB4_GRP1_PERIPH_GPION
890 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOO
891 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOP
892 * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
893 * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
894 * @retval uint32_t
895 */
LL_AHB4_GRP1_IsEnabledClock(uint32_t Periphs)896 __STATIC_INLINE uint32_t LL_AHB4_GRP1_IsEnabledClock(uint32_t Periphs)
897 {
898 return ((READ_BIT(RCC->AHB4ENR, Periphs) == Periphs) ? 1U : 0U);
899 }
900
901 /**
902 * @brief Disable AHB4 peripherals clock.
903 * @rmtoll AHB4ENR GPIOAEN LL_AHB4_GRP1_DisableClock\n
904 * AHB4ENR GPIOBEN LL_AHB4_GRP1_DisableClock\n
905 * AHB4ENR GPIOCEN LL_AHB4_GRP1_DisableClock\n
906 * AHB4ENR GPIODEN LL_AHB4_GRP1_DisableClock\n
907 * AHB4ENR GPIOEEN LL_AHB4_GRP1_DisableClock\n
908 * AHB4ENR GPIOFEN LL_AHB4_GRP1_DisableClock\n
909 * AHB4ENR GPIOGEN LL_AHB4_GRP1_DisableClock\n
910 * AHB4ENR GPIOHEN LL_AHB4_GRP1_DisableClock\n
911 * AHB4ENR GPIOMEN LL_AHB4_GRP1_DisableClock\n
912 * AHB4ENR GPIONEN LL_AHB4_GRP1_DisableClock\n
913 * AHB4ENR GPIOOEN LL_AHB4_GRP1_DisableClock\n
914 * AHB4ENR GPIOPEN LL_AHB4_GRP1_DisableClock\n
915 * AHB4ENR CRCEN LL_AHB4_GRP1_DisableClock\n
916 * AHB4ENR BKPRAMEN LL_AHB4_GRP1_DisableClock
917 * @param Periphs This parameter can be a combination of the following values:
918 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
919 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
920 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
921 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
922 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
923 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
924 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
925 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
926 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOM
927 * @arg @ref LL_AHB4_GRP1_PERIPH_GPION
928 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOO
929 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOP
930 * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
931 * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
932 * @retval None
933 */
LL_AHB4_GRP1_DisableClock(uint32_t Periphs)934 __STATIC_INLINE void LL_AHB4_GRP1_DisableClock(uint32_t Periphs)
935 {
936 CLEAR_BIT(RCC->AHB4ENR, Periphs);
937 }
938
939 /**
940 * @brief Force AHB4 peripherals reset.
941 * @rmtoll AHB4RSTR GPIOARST LL_AHB4_GRP1_ForceReset\n
942 * AHB4RSTR GPIOBRST LL_AHB4_GRP1_ForceReset\n
943 * AHB4RSTR GPIOCRST LL_AHB4_GRP1_ForceReset\n
944 * AHB4RSTR GPIODRST LL_AHB4_GRP1_ForceReset\n
945 * AHB4RSTR GPIOERST LL_AHB4_GRP1_ForceReset\n
946 * AHB4RSTR GPIOFRST LL_AHB4_GRP1_ForceReset\n
947 * AHB4RSTR GPIOGRST LL_AHB4_GRP1_ForceReset\n
948 * AHB4RSTR GPIOHRST LL_AHB4_GRP1_ForceReset\n
949 * AHB4RSTR GPIOMRST LL_AHB4_GRP1_ForceReset\n
950 * AHB4RSTR GPIONRST LL_AHB4_GRP1_ForceReset\n
951 * AHB4RSTR GPIOORST LL_AHB4_GRP1_ForceReset\n
952 * AHB4RSTR GPIOPRST LL_AHB4_GRP1_ForceReset\n
953 * AHB4RSTR CRCRST LL_AHB4_GRP1_ForceReset\n
954 * AHB4RSTR BKPRAMRST LL_AHB4_GRP1_ForceReset
955 * @param Periphs This parameter can be a combination of the following values:
956 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
957 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
958 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
959 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
960 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
961 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
962 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
963 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
964 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOM
965 * @arg @ref LL_AHB4_GRP1_PERIPH_GPION
966 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOO
967 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOP
968 * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
969 * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
970 * @retval None
971 */
LL_AHB4_GRP1_ForceReset(uint32_t Periphs)972 __STATIC_INLINE void LL_AHB4_GRP1_ForceReset(uint32_t Periphs)
973 {
974 SET_BIT(RCC->AHB4RSTR, Periphs);
975 }
976
977 /**
978 * @brief Release AHB4 peripherals reset.
979 * @rmtoll AHB4RSTR GPIOARST LL_AHB4_GRP1_ReleaseReset\n
980 * AHB4RSTR GPIOBRST LL_AHB4_GRP1_ReleaseReset\n
981 * AHB4RSTR GPIOCRST LL_AHB4_GRP1_ReleaseReset\n
982 * AHB4RSTR GPIODRST LL_AHB4_GRP1_ReleaseReset\n
983 * AHB4RSTR GPIOERST LL_AHB4_GRP1_ReleaseReset\n
984 * AHB4RSTR GPIOFRST LL_AHB4_GRP1_ReleaseReset\n
985 * AHB4RSTR GPIOGRST LL_AHB4_GRP1_ReleaseReset\n
986 * AHB4RSTR GPIOHRST LL_AHB4_GRP1_ReleaseReset\n
987 * AHB4RSTR GPIOMRST LL_AHB4_GRP1_ReleaseReset\n
988 * AHB4RSTR GPIONRST LL_AHB4_GRP1_ReleaseReset\n
989 * AHB4RSTR GPIOORST LL_AHB4_GRP1_ReleaseReset\n
990 * AHB4RSTR GPIOPRST LL_AHB4_GRP1_ReleaseReset\n
991 * AHB4RSTR CRCRST LL_AHB4_GRP1_ReleaseReset
992 * @param Periphs This parameter can be a combination of the following values:
993 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
994 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
995 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
996 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
997 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
998 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
999 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
1000 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
1001 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOM
1002 * @arg @ref LL_AHB4_GRP1_PERIPH_GPION
1003 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOO
1004 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOP
1005 * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
1006 * @retval None
1007 */
LL_AHB4_GRP1_ReleaseReset(uint32_t Periphs)1008 __STATIC_INLINE void LL_AHB4_GRP1_ReleaseReset(uint32_t Periphs)
1009 {
1010 CLEAR_BIT(RCC->AHB4RSTR, Periphs);
1011 }
1012
1013 /**
1014 * @brief Enable AHB4 peripherals clock during Low Power (Sleep) mode.
1015 * @rmtoll AHB4LPENR GPIOALPEN LL_AHB4_GRP1_EnableClockSleep\n
1016 * AHB4LPENR GPIOBLPEN LL_AHB4_GRP1_EnableClockSleep\n
1017 * AHB4LPENR GPIOCLPEN LL_AHB4_GRP1_EnableClockSleep\n
1018 * AHB4LPENR GPIODLPEN LL_AHB4_GRP1_EnableClockSleep\n
1019 * AHB4LPENR GPIOELPEN LL_AHB4_GRP1_EnableClockSleep\n
1020 * AHB4LPENR GPIOFLPEN LL_AHB4_GRP1_EnableClockSleep\n
1021 * AHB4LPENR GPIOGLPEN LL_AHB4_GRP1_EnableClockSleep\n
1022 * AHB4LPENR GPIOHLPEN LL_AHB4_GRP1_EnableClockSleep\n
1023 * AHB4LPENR GPIOMLPEN LL_AHB4_GRP1_EnableClockSleep\n
1024 * AHB4LPENR GPIONLPEN LL_AHB4_GRP1_EnableClockSleep\n
1025 * AHB4LPENR GPIOOLPEN LL_AHB4_GRP1_EnableClockSleep\n
1026 * AHB4LPENR GPIOPLPEN LL_AHB4_GRP1_EnableClockSleep\n
1027 * AHB4LPENR CRCLPEN LL_AHB4_GRP1_EnableClockSleep\n
1028 * AHB4LPENR BKPRAMLPEN LL_AHB4_GRP1_EnableClockSleep
1029 * @param Periphs This parameter can be a combination of the following values:
1030 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
1031 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
1032 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
1033 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
1034 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
1035 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
1036 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
1037 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
1038 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOM
1039 * @arg @ref LL_AHB4_GRP1_PERIPH_GPION
1040 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOO
1041 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOP
1042 * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
1043 * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
1044 * @retval None
1045 */
LL_AHB4_GRP1_EnableClockSleep(uint32_t Periphs)1046 __STATIC_INLINE void LL_AHB4_GRP1_EnableClockSleep(uint32_t Periphs)
1047 {
1048 __IO uint32_t tmpreg;
1049 SET_BIT(RCC->AHB4LPENR, Periphs);
1050 /* Delay after an RCC peripheral clock enabling */
1051 tmpreg = READ_BIT(RCC->AHB4LPENR, Periphs);
1052 (void)tmpreg;
1053 }
1054
1055 /**
1056 * @brief Disable AHB4 peripherals clock during Low Power (Sleep) mode.
1057 * @rmtoll AHB4LPENR GPIOALPEN LL_AHB4_GRP1_DisableClockSleep\n
1058 * AHB4LPENR GPIOBLPEN LL_AHB4_GRP1_DisableClockSleep\n
1059 * AHB4LPENR GPIOCLPEN LL_AHB4_GRP1_DisableClockSleep\n
1060 * AHB4LPENR GPIODLPEN LL_AHB4_GRP1_DisableClockSleep\n
1061 * AHB4LPENR GPIOELPEN LL_AHB4_GRP1_DisableClockSleep\n
1062 * AHB4LPENR GPIOFLPEN LL_AHB4_GRP1_DisableClockSleep\n
1063 * AHB4LPENR GPIOGLPEN LL_AHB4_GRP1_DisableClockSleep\n
1064 * AHB4LPENR GPIOHLPEN LL_AHB4_GRP1_DisableClockSleep\n
1065 * AHB4LPENR GPIOMLPEN LL_AHB4_GRP1_DisableClockSleep\n
1066 * AHB4LPENR GPIONLPEN LL_AHB4_GRP1_DisableClockSleep\n
1067 * AHB4LPENR GPIOOLPEN LL_AHB4_GRP1_DisableClockSleep\n
1068 * AHB4LPENR GPIOPLPEN LL_AHB4_GRP1_DisableClockSleep\n
1069 * AHB4LPENR CRCLPEN LL_AHB4_GRP1_DisableClockSleep\n
1070 * AHB4LPENR BKPRAMLPEN LL_AHB4_GRP1_DisableClockSleep
1071 * @param Periphs This parameter can be a combination of the following values:
1072 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOA
1073 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOB
1074 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOC
1075 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOD
1076 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOE
1077 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOF
1078 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOG
1079 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOH
1080 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOM
1081 * @arg @ref LL_AHB4_GRP1_PERIPH_GPION
1082 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOO
1083 * @arg @ref LL_AHB4_GRP1_PERIPH_GPIOP
1084 * @arg @ref LL_AHB4_GRP1_PERIPH_CRC
1085 * @arg @ref LL_AHB4_GRP1_PERIPH_BKPRAM
1086 * @retval None
1087 */
LL_AHB4_GRP1_DisableClockSleep(uint32_t Periphs)1088 __STATIC_INLINE void LL_AHB4_GRP1_DisableClockSleep(uint32_t Periphs)
1089 {
1090 CLEAR_BIT(RCC->AHB4LPENR, Periphs);
1091 }
1092
1093 /**
1094 * @}
1095 */
1096
1097 /** @defgroup BUS_LL_EF_AHB5 AHB5
1098 * @{
1099 */
1100
1101 /**
1102 * @brief Enable AHB5 peripherals clock.
1103 * @rmtoll AHB5ENR HPDMA1EN LL_AHB5_GRP1_EnableClock\n
1104 * AHB5ENR DMA2DEN LL_AHB5_GRP1_EnableClock\n
1105 * AHB5ENR JPEGEN LL_AHB5_GRP1_EnableClock\n
1106 * AHB5ENR FMCEN LL_AHB5_GRP1_EnableClock\n
1107 * AHB5ENR XSPI1EN LL_AHB5_GRP1_EnableClock\n
1108 * AHB5ENR XSPI2EN LL_AHB5_GRP1_EnableClock\n
1109 * AHB5ENR XSPIMEN LL_AHB5_GRP1_EnableClock\n
1110 * AHB5ENR SDMMC1EN LL_AHB5_GRP1_EnableClock\n
1111 * AHB5ENR GFXMMUEN LL_AHB5_GRP1_EnableClock\n
1112 * AHB5ENR GPU2DEN LL_AHB5_GRP1_EnableClock
1113 * @param Periphs This parameter can be a combination of the following values:
1114 * @arg @ref LL_AHB5_GRP1_PERIPH_HPDMA1
1115 * @arg @ref LL_AHB5_GRP1_PERIPH_DMA2D
1116 * @arg @ref LL_AHB5_GRP1_PERIPH_JPEG (*)
1117 * @arg @ref LL_AHB5_GRP1_PERIPH_FMC
1118 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI1
1119 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI2
1120 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPIM
1121 * @arg @ref LL_AHB5_GRP1_PERIPH_SDMMC1
1122 * @arg @ref LL_AHB5_GRP1_PERIPH_GFXMMU (*)
1123 * @arg @ref LL_AHB5_GRP1_PERIPH_GPU2D (*)
1124 *
1125 * (*) value not defined in all devices.
1126 * @retval None
1127 */
LL_AHB5_GRP1_EnableClock(uint32_t Periphs)1128 __STATIC_INLINE void LL_AHB5_GRP1_EnableClock(uint32_t Periphs)
1129 {
1130 __IO uint32_t tmpreg;
1131 SET_BIT(RCC->AHB5ENR, Periphs);
1132 /* Delay after an RCC peripheral clock enabling */
1133 tmpreg = READ_BIT(RCC->AHB5ENR, Periphs);
1134 (void)tmpreg;
1135 }
1136
1137 /**
1138 * @brief Check if AHB5 peripheral clock is enabled or not
1139 * @rmtoll AHB5ENR HPDMA1EN LL_AHB5_GRP1_IsEnabledClock\n
1140 * AHB5ENR DMA2DEN LL_AHB5_GRP1_IsEnabledClock\n
1141 * AHB5ENR JPEGEN LL_AHB5_GRP1_IsEnabledClock\n
1142 * AHB5ENR FMCEN LL_AHB5_GRP1_IsEnabledClock\n
1143 * AHB5ENR XSPI1EN LL_AHB5_GRP1_IsEnabledClock\n
1144 * AHB5ENR XSPI2EN LL_AHB5_GRP1_IsEnabledClock\n
1145 * AHB5ENR XSPIMEN LL_AHB5_GRP1_IsEnabledClock\n
1146 * AHB5ENR SDMMC1EN LL_AHB5_GRP1_IsEnabledClock\n
1147 * AHB5ENR GFXMMUEN LL_AHB5_GRP1_IsEnabledClock\n
1148 * AHB5ENR GPU2DEN LL_AHB5_GRP1_IsEnabledClock
1149 * @param Periphs This parameter can be a combination of the following values:
1150 * @arg @ref LL_AHB5_GRP1_PERIPH_HPDMA1
1151 * @arg @ref LL_AHB5_GRP1_PERIPH_DMA2D
1152 * @arg @ref LL_AHB5_GRP1_PERIPH_JPEG (*)
1153 * @arg @ref LL_AHB5_GRP1_PERIPH_FMC
1154 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI1
1155 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI2
1156 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPIM
1157 * @arg @ref LL_AHB5_GRP1_PERIPH_SDMMC1
1158 * @arg @ref LL_AHB5_GRP1_PERIPH_GFXMMU (*)
1159 * @arg @ref LL_AHB5_GRP1_PERIPH_GPU2D (*)
1160 *
1161 * (*) value not defined in all devices.
1162 * @retval uint32_t
1163 */
LL_AHB5_GRP1_IsEnabledClock(uint32_t Periphs)1164 __STATIC_INLINE uint32_t LL_AHB5_GRP1_IsEnabledClock(uint32_t Periphs)
1165 {
1166 return ((READ_BIT(RCC->AHB5ENR, Periphs) == Periphs) ? 1U : 0U);
1167 }
1168
1169 /**
1170 * @brief Disable AHB5 peripherals clock.
1171 * @rmtoll AHB5ENR HPDMA1EN LL_AHB5_GRP1_DisableClock\n
1172 * AHB5ENR DMA2DEN LL_AHB5_GRP1_DisableClock\n
1173 * AHB5ENR JPEGEN LL_AHB5_GRP1_DisableClock\n
1174 * AHB5ENR FMCEN LL_AHB5_GRP1_DisableClock\n
1175 * AHB5ENR XSPI1EN LL_AHB5_GRP1_DisableClock\n
1176 * AHB5ENR XSPI2EN LL_AHB5_GRP1_DisableClock\n
1177 * AHB5ENR XSPIMEN LL_AHB5_GRP1_DisableClock\n
1178 * AHB5ENR SDMMC1EN LL_AHB5_GRP1_DisableClock\n
1179 * AHB5ENR GFXMMUEN LL_AHB5_GRP1_DisableClock\n
1180 * AHB5ENR GPU2DEN LL_AHB5_GRP1_DisableClock
1181 * @param Periphs This parameter can be a combination of the following values:
1182 * @arg @ref LL_AHB5_GRP1_PERIPH_HPDMA1
1183 * @arg @ref LL_AHB5_GRP1_PERIPH_DMA2D
1184 * @arg @ref LL_AHB5_GRP1_PERIPH_JPEG (*)
1185 * @arg @ref LL_AHB5_GRP1_PERIPH_FMC
1186 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI1
1187 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI2
1188 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPIM
1189 * @arg @ref LL_AHB5_GRP1_PERIPH_SDMMC1
1190 * @arg @ref LL_AHB5_GRP1_PERIPH_GFXMMU (*)
1191 * @arg @ref LL_AHB5_GRP1_PERIPH_GPU2D (*)
1192 *
1193 * (*) value not defined in all devices.
1194 * @retval None
1195 */
LL_AHB5_GRP1_DisableClock(uint32_t Periphs)1196 __STATIC_INLINE void LL_AHB5_GRP1_DisableClock(uint32_t Periphs)
1197 {
1198 CLEAR_BIT(RCC->AHB5ENR, Periphs);
1199 }
1200
1201 /**
1202 * @brief Force AHB5 peripherals reset.
1203 * @rmtoll AHB5RSTR HPDMA1RST LL_AHB5_GRP1_ForceReset\n
1204 * AHB5RSTR DMA2DRST LL_AHB5_GRP1_ForceReset\n
1205 * AHB5RSTR JPEGRST LL_AHB5_GRP1_ForceReset\n
1206 * AHB5RSTR FMCRST LL_AHB5_GRP1_ForceReset\n
1207 * AHB5RSTR XSPI1RST LL_AHB5_GRP1_ForceReset\n
1208 * AHB5RSTR XSPI2RST LL_AHB5_GRP1_ForceReset\n
1209 * AHB5RSTR XSPIMRST LL_AHB5_GRP1_ForceReset\n
1210 * AHB5RSTR SDMMC1RST LL_AHB5_GRP1_ForceReset\n
1211 * AHB5RSTR GFXMMURST LL_AHB5_GRP1_ForceReset\n
1212 * AHB5RSTR GPU2DRST LL_AHB5_GRP1_ForceReset
1213 * @param Periphs This parameter can be a combination of the following values:
1214 * @arg @ref LL_AHB5_GRP1_PERIPH_HPDMA1
1215 * @arg @ref LL_AHB5_GRP1_PERIPH_DMA2D
1216 * @arg @ref LL_AHB5_GRP1_PERIPH_JPEG (*)
1217 * @arg @ref LL_AHB5_GRP1_PERIPH_FMC
1218 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI1
1219 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI2
1220 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPIM
1221 * @arg @ref LL_AHB5_GRP1_PERIPH_SDMMC1
1222 * @arg @ref LL_AHB5_GRP1_PERIPH_GFXMMU (*)
1223 * @arg @ref LL_AHB5_GRP1_PERIPH_GPU2D (*)
1224 *
1225 * (*) value not defined in all devices.
1226 * @retval None
1227 */
LL_AHB5_GRP1_ForceReset(uint32_t Periphs)1228 __STATIC_INLINE void LL_AHB5_GRP1_ForceReset(uint32_t Periphs)
1229 {
1230 SET_BIT(RCC->AHB5RSTR, Periphs);
1231 }
1232
1233 /**
1234 * @brief Release AHB5 peripherals reset.
1235 * @rmtoll AHB5RSTR HPDMA1RST LL_AHB5_GRP1_ReleaseReset\n
1236 * AHB5RSTR DMA2DRST LL_AHB5_GRP1_ReleaseReset\n
1237 * AHB5RSTR JPEGRST LL_AHB5_GRP1_ReleaseReset\n
1238 * AHB5RSTR FMCRST LL_AHB5_GRP1_ReleaseReset\n
1239 * AHB5RSTR XSPI1RST LL_AHB5_GRP1_ReleaseReset\n
1240 * AHB5RSTR XSPI2RST LL_AHB5_GRP1_ReleaseReset\n
1241 * AHB5RSTR XSPIMRST LL_AHB5_GRP1_ReleaseReset\n
1242 * AHB5RSTR SDMMC1RST LL_AHB5_GRP1_ReleaseReset\n
1243 * AHB5RSTR GFXMMURST LL_AHB5_GRP1_ReleaseReset\n
1244 * AHB5RSTR GPU2DRST LL_AHB5_GRP1_ReleaseReset
1245 * @param Periphs This parameter can be a combination of the following values:
1246 * @arg @ref LL_AHB5_GRP1_PERIPH_HPDMA1
1247 * @arg @ref LL_AHB5_GRP1_PERIPH_DMA2D
1248 * @arg @ref LL_AHB5_GRP1_PERIPH_JPEG (*)
1249 * @arg @ref LL_AHB5_GRP1_PERIPH_FMC
1250 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI1
1251 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI2
1252 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPIM
1253 * @arg @ref LL_AHB5_GRP1_PERIPH_SDMMC1
1254 * @arg @ref LL_AHB5_GRP1_PERIPH_GFXMMU (*)
1255 * @arg @ref LL_AHB5_GRP1_PERIPH_GPU2D (*)
1256 *
1257 * (*) value not defined in all devices.
1258 * @retval None
1259 */
LL_AHB5_GRP1_ReleaseReset(uint32_t Periphs)1260 __STATIC_INLINE void LL_AHB5_GRP1_ReleaseReset(uint32_t Periphs)
1261 {
1262 CLEAR_BIT(RCC->AHB5RSTR, Periphs);
1263 }
1264
1265 /**
1266 * @brief Enable AHB5 peripherals clock during Low Power (Sleep) mode.
1267 * @rmtoll AHB5LPENR HPDMA1LPEN LL_AHB5_GRP1_EnableClockSleep\n
1268 * AHB5LPENR DMA2DLPEN LL_AHB5_GRP1_EnableClockSleep\n
1269 * AHB5LPENR JPEGLPEN LL_AHB5_GRP1_EnableClockSleep\n
1270 * AHB5LPENR FMCLPEN LL_AHB5_GRP1_EnableClockSleep\n
1271 * AHB5LPENR XSPI1LPEN LL_AHB5_GRP1_EnableClockSleep\n
1272 * AHB5LPENR XSPI2LPEN LL_AHB5_GRP1_EnableClockSleep\n
1273 * AHB5LPENR XSPIMLPEN LL_AHB5_GRP1_EnableClockSleep\n
1274 * AHB5LPENR SDMMC1LPEN LL_AHB5_GRP1_EnableClockSleep\n
1275 * AHB5LPENR GFXMMULPEN LL_AHB5_GRP1_EnableClockSleep\n
1276 * AHB5LPENR GPU2DLPEN LL_AHB5_GRP1_EnableClockSleep\n
1277 * AHB5LPENR AXISRAMPLEN LL_AHB5_GRP1_EnableClockSleep\n
1278 * AHB5LPENR DTCM1PLEN LL_AHB5_GRP1_EnableClockSleep\n
1279 * AHB5LPENR DTCM2PLEN LL_AHB5_GRP1_EnableClockSleep\n
1280 * AHB5LPENR ITCMPLEN LL_AHB5_GRP1_EnableClockSleep
1281 * @param Periphs This parameter can be a combination of the following values:
1282 * @arg @ref LL_AHB5_GRP1_PERIPH_HPDMA1
1283 * @arg @ref LL_AHB5_GRP1_PERIPH_DMA2D
1284 * @arg @ref LL_AHB5_GRP1_PERIPH_FLASH
1285 * @arg @ref LL_AHB5_GRP1_PERIPH_JPEG (*)
1286 * @arg @ref LL_AHB5_GRP1_PERIPH_FMC
1287 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI1
1288 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI2
1289 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPIM
1290 * @arg @ref LL_AHB5_GRP1_PERIPH_SDMMC1
1291 * @arg @ref LL_AHB5_GRP1_PERIPH_GFXMMU (*)
1292 * @arg @ref LL_AHB5_GRP1_PERIPH_GPU2D (*)
1293 * @arg @ref LL_AHB5_GRP1_PERIPH_AXISRAM
1294 * @arg @ref LL_AHB5_GRP1_PERIPH_DTCM1
1295 * @arg @ref LL_AHB5_GRP1_PERIPH_DTCM2
1296 * @arg @ref LL_AHB5_GRP1_PERIPH_ITCM
1297 *
1298 * (*) value not defined in all devices.
1299 * @retval None
1300 */
LL_AHB5_GRP1_EnableClockSleep(uint32_t Periphs)1301 __STATIC_INLINE void LL_AHB5_GRP1_EnableClockSleep(uint32_t Periphs)
1302 {
1303 __IO uint32_t tmpreg;
1304 SET_BIT(RCC->AHB5LPENR, Periphs);
1305 /* Delay after an RCC peripheral clock enabling */
1306 tmpreg = READ_BIT(RCC->AHB5LPENR, Periphs);
1307 (void)tmpreg;
1308 }
1309
1310 /**
1311 * @brief Disable AHB5 peripherals clock during Low Power (Sleep) mode.
1312 * @rmtoll AHB5LPENR HPDMA1LPEN LL_AHB5_GRP1_DisableClockSleep\n
1313 * AHB5LPENR DMA2DLPEN LL_AHB5_GRP1_DisableClockSleep\n
1314 * AHB5LPENR FLASHLPEN LL_AHB5_GRP1_DisableClockSleep\n
1315 * AHB5LPENR JPEGLPEN LL_AHB5_GRP1_DisableClockSleep\n
1316 * AHB5LPENR FMCLPEN LL_AHB5_GRP1_DisableClockSleep\n
1317 * AHB5LPENR XSPI1LPEN LL_AHB5_GRP1_DisableClockSleep\n
1318 * AHB5LPENR XSPI2LPEN LL_AHB5_GRP1_DisableClockSleep\n
1319 * AHB5LPENR XSPIMLPEN LL_AHB5_GRP1_DisableClockSleep\n
1320 * AHB5LPENR SDMMC1LPEN LL_AHB5_GRP1_DisableClockSleep\n
1321 * AHB5LPENR GFXMMULPEN LL_AHB5_GRP1_DisableClockSleep\n
1322 * AHB5LPENR GPU2DLPEN LL_AHB5_GRP1_DisableClockSleep\n
1323 * AHB5LPENR AXISRAMPLEN LL_AHB5_GRP1_DisableClockSleep\n
1324 * AHB5LPENR DTCM1PLEN LL_AHB5_GRP1_DisableClockSleep\n
1325 * AHB5LPENR DTCM2PLEN LL_AHB5_GRP1_DisableClockSleep\n
1326 * AHB5LPENR ITCMPLEN LL_AHB5_GRP1_DisableClockSleep
1327 * @param Periphs This parameter can be a combination of the following values:
1328 * @arg @ref LL_AHB5_GRP1_PERIPH_HPDMA1
1329 * @arg @ref LL_AHB5_GRP1_PERIPH_DMA2D
1330 * @arg @ref LL_AHB5_GRP1_PERIPH_FLASH
1331 * @arg @ref LL_AHB5_GRP1_PERIPH_JPEG (*)
1332 * @arg @ref LL_AHB5_GRP1_PERIPH_FMC
1333 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI1
1334 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPI2
1335 * @arg @ref LL_AHB5_GRP1_PERIPH_XSPIM
1336 * @arg @ref LL_AHB5_GRP1_PERIPH_SDMMC1
1337 * @arg @ref LL_AHB5_GRP1_PERIPH_GFXMMU (*)
1338 * @arg @ref LL_AHB5_GRP1_PERIPH_GPU2D (*)
1339 * @arg @ref LL_AHB5_GRP1_PERIPH_AXISRAM
1340 * @arg @ref LL_AHB5_GRP1_PERIPH_DTCM1
1341 * @arg @ref LL_AHB5_GRP1_PERIPH_DTCM2
1342 * @arg @ref LL_AHB5_GRP1_PERIPH_ITCM
1343 *
1344 * (*) value not defined in all devices.
1345 * @retval None
1346 */
LL_AHB5_GRP1_DisableClockSleep(uint32_t Periphs)1347 __STATIC_INLINE void LL_AHB5_GRP1_DisableClockSleep(uint32_t Periphs)
1348 {
1349 CLEAR_BIT(RCC->AHB5LPENR, Periphs);
1350 }
1351
1352 /**
1353 * @}
1354 */
1355
1356 /** @defgroup BUS_LL_EF_APB1 APB1
1357 * @{
1358 */
1359
1360 /**
1361 * @brief Enable APB1 peripherals clock.
1362 * @rmtoll APB1ENR1 TIM2EN LL_APB1_GRP1_EnableClock\n
1363 * APB1ENR1 TIM3EN LL_APB1_GRP1_EnableClock\n
1364 * APB1ENR1 TIM4EN LL_APB1_GRP1_EnableClock\n
1365 * APB1ENR1 TIM5EN LL_APB1_GRP1_EnableClock\n
1366 * APB1ENR1 TIM6EN LL_APB1_GRP1_EnableClock\n
1367 * APB1ENR1 TIM7EN LL_APB1_GRP1_EnableClock\n
1368 * APB1ENR1 TIM12EN LL_APB1_GRP1_EnableClock\n
1369 * APB1ENR1 TIM13EN LL_APB1_GRP1_EnableClock\n
1370 * APB1ENR1 TIM14EN LL_APB1_GRP1_EnableClock\n
1371 * APB1ENR1 LPTIM1EN LL_APB1_GRP1_EnableClock\n
1372 * APB1ENR1 WWDGEN LL_APB1_GRP1_EnableClock\n
1373 * APB1ENR1 SPI2EN LL_APB1_GRP1_EnableClock\n
1374 * APB1ENR1 SPI3EN LL_APB1_GRP1_EnableClock\n
1375 * APB1ENR1 SPDIFRXEN LL_APB1_GRP1_EnableClock\n
1376 * APB1ENR1 USART2EN LL_APB1_GRP1_EnableClock\n
1377 * APB1ENR1 USART3EN LL_APB1_GRP1_EnableClock\n
1378 * APB1ENR1 UART4EN LL_APB1_GRP1_EnableClock\n
1379 * APB1ENR1 UART5EN LL_APB1_GRP1_EnableClock\n
1380 * APB1ENR1 I2C1EN LL_APB1_GRP1_EnableClock\n
1381 * APB1ENR1 I2C2EN LL_APB1_GRP1_EnableClock\n
1382 * APB1ENR1 I2C3EN LL_APB1_GRP1_EnableClock\n
1383 * APB1ENR1 I3C1EN LL_APB1_GRP1_EnableClock\n
1384 * APB1ENR1 CECEN LL_APB1_GRP1_EnableClock\n
1385 * APB1ENR1 UART7EN LL_APB1_GRP1_EnableClock\n
1386 * APB1ENR1 UART8EN LL_APB1_GRP1_EnableClock
1387 * @param Periphs This parameter can be a combination of the following values:
1388 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1389 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1390 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1391 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1392 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1393 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1394 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
1395 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
1396 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
1397 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
1398 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
1399 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1400 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
1401 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
1402 * @arg @ref LL_APB1_GRP1_PERIPH_USART2
1403 * @arg @ref LL_APB1_GRP1_PERIPH_USART3
1404 * @arg @ref LL_APB1_GRP1_PERIPH_UART4
1405 * @arg @ref LL_APB1_GRP1_PERIPH_UART5
1406 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1407 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1408 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
1409 * @arg @ref LL_APB1_GRP1_PERIPH_I3C1
1410 * @arg @ref LL_APB1_GRP1_PERIPH_CEC
1411 * @arg @ref LL_APB1_GRP1_PERIPH_UART7
1412 * @arg @ref LL_APB1_GRP1_PERIPH_UART8
1413 * @retval None
1414 */
LL_APB1_GRP1_EnableClock(uint32_t Periphs)1415 __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs)
1416 {
1417 __IO uint32_t tmpreg;
1418 SET_BIT(RCC->APB1ENR1, Periphs);
1419 /* Delay after an RCC peripheral clock enabling */
1420 tmpreg = READ_BIT(RCC->APB1ENR1, Periphs);
1421 (void)tmpreg;
1422 }
1423
1424 /**
1425 * @brief Check if APB1 peripheral clock is enabled or not
1426 * @rmtoll APB1ENR1 TIM2EN LL_APB1_GRP1_IsEnabledClock\n
1427 * APB1ENR1 TIM3EN LL_APB1_GRP1_IsEnabledClock\n
1428 * APB1ENR1 TIM4EN LL_APB1_GRP1_IsEnabledClock\n
1429 * APB1ENR1 TIM5EN LL_APB1_GRP1_IsEnabledClock\n
1430 * APB1ENR1 TIM6EN LL_APB1_GRP1_IsEnabledClock\n
1431 * APB1ENR1 TIM7EN LL_APB1_GRP1_IsEnabledClock\n
1432 * APB1ENR1 TIM12EN LL_APB1_GRP1_IsEnabledClock\n
1433 * APB1ENR1 TIM13EN LL_APB1_GRP1_IsEnabledClock\n
1434 * APB1ENR1 TIM14EN LL_APB1_GRP1_IsEnabledClock\n
1435 * APB1ENR1 LPTIM1EN LL_APB1_GRP1_IsEnabledClock\n
1436 * APB1ENR1 WWDGEN LL_APB1_GRP1_IsEnabledClock\n
1437 * APB1ENR1 SPI2EN LL_APB1_GRP1_IsEnabledClock\n
1438 * APB1ENR1 SPI3EN LL_APB1_GRP1_IsEnabledClock\n
1439 * APB1ENR1 SPDIFRXEN LL_APB1_GRP1_IsEnabledClock\n
1440 * APB1ENR1 USART2EN LL_APB1_GRP1_IsEnabledClock\n
1441 * APB1ENR1 USART3EN LL_APB1_GRP1_IsEnabledClock\n
1442 * APB1ENR1 UART4EN LL_APB1_GRP1_IsEnabledClock\n
1443 * APB1ENR1 UART5EN LL_APB1_GRP1_IsEnabledClock\n
1444 * APB1ENR1 I2C1EN LL_APB1_GRP1_IsEnabledClock\n
1445 * APB1ENR1 I2C2EN LL_APB1_GRP1_IsEnabledClock\n
1446 * APB1ENR1 I2C3EN LL_APB1_GRP1_IsEnabledClock\n
1447 * APB1ENR1 I3C1EN LL_APB1_GRP1_IsEnabledClock\n
1448 * APB1ENR1 CECEN LL_APB1_GRP1_IsEnabledClock\n
1449 * APB1ENR1 UART7EN LL_APB1_GRP1_IsEnabledClock\n
1450 * APB1ENR1 UART8EN LL_APB1_GRP1_IsEnabledClock
1451 * @param Periphs This parameter can be a combination of the following values:
1452 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1453 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1454 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1455 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1456 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1457 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1458 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
1459 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
1460 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
1461 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
1462 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
1463 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1464 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
1465 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
1466 * @arg @ref LL_APB1_GRP1_PERIPH_USART2
1467 * @arg @ref LL_APB1_GRP1_PERIPH_USART3
1468 * @arg @ref LL_APB1_GRP1_PERIPH_UART4
1469 * @arg @ref LL_APB1_GRP1_PERIPH_UART5
1470 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1471 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1472 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
1473 * @arg @ref LL_APB1_GRP1_PERIPH_I3C1
1474 * @arg @ref LL_APB1_GRP1_PERIPH_CEC
1475 * @arg @ref LL_APB1_GRP1_PERIPH_UART7
1476 * @arg @ref LL_APB1_GRP1_PERIPH_UART8
1477 * @retval uint32_t
1478 */
LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)1479 __STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
1480 {
1481 return ((READ_BIT(RCC->APB1ENR1, Periphs) == Periphs) ? 1U : 0U);
1482 }
1483
1484 /**
1485 * @brief Disable APB1 peripherals clock.
1486 * @rmtoll APB1ENR1 TIM2EN LL_APB1_GRP1_DisableClock\n
1487 * APB1ENR1 TIM3EN LL_APB1_GRP1_DisableClock\n
1488 * APB1ENR1 TIM4EN LL_APB1_GRP1_DisableClock\n
1489 * APB1ENR1 TIM5EN LL_APB1_GRP1_DisableClock\n
1490 * APB1ENR1 TIM6EN LL_APB1_GRP1_DisableClock\n
1491 * APB1ENR1 TIM7EN LL_APB1_GRP1_DisableClock\n
1492 * APB1ENR1 TIM12EN LL_APB1_GRP1_DisableClock\n
1493 * APB1ENR1 TIM13EN LL_APB1_GRP1_DisableClock\n
1494 * APB1ENR1 TIM14EN LL_APB1_GRP1_DisableClock\n
1495 * APB1ENR1 LPTIM1EN LL_APB1_GRP1_DisableClock\n
1496 * APB1ENR1 SPI2EN LL_APB1_GRP1_DisableClock\n
1497 * APB1ENR1 SPI3EN LL_APB1_GRP1_DisableClock\n
1498 * APB1ENR1 SPDIFRXEN LL_APB1_GRP1_DisableClock\n
1499 * APB1ENR1 USART2EN LL_APB1_GRP1_DisableClock\n
1500 * APB1ENR1 USART3EN LL_APB1_GRP1_DisableClock\n
1501 * APB1ENR1 UART4EN LL_APB1_GRP1_DisableClock\n
1502 * APB1ENR1 UART5EN LL_APB1_GRP1_DisableClock\n
1503 * APB1ENR1 I2C1EN LL_APB1_GRP1_DisableClock\n
1504 * APB1ENR1 I2C2EN LL_APB1_GRP1_DisableClock\n
1505 * APB1ENR1 I2C3EN LL_APB1_GRP1_DisableClock\n
1506 * APB1ENR1 I3C1EN LL_APB1_GRP1_DisableClock\n
1507 * APB1ENR1 CECEN LL_APB1_GRP1_DisableClock\n
1508 * APB1ENR1 UART7EN LL_APB1_GRP1_DisableClock\n
1509 * APB1ENR1 UART8EN LL_APB1_GRP1_DisableClock
1510 * @param Periphs This parameter can be a combination of the following values:
1511 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1512 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1513 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1514 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1515 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1516 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1517 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
1518 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
1519 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
1520 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
1521 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1522 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
1523 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
1524 * @arg @ref LL_APB1_GRP1_PERIPH_USART2
1525 * @arg @ref LL_APB1_GRP1_PERIPH_USART3
1526 * @arg @ref LL_APB1_GRP1_PERIPH_UART4
1527 * @arg @ref LL_APB1_GRP1_PERIPH_UART5
1528 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1529 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1530 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
1531 * @arg @ref LL_APB1_GRP1_PERIPH_I3C1
1532 * @arg @ref LL_APB1_GRP1_PERIPH_CEC
1533 * @arg @ref LL_APB1_GRP1_PERIPH_UART7
1534 * @arg @ref LL_APB1_GRP1_PERIPH_UART8
1535 * @retval None
1536 */
LL_APB1_GRP1_DisableClock(uint32_t Periphs)1537 __STATIC_INLINE void LL_APB1_GRP1_DisableClock(uint32_t Periphs)
1538 {
1539 CLEAR_BIT(RCC->APB1ENR1, Periphs);
1540 }
1541
1542 /**
1543 * @brief Force APB1 peripherals reset.
1544 * @rmtoll APB1RSTR1 TIM2RST LL_APB1_GRP1_ForceReset\n
1545 * APB1RSTR1 TIM3RST LL_APB1_GRP1_ForceReset\n
1546 * APB1RSTR1 TIM4RST LL_APB1_GRP1_ForceReset\n
1547 * APB1RSTR1 TIM5RST LL_APB1_GRP1_ForceReset\n
1548 * APB1RSTR1 TIM6RST LL_APB1_GRP1_ForceReset\n
1549 * APB1RSTR1 TIM7RST LL_APB1_GRP1_ForceReset\n
1550 * APB1RSTR1 TIM12RST LL_APB1_GRP1_ForceReset\n
1551 * APB1RSTR1 TIM13RST LL_APB1_GRP1_ForceReset\n
1552 * APB1RSTR1 TIM14RST LL_APB1_GRP1_ForceReset\n
1553 * APB1RSTR1 LPTIM1RST LL_APB1_GRP1_ForceReset\n
1554 * APB1RSTR1 WWDGRST LL_APB1_GRP1_ForceReset\n
1555 * APB1RSTR1 SPI2RST LL_APB1_GRP1_ForceReset\n
1556 * APB1RSTR1 SPI3RST LL_APB1_GRP1_ForceReset\n
1557 * APB1RSTR1 SPDIFRXRST LL_APB1_GRP1_ForceReset\n
1558 * APB1RSTR1 USART2RST LL_APB1_GRP1_ForceReset\n
1559 * APB1RSTR1 USART3RST LL_APB1_GRP1_ForceReset\n
1560 * APB1RSTR1 UART4RST LL_APB1_GRP1_ForceReset\n
1561 * APB1RSTR1 UART5RST LL_APB1_GRP1_ForceReset\n
1562 * APB1RSTR1 I2C1RST LL_APB1_GRP1_ForceReset\n
1563 * APB1RSTR1 I2C2RST LL_APB1_GRP1_ForceReset\n
1564 * APB1RSTR1 I2C3RST LL_APB1_GRP1_ForceReset\n
1565 * APB1RSTR1 I3C1RST LL_APB1_GRP1_ForceReset\n
1566 * APB1RSTR1 CECRST LL_APB1_GRP1_ForceReset\n
1567 * APB1RSTR1 UART7RST LL_APB1_GRP1_ForceReset\n
1568 * APB1RSTR1 UART8RST LL_APB1_GRP1_ForceReset
1569 * @param Periphs This parameter can be a combination of the following values:
1570 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1571 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1572 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1573 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1574 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1575 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1576 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
1577 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
1578 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
1579 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
1580 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
1581 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1582 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
1583 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
1584 * @arg @ref LL_APB1_GRP1_PERIPH_USART2
1585 * @arg @ref LL_APB1_GRP1_PERIPH_USART3
1586 * @arg @ref LL_APB1_GRP1_PERIPH_UART4
1587 * @arg @ref LL_APB1_GRP1_PERIPH_UART5
1588 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1589 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1590 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
1591 * @arg @ref LL_APB1_GRP1_PERIPH_I3C1
1592 * @arg @ref LL_APB1_GRP1_PERIPH_CEC
1593 * @arg @ref LL_APB1_GRP1_PERIPH_UART7
1594 * @arg @ref LL_APB1_GRP1_PERIPH_UART8
1595 * @retval None
1596 */
LL_APB1_GRP1_ForceReset(uint32_t Periphs)1597 __STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
1598 {
1599 SET_BIT(RCC->APB1RSTR1, Periphs);
1600 }
1601
1602 /**
1603 * @brief Release APB1 peripherals reset.
1604 * @rmtoll APB1RSTR1 TIM2RST LL_APB1_GRP1_ReleaseReset\n
1605 * APB1RSTR1 TIM3RST LL_APB1_GRP1_ReleaseReset\n
1606 * APB1RSTR1 TIM4RST LL_APB1_GRP1_ReleaseReset\n
1607 * APB1RSTR1 TIM5RST LL_APB1_GRP1_ReleaseReset\n
1608 * APB1RSTR1 TIM6RST LL_APB1_GRP1_ReleaseReset\n
1609 * APB1RSTR1 TIM7RST LL_APB1_GRP1_ReleaseReset\n
1610 * APB1RSTR1 TIM12RST LL_APB1_GRP1_ReleaseReset\n
1611 * APB1RSTR1 TIM13RST LL_APB1_GRP1_ReleaseReset\n
1612 * APB1RSTR1 TIM14RST LL_APB1_GRP1_ReleaseReset\n
1613 * APB1RSTR1 LPTIM1RST LL_APB1_GRP1_ReleaseReset\n
1614 * APB1RSTR1 WWDGRST LL_APB1_GRP1_ReleaseReset\n
1615 * APB1RSTR1 SPI2RST LL_APB1_GRP1_ReleaseReset\n
1616 * APB1RSTR1 SPI3RST LL_APB1_GRP1_ReleaseReset\n
1617 * APB1RSTR1 SPDIFRXRST LL_APB1_GRP1_ReleaseReset\n
1618 * APB1RSTR1 USART2RST LL_APB1_GRP1_ReleaseReset\n
1619 * APB1RSTR1 USART3RST LL_APB1_GRP1_ReleaseReset\n
1620 * APB1RSTR1 UART4RST LL_APB1_GRP1_ReleaseReset\n
1621 * APB1RSTR1 UART5RST LL_APB1_GRP1_ReleaseReset\n
1622 * APB1RSTR1 I2C1RST LL_APB1_GRP1_ReleaseReset\n
1623 * APB1RSTR1 I2C2RST LL_APB1_GRP1_ReleaseReset\n
1624 * APB1RSTR1 I2C3RST LL_APB1_GRP1_ReleaseReset\n
1625 * APB1RSTR1 I3C1RST LL_APB1_GRP1_ReleaseReset\n
1626 * APB1RSTR1 CECRST LL_APB1_GRP1_ReleaseReset\n
1627 * APB1RSTR1 UART7RST LL_APB1_GRP1_ReleaseReset\n
1628 * APB1RSTR1 UART8RST LL_APB1_GRP1_ReleaseReset
1629 * @param Periphs This parameter can be a combination of the following values:
1630 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1631 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1632 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1633 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1634 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1635 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1636 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
1637 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
1638 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
1639 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
1640 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
1641 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1642 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
1643 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
1644 * @arg @ref LL_APB1_GRP1_PERIPH_USART2
1645 * @arg @ref LL_APB1_GRP1_PERIPH_USART3
1646 * @arg @ref LL_APB1_GRP1_PERIPH_UART4
1647 * @arg @ref LL_APB1_GRP1_PERIPH_UART5
1648 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1649 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1650 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
1651 * @arg @ref LL_APB1_GRP1_PERIPH_I3C1
1652 * @arg @ref LL_APB1_GRP1_PERIPH_CEC
1653 * @arg @ref LL_APB1_GRP1_PERIPH_UART7
1654 * @arg @ref LL_APB1_GRP1_PERIPH_UART8
1655 * @retval None
1656 */
LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)1657 __STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
1658 {
1659 CLEAR_BIT(RCC->APB1RSTR1, Periphs);
1660 }
1661
1662 /**
1663 * @brief Enable APB1 peripherals clock during Low Power (Sleep) mode.
1664 * @rmtoll APB1LPENR1 TIM2LPEN LL_APB1_GRP1_EnableClockSleep\n
1665 * APB1LPENR1 TIM3LPEN LL_APB1_GRP1_EnableClockSleep\n
1666 * APB1LPENR1 TIM4LPEN LL_APB1_GRP1_EnableClockSleep\n
1667 * APB1LPENR1 TIM5LPEN LL_APB1_GRP1_EnableClockSleep\n
1668 * APB1LPENR1 TIM6LPEN LL_APB1_GRP1_EnableClockSleep\n
1669 * APB1LPENR1 TIM7LPEN LL_APB1_GRP1_EnableClockSleep\n
1670 * APB1LPENR1 TIM12LPEN LL_APB1_GRP1_EnableClockSleep\n
1671 * APB1LPENR1 TIM13LPEN LL_APB1_GRP1_EnableClockSleep\n
1672 * APB1LPENR1 TIM14LPEN LL_APB1_GRP1_EnableClockSleep\n
1673 * APB1LPENR1 LPTIM1LPEN LL_APB1_GRP1_EnableClockSleep\n
1674 * APB1LPENR1 WWDGLPEN LL_APB1_GRP1_EnableClockSleep\n
1675 * APB1LPENR1 SPI2LPEN LL_APB1_GRP1_EnableClockSleep\n
1676 * APB1LPENR1 SPI3LPEN LL_APB1_GRP1_EnableClockSleep\n
1677 * APB1LPENR1 SPDIFRXLPEN LL_APB1_GRP1_EnableClockSleep\n
1678 * APB1LPENR1 USART2LPEN LL_APB1_GRP1_EnableClockSleep\n
1679 * APB1LPENR1 USART3LPEN LL_APB1_GRP1_EnableClockSleep\n
1680 * APB1LPENR1 UART4LPEN LL_APB1_GRP1_EnableClockSleep\n
1681 * APB1LPENR1 UART5LPEN LL_APB1_GRP1_EnableClockSleep\n
1682 * APB1LPENR1 I2C1LPEN LL_APB1_GRP1_EnableClockSleep\n
1683 * APB1LPENR1 I2C2LPEN LL_APB1_GRP1_EnableClockSleep\n
1684 * APB1LPENR1 I2C3LPEN LL_APB1_GRP1_EnableClockSleep\n
1685 * APB1LPENR1 I3C1LPEN LL_APB1_GRP1_EnableClockSleep\n
1686 * APB1LPENR1 CECLPEN LL_APB1_GRP1_EnableClockSleep\n
1687 * APB1LPENR1 DAC12LPEN LL_APB1_GRP1_EnableClockSleep\n
1688 * APB1LPENR1 UART7LPEN LL_APB1_GRP1_EnableClockSleep\n
1689 * APB1LPENR1 UART8LPEN LL_APB1_GRP1_EnableClockSleep
1690 * @param Periphs This parameter can be a combination of the following values:
1691 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1692 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1693 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1694 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1695 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1696 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1697 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
1698 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
1699 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
1700 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
1701 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
1702 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1703 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
1704 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
1705 * @arg @ref LL_APB1_GRP1_PERIPH_USART2
1706 * @arg @ref LL_APB1_GRP1_PERIPH_USART3
1707 * @arg @ref LL_APB1_GRP1_PERIPH_UART4
1708 * @arg @ref LL_APB1_GRP1_PERIPH_UART5
1709 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1710 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1711 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
1712 * @arg @ref LL_APB1_GRP1_PERIPH_I3C1
1713 * @arg @ref LL_APB1_GRP1_PERIPH_CEC
1714 * @arg @ref LL_APB1_GRP1_PERIPH_UART7
1715 * @arg @ref LL_APB1_GRP1_PERIPH_UART8
1716 * @retval None
1717 */
LL_APB1_GRP1_EnableClockSleep(uint32_t Periphs)1718 __STATIC_INLINE void LL_APB1_GRP1_EnableClockSleep(uint32_t Periphs)
1719 {
1720 __IO uint32_t tmpreg;
1721 SET_BIT(RCC->APB1LPENR1, Periphs);
1722 /* Delay after an RCC peripheral clock enabling */
1723 tmpreg = READ_BIT(RCC->APB1LPENR1, Periphs);
1724 (void)tmpreg;
1725 }
1726
1727 /**
1728 * @brief Disable APB1 peripherals clock during Low Power (Sleep) mode.
1729 * @rmtoll APB1LPENR1 TIM2LPEN LL_APB1_GRP1_DisableClockSleep\n
1730 * APB1LPENR1 TIM3LPEN LL_APB1_GRP1_DisableClockSleep\n
1731 * APB1LPENR1 TIM4LPEN LL_APB1_GRP1_DisableClockSleep\n
1732 * APB1LPENR1 TIM5LPEN LL_APB1_GRP1_DisableClockSleep\n
1733 * APB1LPENR1 TIM6LPEN LL_APB1_GRP1_DisableClockSleep\n
1734 * APB1LPENR1 TIM7LPEN LL_APB1_GRP1_DisableClockSleep\n
1735 * APB1LPENR1 TIM12LPEN LL_APB1_GRP1_DisableClockSleep\n
1736 * APB1LPENR1 TIM13LPEN LL_APB1_GRP1_DisableClockSleep\n
1737 * APB1LPENR1 TIM14LPEN LL_APB1_GRP1_DisableClockSleep\n
1738 * APB1LPENR1 LPTIM1LPEN LL_APB1_GRP1_DisableClockSleep\n
1739 * APB1LPENR1 WWDGLPEN LL_APB1_GRP1_DisableClockSleep\n
1740 * APB1LPENR1 SPI2LPEN LL_APB1_GRP1_DisableClockSleep\n
1741 * APB1LPENR1 SPI3LPEN LL_APB1_GRP1_DisableClockSleep\n
1742 * APB1LPENR1 SPDIFRXLPEN LL_APB1_GRP1_DisableClockSleep\n
1743 * APB1LPENR1 USART2LPEN LL_APB1_GRP1_DisableClockSleep\n
1744 * APB1LPENR1 USART3LPEN LL_APB1_GRP1_DisableClockSleep\n
1745 * APB1LPENR1 UART4LPEN LL_APB1_GRP1_DisableClockSleep\n
1746 * APB1LPENR1 UART5LPEN LL_APB1_GRP1_DisableClockSleep\n
1747 * APB1LPENR1 I2C1LPEN LL_APB1_GRP1_DisableClockSleep\n
1748 * APB1LPENR1 I2C2LPEN LL_APB1_GRP1_DisableClockSleep\n
1749 * APB1LPENR1 I2C3LPEN LL_APB1_GRP1_DisableClockSleep\n
1750 * APB1LPENR1 I3C1LPEN LL_APB1_GRP1_DisableClockSleep\n
1751 * APB1LPENR1 CECLPEN LL_APB1_GRP1_DisableClockSleep\n
1752 * APB1LPENR1 UART7LPEN LL_APB1_GRP1_DisableClockSleep\n
1753 * APB1LPENR1 UART8LPEN LL_APB1_GRP1_DisableClockSleep
1754 * @param Periphs This parameter can be a combination of the following values:
1755 * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1756 * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1757 * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1758 * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1759 * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1760 * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1761 * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
1762 * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
1763 * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
1764 * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
1765 * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
1766 * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1767 * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
1768 * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX
1769 * @arg @ref LL_APB1_GRP1_PERIPH_USART2
1770 * @arg @ref LL_APB1_GRP1_PERIPH_USART3
1771 * @arg @ref LL_APB1_GRP1_PERIPH_UART4
1772 * @arg @ref LL_APB1_GRP1_PERIPH_UART5
1773 * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1774 * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1775 * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
1776 * @arg @ref LL_APB1_GRP1_PERIPH_I3C1
1777 * @arg @ref LL_APB1_GRP1_PERIPH_CEC
1778 * @arg @ref LL_APB1_GRP1_PERIPH_UART7
1779 * @arg @ref LL_APB1_GRP1_PERIPH_UART8
1780 * @retval None
1781 */
LL_APB1_GRP1_DisableClockSleep(uint32_t Periphs)1782 __STATIC_INLINE void LL_APB1_GRP1_DisableClockSleep(uint32_t Periphs)
1783 {
1784 CLEAR_BIT(RCC->APB1LPENR1, Periphs);
1785 }
1786
1787 /**
1788 * @brief Enable APB1 peripherals clock.
1789 * @rmtoll APB1ENR2 CRSEN LL_APB1_GRP2_EnableClock\n
1790 * APB1ENR2 MDIOSEN LL_APB1_GRP2_EnableClock\n
1791 * APB1ENR2 FDCANEN LL_APB1_GRP2_EnableClock\n
1792 * APB1ENR2 UCPD1EN LL_APB1_GRP2_EnableClock
1793 * @param Periphs This parameter can be a combination of the following values:
1794 * @arg @ref LL_APB1_GRP2_PERIPH_CRS
1795 * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
1796 * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
1797 * @arg @ref LL_APB1_GRP2_PERIPH_UCPD1
1798 * @retval None
1799 */
LL_APB1_GRP2_EnableClock(uint32_t Periphs)1800 __STATIC_INLINE void LL_APB1_GRP2_EnableClock(uint32_t Periphs)
1801 {
1802 __IO uint32_t tmpreg;
1803 SET_BIT(RCC->APB1ENR2, Periphs);
1804 /* Delay after an RCC peripheral clock enabling */
1805 tmpreg = READ_BIT(RCC->APB1ENR2, Periphs);
1806 (void)tmpreg;
1807 }
1808
1809 /**
1810 * @brief Check if APB1 peripheral clock is enabled or not
1811 * @rmtoll APB1ENR2 CRSEN LL_APB1_GRP2_IsEnabledClock\n
1812 * APB1ENR2 MDIOSEN LL_APB1_GRP2_IsEnabledClock\n
1813 * APB1ENR2 FDCANEN LL_APB1_GRP2_IsEnabledClock\n
1814 * APB1ENR2 UCPD1EN LL_APB1_GRP2_IsEnabledClock
1815 * @param Periphs This parameter can be a combination of the following values:
1816 * @arg @ref LL_APB1_GRP2_PERIPH_CRS
1817 * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
1818 * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
1819 * @arg @ref LL_APB1_GRP2_PERIPH_UCPD1
1820 * @retval uint32_t
1821 */
LL_APB1_GRP2_IsEnabledClock(uint32_t Periphs)1822 __STATIC_INLINE uint32_t LL_APB1_GRP2_IsEnabledClock(uint32_t Periphs)
1823 {
1824 return ((READ_BIT(RCC->APB1ENR2, Periphs) == Periphs) ? 1U : 0U);
1825 }
1826
1827 /**
1828 * @brief Disable APB1 peripherals clock.
1829 * @rmtoll APB1ENR2 CRSEN LL_APB1_GRP2_DisableClock\n
1830 * APB1ENR2 MDIOSEN LL_APB1_GRP2_DisableClock\n
1831 * APB1ENR2 FDCANEN LL_APB1_GRP2_DisableClock\n
1832 * APB1ENR2 UCPD1EN LL_APB1_GRP2_DisableClock
1833 * @param Periphs This parameter can be a combination of the following values:
1834 * @arg @ref LL_APB1_GRP2_PERIPH_CRS
1835 * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
1836 * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
1837 * @arg @ref LL_APB1_GRP2_PERIPH_UCPD1
1838 * @retval None
1839 */
LL_APB1_GRP2_DisableClock(uint32_t Periphs)1840 __STATIC_INLINE void LL_APB1_GRP2_DisableClock(uint32_t Periphs)
1841 {
1842 CLEAR_BIT(RCC->APB1ENR2, Periphs);
1843 }
1844
1845 /**
1846 * @brief Force APB1 peripherals reset.
1847 * @rmtoll APB1RSTR2 CRSRST LL_APB1_GRP2_ForceReset\n
1848 * APB1ENR2 MDIOSRST LL_APB1_GRP2_ForceReset\n
1849 * APB1ENR2 FDCANRST LL_APB1_GRP2_ForceReset\n
1850 * APB1ENR2 UCPD1RST LL_APB1_GRP2_ForceReset
1851 * @param Periphs This parameter can be a combination of the following values:
1852 * @arg @ref LL_APB1_GRP2_PERIPH_CRS
1853 * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
1854 * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
1855 * @arg @ref LL_APB1_GRP2_PERIPH_UCPD1
1856 * @retval None
1857 */
LL_APB1_GRP2_ForceReset(uint32_t Periphs)1858 __STATIC_INLINE void LL_APB1_GRP2_ForceReset(uint32_t Periphs)
1859 {
1860 SET_BIT(RCC->APB1RSTR2, Periphs);
1861 }
1862
1863 /**
1864 * @brief Release APB1 peripherals reset.
1865 * @rmtoll APB1RSTR2 CRSRST LL_APB1_GRP2_ReleaseReset\n
1866 * APB1ENR2 MDIOSRST LL_APB1_GRP2_ReleaseReset\n
1867 * APB1ENR2 FDCANRST LL_APB1_GRP2_ReleaseReset\n
1868 * APB1ENR2 UCPD1RST LL_APB1_GRP2_ReleaseReset
1869 * @param Periphs This parameter can be a combination of the following values:
1870 * @arg @ref LL_APB1_GRP2_PERIPH_CRS
1871 * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
1872 * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
1873 * @arg @ref LL_APB1_GRP2_PERIPH_UCPD1
1874 * @retval None
1875 */
LL_APB1_GRP2_ReleaseReset(uint32_t Periphs)1876 __STATIC_INLINE void LL_APB1_GRP2_ReleaseReset(uint32_t Periphs)
1877 {
1878 CLEAR_BIT(RCC->APB1RSTR2, Periphs);
1879 }
1880
1881 /**
1882 * @brief Enable APB1 peripherals clock during Low Power (Sleep) mode.
1883 * @rmtoll APB1LPENR2 CRSLPEN LL_APB1_GRP2_EnableClockSleep\n
1884 * APB1LPENR2 MDIOSLPEN LL_APB1_GRP2_EnableClockSleep\n
1885 * APB1LPENR2 FDCANLPEN LL_APB1_GRP2_EnableClockSleep\n
1886 * APB1LPENR2 UCPD1LPEN LL_APB1_GRP2_EnableClockSleep
1887 * @param Periphs This parameter can be a combination of the following values:
1888 * @arg @ref LL_APB1_GRP2_PERIPH_CRS
1889 * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
1890 * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
1891 * @arg @ref LL_APB1_GRP2_PERIPH_UCPD1
1892 * @retval None
1893 */
LL_APB1_GRP2_EnableClockSleep(uint32_t Periphs)1894 __STATIC_INLINE void LL_APB1_GRP2_EnableClockSleep(uint32_t Periphs)
1895 {
1896 __IO uint32_t tmpreg;
1897 SET_BIT(RCC->APB1LPENR2, Periphs);
1898 /* Delay after an RCC peripheral clock enabling */
1899 tmpreg = READ_BIT(RCC->APB1LPENR2, Periphs);
1900 (void)tmpreg;
1901 }
1902
1903 /**
1904 * @brief Disable APB1 peripherals clock during Low Power (Sleep) mode.
1905 * @rmtoll APB1LPENR2 CRSLPEN LL_APB1_GRP2_DisableClockSleep\n
1906 * APB1LPENR2 MDIOSLPEN LL_APB1_GRP2_DisableClockSleep\n
1907 * APB1LPENR2 FDCANLPEN LL_APB1_GRP2_DisableClockSleep\n
1908 * APB1LPENR2 UCPD1LPEN LL_APB1_GRP2_DisableClockSleep
1909 * @param Periphs This parameter can be a combination of the following values:
1910 * @arg @ref LL_APB1_GRP2_PERIPH_CRS
1911 * @arg @ref LL_APB1_GRP2_PERIPH_MDIOS
1912 * @arg @ref LL_APB1_GRP2_PERIPH_FDCAN
1913 * @arg @ref LL_APB1_GRP2_PERIPH_UCPD1
1914 * @retval None
1915 */
LL_APB1_GRP2_DisableClockSleep(uint32_t Periphs)1916 __STATIC_INLINE void LL_APB1_GRP2_DisableClockSleep(uint32_t Periphs)
1917 {
1918 CLEAR_BIT(RCC->APB1LPENR2, Periphs);
1919 }
1920
1921 /**
1922 * @}
1923 */
1924
1925 /** @defgroup BUS_LL_EF_APB2 APB2
1926 * @{
1927 */
1928
1929 /**
1930 * @brief Enable APB2 peripherals clock.
1931 * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_EnableClock\n
1932 * APB2ENR USART1EN LL_APB2_GRP1_EnableClock\n
1933 * APB2ENR SPI1EN LL_APB2_GRP1_EnableClock\n
1934 * APB2ENR SPI4EN LL_APB2_GRP1_EnableClock\n
1935 * APB2ENR TIM15EN LL_APB2_GRP1_EnableClock\n
1936 * APB2ENR TIM16EN LL_APB2_GRP1_EnableClock\n
1937 * APB2ENR TIM17EN LL_APB2_GRP1_EnableClock\n
1938 * APB2ENR TIM9EN LL_APB2_GRP1_EnableClock\n
1939 * APB2ENR SPI5EN LL_APB2_GRP1_EnableClock\n
1940 * APB2ENR SAI1EN LL_APB2_GRP1_EnableClock\n
1941 * APB2ENR SAI2EN LL_APB2_GRP1_EnableClock
1942 * @param Periphs This parameter can be a combination of the following values:
1943 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
1944 * @arg @ref LL_APB2_GRP1_PERIPH_USART1
1945 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
1946 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
1947 * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
1948 * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
1949 * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
1950 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
1951 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
1952 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
1953 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
1954 * @retval None
1955 */
LL_APB2_GRP1_EnableClock(uint32_t Periphs)1956 __STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs)
1957 {
1958 __IO uint32_t tmpreg;
1959 SET_BIT(RCC->APB2ENR, Periphs);
1960 /* Delay after an RCC peripheral clock enabling */
1961 tmpreg = READ_BIT(RCC->APB2ENR, Periphs);
1962 (void)tmpreg;
1963 }
1964
1965 /**
1966 * @brief Check if APB2 peripheral clock is enabled or not
1967 * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_IsEnabledClock\n
1968 * APB2ENR USART1EN LL_APB2_GRP1_IsEnabledClock\n
1969 * APB2ENR SPI1EN LL_APB2_GRP1_IsEnabledClock\n
1970 * APB2ENR SPI4EN LL_APB2_GRP1_IsEnabledClock\n
1971 * APB2ENR TIM15EN LL_APB2_GRP1_IsEnabledClock\n
1972 * APB2ENR TIM16EN LL_APB2_GRP1_IsEnabledClock\n
1973 * APB2ENR TIM17EN LL_APB2_GRP1_IsEnabledClock\n
1974 * APB2ENR TIM9EN LL_APB2_GRP1_IsEnabledClock\n
1975 * APB2ENR SPI5EN LL_APB2_GRP1_IsEnabledClock\n
1976 * APB2ENR SAI1EN LL_APB2_GRP1_IsEnabledClock\n
1977 * APB2ENR SAI2EN LL_APB2_GRP1_IsEnabledClock
1978 * @param Periphs This parameter can be a combination of the following values:
1979 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
1980 * @arg @ref LL_APB2_GRP1_PERIPH_USART1
1981 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
1982 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
1983 * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
1984 * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
1985 * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
1986 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
1987 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
1988 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
1989 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
1990 * @retval uint32_t
1991 */
LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)1992 __STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
1993 {
1994 return ((READ_BIT(RCC->APB2ENR, Periphs) == Periphs) ? 1U : 0U);
1995 }
1996
1997 /**
1998 * @brief Disable APB2 peripherals clock.
1999 * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_DisableClock\n
2000 * APB2ENR USART1EN LL_APB2_GRP1_DisableClock\n
2001 * APB2ENR SPI1EN LL_APB2_GRP1_DisableClock\n
2002 * APB2ENR SPI4EN LL_APB2_GRP1_DisableClock\n
2003 * APB2ENR TIM15EN LL_APB2_GRP1_DisableClock\n
2004 * APB2ENR TIM16EN LL_APB2_GRP1_DisableClock\n
2005 * APB2ENR TIM17EN LL_APB2_GRP1_DisableClock\n
2006 * APB2ENR TIM9EN LL_APB2_GRP1_DisableClock\n
2007 * APB2ENR SPI5EN LL_APB2_GRP1_DisableClock\n
2008 * APB2ENR SAI1EN LL_APB2_GRP1_DisableClock\n
2009 * APB2ENR SAI2EN LL_APB2_GRP1_DisableClock
2010 * @param Periphs This parameter can be a combination of the following values:
2011 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2012 * @arg @ref LL_APB2_GRP1_PERIPH_USART1
2013 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2014 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
2015 * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2016 * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2017 * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2018 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
2019 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
2020 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2021 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
2022 * @retval None
2023 */
LL_APB2_GRP1_DisableClock(uint32_t Periphs)2024 __STATIC_INLINE void LL_APB2_GRP1_DisableClock(uint32_t Periphs)
2025 {
2026 CLEAR_BIT(RCC->APB2ENR, Periphs);
2027 }
2028
2029 /**
2030 * @brief Force APB2 peripherals reset.
2031 * @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ForceReset\n
2032 * APB2RSTR USART1RST LL_APB2_GRP1_ForceReset\n
2033 * APB2RSTR SPI1RST LL_APB2_GRP1_ForceReset\n
2034 * APB2RSTR SPI4RST LL_APB2_GRP1_ForceReset\n
2035 * APB2RSTR TIM15RST LL_APB2_GRP1_ForceReset\n
2036 * APB2RSTR TIM16RST LL_APB2_GRP1_ForceReset\n
2037 * APB2RSTR TIM17RST LL_APB2_GRP1_ForceReset\n
2038 * APB2RSTR TIM9RST LL_APB2_GRP1_ForceReset\n
2039 * APB2RSTR SPI5RST LL_APB2_GRP1_ForceReset\n
2040 * APB2RSTR SAI1RST LL_APB2_GRP1_ForceReset\n
2041 * APB2RSTR SAI2RST LL_APB2_GRP1_ForceReset
2042 * @param Periphs This parameter can be a combination of the following values:
2043 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2044 * @arg @ref LL_APB2_GRP1_PERIPH_USART1
2045 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2046 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
2047 * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2048 * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2049 * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2050 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
2051 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
2052 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2053 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
2054 * @retval None
2055 */
LL_APB2_GRP1_ForceReset(uint32_t Periphs)2056 __STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
2057 {
2058 SET_BIT(RCC->APB2RSTR, Periphs);
2059 }
2060
2061 /**
2062 * @brief Release APB2 peripherals reset.
2063 * @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ReleaseReset\n
2064 * APB2RSTR USART1RST LL_APB2_GRP1_ReleaseReset\n
2065 * APB2RSTR SPI1RST LL_APB2_GRP1_ReleaseReset\n
2066 * APB2RSTR SPI4RST LL_APB2_GRP1_ReleaseReset\n
2067 * APB2RSTR TIM15RST LL_APB2_GRP1_ReleaseReset\n
2068 * APB2RSTR TIM16RST LL_APB2_GRP1_ReleaseReset\n
2069 * APB2RSTR TIM17RST LL_APB2_GRP1_ReleaseReset\n
2070 * APB2RSTR TIM9RST LL_APB2_GRP1_ReleaseReset\n
2071 * APB2RSTR SPI5RST LL_APB2_GRP1_ReleaseReset\n
2072 * APB2RSTR SAI1RST LL_APB2_GRP1_ReleaseReset\n
2073 * APB2RSTR SAI2RST LL_APB2_GRP1_ReleaseReset
2074 * @param Periphs This parameter can be a combination of the following values:
2075 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2076 * @arg @ref LL_APB2_GRP1_PERIPH_USART1
2077 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2078 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
2079 * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2080 * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2081 * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2082 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
2083 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
2084 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2085 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
2086 * @retval None
2087 */
LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)2088 __STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
2089 {
2090 CLEAR_BIT(RCC->APB2RSTR, Periphs);
2091 }
2092
2093 /**
2094 * @brief Enable APB2 peripherals clock during Low Power (Sleep) mode.
2095 * @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_EnableClockSleep\n
2096 * APB2LPENR USART1LPEN LL_APB2_GRP1_EnableClockSleep\n
2097 * APB2LPENR SPI1LPEN LL_APB2_GRP1_EnableClockSleep\n
2098 * APB2LPENR SPI4LPEN LL_APB2_GRP1_EnableClockSleep\n
2099 * APB2LPENR TIM15LPEN LL_APB2_GRP1_EnableClockSleep\n
2100 * APB2LPENR TIM16LPEN LL_APB2_GRP1_EnableClockSleep\n
2101 * APB2LPENR TIM17LPEN LL_APB2_GRP1_EnableClockSleep\n
2102 * APB2LPENR TIM9LPEN LL_APB2_GRP1_EnableClockSleep\n
2103 * APB2LPENR SPI5LPEN LL_APB2_GRP1_EnableClockSleep\n
2104 * APB2LPENR SAI1LPEN LL_APB2_GRP1_EnableClockSleep\n
2105 * APB2LPENR SAI2LPEN LL_APB2_GRP1_EnableClockSleep
2106 * @param Periphs This parameter can be a combination of the following values:
2107 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2108 * @arg @ref LL_APB2_GRP1_PERIPH_USART1
2109 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2110 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
2111 * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2112 * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2113 * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2114 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
2115 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
2116 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2117 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
2118 * @retval None
2119 */
LL_APB2_GRP1_EnableClockSleep(uint32_t Periphs)2120 __STATIC_INLINE void LL_APB2_GRP1_EnableClockSleep(uint32_t Periphs)
2121 {
2122 __IO uint32_t tmpreg;
2123 SET_BIT(RCC->APB2LPENR, Periphs);
2124 /* Delay after an RCC peripheral clock enabling */
2125 tmpreg = READ_BIT(RCC->APB2LPENR, Periphs);
2126 (void)tmpreg;
2127 }
2128
2129 /**
2130 * @brief Disable APB2 peripherals clock during Low Power (Sleep) mode.
2131 * @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_DisableClockSleep\n
2132 * APB2LPENR USART1LPEN LL_APB2_GRP1_DisableClockSleep\n
2133 * APB2LPENR SPI1LPEN LL_APB2_GRP1_DisableClockSleep\n
2134 * APB2LPENR SPI4LPEN LL_APB2_GRP1_DisableClockSleep\n
2135 * APB2LPENR TIM15LPEN LL_APB2_GRP1_DisableClockSleep\n
2136 * APB2LPENR TIM16LPEN LL_APB2_GRP1_DisableClockSleep\n
2137 * APB2LPENR TIM17LPEN LL_APB2_GRP1_DisableClockSleep\n
2138 * APB2LPENR TIM9LPEN LL_APB2_GRP1_DisableClockSleep\n
2139 * APB2LPENR SPI5LPEN LL_APB2_GRP1_DisableClockSleep\n
2140 * APB2LPENR SAI1LPEN LL_APB2_GRP1_DisableClockSleep\n
2141 * APB2LPENR SAI2LPEN LL_APB2_GRP1_DisableClockSleep
2142 * @param Periphs This parameter can be a combination of the following values:
2143 * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2144 * @arg @ref LL_APB2_GRP1_PERIPH_USART1
2145 * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2146 * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
2147 * @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2148 * @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2149 * @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2150 * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
2151 * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
2152 * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2153 * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
2154 * @retval None
2155 */
LL_APB2_GRP1_DisableClockSleep(uint32_t Periphs)2156 __STATIC_INLINE void LL_APB2_GRP1_DisableClockSleep(uint32_t Periphs)
2157 {
2158 CLEAR_BIT(RCC->APB2LPENR, Periphs);
2159 }
2160
2161 /**
2162 * @}
2163 */
2164
2165 /** @defgroup BUS_LL_EF_APB4 APB4
2166 * @{
2167 */
2168
2169 /**
2170 * @brief Enable APB4 peripherals clock.
2171 * @rmtoll APB4ENR SBSEN LL_APB4_GRP1_EnableClock\n
2172 * APB4ENR LPUART1EN LL_APB4_GRP1_EnableClock\n
2173 * APB4ENR SPI6EN LL_APB4_GRP1_EnableClock\n
2174 * APB4ENR LPTIM2EN LL_APB4_GRP1_EnableClock\n
2175 * APB4ENR LPTIM3EN LL_APB4_GRP1_EnableClock\n
2176 * APB4ENR LPTIM4EN LL_APB4_GRP1_EnableClock\n
2177 * APB4ENR LPTIM5EN LL_APB4_GRP1_EnableClock\n
2178 * APB4ENR VREFEN LL_APB4_GRP1_EnableClock\n
2179 * APB4ENR RTCAPBEN LL_APB4_GRP1_EnableClock\n
2180 * APB4ENR DTSEN LL_APB4_GRP1_EnableClock
2181 * @param Periphs This parameter can be a combination of the following values:
2182 * @arg @ref LL_APB4_GRP1_PERIPH_SBS
2183 * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
2184 * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
2185 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
2186 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
2187 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
2188 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
2189 * @arg @ref LL_APB4_GRP1_PERIPH_VREF
2190 * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
2191 * @arg @ref LL_APB4_GRP1_PERIPH_DTS
2192 * @retval None
2193 */
LL_APB4_GRP1_EnableClock(uint32_t Periphs)2194 __STATIC_INLINE void LL_APB4_GRP1_EnableClock(uint32_t Periphs)
2195 {
2196 __IO uint32_t tmpreg;
2197 SET_BIT(RCC->APB4ENR, Periphs);
2198 /* Delay after an RCC peripheral clock enabling */
2199 tmpreg = READ_BIT(RCC->APB4ENR, Periphs);
2200 (void)tmpreg;
2201 }
2202
2203 /**
2204 * @brief Check if APB4 peripheral clock is enabled or not
2205 * @rmtoll APB4ENR SBSEN LL_APB4_GRP1_IsEnabledClock\n
2206 * APB4ENR LPUART1EN LL_APB4_GRP1_IsEnabledClock\n
2207 * APB4ENR SPI6EN LL_APB4_GRP1_IsEnabledClock\n
2208 * APB4ENR LPTIM2EN LL_APB4_GRP1_IsEnabledClock\n
2209 * APB4ENR LPTIM3EN LL_APB4_GRP1_IsEnabledClock\n
2210 * APB4ENR LPTIM4EN LL_APB4_GRP1_IsEnabledClock\n
2211 * APB4ENR LPTIM5EN LL_APB4_GRP1_IsEnabledClock\n
2212 * APB4ENR VREFEN LL_APB4_GRP1_IsEnabledClock\n
2213 * APB4ENR RTCAPBEN LL_APB4_GRP1_IsEnabledClock\n
2214 * APB4ENR DTSEN LL_APB4_GRP1_IsEnabledClock
2215 * @param Periphs This parameter can be a combination of the following values:
2216 * @arg @ref LL_APB4_GRP1_PERIPH_SBS
2217 * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
2218 * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
2219 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
2220 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
2221 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
2222 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
2223 * @arg @ref LL_APB4_GRP1_PERIPH_VREF
2224 * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
2225 * @arg @ref LL_APB4_GRP1_PERIPH_DTS
2226 * @retval uint32_t
2227 */
LL_APB4_GRP1_IsEnabledClock(uint32_t Periphs)2228 __STATIC_INLINE uint32_t LL_APB4_GRP1_IsEnabledClock(uint32_t Periphs)
2229 {
2230 return ((READ_BIT(RCC->APB4ENR, Periphs) == Periphs) ? 1U : 0U);
2231 }
2232
2233 /**
2234 * @brief Disable APB4 peripherals clock.
2235 * @rmtoll APB4ENR SBSEN LL_APB4_GRP1_DisableClock\n
2236 * APB4ENR LPUART1EN LL_APB4_GRP1_DisableClock\n
2237 * APB4ENR SPI6EN LL_APB4_GRP1_DisableClock\n
2238 * APB4ENR LPTIM2EN LL_APB4_GRP1_DisableClock\n
2239 * APB4ENR LPTIM3EN LL_APB4_GRP1_DisableClock\n
2240 * APB4ENR LPTIM4EN LL_APB4_GRP1_DisableClock\n
2241 * APB4ENR LPTIM5EN LL_APB4_GRP1_DisableClock\n
2242 * APB4ENR VREFEN LL_APB4_GRP1_DisableClock\n
2243 * APB4ENR RTCAPBEN LL_APB4_GRP1_DisableClock\n
2244 * APB4ENR DTSEN LL_APB4_GRP1_DisableClock
2245 * @param Periphs This parameter can be a combination of the following values:
2246 * @arg @ref LL_APB4_GRP1_PERIPH_SBS
2247 * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
2248 * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
2249 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
2250 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
2251 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
2252 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
2253 * @arg @ref LL_APB4_GRP1_PERIPH_VREF
2254 * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
2255 * @arg @ref LL_APB4_GRP1_PERIPH_DTS
2256 * @retval None
2257 */
LL_APB4_GRP1_DisableClock(uint32_t Periphs)2258 __STATIC_INLINE void LL_APB4_GRP1_DisableClock(uint32_t Periphs)
2259 {
2260 CLEAR_BIT(RCC->APB4ENR, Periphs);
2261 }
2262
2263 /**
2264 * @brief Force APB4 peripherals reset.
2265 * @rmtoll APB4RSTR SBSRST LL_APB4_GRP1_ForceReset\n
2266 * APB4RSTR LPUART1RST LL_APB4_GRP1_ForceReset\n
2267 * APB4RSTR SPI6RST LL_APB4_GRP1_ForceReset\n
2268 * APB4RSTR LPTIM2RST LL_APB4_GRP1_ForceReset\n
2269 * APB4RSTR LPTIM3RST LL_APB4_GRP1_ForceReset\n
2270 * APB4RSTR LPTIM4RST LL_APB4_GRP1_ForceReset\n
2271 * APB4RSTR LPTIM5RST LL_APB4_GRP1_ForceReset\n
2272 * APB4RSTR VREFRST LL_APB4_GRP1_ForceReset\n
2273 * APB4RSTR DTSRST LL_APB4_GRP1_ForceReset
2274 * @param Periphs This parameter can be a combination of the following values:
2275 * @arg @ref LL_APB4_GRP1_PERIPH_SBS
2276 * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
2277 * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
2278 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
2279 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
2280 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
2281 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
2282 * @arg @ref LL_APB4_GRP1_PERIPH_VREF
2283 * @arg @ref LL_APB4_GRP1_PERIPH_DTS
2284 * @retval None
2285 */
LL_APB4_GRP1_ForceReset(uint32_t Periphs)2286 __STATIC_INLINE void LL_APB4_GRP1_ForceReset(uint32_t Periphs)
2287 {
2288 SET_BIT(RCC->APB4RSTR, Periphs);
2289 }
2290
2291 /**
2292 * @brief Release APB4 peripherals reset.
2293 * @rmtoll APB4RSTR SBSRST LL_APB4_GRP1_ReleaseReset\n
2294 * APB4RSTR LPUART1RST LL_APB4_GRP1_ReleaseReset\n
2295 * APB4RSTR SPI6RST LL_APB4_GRP1_ReleaseReset\n
2296 * APB4RSTR LPTIM2RST LL_APB4_GRP1_ReleaseReset\n
2297 * APB4RSTR LPTIM3RST LL_APB4_GRP1_ReleaseReset\n
2298 * APB4RSTR LPTIM4RST LL_APB4_GRP1_ReleaseReset\n
2299 * APB4RSTR LPTIM5RST LL_APB4_GRP1_ReleaseReset\n
2300 * APB4RSTR VREFRST LL_APB4_GRP1_ReleaseReset\n
2301 * APB4RSTR DTSRST LL_APB4_GRP1_ReleaseReset
2302 * @param Periphs This parameter can be a combination of the following values:
2303 * @arg @ref LL_APB4_GRP1_PERIPH_SBS
2304 * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
2305 * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
2306 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
2307 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
2308 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
2309 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
2310 * @arg @ref LL_APB4_GRP1_PERIPH_VREF
2311 * @arg @ref LL_APB4_GRP1_PERIPH_DTS
2312 * @retval None
2313 */
LL_APB4_GRP1_ReleaseReset(uint32_t Periphs)2314 __STATIC_INLINE void LL_APB4_GRP1_ReleaseReset(uint32_t Periphs)
2315 {
2316 CLEAR_BIT(RCC->APB4RSTR, Periphs);
2317 }
2318
2319 /**
2320 * @brief Enable APB4 peripherals clock during Low Power (Sleep) mode.
2321 * @rmtoll APB4LPENR SBSLPEN LL_APB4_GRP1_EnableClockSleep\n
2322 * APB4LPENR LPUART1LPEN LL_APB4_GRP1_EnableClockSleep\n
2323 * APB4LPENR SPI6LPEN LL_APB4_GRP1_EnableClockSleep\n
2324 * APB4LPENR LPTIM2LPEN LL_APB4_GRP1_EnableClockSleep\n
2325 * APB4LPENR LPTIM3LPEN LL_APB4_GRP1_EnableClockSleep\n
2326 * APB4LPENR LPTIM4LPEN LL_APB4_GRP1_EnableClockSleep\n
2327 * APB4LPENR LPTIM5LPEN LL_APB4_GRP1_EnableClockSleep\n
2328 * APB4LPENR VREFLPEN LL_APB4_GRP1_EnableClockSleep\n
2329 * APB4LPENR RTCAPBLPEN LL_APB4_GRP1_EnableClockSleep\n
2330 * APB4LPENR DTSLPEN LL_APB4_GRP1_EnableClockSleep
2331 * @param Periphs This parameter can be a combination of the following values:
2332 * @arg @ref LL_APB4_GRP1_PERIPH_SBS
2333 * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
2334 * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
2335 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
2336 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
2337 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
2338 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
2339 * @arg @ref LL_APB4_GRP1_PERIPH_VREF
2340 * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
2341 * @arg @ref LL_APB4_GRP1_PERIPH_DTS
2342 * @retval None
2343 */
LL_APB4_GRP1_EnableClockSleep(uint32_t Periphs)2344 __STATIC_INLINE void LL_APB4_GRP1_EnableClockSleep(uint32_t Periphs)
2345 {
2346 __IO uint32_t tmpreg;
2347 SET_BIT(RCC->APB4LPENR, Periphs);
2348 /* Delay after an RCC peripheral clock enabling */
2349 tmpreg = READ_BIT(RCC->APB4LPENR, Periphs);
2350 (void)tmpreg;
2351 }
2352
2353 /**
2354 * @brief Disable APB4 peripherals clock during Low Power (Sleep) mode.
2355 * @rmtoll APB4LPENR SBSLPEN LL_APB4_GRP1_DisableClockSleep\n
2356 * APB4LPENR LPUART1LPEN LL_APB4_GRP1_DisableClockSleep\n
2357 * APB4LPENR SPI6LPEN LL_APB4_GRP1_DisableClockSleep\n
2358 * APB4LPENR LPTIM2LPEN LL_APB4_GRP1_DisableClockSleep\n
2359 * APB4LPENR LPTIM3LPEN LL_APB4_GRP1_DisableClockSleep\n
2360 * APB4LPENR LPTIM4LPEN LL_APB4_GRP1_DisableClockSleep\n
2361 * APB4LPENR LPTIM5LPEN LL_APB4_GRP1_DisableClockSleep\n
2362 * APB4LPENR VREFLPEN LL_APB4_GRP1_DisableClockSleep\n
2363 * APB4LPENR RTCAPBLPEN LL_APB4_GRP1_DisableClockSleep\n
2364 * APB4LPENR DTSLPEN LL_APB4_GRP1_DisableClockSleep
2365 * @param Periphs This parameter can be a combination of the following values:
2366 * @arg @ref LL_APB4_GRP1_PERIPH_SBS
2367 * @arg @ref LL_APB4_GRP1_PERIPH_LPUART1
2368 * @arg @ref LL_APB4_GRP1_PERIPH_SPI6
2369 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM2
2370 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM3
2371 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM4
2372 * @arg @ref LL_APB4_GRP1_PERIPH_LPTIM5
2373 * @arg @ref LL_APB4_GRP1_PERIPH_VREF
2374 * @arg @ref LL_APB4_GRP1_PERIPH_RTCAPB
2375 * @arg @ref LL_APB4_GRP1_PERIPH_DTS
2376 * @retval None
2377 */
LL_APB4_GRP1_DisableClockSleep(uint32_t Periphs)2378 __STATIC_INLINE void LL_APB4_GRP1_DisableClockSleep(uint32_t Periphs)
2379 {
2380 CLEAR_BIT(RCC->APB4LPENR, Periphs);
2381 }
2382
2383 /**
2384 * @}
2385 */
2386
2387 /** @defgroup BUS_LL_EF_APB5 APB5
2388 * @{
2389 */
2390
2391 /**
2392 * @brief Enable APB5 peripherals clock.
2393 * @rmtoll APB5ENR LTDCEN LL_APB5_GRP1_EnableClock\n
2394 * APB5ENR DCMIPPEN LL_APB5_GRP1_EnableClock\n
2395 * APB5ENR GFXTIMEN LL_APB5_GRP1_EnableClock
2396 * @param Periphs This parameter can be a combination of the following values:
2397 * @arg @ref LL_APB5_GRP1_PERIPH_LTDC (*)
2398 * @arg @ref LL_APB5_GRP1_PERIPH_DCMIPP
2399 * @arg @ref LL_APB5_GRP1_PERIPH_GFXTIM
2400 *
2401 * (*) value not defined in all devices.
2402 * @retval None
2403 */
LL_APB5_GRP1_EnableClock(uint32_t Periphs)2404 __STATIC_INLINE void LL_APB5_GRP1_EnableClock(uint32_t Periphs)
2405 {
2406 __IO uint32_t tmpreg;
2407 SET_BIT(RCC->APB5ENR, Periphs);
2408 /* Delay after an RCC peripheral clock enabling */
2409 tmpreg = READ_BIT(RCC->APB5ENR, Periphs);
2410 (void)tmpreg;
2411 }
2412
2413 /**
2414 * @brief Check if APB5 peripheral clock is enabled or not
2415 * @rmtoll APB5ENR LTDCEN LL_APB5_GRP1_IsEnabledClock\n
2416 * APB5ENR DCMIPPEN LL_APB5_GRP1_IsEnabledClock\n
2417 * APB5ENR GFXTIMEN LL_APB5_GRP1_IsEnabledClock
2418 * @param Periphs This parameter can be a combination of the following values:
2419 * @arg @ref LL_APB5_GRP1_PERIPH_LTDC (*)
2420 * @arg @ref LL_APB5_GRP1_PERIPH_DCMIPP
2421 * @arg @ref LL_APB5_GRP1_PERIPH_GFXTIM
2422 *
2423 * (*) value not defined in all devices.
2424 * @retval uint32_t
2425 */
LL_APB5_GRP1_IsEnabledClock(uint32_t Periphs)2426 __STATIC_INLINE uint32_t LL_APB5_GRP1_IsEnabledClock(uint32_t Periphs)
2427 {
2428 return ((READ_BIT(RCC->APB5ENR, Periphs) == Periphs) ? 1U : 0U);
2429 }
2430
2431 /**
2432 * @brief Disable APB5 peripherals clock.
2433 * @rmtoll APB5ENR LTDCEN LL_APB5_GRP1_DisableClock\n
2434 * APB5ENR DCMIPPEN LL_APB5_GRP1_DisableClock\n
2435 * APB5ENR GFXTIMEN LL_APB5_GRP1_DisableClock
2436 * @param Periphs This parameter can be a combination of the following values:
2437 * @arg @ref LL_APB5_GRP1_PERIPH_LTDC (*)
2438 * @arg @ref LL_APB5_GRP1_PERIPH_DCMIPP
2439 * @arg @ref LL_APB5_GRP1_PERIPH_GFXTIM
2440 *
2441 * (*) value not defined in all devices.
2442 * @retval None
2443 */
LL_APB5_GRP1_DisableClock(uint32_t Periphs)2444 __STATIC_INLINE void LL_APB5_GRP1_DisableClock(uint32_t Periphs)
2445 {
2446 CLEAR_BIT(RCC->APB5ENR, Periphs);
2447 }
2448
2449 /**
2450 * @brief Force APB5 peripherals reset.
2451 * @rmtoll APB5RSTR LTDCRST LL_APB5_GRP1_ForceReset\n
2452 * APB5RSTR DCMIPPRST LL_APB5_GRP1_ForceReset\n
2453 * APB5RSTR GFXTIMRST LL_APB5_GRP1_ForceReset
2454 * @param Periphs This parameter can be a combination of the following values:
2455 * @arg @ref LL_APB5_GRP1_PERIPH_LTDC (*)
2456 * @arg @ref LL_APB5_GRP1_PERIPH_DCMIPP
2457 * @arg @ref LL_APB5_GRP1_PERIPH_GFXTIM
2458 *
2459 * (*) value not defined in all devices.
2460 * @retval None
2461 */
LL_APB5_GRP1_ForceReset(uint32_t Periphs)2462 __STATIC_INLINE void LL_APB5_GRP1_ForceReset(uint32_t Periphs)
2463 {
2464 SET_BIT(RCC->APB5RSTR, Periphs);
2465 }
2466
2467 /**
2468 * @brief Release APB5 peripherals reset.
2469 * @rmtoll APB5RSTR LTDCRST LL_APB5_GRP1_ReleaseReset\n
2470 * APB5RSTR DCMIPPRST LL_APB5_GRP1_ForceReset\n
2471 * APB5RSTR GFXTIMRST LL_APB5_GRP1_ForceReset
2472 * @param Periphs This parameter can be a combination of the following values:
2473 * @arg @ref LL_APB5_GRP1_PERIPH_LTDC (*)
2474 * @arg @ref LL_APB5_GRP1_PERIPH_DCMIPP
2475 * @arg @ref LL_APB5_GRP1_PERIPH_GFXTIM
2476 *
2477 * (*) value not defined in all devices.
2478 * @retval None
2479 */
LL_APB5_GRP1_ReleaseReset(uint32_t Periphs)2480 __STATIC_INLINE void LL_APB5_GRP1_ReleaseReset(uint32_t Periphs)
2481 {
2482 CLEAR_BIT(RCC->APB5RSTR, Periphs);
2483 }
2484
2485 /**
2486 * @brief Enable APB5 peripherals clock during Low Power (Sleep) mode.
2487 * @rmtoll APB5LPENR LTDCLPEN LL_APB5_GRP1_EnableClockSleep\n
2488 * APB5LPENR DCMIPPLPEN LL_APB5_GRP1_EnableClockSleep\n
2489 * APB5LPENR GFXTIMLPEN LL_APB5_GRP1_EnableClockSleep
2490 * @param Periphs This parameter can be a combination of the following values:
2491 * @arg @ref LL_APB5_GRP1_PERIPH_LTDC (*)
2492 * @arg @ref LL_APB5_GRP1_PERIPH_DCMIPP
2493 * @arg @ref LL_APB5_GRP1_PERIPH_GFXTIM
2494 *
2495 * (*) value not defined in all devices.
2496 * @retval None
2497 */
LL_APB5_GRP1_EnableClockSleep(uint32_t Periphs)2498 __STATIC_INLINE void LL_APB5_GRP1_EnableClockSleep(uint32_t Periphs)
2499 {
2500 __IO uint32_t tmpreg;
2501 SET_BIT(RCC->APB5LPENR, Periphs);
2502 /* Delay after an RCC peripheral clock enabling */
2503 tmpreg = READ_BIT(RCC->APB5LPENR, Periphs);
2504 (void)tmpreg;
2505 }
2506
2507 /**
2508 * @brief Disable APB5 peripherals clock during Low Power (Sleep) mode.
2509 * @rmtoll APB5LPENR LTDCLPEN LL_APB5_GRP1_DisableClockSleep\n
2510 * APB5LPENR DCMIPPLPEN LL_APB5_GRP1_DisableClockSleep\n
2511 * APB5LPENR GFXTIMLPEN LL_APB5_GRP1_DisableClockSleep
2512 * @param Periphs This parameter can be a combination of the following values:
2513 * @arg @ref LL_APB5_GRP1_PERIPH_LTDC (*)
2514 * @arg @ref LL_APB5_GRP1_PERIPH_DCMIPP
2515 * @arg @ref LL_APB5_GRP1_PERIPH_GFXTIM
2516 *
2517 * (*) value not defined in all devices.
2518 * @retval None
2519 */
LL_APB5_GRP1_DisableClockSleep(uint32_t Periphs)2520 __STATIC_INLINE void LL_APB5_GRP1_DisableClockSleep(uint32_t Periphs)
2521 {
2522 CLEAR_BIT(RCC->APB5LPENR, Periphs);
2523 }
2524
2525 /**
2526 * @}
2527 */
2528
2529 /** @defgroup BUS_LL_EF_CKGA CKGA (AXI Clocks Gating)
2530 * @{
2531 */
2532
2533 /**
2534 * @brief Enable clock gating for AXI bus peripherals.
2535 * @rmtoll CKGDISR AXICKG LL_CKGA_Enable\n
2536 * CKGDISR AHBMCKG LL_CKGA_Enable\n
2537 * CKGDISR SDMMC1CKG LL_CKGA_Enable\n
2538 * CKGDISR HPDMA1CKG LL_CKGA_Enable\n
2539 * CKGDISR CPUCKG LL_CKGA_Enable\n
2540 * CKGDISR GPU2DS0CKG LL_CKGA_Enable\n
2541 * CKGDISR GPU2DS1CKG LL_CKGA_Enable\n
2542 * CKGDISR GPUCLCKG LL_CKGA_Enable\n
2543 * CKGDISR DCMIPPCKG LL_CKGA_Enable\n
2544 * CKGDISR DMA2DCKG LL_CKGA_Enable\n
2545 * CKGDISR GFXMMUSCKG LL_CKGA_Enable\n
2546 * CKGDISR LTDCCKG LL_CKGA_Enable\n
2547 * CKGDISR GFXMMUMCKG LL_CKGA_Enable\n
2548 * CKGDISR AHBSCKG LL_CKGA_Enable\n
2549 * CKGDISR FMCCKG LL_CKGA_Enable\n
2550 * CKGDISR XSPI2CKG LL_CKGA_Enable\n
2551 * CKGDISR XSPI1CKG LL_CKGA_Enable\n
2552 * CKGDISR AXIRAM1CKG LL_CKGA_Enable\n
2553 * CKGDISR AXIRAM2CKG LL_CKGA_Enable\n
2554 * CKGDISR AXIRAM3CKG LL_CKGA_Enable\n
2555 * CKGDISR AXIRAM4CKG LL_CKGA_Enable\n
2556 * CKGDISR FLASHCKG LL_CKGA_Enable\n
2557 * CKGDISR EXTICKG LL_CKGA_Enable\n
2558 * CKGDISR JTAGCKG LL_CKGA_Enable
2559 * @param Periphs This parameter can be a combination of the following values:
2560 * @arg @ref LL_CKGA_PERIPH_AXI
2561 * @arg @ref LL_CKGA_PERIPH_AHBM
2562 * @arg @ref LL_CKGA_PERIPH_AHBS
2563 * @arg @ref LL_CKGA_PERIPH_SDMMC1
2564 * @arg @ref LL_CKGA_PERIPH_HPDMA1
2565 * @arg @ref LL_CKGA_PERIPH_CPU
2566 * @arg @ref LL_CKGA_PERIPH_GPU2DS0 (*)
2567 * @arg @ref LL_CKGA_PERIPH_GPU2DS1 (*)
2568 * @arg @ref LL_CKGA_PERIPH_GPU2DCL (*)
2569 * @arg @ref LL_CKGA_PERIPH_DMA2D
2570 * @arg @ref LL_CKGA_PERIPH_DCMIPP
2571 * @arg @ref LL_CKGA_PERIPH_LTDC (*)
2572 * @arg @ref LL_CKGA_PERIPH_FLASH
2573 * @arg @ref LL_CKGA_PERIPH_XSPI2
2574 * @arg @ref LL_CKGA_PERIPH_XSPI1
2575 * @arg @ref LL_CKGA_PERIPH_FMC
2576 * @arg @ref LL_CKGA_PERIPH_AXIRAM1
2577 * @arg @ref LL_CKGA_PERIPH_AXIRAM2
2578 * @arg @ref LL_CKGA_PERIPH_AXIRAM3
2579 * @arg @ref LL_CKGA_PERIPH_AXIRAM4
2580 * @arg @ref LL_CKGA_PERIPH_GFXMMUM
2581 * @arg @ref LL_CKGA_PERIPH_GFXMMUS
2582 * @arg @ref LL_CKGA_PERIPH_EXTI
2583 * @arg @ref LL_CKGA_PERIPH_JTAG
2584 *
2585 * (*) value not defined in all devices.
2586 * @retval None
2587 */
LL_CKGA_Enable(uint32_t Periphs)2588 __STATIC_INLINE void LL_CKGA_Enable(uint32_t Periphs)
2589 {
2590 CLEAR_BIT(RCC->CKGDISR, Periphs);
2591 }
2592
2593 /**
2594 * @brief Check if AXI bus peripherals clock gating is enabled or not
2595 * @rmtoll CKGDISR AXICKG LL_CKGA_IsEnabledClock\n
2596 * CKGDISR AHBMCKG LL_CKGA_IsEnabledClock\n
2597 * CKGDISR SDMMC1CKG LL_CKGA_IsEnabledClock\n
2598 * CKGDISR HPDMA1CKG LL_CKGA_IsEnabledClock\n
2599 * CKGDISR CPUCKG LL_CKGA_IsEnabledClock\n
2600 * CKGDISR GPU2DS0CKG LL_CKGA_IsEnabledClock\n
2601 * CKGDISR GPU2DS1CKG LL_CKGA_IsEnabledClock\n
2602 * CKGDISR GPU2DCLCKG LL_CKGA_IsEnabledClock\n
2603 * CKGDISR DCMIPPCKG LL_CKGA_IsEnabledClock\n
2604 * CKGDISR DMA2DCKG LL_CKGA_IsEnabledClock\n
2605 * CKGDISR GFXMMUSCKG LL_CKGA_IsEnabledClock\n
2606 * CKGDISR LTDCCKG LL_CKGA_IsEnabledClock\n
2607 * CKGDISR GFXMMUMCKG LL_CKGA_IsEnabledClock\n
2608 * CKGDISR AHBSCKG LL_CKGA_IsEnabledClock\n
2609 * CKGDISR FMCCKG LL_CKGA_IsEnabledClock\n
2610 * CKGDISR XSPI2CKG LL_CKGA_IsEnabledClock\n
2611 * CKGDISR XSPI1CKG LL_CKGA_IsEnabledClock\n
2612 * CKGDISR AXIRAM1CKG LL_CKGA_IsEnabledClock\n
2613 * CKGDISR AXIRAM2CKG LL_CKGA_IsEnabledClock\n
2614 * CKGDISR AXIRAM3CKG LL_CKGA_IsEnabledClock\n
2615 * CKGDISR AXIRAM4CKG LL_CKGA_IsEnabledClock\n
2616 * CKGDISR FLASHCKG LL_CKGA_IsEnabledClock\n
2617 * CKGDISR EXTICKG LL_CKGA_IsEnabledClock\n
2618 * CKGDISR JTAGCKG LL_CKGA_IsEnabledClock
2619 * @param Periphs This parameter can be a combination of the following values:
2620 * @arg @ref LL_CKGA_PERIPH_AXI
2621 * @arg @ref LL_CKGA_PERIPH_AHBM
2622 * @arg @ref LL_CKGA_PERIPH_AHBS
2623 * @arg @ref LL_CKGA_PERIPH_SDMMC1
2624 * @arg @ref LL_CKGA_PERIPH_HPDMA1
2625 * @arg @ref LL_CKGA_PERIPH_CPU
2626 * @arg @ref LL_CKGA_PERIPH_GPU2DS0 (*)
2627 * @arg @ref LL_CKGA_PERIPH_GPU2DS1 (*)
2628 * @arg @ref LL_CKGA_PERIPH_GPU2DCL (*)
2629 * @arg @ref LL_CKGA_PERIPH_DMA2D
2630 * @arg @ref LL_CKGA_PERIPH_DCMIPP
2631 * @arg @ref LL_CKGA_PERIPH_LTDC (*)
2632 * @arg @ref LL_CKGA_PERIPH_FLASH
2633 * @arg @ref LL_CKGA_PERIPH_XSPI2
2634 * @arg @ref LL_CKGA_PERIPH_XSPI1
2635 * @arg @ref LL_CKGA_PERIPH_FMC
2636 * @arg @ref LL_CKGA_PERIPH_AXIRAM1
2637 * @arg @ref LL_CKGA_PERIPH_AXIRAM2
2638 * @arg @ref LL_CKGA_PERIPH_AXIRAM3
2639 * @arg @ref LL_CKGA_PERIPH_AXIRAM4
2640 * @arg @ref LL_CKGA_PERIPH_GFXMMUM
2641 * @arg @ref LL_CKGA_PERIPH_GFXMMUS
2642 * @arg @ref LL_CKGA_PERIPH_EXTI
2643 * @arg @ref LL_CKGA_PERIPH_JTAG
2644 *
2645 * (*) value not defined in all devices.
2646 * @retval uint32_t
2647 */
LL_CKGA_IsEnabledClock(uint32_t Periphs)2648 __STATIC_INLINE uint32_t LL_CKGA_IsEnabledClock(uint32_t Periphs)
2649 {
2650 return ((READ_BIT(RCC->CKGDISR, Periphs) == 0U) ? 1U : 0U);
2651 }
2652
2653 /**
2654 * @brief Disable clock gating for AXI bus peripherals.
2655 * @rmtoll CKGDISR AXICKG LL_CKGA_Disable\n
2656 * CKGDISR AHBMCKG LL_CKGA_Disable\n
2657 * CKGDISR SDMMC1CKG LL_CKGA_Disable\n
2658 * CKGDISR HPDMA1CKG LL_CKGA_Disable\n
2659 * CKGDISR CPUCKG LL_CKGA_Disable\n
2660 * CKGDISR GPU2DS0CKG LL_CKGA_Disable\n
2661 * CKGDISR GPU2DS1CKG LL_CKGA_Disable\n
2662 * CKGDISR GPUCLCKG LL_CKGA_Disable\n
2663 * CKGDISR DCMIPPCKG LL_CKGA_Disable\n
2664 * CKGDISR DMA2DCKG LL_CKGA_Disable\n
2665 * CKGDISR GFXMMUSCKG LL_CKGA_Disable\n
2666 * CKGDISR LTDCCKG LL_CKGA_Disable\n
2667 * CKGDISR GFXMMUMCKG LL_CKGA_Disable\n
2668 * CKGDISR AHBSCKG LL_CKGA_Disable\n
2669 * CKGDISR FMCCKG LL_CKGA_Disable\n
2670 * CKGDISR XSPI2CKG LL_CKGA_Disable\n
2671 * CKGDISR XSPI1CKG LL_CKGA_Disable\n
2672 * CKGDISR AXIRAM1CKG LL_CKGA_Disable\n
2673 * CKGDISR AXIRAM2CKG LL_CKGA_Disable\n
2674 * CKGDISR AXIRAM3CKG LL_CKGA_Disable\n
2675 * CKGDISR AXIRAM4CKG LL_CKGA_Disable\n
2676 * CKGDISR FLASHCKG LL_CKGA_Disable\n
2677 * CKGDISR EXTICKG LL_CKGA_Disable\n
2678 * CKGDISR JTAGCKG LL_CKGA_Disable
2679 * @param Periphs This parameter can be a combination of the following values:
2680 * @arg @ref LL_CKGA_PERIPH_AXI
2681 * @arg @ref LL_CKGA_PERIPH_AHBM
2682 * @arg @ref LL_CKGA_PERIPH_AHBS
2683 * @arg @ref LL_CKGA_PERIPH_SDMMC1
2684 * @arg @ref LL_CKGA_PERIPH_HPDMA1
2685 * @arg @ref LL_CKGA_PERIPH_CPU
2686 * @arg @ref LL_CKGA_PERIPH_GPU2DS0
2687 * @arg @ref LL_CKGA_PERIPH_GPU2DS1
2688 * @arg @ref LL_CKGA_PERIPH_GPU2DCL
2689 * @arg @ref LL_CKGA_PERIPH_DMA2D
2690 * @arg @ref LL_CKGA_PERIPH_DCMIPP
2691 * @arg @ref LL_CKGA_PERIPH_LTDC
2692 * @arg @ref LL_CKGA_PERIPH_FLASH
2693 * @arg @ref LL_CKGA_PERIPH_XSPI2
2694 * @arg @ref LL_CKGA_PERIPH_XSPI1
2695 * @arg @ref LL_CKGA_PERIPH_FMC
2696 * @arg @ref LL_CKGA_PERIPH_AXIRAM1
2697 * @arg @ref LL_CKGA_PERIPH_AXIRAM2
2698 * @arg @ref LL_CKGA_PERIPH_AXIRAM3
2699 * @arg @ref LL_CKGA_PERIPH_AXIRAM4
2700 * @arg @ref LL_CKGA_PERIPH_GFXMMUM
2701 * @arg @ref LL_CKGA_PERIPH_GFXMMUS
2702 * @arg @ref LL_CKGA_PERIPH_EXTI
2703 * @arg @ref LL_CKGA_PERIPH_JTAG
2704 *
2705 * (*) value not defined in all devices.
2706 * @retval None
2707 */
LL_CKGA_Disable(uint32_t Periphs)2708 __STATIC_INLINE void LL_CKGA_Disable(uint32_t Periphs)
2709 {
2710 SET_BIT(RCC->CKGDISR, Periphs);
2711 }
2712 /**
2713 * @}
2714 */
2715
2716 /**
2717 * @}
2718 */
2719
2720 /**
2721 * @}
2722 */
2723
2724 #endif /* defined(RCC) */
2725
2726 /**
2727 * @}
2728 */
2729
2730 #ifdef __cplusplus
2731 }
2732 #endif
2733
2734 #endif /* STM32H7RSxx_LL_BUS_H */
2735