1 /**
2   ******************************************************************************
3   * @file    stm32u5xx_ll_bus.h
4   * @author  MCD Application Team
5   * @brief   Header file of BUS LL module.
6 
7   ******************************************************************************
8   * @attention
9   *
10   * Copyright (c) 2021 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 
37 /* Define to prevent recursive inclusion -------------------------------------*/
38 #ifndef STM32U5xx_LL_BUS_H
39 #define STM32U5xx_LL_BUS_H
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
45 /* Includes ------------------------------------------------------------------*/
46 #include "stm32u5xx.h"
47 
48 /** @addtogroup STM32U5xx_LL_Driver
49   * @{
50   */
51 
52 #if defined(RCC)
53 
54 /** @defgroup BUS_LL BUS
55   * @{
56   */
57 
58 /* Private types -------------------------------------------------------------*/
59 /* Private variables ---------------------------------------------------------*/
60 /* Private constants ---------------------------------------------------------*/
61 /* Private macros ------------------------------------------------------------*/
62 
63 /* Exported types ------------------------------------------------------------*/
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_ALL           0xFFFFFFFFU
73 #define LL_AHB1_GRP1_PERIPH_GPDMA1        RCC_AHB1ENR_GPDMA1EN
74 #define LL_AHB1_GRP1_PERIPH_CORDIC        RCC_AHB1ENR_CORDICEN
75 #define LL_AHB1_GRP1_PERIPH_FMAC          RCC_AHB1ENR_FMACEN
76 #define LL_AHB1_GRP1_PERIPH_MDF1          RCC_AHB1ENR_MDF1EN
77 #define LL_AHB1_GRP1_PERIPH_FLASH         RCC_AHB1ENR_FLASHEN
78 #define LL_AHB1_GRP1_PERIPH_CRC           RCC_AHB1ENR_CRCEN
79 #if defined(JPEG)
80 #define LL_AHB1_GRP1_PERIPH_JPEG          RCC_AHB1ENR_JPEGEN
81 #endif /* defined(JPEG) */
82 #define LL_AHB1_GRP1_PERIPH_TSC           RCC_AHB1ENR_TSCEN
83 #define LL_AHB1_GRP1_PERIPH_RAMCFG        RCC_AHB1ENR_RAMCFGEN
84 #if defined(DMA2D)
85 #define LL_AHB1_GRP1_PERIPH_DMA2D         RCC_AHB1ENR_DMA2DEN
86 #endif /* DMA2D */
87 #if defined(GFXMMU)
88 #define LL_AHB1_GRP1_PERIPH_GFXMMU        RCC_AHB1ENR_GFXMMUEN
89 #endif /* defined(GFXMMU) */
90 #if defined(GPU2D)
91 #define LL_AHB1_GRP1_PERIPH_GPU2D         RCC_AHB1ENR_GPU2DEN
92 #endif /* defined(GPU2D) */
93 #if defined(DCACHE2)
94 #define LL_AHB1_GRP1_PERIPH_DCACHE2        RCC_AHB1ENR_DCACHE2EN
95 #endif /* defined(DCACHE2) */
96 #define LL_AHB1_GRP1_PERIPH_GTZC1         RCC_AHB1ENR_GTZC1EN
97 #define LL_AHB1_GRP1_PERIPH_BKPSRAM       RCC_AHB1ENR_BKPSRAMEN
98 #define LL_AHB1_GRP1_PERIPH_ICACHE1       RCC_AHB1SMENR_ICACHESMEN
99 #define LL_AHB1_GRP1_PERIPH_DCACHE1       RCC_AHB1ENR_DCACHE1EN
100 #define LL_AHB1_GRP1_PERIPH_SRAM1         RCC_AHB1ENR_SRAM1EN
101 /**
102   * @}
103   */
104 
105 /** @defgroup BUS_LL_EC_AHB2_GRP1_PERIPH  AHB2 GRP1 PERIPH
106   * @{
107   */
108 #define LL_AHB2_GRP1_PERIPH_ALL            0xFFFFFFFFU
109 #define LL_AHB2_GRP1_PERIPH_GPIOA          RCC_AHB2ENR1_GPIOAEN
110 #define LL_AHB2_GRP1_PERIPH_GPIOB          RCC_AHB2ENR1_GPIOBEN
111 #define LL_AHB2_GRP1_PERIPH_GPIOC          RCC_AHB2ENR1_GPIOCEN
112 #define LL_AHB2_GRP1_PERIPH_GPIOD          RCC_AHB2ENR1_GPIODEN
113 #define LL_AHB2_GRP1_PERIPH_GPIOE          RCC_AHB2ENR1_GPIOEEN
114 #if defined(GPIOF)
115 #define LL_AHB2_GRP1_PERIPH_GPIOF          RCC_AHB2ENR1_GPIOFEN
116 #endif /* GPIOF */
117 #define LL_AHB2_GRP1_PERIPH_GPIOG          RCC_AHB2ENR1_GPIOGEN
118 #define LL_AHB2_GRP1_PERIPH_GPIOH          RCC_AHB2ENR1_GPIOHEN
119 #if defined (GPIOI)
120 #define LL_AHB2_GRP1_PERIPH_GPIOI          RCC_AHB2ENR1_GPIOIEN
121 #endif /* GPIOI */
122 #if defined (GPIOJ)
123 #define LL_AHB2_GRP1_PERIPH_GPIOJ          RCC_AHB2ENR1_GPIOJEN
124 #endif /* defined (GPIOJ) */
125 #define LL_AHB2_GRP1_PERIPH_ADC12          RCC_AHB2ENR1_ADC12EN
126 #define LL_AHB2_GRP1_PERIPH_DCMI_PSSI      RCC_AHB2ENR1_DCMI_PSSIEN
127 #if defined(USB_OTG_FS)
128 #define LL_AHB2_GRP1_PERIPH_OTG_FS         RCC_AHB2ENR1_OTGEN
129 /* Legacy define */
130 #define LL_AHB2_GRP1_PERIPH_USBFS          LL_AHB2_GRP1_PERIPH_OTG_FS
131 #elif defined(USB_OTG_HS)
132 #define LL_AHB2_GRP1_PERIPH_OTG_HS         RCC_AHB2ENR1_OTGEN
133 /* Legacy define */
134 #define LL_AHB2_GRP1_PERIPH_USBHS          LL_AHB2_GRP1_PERIPH_OTG_HS
135 #endif /* defined(USB_OTG_HS) */
136 #if defined(RCC_AHB2ENR1_USBPHYCEN)
137 #define LL_AHB2_GRP1_PERIPH_USBPHY         RCC_AHB2ENR1_USBPHYCEN
138 #endif /* defined(RCC_AHB2ENR1_USBPHYCEN) */
139 #if defined(AES)
140 #define LL_AHB2_GRP1_PERIPH_AES            RCC_AHB2ENR1_AESEN
141 #endif /* AES */
142 #if defined(HASH)
143 #define LL_AHB2_GRP1_PERIPH_HASH           RCC_AHB2ENR1_HASHEN
144 #endif /* HASH */
145 #define LL_AHB2_GRP1_PERIPH_RNG            RCC_AHB2ENR1_RNGEN
146 #define LL_AHB2_GRP1_PERIPH_PKA            RCC_AHB2ENR1_PKAEN
147 #if defined(SAES)
148 #define LL_AHB2_GRP1_PERIPH_SAES           RCC_AHB2ENR1_SAESEN
149 #endif /* SAES */
150 #if defined(OCTOSPIM)
151 #define LL_AHB2_GRP1_PERIPH_OCTOSPIM       RCC_AHB2ENR1_OCTOSPIMEN
152 #endif /* OCTOSPIM */
153 #define LL_AHB2_GRP1_PERIPH_OTFDEC1        RCC_AHB2ENR1_OTFDEC1EN
154 #if defined (OTFDEC2)
155 #define LL_AHB2_GRP1_PERIPH_OTFDEC2        RCC_AHB2ENR1_OTFDEC2EN
156 #endif /* OTFDEC2 */
157 #define LL_AHB2_GRP1_PERIPH_SDMMC1         RCC_AHB2ENR1_SDMMC1EN
158 #if defined(SDMMC2)
159 #define LL_AHB2_GRP1_PERIPH_SDMMC2         RCC_AHB2ENR1_SDMMC2EN
160 #endif /* SDMMC2 */
161 #define LL_AHB2_GRP1_PERIPH_SRAM2          RCC_AHB2ENR1_SRAM2EN
162 #if defined(SRAM3_BASE)
163 #define LL_AHB2_GRP1_PERIPH_SRAM3          RCC_AHB2ENR1_SRAM3EN
164 #endif /* SRAM3_BASE */
165 
166 /**
167   * @}
168   */
169 
170 /** @defgroup BUS_LL_EC_AHB3_GRP1_PERIPH  AHB3 GRP1 PERIPH
171   * @{
172   */
173 #define LL_AHB3_GRP1_PERIPH_ALL            0xFFFFFFFFU
174 #define LL_AHB3_GRP1_PERIPH_LPGPIO1        RCC_AHB3ENR_LPGPIO1EN
175 #define LL_AHB3_GRP1_PERIPH_PWR            RCC_AHB3ENR_PWREN
176 #define LL_AHB3_GRP1_PERIPH_ADC4           RCC_AHB3ENR_ADC4EN
177 #define LL_AHB3_GRP1_PERIPH_DAC1           RCC_AHB3ENR_DAC1EN
178 #define LL_AHB3_GRP1_PERIPH_LPDMA1         RCC_AHB3ENR_LPDMA1EN
179 #define LL_AHB3_GRP1_PERIPH_ADF1           RCC_AHB3ENR_ADF1EN
180 #define LL_AHB3_GRP1_PERIPH_GTZC2          RCC_AHB3ENR_GTZC2EN
181 #define LL_AHB3_GRP1_PERIPH_SRAM4          RCC_AHB3ENR_SRAM4EN
182 
183 /**
184   * @}
185   */
186 
187 /** @defgroup BUS_LL_EC_AHB2_GRP2_PERIPH  AHB2 GRP2 PERIPH
188   * @{
189   */
190 #define LL_AHB2_GRP2_PERIPH_ALL            0xFFFFFFFFU
191 #if defined(FMC_BASE)
192 #define LL_AHB2_GRP2_PERIPH_FSMC           RCC_AHB2ENR2_FSMCEN
193 #endif /* FMC_BASE */
194 #define LL_AHB2_GRP2_PERIPH_OCTOSPI1       RCC_AHB2ENR2_OCTOSPI1EN
195 #if defined(OCTOSPI2)
196 #define LL_AHB2_GRP2_PERIPH_OCTOSPI2       RCC_AHB2ENR2_OCTOSPI2EN
197 #endif /* OCTOSPI2 */
198 #if defined(HSPI1)
199 #define LL_AHB2_GRP2_PERIPH_HSPI1          RCC_AHB2ENR2_HSPI1EN
200 #endif /* defined(HSPI1) */
201 #if defined(SRAM6_BASE)
202 #define LL_AHB2_GRP2_PERIPH_SRAM6          RCC_AHB2ENR2_SRAM6EN
203 #endif /* SRAM6_BASE */
204 #if defined(SRAM5_BASE)
205 #define LL_AHB2_GRP2_PERIPH_SRAM5          RCC_AHB2ENR2_SRAM5EN
206 #endif /* SRAM5_BASE */
207 /**
208   * @}
209   */
210 
211 /** @defgroup BUS_LL_EC_APB1_GRP1_PERIPH  APB1 GRP1 PERIPH
212   * @{
213   */
214 #define LL_APB1_GRP1_PERIPH_ALL           0xFFFFFFFFU
215 #define LL_APB1_GRP1_PERIPH_TIM2          RCC_APB1ENR1_TIM2EN
216 #define LL_APB1_GRP1_PERIPH_TIM3          RCC_APB1ENR1_TIM3EN
217 #define LL_APB1_GRP1_PERIPH_TIM4          RCC_APB1ENR1_TIM4EN
218 #define LL_APB1_GRP1_PERIPH_TIM5          RCC_APB1ENR1_TIM5EN
219 #define LL_APB1_GRP1_PERIPH_TIM6          RCC_APB1ENR1_TIM6EN
220 #define LL_APB1_GRP1_PERIPH_TIM7          RCC_APB1ENR1_TIM7EN
221 #define LL_APB1_GRP1_PERIPH_WWDG          RCC_APB1ENR1_WWDGEN
222 #define LL_APB1_GRP1_PERIPH_SPI2          RCC_APB1ENR1_SPI2EN
223 #if defined(USART2)
224 #define LL_APB1_GRP1_PERIPH_USART2        RCC_APB1ENR1_USART2EN
225 #endif /* USART2 */
226 #define LL_APB1_GRP1_PERIPH_USART3        RCC_APB1ENR1_USART3EN
227 #define LL_APB1_GRP1_PERIPH_UART4         RCC_APB1ENR1_UART4EN
228 #define LL_APB1_GRP1_PERIPH_UART5         RCC_APB1ENR1_UART5EN
229 #define LL_APB1_GRP1_PERIPH_I2C1          RCC_APB1ENR1_I2C1EN
230 #define LL_APB1_GRP1_PERIPH_I2C2          RCC_APB1ENR1_I2C2EN
231 #define LL_APB1_GRP1_PERIPH_CRS           RCC_APB1ENR1_CRSEN
232 #if defined(USART6)
233 #define LL_APB1_GRP1_PERIPH_USART6        RCC_APB1ENR1_USART6EN
234 #endif /* defined(USART6) */
235 /**
236   * @}
237   */
238 
239 
240 /** @defgroup BUS_LL_EC_APB1_GRP2_PERIPH  APB1 GRP2 PERIPH
241   * @{
242   */
243 #define LL_APB1_GRP2_PERIPH_ALL            0xFFFFFFFFU
244 #define LL_APB1_GRP2_PERIPH_I2C4           RCC_APB1ENR2_I2C4EN
245 #define LL_APB1_GRP2_PERIPH_LPTIM2         RCC_APB1ENR2_LPTIM2EN
246 #define LL_APB1_GRP2_PERIPH_FDCAN1         RCC_APB1ENR2_FDCAN1EN
247 #if defined(UCPD1)
248 #define LL_APB1_GRP2_PERIPH_UCPD1          RCC_APB1ENR2_UCPD1EN
249 #endif /* UCPD1 */
250 #if defined(I2C5)
251 #define LL_APB1_GRP2_PERIPH_I2C5           RCC_APB1ENR2_I2C5EN
252 #endif /* defined(I2C5) */
253 #if defined(I2C6)
254 #define LL_APB1_GRP2_PERIPH_I2C6           RCC_APB1ENR2_I2C6EN
255 #endif /* defined(I2C6) */
256 /**
257   * @}
258   */
259 
260 /** @defgroup BUS_LL_EC_APB2_GRP1_PERIPH  APB2 GRP1 PERIPH
261   * @{
262   */
263 #define LL_APB2_GRP1_PERIPH_ALL            0xFFFFFFFFU
264 #define LL_APB2_GRP1_PERIPH_TIM1           RCC_APB2ENR_TIM1EN
265 #define LL_APB2_GRP1_PERIPH_SPI1           RCC_APB2ENR_SPI1EN
266 #define LL_APB2_GRP1_PERIPH_TIM8           RCC_APB2ENR_TIM8EN
267 #define LL_APB2_GRP1_PERIPH_USART1         RCC_APB2ENR_USART1EN
268 #define LL_APB2_GRP1_PERIPH_TIM15          RCC_APB2ENR_TIM15EN
269 #define LL_APB2_GRP1_PERIPH_TIM16          RCC_APB2ENR_TIM16EN
270 #define LL_APB2_GRP1_PERIPH_TIM17          RCC_APB2ENR_TIM17EN
271 #define LL_APB2_GRP1_PERIPH_SAI1           RCC_APB2ENR_SAI1EN
272 #if defined(SAI2)
273 #define LL_APB2_GRP1_PERIPH_SAI2           RCC_APB2ENR_SAI2EN
274 #endif /* SAI2 */
275 #if defined(USB_DRD_FS)
276 #define LL_APB2_GRP1_PERIPH_USB_FS         RCC_APB2ENR_USBEN
277 #endif /* USB_DRD_FS */
278 #if defined(GFXTIM)
279 #define LL_APB2_GRP1_PERIPH_GFXTIM         RCC_APB2ENR_GFXTIMEN
280 #endif /* GFXTIM */
281 #if defined(LTDC)
282 #define LL_APB2_GRP1_PERIPH_LTDC           RCC_APB2ENR_LTDCEN
283 #endif /* defined(LTDC) */
284 #if defined(DSI)
285 #define LL_APB2_GRP1_PERIPH_DSI            RCC_APB2ENR_DSIHOSTEN
286 #endif /* defined(DSI) */
287 /**
288   * @}
289   */
290 
291 /** @defgroup BUS_LL_EC_APB3_GRP1_PERIPH  APB3 GRP1 PERIPH
292   * @{
293   */
294 #define LL_APB3_GRP1_PERIPH_ALL           0xFFFFFFFFU
295 #define LL_APB3_GRP1_PERIPH_SYSCFG        RCC_APB3ENR_SYSCFGEN
296 #define LL_APB3_GRP1_PERIPH_SPI3          RCC_APB3ENR_SPI3EN
297 #define LL_APB3_GRP1_PERIPH_LPUART1       RCC_APB3ENR_LPUART1EN
298 #define LL_APB3_GRP1_PERIPH_I2C3          RCC_APB3ENR_I2C3EN
299 #define LL_APB3_GRP1_PERIPH_LPTIM1        RCC_APB3ENR_LPTIM1EN
300 #define LL_APB3_GRP1_PERIPH_LPTIM3        RCC_APB3ENR_LPTIM3EN
301 #define LL_APB3_GRP1_PERIPH_LPTIM4        RCC_APB3ENR_LPTIM4EN
302 #define LL_APB3_GRP1_PERIPH_OPAMP         RCC_APB3ENR_OPAMPEN
303 #define LL_APB3_GRP1_PERIPH_COMP          RCC_APB3ENR_COMPEN
304 #define LL_APB3_GRP1_PERIPH_VREF          RCC_APB3ENR_VREFEN
305 #define LL_APB3_GRP1_PERIPH_RTCAPB        RCC_APB3ENR_RTCAPBEN
306 /**
307   * @}
308   */
309 
310 /** @defgroup BUS_LL_EC_SRDAMR_GRP1_PERIPH  SRDAMR GRP1 PERIPH
311   * @{
312   */
313 #define LL_SRDAMR_GRP1_PERIPH_ALL         0xFFFFFFFFU
314 #define LL_SRDAMR_GRP1_PERIPH_SPI3        RCC_SRDAMR_SPI3AMEN
315 #define LL_SRDAMR_GRP1_PERIPH_LPUART1     RCC_SRDAMR_LPUART1AMEN
316 #define LL_SRDAMR_GRP1_PERIPH_I2C3        RCC_SRDAMR_I2C3AMEN
317 #define LL_SRDAMR_GRP1_PERIPH_LPTIM1      RCC_SRDAMR_LPTIM1AMEN
318 #define LL_SRDAMR_GRP1_PERIPH_LPTIM3      RCC_SRDAMR_LPTIM3AMEN
319 #define LL_SRDAMR_GRP1_PERIPH_LPTIM4      RCC_SRDAMR_LPTIM4AMEN
320 #define LL_SRDAMR_GRP1_PERIPH_OPAMP       RCC_SRDAMR_OPAMPAMEN
321 #define LL_SRDAMR_GRP1_PERIPH_COMP        RCC_SRDAMR_COMPAMEN
322 #define LL_SRDAMR_GRP1_PERIPH_VREF        RCC_SRDAMR_VREFAMEN
323 #define LL_SRDAMR_GRP1_PERIPH_RTCAPB      RCC_SRDAMR_RTCAPBAMEN
324 #define LL_SRDAMR_GRP1_PERIPH_ADC4        RCC_SRDAMR_ADC4AMEN
325 #define LL_SRDAMR_GRP1_PERIPH_LPGPIO1     RCC_SRDAMR_LPGPIO1AMEN
326 #define LL_SRDAMR_GRP1_PERIPH_DAC1        RCC_SRDAMR_DAC1AMEN
327 #define LL_SRDAMR_GRP1_PERIPH_LPDMA1      RCC_SRDAMR_LPDMA1AMEN
328 #define LL_SRDAMR_GRP1_PERIPH_ADF1        RCC_SRDAMR_ADF1AMEN
329 #define LL_SRDAMR_GRP1_PERIPH_SRAM4       RCC_SRDAMR_SRAM4AMEN
330 /**
331   * @}
332   */
333 /** @defgroup LL_RCC_Aliased_Constants  LL RCC Aliased Constants maintained for legacy purpose
334   * @{
335   */
336 #define LL_AHB2_GRP1_PERIPH_ADC1             LL_AHB2_GRP1_PERIPH_ADC12
337 #define LL_SRDAMR_GRP1_PERIPH_SPI3AMEN       LL_SRDAMR_GRP1_PERIPH_SPI3
338 #define LL_SRDAMR_GRP1_PERIPH_LPUART1AMEN    LL_SRDAMR_GRP1_PERIPH_LPUART1
339 #define LL_SRDAMR_GRP1_PERIPH_I2C3AMEN       LL_SRDAMR_GRP1_PERIPH_I2C3
340 #define LL_SRDAMR_GRP1_PERIPH_LPTIM1AMEN     LL_SRDAMR_GRP1_PERIPH_LPTIM1
341 #define LL_SRDAMR_GRP1_PERIPH_LPTIM3AMEN     LL_SRDAMR_GRP1_PERIPH_LPTIM3
342 #define LL_SRDAMR_GRP1_PERIPH_LPTIM4AMEN     LL_SRDAMR_GRP1_PERIPH_LPTIM4
343 #define LL_SRDAMR_GRP1_PERIPH_OPAMPAMEN      LL_SRDAMR_GRP1_PERIPH_OPAMP
344 #define LL_SRDAMR_GRP1_PERIPH_COMPAMEN       LL_SRDAMR_GRP1_PERIPH_COMP
345 #define LL_SRDAMR_GRP1_PERIPH_VREFAMEN       LL_SRDAMR_GRP1_PERIPH_VREF
346 #define LL_SRDAMR_GRP1_PERIPH_RTCAPBAMEN     LL_SRDAMR_GRP1_PERIPH_RTCAPB
347 #define LL_SRDAMR_GRP1_PERIPH_ADC4AMEN       LL_SRDAMR_GRP1_PERIPH_ADC4
348 #define LL_SRDAMR_GRP1_PERIPH_LPGPIO1AMEN    LL_SRDAMR_GRP1_PERIPH_LPGPIO1
349 #define LL_SRDAMR_GRP1_PERIPH_DAC1AMEN       LL_SRDAMR_GRP1_PERIPH_DAC1
350 #define LL_SRDAMR_GRP1_PERIPH_LPDMA1AMEN     LL_SRDAMR_GRP1_PERIPH_LPDMA1
351 #define LL_SRDAMR_GRP1_PERIPH_ADF1AMEN       LL_SRDAMR_GRP1_PERIPH_ADF1
352 #define LL_SRDAMR_GRP1_PERIPH_SRAM4AMEN      LL_SRDAMR_GRP1_PERIPH_SRAM4
353 /**
354   * @}
355   */
356 /**
357   * @}
358   */
359 
360 /* Exported macro ------------------------------------------------------------*/
361 /* Exported functions --------------------------------------------------------*/
362 /** @defgroup BUS_LL_Exported_Functions BUS Exported Functions
363   * @{
364   */
365 
366 /** @defgroup BUS_LL_EF_AHB1 AHB1
367   * @{
368   */
369 
370 /**
371   * @brief  Enable AHB1 bus clock.
372   * @rmtoll CFGR2    AHB1DIS     LL_AHB1_GRP1_EnableBusClock
373   * @retval None
374   */
LL_AHB1_GRP1_EnableBusClock(void)375 __STATIC_INLINE void LL_AHB1_GRP1_EnableBusClock(void)
376 {
377   __IO uint32_t tmpreg;
378   CLEAR_BIT(RCC->CFGR2, RCC_CFGR2_AHB1DIS);
379   tmpreg = READ_BIT(RCC->CFGR2, RCC_CFGR2_AHB1DIS);
380   (void)(tmpreg);
381 }
382 
383 /**
384   * @brief  Enable AHB1 peripherals clock.
385   * @rmtoll AHB1ENR    GPDMA1EN     LL_AHB1_GRP1_EnableClock\n
386   *         AHB1ENR    CORDICEN     LL_AHB1_GRP1_EnableClock\n
387   *         AHB1ENR    FMACEN       LL_AHB1_GRP1_EnableClock\n
388   *         AHB1ENR    MDF1EN       LL_AHB1_GRP1_EnableClock\n
389   *         AHB1ENR    FLASHEN      LL_AHB1_GRP1_EnableClock\n
390   *         AHB1ENR    CRCEN        LL_AHB1_GRP1_EnableClock\n
391   *         AHB1ENR    JPEGEN       LL_AHB1_GRP1_EnableClock\n
392   *         AHB1ENR    TSCEN        LL_AHB1_GRP1_EnableClock\n
393   *         AHB1ENR    RAMCFGEN     LL_AHB1_GRP1_EnableClock\n
394   *         AHB1ENR    DMA2DEN      LL_AHB1_GRP1_EnableClock\n
395   *         AHB1ENR    GFXMMUEN     LL_AHB1_GRP1_EnableClock\n
396   *         AHB1ENR    GPU2DEN      LL_AHB1_GRP1_EnableClock\n
397   *         AHB1ENR    DCACHE2EN    LL_AHB1_GRP1_EnableClock\n
398   *         AHB1ENR    GTZC1EN      LL_AHB1_GRP1_EnableClock\n
399   *         AHB1ENR    BKPSRAMEN    LL_AHB1_GRP1_EnableClock\n
400   *         AHB1ENR    DCACHE1EN    LL_AHB1_GRP1_EnableClock\n
401   *         AHB1ENR    SRAM1EN      LL_AHB1_GRP1_EnableClock\n
402   * @param  Periphs This parameter can be a combination of the following values:
403   *         @arg @ref LL_AHB1_GRP1_PERIPH_ALL
404   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
405   *         @arg @ref LL_AHB1_GRP1_PERIPH_CORDIC
406   *         @arg @ref LL_AHB1_GRP1_PERIPH_FMAC
407   *         @arg @ref LL_AHB1_GRP1_PERIPH_MDF1
408   *         @arg @ref LL_AHB1_GRP1_PERIPH_FLASH
409   *         @arg @ref LL_AHB1_GRP1_PERIPH_CRC
410   *         @arg @ref LL_AHB1_GRP1_PERIPH_JPEG (*)
411   *         @arg @ref LL_AHB1_GRP1_PERIPH_TSC
412   *         @arg @ref LL_AHB1_GRP1_PERIPH_RAMCFG
413   *         @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
414   *         @arg @ref LL_AHB1_GRP1_PERIPH_GFXMMU (*)
415   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPU2D (*)
416   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE2 (*)
417   *         @arg @ref LL_AHB1_GRP1_PERIPH_GTZC1
418   *         @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
419   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE1
420   *         @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1
421   *
422   *        (*) value not defined in all devices.
423   * @retval None
424   */
LL_AHB1_GRP1_EnableClock(uint32_t Periphs)425 __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs)
426 {
427   __IO uint32_t tmpreg;
428   SET_BIT(RCC->AHB1ENR, Periphs);
429   /* Delay after an RCC peripheral clock enabling */
430   tmpreg = READ_BIT(RCC->AHB1ENR, Periphs);
431   (void)tmpreg;
432 }
433 
434 /**
435   * @brief  Check if AHB1 peripheral clock is enabled or not
436   * @rmtoll AHB1ENR    GPDMA1EN     LL_AHB1_GRP1_IsEnabledClock\n
437   *         AHB1ENR    CORDICEN     LL_AHB1_GRP1_IsEnabledClock\n
438   *         AHB1ENR    FMACEN       LL_AHB1_GRP1_IsEnabledClock\n
439   *         AHB1ENR    MDF1EN       LL_AHB1_GRP1_IsEnabledClock\n
440   *         AHB1ENR    FLASHEN      LL_AHB1_GRP1_IsEnabledClock\n
441   *         AHB1ENR    CRCEN        LL_AHB1_GRP1_IsEnabledClock\n
442   *         AHB1ENR    JPEGEN       LL_AHB1_GRP1_IsEnabledClock\n
443   *         AHB1ENR    TSCEN        LL_AHB1_GRP1_IsEnabledClock\n
444   *         AHB1ENR    RAMCFGEN     LL_AHB1_GRP1_IsEnabledClock\n
445   *         AHB1ENR    DMA2DEN      LL_AHB1_GRP1_IsEnabledClock\n
446   *         AHB1ENR    GFXMMUEN     LL_AHB1_GRP1_IsEnabledClock\n
447   *         AHB1ENR    GPU2DEN      LL_AHB1_GRP1_IsEnabledClock\n
448   *         AHB1ENR    DCACHE2EN    LL_AHB1_GRP1_IsEnabledClock\n
449   *         AHB1ENR    GTZC1EN      LL_AHB1_GRP1_IsEnabledClock\n
450   *         AHB1ENR    BKPSRAMEN    LL_AHB1_GRP1_IsEnabledClock\n
451   *         AHB1ENR    DCACHEEN     LL_AHB1_GRP1_IsEnabledClock\n
452   *         AHB1ENR    SRAM1EN      LL_AHB1_GRP1_IsEnabledClock\n
453   * @param  Periphs This parameter can be a combination of the following values:
454   *         @arg @ref LL_AHB1_GRP1_PERIPH_ALL
455   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
456   *         @arg @ref LL_AHB1_GRP1_PERIPH_CORDIC
457   *         @arg @ref LL_AHB1_GRP1_PERIPH_FMAC
458   *         @arg @ref LL_AHB1_GRP1_PERIPH_MDF1
459   *         @arg @ref LL_AHB1_GRP1_PERIPH_FLASH
460   *         @arg @ref LL_AHB1_GRP1_PERIPH_CRC
461   *         @arg @ref LL_AHB1_GRP1_PERIPH_JPEG (*)
462   *         @arg @ref LL_AHB1_GRP1_PERIPH_TSC
463   *         @arg @ref LL_AHB1_GRP1_PERIPH_RAMCFG
464   *         @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
465   *         @arg @ref LL_AHB1_GRP1_PERIPH_GFXMMU (*)
466   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPU2D (*)
467   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE2 (*)
468   *         @arg @ref LL_AHB1_GRP1_PERIPH_GTZC1
469   *         @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
470   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE1
471   *         @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1
472   *
473   *        (*) value not defined in all devices.
474   * @retval State of Periphs (1 or 0).
475   */
LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)476 __STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
477 {
478   return ((READ_BIT(RCC->AHB1ENR, Periphs) == Periphs) ? 1UL : 0UL);
479 }
480 
481 /**
482   * @brief  Disable AHB1 bus clock.
483   * @note   except for FLASH, BKPSRAM, ICACHE, DCACHE1 and SRAM1.
484   * @rmtoll CFGR2    AHB1DIS     LL_AHB1_GRP1_DisableBusClock
485   * @retval None
486   */
LL_AHB1_GRP1_DisableBusClock(void)487 __STATIC_INLINE void LL_AHB1_GRP1_DisableBusClock(void)
488 {
489   SET_BIT(RCC->CFGR2, RCC_CFGR2_AHB1DIS);
490 }
491 
492 /**
493   * @brief  Disable AHB1 peripherals clock.
494   * @rmtoll AHB1ENR    GPDMA1EN     LL_AHB1_GRP1_DisableClock\n
495   *         AHB1ENR    CORDICEN     LL_AHB1_GRP1_DisableClock\n
496   *         AHB1ENR    FMACEN       LL_AHB1_GRP1_DisableClock\n
497   *         AHB1ENR    MDF1EN       LL_AHB1_GRP1_DisableClock\n
498   *         AHB1ENR    FLASHEN      LL_AHB1_GRP1_DisableClock\n
499   *         AHB1ENR    CRCEN        LL_AHB1_GRP1_DisableClock\n
500   *         AHB1ENR    JPEGEN       LL_AHB1_GRP1_DisableClock\n
501   *         AHB1ENR    TSCEN        LL_AHB1_GRP1_DisableClock\n
502   *         AHB1ENR    RAMCFGEN     LL_AHB1_GRP1_DisableClock\n
503   *         AHB1ENR    DMA2DEN      LL_AHB1_GRP1_DisableClock\n
504   *         AHB1ENR    GFXMMUEN     LL_AHB1_GRP1_DisableClock\n
505   *         AHB1ENR    GPU2DEN      LL_AHB1_GRP1_DisableClock\n
506   *         AHB1ENR    DCACHE2EN    LL_AHB1_GRP1_DisableClock\n
507   *         AHB1ENR    GTZC1EN      LL_AHB1_GRP1_DisableClock\n
508   *         AHB1ENR    BKPSRAMEN    LL_AHB1_GRP1_DisableClock\n
509   *         AHB1ENR    DCACHEEN     LL_AHB1_GRP1_DisableClock\n
510   *         AHB1ENR    SRAM1EN      LL_AHB1_GRP1_DisableClock\n
511   * @param  Periphs This parameter can be a combination of the following values:
512   *         @arg @ref LL_AHB1_GRP1_PERIPH_ALL
513   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
514   *         @arg @ref LL_AHB1_GRP1_PERIPH_CORDIC
515   *         @arg @ref LL_AHB1_GRP1_PERIPH_FMAC
516   *         @arg @ref LL_AHB1_GRP1_PERIPH_MDF1
517   *         @arg @ref LL_AHB1_GRP1_PERIPH_FLASH
518   *         @arg @ref LL_AHB1_GRP1_PERIPH_CRC
519   *         @arg @ref LL_AHB1_GRP1_PERIPH_JPEG (*)
520   *         @arg @ref LL_AHB1_GRP1_PERIPH_TSC
521   *         @arg @ref LL_AHB1_GRP1_PERIPH_RAMCFG
522   *         @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
523   *         @arg @ref LL_AHB1_GRP1_PERIPH_GFXMMU (*)
524   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPU2D (*)
525   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE2 (*)
526   *         @arg @ref LL_AHB1_GRP1_PERIPH_GTZC1
527   *         @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
528   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE1
529   *         @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1
530   *
531   *        (*) value not defined in all devices.
532   * @retval None
533   */
LL_AHB1_GRP1_DisableClock(uint32_t Periphs)534 __STATIC_INLINE void LL_AHB1_GRP1_DisableClock(uint32_t Periphs)
535 {
536   CLEAR_BIT(RCC->AHB1ENR, Periphs);
537 }
538 
539 /**
540   * @brief  Force AHB1 peripherals reset.
541   * @rmtoll AHB1RSTR    GPDMA1RSTR     LL_AHB1_GRP1_ForceReset\n
542   *         AHB1RSTR    CORDICRSTR     LL_AHB1_GRP1_ForceReset\n
543   *         AHB1RSTR    FMACRSTR       LL_AHB1_GRP1_ForceReset\n
544   *         AHB1RSTR    MDF1RSTR       LL_AHB1_GRP1_ForceReset\n
545   *         AHB1RSTR    CRCRSTR        LL_AHB1_GRP1_ForceReset\n
546   *         AHB1RSTR    JPEGRSTR       LL_AHB1_GRP1_ForceReset\n
547   *         AHB1RSTR    TSCRSTR        LL_AHB1_GRP1_ForceReset\n
548   *         AHB1RSTR    RAMCFGRSTR     LL_AHB1_GRP1_ForceReset\n
549   *         AHB1RSTR    DMA2DRSTR      LL_AHB1_GRP1_ForceReset\n
550   *         AHB1RSTR    GFXMMURSTR     LL_AHB1_GRP1_ForceReset\n
551   *         AHB1RSTR    GPU2DRSTR      LL_AHB1_GRP1_ForceReset\n
552   *         AHB1RSTR    DCACHE2RSTR    LL_AHB1_GRP1_ForceReset\n
553   * @param  Periphs This parameter can be a combination of the following values:
554   *         @arg @ref LL_AHB1_GRP1_PERIPH_ALL
555   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
556   *         @arg @ref LL_AHB1_GRP1_PERIPH_CORDIC
557   *         @arg @ref LL_AHB1_GRP1_PERIPH_FMAC
558   *         @arg @ref LL_AHB1_GRP1_PERIPH_MDF1
559   *         @arg @ref LL_AHB1_GRP1_PERIPH_CRC
560   *         @arg @ref LL_AHB1_GRP1_PERIPH_JPEG (*)
561   *         @arg @ref LL_AHB1_GRP1_PERIPH_TSC
562   *         @arg @ref LL_AHB1_GRP1_PERIPH_RAMCFG
563   *         @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
564   *         @arg @ref LL_AHB1_GRP1_PERIPH_GFXMMU (*)
565   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPU2D (*)
566   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE2 (*)
567   *        (*) value not defined in all devices.
568   * @retval None
569   */
LL_AHB1_GRP1_ForceReset(uint32_t Periphs)570 __STATIC_INLINE void LL_AHB1_GRP1_ForceReset(uint32_t Periphs)
571 {
572   SET_BIT(RCC->AHB1RSTR, Periphs);
573 }
574 
575 /**
576   * @brief  Release AHB1 peripherals reset.
577   * @rmtoll AHB1RSTR    GPDMA1RSTR      LL_AHB1_GRP1_ReleaseReset\n
578   *         AHB1RSTR    CORDICRSTR      LL_AHB1_GRP1_ReleaseReset\n
579   *         AHB1RSTR    FMACRSTR        LL_AHB1_GRP1_ReleaseReset\n
580   *         AHB1RSTR    MDF1RSTR        LL_AHB1_GRP1_ReleaseReset\n
581   *         AHB1RSTR    CRCRSTR         LL_AHB1_GRP1_ReleaseReset\n
582   *         AHB1RSTR    JPEGRSTR        LL_AHB1_GRP1_ReleaseReset\n
583   *         AHB1RSTR    TSCRSTR         LL_AHB1_GRP1_ReleaseReset\n
584   *         AHB1RSTR    RAMCFGRSTR      LL_AHB1_GRP1_ReleaseReset\n
585   *         AHB1RSTR    DMA2DRSTR       LL_AHB1_GRP1_ReleaseReset\n
586   *         AHB1RSTR    GFXMMURSTR      LL_AHB1_GRP1_ReleaseReset\n
587   *         AHB1RSTR    GPU2DRSTR       LL_AHB1_GRP1_ReleaseReset\n
588   *         AHB1RSTR    DCACHE2RSTR     LL_AHB1_GRP1_ReleaseReset\n
589   * @param  Periphs This parameter can be a combination of the following values:
590   *         @arg @ref LL_AHB1_GRP1_PERIPH_ALL
591   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
592   *         @arg @ref LL_AHB1_GRP1_PERIPH_CORDIC
593   *         @arg @ref LL_AHB1_GRP1_PERIPH_FMAC
594   *         @arg @ref LL_AHB1_GRP1_PERIPH_MDF1
595   *         @arg @ref LL_AHB1_GRP1_PERIPH_CRC
596   *         @arg @ref LL_AHB1_GRP1_PERIPH_JPEG (*)
597   *         @arg @ref LL_AHB1_GRP1_PERIPH_TSC
598   *         @arg @ref LL_AHB1_GRP1_PERIPH_RAMCFG
599   *         @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
600   *         @arg @ref LL_AHB1_GRP1_PERIPH_GFXMMU (*)
601   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPU2D (*)
602   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE2 (*)
603   *
604   *        (*) value not defined in all devices.
605   * @retval None
606   */
LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)607 __STATIC_INLINE void LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)
608 {
609   CLEAR_BIT(RCC->AHB1RSTR, Periphs);
610 }
611 
612 /**
613   * @brief  Enable AHB1 peripheral clocks in Sleep and Stop modes
614   * @rmtoll AHB1SMENR   GPDMA1SMEN     LL_AHB1_GRP1_EnableClockStopSleep\n
615   *         AHB1SMENR   CORDICSMEN     LL_AHB1_GRP1_EnableClockStopSleep\n
616   *         AHB1SMENR   FMACSMEN       LL_AHB1_GRP1_EnableClockStopSleep\n
617   *         AHB1SMENR   MDF1SMEN       LL_AHB1_GRP1_EnableClockStopSleep\n
618   *         AHB1SMENR   FLASHSMEN      LL_AHB1_GRP1_EnableClockStopSleep\n
619   *         AHB1SMENR   CRCSMEN        LL_AHB1_GRP1_EnableClockStopSleep\n
620   *         AHB1SMENR   JPEGSMEN       LL_AHB1_GRP1_EnableClockStopSleep\n
621   *         AHB1SMENR   TSCSMEN        LL_AHB1_GRP1_EnableClockStopSleep\n
622   *         AHB1SMENR   RAMCFGSMEN     LL_AHB1_GRP1_EnableClockStopSleep\n
623   *         AHB1SMENR   DMA2DSMEN      LL_AHB1_GRP1_EnableClockStopSleep\n
624   *         AHB1SMENR   GFXMMUSMEN     LL_AHB1_GRP1_EnableClockStopSleep\n
625   *         AHB1SMENR   GPU2DSMEN      LL_AHB1_GRP1_EnableClockStopSleep\n
626   *         AHB1SMENR   DCACHE2SMEN    LL_AHB1_GRP1_EnableClockStopSleep\n
627   *         AHB1SMENR   GTZC1SMEN      LL_AHB1_GRP1_EnableClockStopSleep\n
628   *         AHB1SMENR   BKPSRAMSMEN    LL_AHB1_GRP1_EnableClockStopSleep\n
629   *         AHB1SMENR   ICACHESMEN     LL_AHB1_GRP1_EnableClockStopSleep\n
630   *         AHB1SMENR   DCACHESMEN     LL_AHB1_GRP1_EnableClockStopSleep\n
631   *         AHB1SMENR   SRAM1SMEN      LL_AHB1_GRP1_EnableClockStopSleep\n
632   * @param  Periphs This parameter can be a combination of the following values:
633   *         @arg @ref LL_AHB1_GRP1_PERIPH_ALL
634   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
635   *         @arg @ref LL_AHB1_GRP1_PERIPH_CORDIC
636   *         @arg @ref LL_AHB1_GRP1_PERIPH_FMAC
637   *         @arg @ref LL_AHB1_GRP1_PERIPH_MDF1
638   *         @arg @ref LL_AHB1_GRP1_PERIPH_FLASH
639   *         @arg @ref LL_AHB1_GRP1_PERIPH_CRC
640   *         @arg @ref LL_AHB1_GRP1_PERIPH_JPEG (*)
641   *         @arg @ref LL_AHB1_GRP1_PERIPH_TSC
642   *         @arg @ref LL_AHB1_GRP1_PERIPH_RAMCFG
643   *         @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
644   *         @arg @ref LL_AHB1_GRP1_PERIPH_GFXMMU (*)
645   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPU2D (*)
646   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE2 (*)
647   *         @arg @ref LL_AHB1_GRP1_PERIPH_GTZC1
648   *         @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
649   *         @arg @ref LL_AHB1_GRP1_PERIPH_ICACHE1
650   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE1
651   *         @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1
652   *
653   *        (*) value not defined in all devices.
654   * @retval None
655   */
LL_AHB1_GRP1_EnableClockStopSleep(uint32_t Periphs)656 __STATIC_INLINE void LL_AHB1_GRP1_EnableClockStopSleep(uint32_t Periphs)
657 {
658   __IO uint32_t tmpreg;
659   SET_BIT(RCC->AHB1SMENR, Periphs);
660   /* Delay after an RCC peripheral clock enabling */
661   tmpreg = READ_BIT(RCC->AHB1SMENR, Periphs);
662   (void)tmpreg;
663 }
664 
665 /**
666   * @brief  Check if AHB1 peripheral clocks in Sleep and Stop modes is enabled or not
667   * @rmtoll AHB1SMENR   GPDMA1SMEN     LL_AHB1_GRP1_IsEnabledClockStopSleep\n
668   *         AHB1SMENR   CORDICSMEN     LL_AHB1_GRP1_IsEnabledClockStopSleep\n
669   *         AHB1SMENR   FMACSMEN       LL_AHB1_GRP1_IsEnabledClockStopSleep\n
670   *         AHB1SMENR   MDF1SMEN       LL_AHB1_GRP1_IsEnabledClockStopSleep\n
671   *         AHB1SMENR   FLASHSMEN      LL_AHB1_GRP1_IsEnabledClockStopSleep\n
672   *         AHB1SMENR   CRCSMEN        LL_AHB1_GRP1_IsEnabledClockStopSleep\n
673   *         AHB1SMENR   JPEGSMEN       LL_AHB1_GRP1_IsEnabledClockStopSleep\n
674   *         AHB1SMENR   TSCSMEN        LL_AHB1_GRP1_IsEnabledClockStopSleep\n
675   *         AHB1SMENR   RAMCFGSMEN     LL_AHB1_GRP1_IsEnabledClockStopSleep\n
676   *         AHB1SMENR   DMA2DSMEN      LL_AHB1_GRP1_IsEnabledClockStopSleep\n
677   *         AHB1SMENR   GFXMMUSMEN     LL_AHB1_GRP1_IsEnabledClockStopSleep\n
678   *         AHB1SMENR   GPU2DSMEN      LL_AHB1_GRP1_IsEnabledClockStopSleep\n
679   *         AHB1SMENR   DCACHE2SMEN    LL_AHB1_GRP1_IsEnabledClockStopSleep\n
680   *         AHB1SMENR   GTZC1SMEN      LL_AHB1_GRP1_IsEnabledClockStopSleep\n
681   *         AHB1SMENR   BKPSRAMSMEN    LL_AHB1_GRP1_IsEnabledClockStopSleep\n
682   *         AHB1SMENR   ICACHESMEN     LL_AHB1_GRP1_IsEnabledClockStopSleep\n
683   *         AHB1SMENR   DCACHESMEN     LL_AHB1_GRP1_IsEnabledClockStopSleep\n
684   *         AHB1SMENR   SRAM1SMEN      LL_AHB1_GRP1_IsEnabledClockStopSleep\n
685   * @param  Periphs This parameter can be a combination of the following values:
686   *         @arg @ref LL_AHB1_GRP1_PERIPH_ALL
687   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
688   *         @arg @ref LL_AHB1_GRP1_PERIPH_CORDIC
689   *         @arg @ref LL_AHB1_GRP1_PERIPH_FMAC
690   *         @arg @ref LL_AHB1_GRP1_PERIPH_MDF1
691   *         @arg @ref LL_AHB1_GRP1_PERIPH_FLASH
692   *         @arg @ref LL_AHB1_GRP1_PERIPH_CRC
693   *         @arg @ref LL_AHB1_GRP1_PERIPH_JPEG (*)
694   *         @arg @ref LL_AHB1_GRP1_PERIPH_TSC
695   *         @arg @ref LL_AHB1_GRP1_PERIPH_RAMCFG
696   *         @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
697   *         @arg @ref LL_AHB1_GRP1_PERIPH_GFXMMU (*)
698   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPU2D (*)
699   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE2 (*)
700   *         @arg @ref LL_AHB1_GRP1_PERIPH_GTZC1
701   *         @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
702   *         @arg @ref LL_AHB1_GRP1_PERIPH_ICACHE1
703   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE1
704   *         @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1
705   *
706   *        (*) value not defined in all devices.
707   * @retval State of Periphs (1 or 0).
708   */
LL_AHB1_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)709 __STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)
710 {
711   return ((READ_BIT(RCC->AHB1SMENR, Periphs) == Periphs) ? 1UL : 0UL);
712 }
713 
714 /**
715   * @brief  Disable AHB1 peripheral clocks in Sleep and Stop modes
716   * @rmtoll AHB1SMENR   GPDMA1SMEN     LL_AHB1_GRP1_DisableClockStopSleep\n
717   *         AHB1SMENR   CORDICSMEN     LL_AHB1_GRP1_DisableClockStopSleep\n
718   *         AHB1SMENR   FMACSMEN       LL_AHB1_GRP1_DisableClockStopSleep\n
719   *         AHB1SMENR   MDF1SMEN       LL_AHB1_GRP1_DisableClockStopSleep\n
720   *         AHB1SMENR   FLASHSMEN      LL_AHB1_GRP1_DisableClockStopSleep\n
721   *         AHB1SMENR   CRCSMEN        LL_AHB1_GRP1_DisableClockStopSleep\n
722   *         AHB1SMENR   JPEGSMEN       LL_AHB1_GRP1_DisableClockStopSleep\n
723   *         AHB1SMENR   TSCSMEN        LL_AHB1_GRP1_DisableClockStopSleep\n
724   *         AHB1SMENR   RAMCFGSMEN     LL_AHB1_GRP1_DisableClockStopSleep\n
725   *         AHB1SMENR   DMA2DSMEN      LL_AHB1_GRP1_DisableClockStopSleep\n
726   *         AHB1SMENR   GFXMMUSMEN     LL_AHB1_GRP1_DisableClockStopSleep\n
727   *         AHB1SMENR   GPU2DSMEN      LL_AHB1_GRP1_DisableClockStopSleep\n
728   *         AHB1SMENR   DCACHE2SMEN    LL_AHB1_GRP1_DisableClockStopSleep\n
729   *         AHB1SMENR   GTZC1SMEN      LL_AHB1_GRP1_DisableClockStopSleep\n
730   *         AHB1SMENR   BKPSRAMSMEN    LL_AHB1_GRP1_DisableClockStopSleep\n
731   *         AHB1SMENR   ICACHESMEN     LL_AHB1_GRP1_DisableClockStopSleep\n
732   *         AHB1SMENR   DCACHESMEN     LL_AHB1_GRP1_DisableClockStopSleep\n
733   *         AHB1SMENR   SRAM1SMEN      LL_AHB1_GRP1_DisableClockStopSleep\n
734   * @param  Periphs This parameter can be a combination of the following values:
735   *         @arg @ref LL_AHB1_GRP1_PERIPH_ALL
736   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPDMA1
737   *         @arg @ref LL_AHB1_GRP1_PERIPH_CORDIC
738   *         @arg @ref LL_AHB1_GRP1_PERIPH_FMAC
739   *         @arg @ref LL_AHB1_GRP1_PERIPH_MDF1
740   *         @arg @ref LL_AHB1_GRP1_PERIPH_FLASH
741   *         @arg @ref LL_AHB1_GRP1_PERIPH_CRC
742   *         @arg @ref LL_AHB1_GRP1_PERIPH_JPEG (*)
743   *         @arg @ref LL_AHB1_GRP1_PERIPH_TSC
744   *         @arg @ref LL_AHB1_GRP1_PERIPH_RAMCFG
745   *         @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
746   *         @arg @ref LL_AHB1_GRP1_PERIPH_GFXMMU (*)
747   *         @arg @ref LL_AHB1_GRP1_PERIPH_GPU2D (*)
748   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE2 (*)
749   *         @arg @ref LL_AHB1_GRP1_PERIPH_GTZC1
750   *         @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
751   *         @arg @ref LL_AHB1_GRP1_PERIPH_ICACHE1
752   *         @arg @ref LL_AHB1_GRP1_PERIPH_DCACHE1
753   *         @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1
754   *
755   *        (*) value not defined in all devices.
756   * @retval None
757   */
LL_AHB1_GRP1_DisableClockStopSleep(uint32_t Periphs)758 __STATIC_INLINE void LL_AHB1_GRP1_DisableClockStopSleep(uint32_t Periphs)
759 {
760   CLEAR_BIT(RCC->AHB1SMENR, Periphs);
761 }
762 
763 /**
764   * @}
765   */
766 
767 /** @defgroup BUS_LL_EF_AHB2_GRP1_PERIPH AHB2 GRP1 PERIPH
768   * @{
769   */
770 
771 /**
772   * @brief  Enable AHB2_1 bus clock.
773   * @rmtoll CFGR2    AHB2DIS1     LL_AHB2_GRP1_EnableBusClock
774   * @retval None
775   */
LL_AHB2_GRP1_EnableBusClock(void)776 __STATIC_INLINE void LL_AHB2_GRP1_EnableBusClock(void)
777 {
778   __IO uint32_t tmpreg;
779   CLEAR_BIT(RCC->CFGR2, RCC_CFGR2_AHB2DIS1);
780   tmpreg = READ_BIT(RCC->CFGR2, RCC_CFGR2_AHB2DIS1);
781   (void)(tmpreg);
782 }
783 
784 /**
785   * @brief  Enable AHB2 peripherals clock.
786   * @rmtoll AHB2ENR1      GPIOAEN       LL_AHB2_GRP1_EnableClock\n
787   *         AHB2ENR1      GPIOBEN       LL_AHB2_GRP1_EnableClock\n
788   *         AHB2ENR1      GPIOCEN       LL_AHB2_GRP1_EnableClock\n
789   *         AHB2ENR1      GPIODEN       LL_AHB2_GRP1_EnableClock\n
790   *         AHB2ENR1      GPIOEEN       LL_AHB2_GRP1_EnableClock\n
791   *         AHB2ENR1      GPIOFEN       LL_AHB2_GRP1_EnableClock\n
792   *         AHB2ENR1      GPIOGEN       LL_AHB2_GRP1_EnableClock\n
793   *         AHB2ENR1      GPIOHEN       LL_AHB2_GRP1_EnableClock\n
794   *         AHB2ENR1      GPIOIEN       LL_AHB2_GRP1_EnableClock\n
795   *         AHB2ENR1      GPIOJEN       LL_AHB2_GRP1_EnableClock\n
796   *         AHB2ENR1      ADC12EN       LL_AHB2_GRP1_EnableClock\n
797   *         AHB2ENR1      DCMI_PSSIEN   LL_AHB2_GRP1_EnableClock\n
798   *         AHB2ENR1      OTGEN         LL_AHB2_GRP1_EnableClock\n
799   *         AHB2ENR1      USBPHYCEN     LL_AHB2_GRP1_EnableClock\n
800   *         AHB2ENR1      AESEN         LL_AHB2_GRP1_EnableClock\n
801   *         AHB2ENR1      HASHEN        LL_AHB2_GRP1_EnableClock\n
802   *         AHB2ENR1      RNGEN         LL_AHB2_GRP1_EnableClock\n
803   *         AHB2ENR1      PKAEN         LL_AHB2_GRP1_EnableClock\n
804   *         AHB2ENR1      SAESEN        LL_AHB2_GRP1_EnableClock\n
805   *         AHB2ENR1      OCTOSPIMEN    LL_AHB2_GRP1_EnableClock\n
806   *         AHB2ENR1      OTFDEC1EN     LL_AHB2_GRP1_EnableClock\n
807   *         AHB2ENR1      OTFDEC2EN     LL_AHB2_GRP1_EnableClock\n
808   *         AHB2ENR1      SDMMC1EN      LL_AHB2_GRP1_EnableClock\n
809   *         AHB2ENR1      SDMMC2EN      LL_AHB2_GRP1_EnableClock\n
810   *         AHB2ENR1      SRAM2EN       LL_AHB2_GRP1_EnableClock\n
811   *         AHB2ENR1      SRAM3EN       LL_AHB2_GRP1_EnableClock\n
812   * @param  Periphs This parameter can be a combination of the following values:
813   *         @arg @ref LL_AHB2_GRP1_PERIPH_ALL
814   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOA
815   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOB
816   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOC
817   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOD
818   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOE
819   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOF (*)
820   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOG
821   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOH
822   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOI (*)
823   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOJ (*)
824   *         @arg @ref LL_AHB2_GRP1_PERIPH_ADC12
825   *         @arg @ref LL_AHB2_GRP1_PERIPH_DCMI_PSSI
826   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_FS (*)
827   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_HS (*)
828   *         @arg @ref LL_AHB2_GRP1_PERIPH_USBPHY (*)
829   *         @arg @ref LL_AHB2_GRP1_PERIPH_AES
830   *         @arg @ref LL_AHB2_GRP1_PERIPH_HASH
831   *         @arg @ref LL_AHB2_GRP1_PERIPH_RNG
832   *         @arg @ref LL_AHB2_GRP1_PERIPH_PKA
833   *         @arg @ref LL_AHB2_GRP1_PERIPH_SAES (*)
834   *         @arg @ref LL_AHB2_GRP1_PERIPH_OCTOSPIM (*)
835   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC1 (*)
836   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC2 (*)
837   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC1
838   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2 (*)
839   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM2
840   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM3 (*)
841   *
842   *        (*) value not defined in all devices.
843   * @retval None
844   */
LL_AHB2_GRP1_EnableClock(uint32_t Periphs)845 __STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs)
846 {
847   __IO uint32_t tmpreg;
848   SET_BIT(RCC->AHB2ENR1, Periphs);
849   /* Delay after an RCC peripheral clock enabling */
850   tmpreg = READ_BIT(RCC->AHB2ENR1, Periphs);
851   (void)tmpreg;
852 }
853 
854 /**
855   * @brief  Check if AHB2 peripheral clock is enabled or not
856   * @rmtoll AHB2ENR1      GPIOAEN       LL_AHB2_GRP1_IsEnabledClock\n
857   *         AHB2ENR1      GPIOBEN       LL_AHB2_GRP1_IsEnabledClock\n
858   *         AHB2ENR1      GPIOCEN       LL_AHB2_GRP1_IsEnabledClock\n
859   *         AHB2ENR1      GPIODEN       LL_AHB2_GRP1_IsEnabledClock\n
860   *         AHB2ENR1      GPIOEEN       LL_AHB2_GRP1_IsEnabledClock\n
861   *         AHB2ENR1      GPIOFEN       LL_AHB2_GRP1_IsEnabledClock\n
862   *         AHB2ENR1      GPIOGEN       LL_AHB2_GRP1_IsEnabledClock\n
863   *         AHB2ENR1      GPIOHEN       LL_AHB2_GRP1_IsEnabledClock\n
864   *         AHB2ENR1      GPIOIEN       LL_AHB2_GRP1_IsEnabledClock\n
865   *         AHB2ENR1      GPIOJEN       LL_AHB2_GRP1_IsEnabledClock\n
866   *         AHB2ENR1      ADC12EN       LL_AHB2_GRP1_IsEnabledClock\n
867   *         AHB2ENR1      DCMI_PSSIEN   LL_AHB2_GRP1_IsEnabledClock\n
868   *         AHB2ENR1      OTGEN         LL_AHB2_GRP1_IsEnabledClock\n
869   *         AHB2ENR1      USBPHYCEN     LL_AHB2_GRP1_IsEnabledClock\n
870   *         AHB2ENR1      AESEN         LL_AHB2_GRP1_IsEnabledClock\n
871   *         AHB2ENR1      HASHEN        LL_AHB2_GRP1_IsEnabledClock\n
872   *         AHB2ENR1      RNGEN         LL_AHB2_GRP1_IsEnabledClock\n
873   *         AHB2ENR1      PKAEN         LL_AHB2_GRP1_IsEnabledClock\n
874   *         AHB2ENR1      SAESEN        LL_AHB2_GRP1_IsEnabledClock\n
875   *         AHB2ENR1      OCTOSPIMEN    LL_AHB2_GRP1_IsEnabledClock\n
876   *         AHB2ENR1      OTFDEC1EN     LL_AHB2_GRP1_IsEnabledClock\n
877   *         AHB2ENR1      OTFDEC2EN     LL_AHB2_GRP1_IsEnabledClock\n
878   *         AHB2ENR1      SDMMC1EN      LL_AHB2_GRP1_IsEnabledClock\n
879   *         AHB2ENR1      SDMMC2EN      LL_AHB2_GRP1_IsEnabledClock\n
880   *         AHB2ENR1      SRAM2EN       LL_AHB2_GRP1_IsEnabledClock\n
881   *         AHB2ENR1      SRAM3EN       LL_AHB2_GRP1_IsEnabledClock\n
882   * @param  Periphs This parameter can be a combination of the following values:
883   *         @arg @ref LL_AHB2_GRP1_PERIPH_ALL
884   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOA
885   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOB
886   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOC
887   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOD
888   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOE
889   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOF (*)
890   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOG
891   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOH
892   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOI (*)
893   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOJ (*)
894   *         @arg @ref LL_AHB2_GRP1_PERIPH_ADC12
895   *         @arg @ref LL_AHB2_GRP1_PERIPH_DCMI_PSSI
896   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_FS (*)
897   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_HS (*)
898   *         @arg @ref LL_AHB2_GRP1_PERIPH_USBPHY (*)
899   *         @arg @ref LL_AHB2_GRP1_PERIPH_AES
900   *         @arg @ref LL_AHB2_GRP1_PERIPH_HASH
901   *         @arg @ref LL_AHB2_GRP1_PERIPH_RNG
902   *         @arg @ref LL_AHB2_GRP1_PERIPH_PKA
903   *         @arg @ref LL_AHB2_GRP1_PERIPH_SAES (*)
904   *         @arg @ref LL_AHB2_GRP1_PERIPH_OCTOSPIM (*)
905   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC1 (*)
906   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC2 (*)
907   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC1
908   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2 (*)
909   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM2
910   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM3 (*)
911   *
912   *        (*) value not defined in all devices.
913   * @retval State of Periphs (1 or 0).
914   */
LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)915 __STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
916 {
917   return ((READ_BIT(RCC->AHB2ENR1, Periphs) == Periphs) ? 1UL : 0UL);
918 }
919 
920 /**
921   * @brief  Disable AHB2_1 bus clock.
922   * @note   except for SRAM2 and SRAM3.
923   * @rmtoll CFGR2    AHB2DIS1     LL_AHB2_GRP1_DisableBusClock
924   * @retval None
925   */
LL_AHB2_GRP1_DisableBusClock(void)926 __STATIC_INLINE void LL_AHB2_GRP1_DisableBusClock(void)
927 {
928   SET_BIT(RCC->CFGR2, RCC_CFGR2_AHB2DIS1);
929 }
930 
931 /**
932   * @brief  Disable AHB2 peripherals clock.
933   * @rmtoll AHB2ENR1      GPIOAEN       LL_AHB2_GRP1_DisableClock\n
934   *         AHB2ENR1      GPIOBEN       LL_AHB2_GRP1_DisableClock\n
935   *         AHB2ENR1      GPIOCEN       LL_AHB2_GRP1_DisableClock\n
936   *         AHB2ENR1      GPIODEN       LL_AHB2_GRP1_DisableClock\n
937   *         AHB2ENR1      GPIOEEN       LL_AHB2_GRP1_DisableClock\n
938   *         AHB2ENR1      GPIOFEN       LL_AHB2_GRP1_DisableClock\n
939   *         AHB2ENR1      GPIOGEN       LL_AHB2_GRP1_DisableClock\n
940   *         AHB2ENR1      GPIOHEN       LL_AHB2_GRP1_DisableClock\n
941   *         AHB2ENR1      GPIOIEN       LL_AHB2_GRP1_DisableClock\n
942   *         AHB2ENR1      GPIOJEN       LL_AHB2_GRP1_DisableClock\n
943   *         AHB2ENR1      ADC12EN       LL_AHB2_GRP1_DisableClock\n
944   *         AHB2ENR1      DCMI_PSSIEN   LL_AHB2_GRP1_DisableClock\n
945   *         AHB2ENR1      OTGEN         LL_AHB2_GRP1_DisableClock\n
946   *         AHB2ENR1      USBPHYCEN     LL_AHB2_GRP1_DisableClock\n
947   *         AHB2ENR1      AESEN         LL_AHB2_GRP1_DisableClock\n
948   *         AHB2ENR1      HASHEN        LL_AHB2_GRP1_DisableClock\n
949   *         AHB2ENR1      RNGEN         LL_AHB2_GRP1_DisableClock\n
950   *         AHB2ENR1      PKAEN         LL_AHB2_GRP1_DisableClock\n
951   *         AHB2ENR1      SAESEN        LL_AHB2_GRP1_DisableClock\n
952   *         AHB2ENR1      OSPIMEN       LL_AHB2_GRP1_DisableClock\n
953   *         AHB2ENR1      OTFDEC1EN     LL_AHB2_GRP1_DisableClock\n
954   *         AHB2ENR1      OTFDEC2EN     LL_AHB2_GRP1_DisableClock\n
955   *         AHB2ENR1      SDMMC1EN      LL_AHB2_GRP1_DisableClock\n
956   *         AHB2ENR1      SDMMC2EN      LL_AHB2_GRP1_DisableClock\n
957   *         AHB2ENR1      SRAM2EN       LL_AHB2_GRP1_DisableClock\n
958   *         AHB2ENR1      SRAM3EN       LL_AHB2_GRP1_DisableClock\n
959   * @param  Periphs This parameter can be a combination of the following values:
960   *         @arg @ref LL_AHB2_GRP1_PERIPH_ALL
961   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOA
962   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOB
963   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOC
964   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOD
965   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOE
966   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOF (*)
967   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOG
968   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOH
969   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOI (*)
970   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOJ (*)
971   *         @arg @ref LL_AHB2_GRP1_PERIPH_ADC12
972   *         @arg @ref LL_AHB2_GRP1_PERIPH_DCMI_PSSI
973   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_FS (*)
974   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_HS (*)
975   *         @arg @ref LL_AHB2_GRP1_PERIPH_USBPHY (*)
976   *         @arg @ref LL_AHB2_GRP1_PERIPH_AES
977   *         @arg @ref LL_AHB2_GRP1_PERIPH_HASH
978   *         @arg @ref LL_AHB2_GRP1_PERIPH_RNG
979   *         @arg @ref LL_AHB2_GRP1_PERIPH_PKA
980   *         @arg @ref LL_AHB2_GRP1_PERIPH_SAES (*)
981   *         @arg @ref LL_AHB2_GRP1_PERIPH_OCTOSPIM (*)
982   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC1 (*)
983   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC2 (*)
984   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC1
985   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2 (*)
986   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM2
987   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM3 (*)
988   *
989   *        (*) value not defined in all devices.
990   * @retval None
991   */
LL_AHB2_GRP1_DisableClock(uint32_t Periphs)992 __STATIC_INLINE void LL_AHB2_GRP1_DisableClock(uint32_t Periphs)
993 {
994   CLEAR_BIT(RCC->AHB2ENR1, Periphs);
995 }
996 
997 /**
998   * @brief  Force AHB2 peripherals reset.
999   * @rmtoll AHB2RSTR1     GPIOARST      LL_AHB2_GRP1_ForceReset\n
1000   *         AHB2RSTR1     GPIOBRST      LL_AHB2_GRP1_ForceReset\n
1001   *         AHB2RSTR1     GPIOCRST      LL_AHB2_GRP1_ForceReset\n
1002   *         AHB2RSTR1     GPIODRST      LL_AHB2_GRP1_ForceReset\n
1003   *         AHB2RSTR1     GPIOERST      LL_AHB2_GRP1_ForceReset\n
1004   *         AHB2RSTR1     GPIOFRST      LL_AHB2_GRP1_ForceReset\n
1005   *         AHB2RSTR1     GPIOGRST      LL_AHB2_GRP1_ForceReset\n
1006   *         AHB2RSTR1     GPIOHRST      LL_AHB2_GRP1_ForceReset\n
1007   *         AHB2RSTR1     GPIOIRST      LL_AHB2_GRP1_ForceReset\n
1008   *         AHB2RSTR1     GPIOJRST      LL_AHB2_GRP1_ForceReset\n
1009   *         AHB2RSTR1     ADC12RST      LL_AHB2_GRP1_ForceReset\n
1010   *         AHB2RSTR1     DCMI_PSSIRST  LL_AHB2_GRP1_ForceReset\n
1011   *         AHB2RSTR1     OTGRST        LL_AHB2_GRP1_ForceReset\n
1012   *         AHB2RSTR1     USBPHYCRST    LL_AHB2_GRP1_ForceReset\n
1013   *         AHB2RSTR1     AESRST        LL_AHB2_GRP1_ForceReset\n
1014   *         AHB2RSTR1     HASHRST       LL_AHB2_GRP1_ForceReset\n
1015   *         AHB2RSTR1     RNGRST        LL_AHB2_GRP1_ForceReset\n
1016   *         AHB2RSTR1     PKARST        LL_AHB2_GRP1_ForceReset\n
1017   *         AHB2RSTR1     SAESRST       LL_AHB2_GRP1_ForceReset\n
1018   *         AHB2RSTR1     OCTOSPIMRST   LL_AHB2_GRP1_ForceReset\n
1019   *         AHB2RSTR1     OTFDEC1RST    LL_AHB2_GRP1_ForceReset\n
1020   *         AHB2RSTR1     OTFDEC2RST    LL_AHB2_GRP1_ForceReset\n
1021   *         AHB2RSTR1     SDMMC1RST     LL_AHB2_GRP1_ForceReset\n
1022   *         AHB2RSTR1     SDMMC2RST     LL_AHB2_GRP1_ForceReset\n
1023   * @param  Periphs This parameter can be a combination of the following values:
1024   *         @arg @ref LL_AHB2_GRP1_PERIPH_ALL
1025   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOA
1026   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOB
1027   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOC
1028   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOD
1029   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOE
1030   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOF (*)
1031   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOG
1032   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOH
1033   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOI (*)
1034   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOJ (*)
1035   *         @arg @ref LL_AHB2_GRP1_PERIPH_ADC12
1036   *         @arg @ref LL_AHB2_GRP1_PERIPH_DCMI_PSSI
1037   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_FS (*)
1038   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_HS (*)
1039   *         @arg @ref LL_AHB2_GRP1_PERIPH_USBPHY (*)
1040   *         @arg @ref LL_AHB2_GRP1_PERIPH_AES
1041   *         @arg @ref LL_AHB2_GRP1_PERIPH_HASH
1042   *         @arg @ref LL_AHB2_GRP1_PERIPH_RNG
1043   *         @arg @ref LL_AHB2_GRP1_PERIPH_PKA
1044   *         @arg @ref LL_AHB2_GRP1_PERIPH_SAES (*)
1045   *         @arg @ref LL_AHB2_GRP1_PERIPH_OCTOSPIM (*)
1046   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC1 (*)
1047   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC2 (*)
1048   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC1
1049   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2 (*)
1050   *
1051   *        (*) value not defined in all devices.
1052   * @retval None
1053   */
LL_AHB2_GRP1_ForceReset(uint32_t Periphs)1054 __STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs)
1055 {
1056   SET_BIT(RCC->AHB2RSTR1, Periphs);
1057 }
1058 
1059 /**
1060   * @brief  Release AHB2 peripherals reset.
1061   * @rmtoll AHB2RSTR1     GPIOARST      LL_AHB2_GRP1_ReleaseReset\n
1062   *         AHB2RSTR1     GPIOBRST      LL_AHB2_GRP1_ReleaseReset\n
1063   *         AHB2RSTR1     GPIOCRST      LL_AHB2_GRP1_ReleaseReset\n
1064   *         AHB2RSTR1     GPIODRST      LL_AHB2_GRP1_ReleaseReset\n
1065   *         AHB2RSTR1     GPIOERST      LL_AHB2_GRP1_ReleaseReset\n
1066   *         AHB2RSTR1     GPIOFRST      LL_AHB2_GRP1_ReleaseReset\n
1067   *         AHB2RSTR1     GPIOGRST      LL_AHB2_GRP1_ReleaseReset\n
1068   *         AHB2RSTR1     GPIOHRST      LL_AHB2_GRP1_ReleaseReset\n
1069   *         AHB2RSTR1     GPIOIRST      LL_AHB2_GRP1_ReleaseReset\n
1070   *         AHB2RSTR1     GPIOJRST      LL_AHB2_GRP1_ReleaseReset\n
1071   *         AHB2RSTR1     ADC12RST      LL_AHB2_GRP1_ReleaseReset\n
1072   *         AHB2RSTR1     DCMI_PSSIRST  LL_AHB2_GRP1_ReleaseReset\n
1073   *         AHB2RSTR1     OTGRST        LL_AHB2_GRP1_ReleaseReset\n
1074   *         AHB2RSTR1     USBPHYCRST    LL_AHB2_GRP1_ReleaseReset\n
1075   *         AHB2RSTR1     AESRST        LL_AHB2_GRP1_ReleaseReset\n
1076   *         AHB2RSTR1     HASHRST       LL_AHB2_GRP1_ReleaseReset\n
1077   *         AHB2RSTR1     RNGRST        LL_AHB2_GRP1_ReleaseReset\n
1078   *         AHB2RSTR1     PKARST        LL_AHB2_GRP1_ReleaseReset\n
1079   *         AHB2RSTR1     SAESRST       LL_AHB2_GRP1_ReleaseReset\n
1080   *         AHB2RSTR1     OCTOSPIMRST   LL_AHB2_GRP1_ReleaseReset\n
1081   *         AHB2RSTR1     OTFDEC1RST    LL_AHB2_GRP1_ReleaseReset\n
1082   *         AHB2RSTR1     OTFDEC2RST    LL_AHB2_GRP1_ReleaseReset\n
1083   *         AHB2RSTR1     SDMMC1RST     LL_AHB2_GRP1_ReleaseReset\n
1084   *         AHB2RSTR1     SDMMC2RST     LL_AHB2_GRP1_ReleaseReset\n
1085   * @param  Periphs This parameter can be a combination of the following values:
1086   *         @arg @ref LL_AHB2_GRP1_PERIPH_ALL
1087   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOA
1088   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOB
1089   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOC
1090   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOD
1091   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOE
1092   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOF (*)
1093   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOG
1094   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOH
1095   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOI (*)
1096   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOJ (*)
1097   *         @arg @ref LL_AHB2_GRP1_PERIPH_ADC12
1098   *         @arg @ref LL_AHB2_GRP1_PERIPH_DCMI_PSSI
1099   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_FS (*)
1100   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_HS (*)
1101   *         @arg @ref LL_AHB2_GRP1_PERIPH_USBPHY (*)
1102   *         @arg @ref LL_AHB2_GRP1_PERIPH_AES
1103   *         @arg @ref LL_AHB2_GRP1_PERIPH_HASH
1104   *         @arg @ref LL_AHB2_GRP1_PERIPH_RNG
1105   *         @arg @ref LL_AHB2_GRP1_PERIPH_PKA
1106   *         @arg @ref LL_AHB2_GRP1_PERIPH_SAES (*)
1107   *         @arg @ref LL_AHB2_GRP1_PERIPH_OCTOSPIM (*)
1108   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC1 (*)
1109   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC2 (*)
1110   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC1
1111   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2 (*)
1112   *
1113   *        (*) value not defined in all devices.
1114   * @retval None
1115   */
LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)1116 __STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)
1117 {
1118   CLEAR_BIT(RCC->AHB2RSTR1, Periphs);
1119 }
1120 
1121 /**
1122   * @brief  Enable AHB2 peripheral clocks in Sleep and Stop modes
1123   * @rmtoll AHB2SMENR1    GPIOASMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1124   *         AHB2SMENR1    GPIOBSMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1125   *         AHB2SMENR1    GPIOCSMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1126   *         AHB2SMENR1    GPIODSMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1127   *         AHB2SMENR1    GPIOESMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1128   *         AHB2SMENR1    GPIOFSMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1129   *         AHB2SMENR1    GPIOGSMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1130   *         AHB2SMENR1    GPIOHSMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1131   *         AHB2SMENR1    GPIOISMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1132   *         AHB2SMENR1    GPIOJSMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1133   *         AHB2SMENR1    ADC12SMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1134   *         AHB2SMENR1    DCMI_PSSISMEN  LL_AHB2_GRP1_EnableClockStopSleep\n
1135   *         AHB2SMENR1    OTGSMEN        LL_AHB2_GRP1_EnableClockStopSleep\n
1136   *         AHB2ENR1      USBPHYCEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1137   *         AHB2SMENR1    AESSMEN        LL_AHB2_GRP1_EnableClockStopSleep\n
1138   *         AHB2SMENR1    HASHSMEN       LL_AHB2_GRP1_EnableClockStopSleep\n
1139   *         AHB2SMENR1    RNGSMEN        LL_AHB2_GRP1_EnableClockStopSleep\n
1140   *         AHB2SMENR1    PKASMEN        LL_AHB2_GRP1_EnableClockStopSleep\n
1141   *         AHB2SMENR1    SAESSMEN       LL_AHB2_GRP1_EnableClockStopSleep\n
1142   *         AHB2SMENR1    OSPIMSMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1143   *         AHB2SMENR1    OTFDEC1SMEN    LL_AHB2_GRP1_EnableClockStopSleep\n
1144   *         AHB2SMENR1    OTFDEC2SMEN    LL_AHB2_GRP1_EnableClockStopSleep\n
1145   *         AHB2SMENR1    SDMMC1SMEN     LL_AHB2_GRP1_EnableClockStopSleep\n
1146   *         AHB2SMENR1    SDMMC2SMEN     LL_AHB2_GRP1_EnableClockStopSleep\n
1147   *         AHB2SMENR1    SRAM2SMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1148   *         AHB2SMENR1    SRAM3SMEN      LL_AHB2_GRP1_EnableClockStopSleep\n
1149   * @param  Periphs This parameter can be a combination of the following values:
1150   *         @arg @ref LL_AHB2_GRP1_PERIPH_ALL
1151   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOA
1152   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOB
1153   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOC
1154   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOD
1155   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOE
1156   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOF (*)
1157   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOG
1158   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOH
1159   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOI (*)
1160   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOJ (*)
1161   *         @arg @ref LL_AHB2_GRP1_PERIPH_ADC12
1162   *         @arg @ref LL_AHB2_GRP1_PERIPH_DCMI_PSSI
1163   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_FS (*)
1164   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_HS (*)
1165   *         @arg @ref LL_AHB2_GRP1_PERIPH_USBPHY (*)
1166   *         @arg @ref LL_AHB2_GRP1_PERIPH_AES
1167   *         @arg @ref LL_AHB2_GRP1_PERIPH_HASH
1168   *         @arg @ref LL_AHB2_GRP1_PERIPH_RNG
1169   *         @arg @ref LL_AHB2_GRP1_PERIPH_PKA
1170   *         @arg @ref LL_AHB2_GRP1_PERIPH_SAES (*)
1171   *         @arg @ref LL_AHB2_GRP1_PERIPH_OCTOSPIM (*)
1172   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC1 (*)
1173   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC2 (*)
1174   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC1
1175   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2 (*)
1176   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM2
1177   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM3 (*)
1178   *
1179   *        (*) value not defined in all devices.
1180   * @retval None
1181   */
LL_AHB2_GRP1_EnableClockStopSleep(uint32_t Periphs)1182 __STATIC_INLINE void LL_AHB2_GRP1_EnableClockStopSleep(uint32_t Periphs)
1183 {
1184   __IO uint32_t tmpreg;
1185   SET_BIT(RCC->AHB2SMENR1, Periphs);
1186   /* Delay after an RCC peripheral clock enabling */
1187   tmpreg = READ_BIT(RCC->AHB2SMENR1, Periphs);
1188   (void)tmpreg;
1189 }
1190 
1191 /**
1192   * @brief  Check if AHB2 peripheral clocks in Sleep and Stop modes is enabled or not
1193   * @rmtoll AHB2SMENR1    GPIOASMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1194   *         AHB2SMENR1    GPIOBSMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1195   *         AHB2SMENR1    GPIOCSMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1196   *         AHB2SMENR1    GPIODSMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1197   *         AHB2SMENR1    GPIOESMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1198   *         AHB2SMENR1    GPIOFSMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1199   *         AHB2SMENR1    GPIOGSMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1200   *         AHB2SMENR1    GPIOHSMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1201   *         AHB2SMENR1    GPIOISMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1202   *         AHB2SMENR1    GPIOJSMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1203   *         AHB2SMENR1    ADC12SMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1204   *         AHB2SMENR1    DCMI_PSSISMEN  LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1205   *         AHB2SMENR1    OTGSMEN        LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1206   *         AHB2SMENR1    USBPHYCMEN     LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1207   *         AHB2SMENR1    AESSMEN        LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1208   *         AHB2SMENR1    HASHSMEN       LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1209   *         AHB2SMENR1    RNGSMEN        LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1210   *         AHB2SMENR1    PKASMEN        LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1211   *         AHB2SMENR1    SAESSMEN       LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1212   *         AHB2SMENR1    OSPIMSMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1213   *         AHB2SMENR1    OTFDEC1SMEN    LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1214   *         AHB2SMENR1    OTFDEC2SMEN    LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1215   *         AHB2SMENR1    SDMMC1SMEN     LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1216   *         AHB2SMENR1    SDMMC2SMEN     LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1217   *         AHB2SMENR1    SRAM2SMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1218   *         AHB2SMENR1    SRAM3SMEN      LL_AHB2_GRP1_IsEnabledClockStopSleep\n
1219   * @param  Periphs This parameter can be a combination of the following values:
1220   *         @arg @ref LL_AHB2_GRP1_PERIPH_ALL
1221   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOA
1222   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOB
1223   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOC
1224   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOD
1225   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOE
1226   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOF (*)
1227   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOG
1228   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOH
1229   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOI (*)
1230   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOJ (*)
1231   *         @arg @ref LL_AHB2_GRP1_PERIPH_ADC12
1232   *         @arg @ref LL_AHB2_GRP1_PERIPH_DCMI_PSSI
1233   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_FS (*)
1234   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_HS (*)
1235   *         @arg @ref LL_AHB2_GRP1_PERIPH_USBPHY (*)
1236   *         @arg @ref LL_AHB2_GRP1_PERIPH_AES
1237   *         @arg @ref LL_AHB2_GRP1_PERIPH_HASH
1238   *         @arg @ref LL_AHB2_GRP1_PERIPH_RNG
1239   *         @arg @ref LL_AHB2_GRP1_PERIPH_PKA
1240   *         @arg @ref LL_AHB2_GRP1_PERIPH_SAES (*)
1241   *         @arg @ref LL_AHB2_GRP1_PERIPH_OCTOSPIM (*)
1242   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC1 (*)
1243   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC2 (*)
1244   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC1
1245   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2 (*)
1246   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM2
1247   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM3 (*)
1248   *
1249   *        (*) value not defined in all devices.
1250   * @retval State of Periphs (1 or 0).
1251   */
LL_AHB2_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)1252 __STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)
1253 {
1254   return ((READ_BIT(RCC->AHB2SMENR1, Periphs) == Periphs) ? 1UL : 0UL);
1255 }
1256 
1257 /**
1258   * @brief  Disable AHB2 peripheral clocks in Sleep and Stop modes
1259   * @rmtoll AHB2SMENR1    GPIOASMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1260   *         AHB2SMENR1    GPIOBSMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1261   *         AHB2SMENR1    GPIOCSMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1262   *         AHB2SMENR1    GPIODSMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1263   *         AHB2SMENR1    GPIOESMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1264   *         AHB2SMENR1    GPIOFSMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1265   *         AHB2SMENR1    GPIOGSMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1266   *         AHB2SMENR1    GPIOHSMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1267   *         AHB2SMENR1    GPIOISMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1268   *         AHB2SMENR1    GPIOJSMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1269   *         AHB2SMENR1    ADC12SMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1270   *         AHB2SMENR1    DCMI_PSSISMEN  LL_AHB2_GRP1_DisableClockStopSleep\n
1271   *         AHB2SMENR1    OTGSMEN        LL_AHB2_GRP1_DisableClockStopSleep\n
1272   *         AHB2SMENR1    USBPHYCSMEN    LL_AHB2_GRP1_DisableClockStopSleep\n
1273   *         AHB2SMENR1    AESSMEN        LL_AHB2_GRP1_DisableClockStopSleep\n
1274   *         AHB2SMENR1    HASHSMEN       LL_AHB2_GRP1_DisableClockStopSleep\n
1275   *         AHB2SMENR1    RNGSMEN        LL_AHB2_GRP1_DisableClockStopSleep\n
1276   *         AHB2SMENR1    PKASMEN        LL_AHB2_GRP1_DisableClockStopSleep\n
1277   *         AHB2SMENR1    SAESSMEN       LL_AHB2_GRP1_DisableClockStopSleep\n
1278   *         AHB2SMENR1    OSPIMSMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1279   *         AHB2SMENR1    OTFDEC1SMEN    LL_AHB2_GRP1_DisableClockStopSleep\n
1280   *         AHB2SMENR1    OTFDEC2SMEN    LL_AHB2_GRP1_DisableClockStopSleep\n
1281   *         AHB2SMENR1    SDMMC1SMEN     LL_AHB2_GRP1_DisableClockStopSleep\n
1282   *         AHB2SMENR1    SDMMC2SMEN     LL_AHB2_GRP1_DisableClockStopSleep\n
1283   *         AHB2SMENR1    SRAM2SMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1284   *         AHB2SMENR1    SRAM3SMEN      LL_AHB2_GRP1_DisableClockStopSleep\n
1285   * @param  Periphs This parameter can be a combination of the following values:
1286   *         @arg @ref LL_AHB2_GRP1_PERIPH_ALL
1287   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOA
1288   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOB
1289   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOC
1290   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOD
1291   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOE
1292   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOF (*)
1293   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOG
1294   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOH
1295   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOI (*)
1296   *         @arg @ref LL_AHB2_GRP1_PERIPH_GPIOJ (*)
1297   *         @arg @ref LL_AHB2_GRP1_PERIPH_ADC12
1298   *         @arg @ref LL_AHB2_GRP1_PERIPH_DCMI_PSSI
1299   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_FS (*)
1300   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTG_HS (*)
1301   *         @arg @ref LL_AHB2_GRP1_PERIPH_USBPHY (*)
1302   *         @arg @ref LL_AHB2_GRP1_PERIPH_AES
1303   *         @arg @ref LL_AHB2_GRP1_PERIPH_HASH
1304   *         @arg @ref LL_AHB2_GRP1_PERIPH_RNG
1305   *         @arg @ref LL_AHB2_GRP1_PERIPH_PKA
1306   *         @arg @ref LL_AHB2_GRP1_PERIPH_SAES (*)
1307   *         @arg @ref LL_AHB2_GRP1_PERIPH_OCTOSPIM (*)
1308   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC1 (*)
1309   *         @arg @ref LL_AHB2_GRP1_PERIPH_OTFDEC2 (*)
1310   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC1
1311   *         @arg @ref LL_AHB2_GRP1_PERIPH_SDMMC2 (*)
1312   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM2
1313   *         @arg @ref LL_AHB2_GRP1_PERIPH_SRAM3 (*)
1314   *
1315   *        (*) value not defined in all devices.
1316   * @retval None
1317   */
LL_AHB2_GRP1_DisableClockStopSleep(uint32_t Periphs)1318 __STATIC_INLINE void LL_AHB2_GRP1_DisableClockStopSleep(uint32_t Periphs)
1319 {
1320   CLEAR_BIT(RCC->AHB2SMENR1, Periphs);
1321 }
1322 
1323 /**
1324   * @}
1325   */
1326 
1327 /** @defgroup BUS_LL_EF_AHB3 AHB3
1328   * @{
1329   */
1330 
1331 /**
1332   * @brief  Enable AHB3 bus clock.
1333   * @rmtoll CFGR2    AHB3DIS     LL_AHB3_GRP1_EnableBusClock
1334   * @retval None
1335   */
LL_AHB3_GRP1_EnableBusClock(void)1336 __STATIC_INLINE void LL_AHB3_GRP1_EnableBusClock(void)
1337 {
1338   __IO uint32_t tmpreg;
1339   CLEAR_BIT(RCC->CFGR3, RCC_CFGR3_AHB3DIS);
1340   tmpreg = READ_BIT(RCC->CFGR3, RCC_CFGR3_AHB3DIS);
1341   (void)(tmpreg);
1342 }
1343 
1344 /**
1345   * @brief  Enable AHB3 peripherals clock.
1346   * @rmtoll AHB3ENR  LPGPIO1EN     LL_AHB3_GRP1_EnableClock\n
1347   *         AHB3ENR  PWREN         LL_AHB3_GRP1_EnableClock\n
1348   *         AHB3ENR  ADC4EN        LL_AHB3_GRP1_EnableClock\n
1349   *         AHB3ENR  DAC1EN        LL_AHB3_GRP1_EnableClock\n
1350   *         AHB3ENR  LPDMA1EN      LL_AHB3_GRP1_EnableClock\n
1351   *         AHB3ENR  ADF1EN        LL_AHB3_GRP1_EnableClock\n
1352   *         AHB3ENR  GTZC2EN       LL_AHB3_GRP1_EnableClock\n
1353   *         AHB3ENR  SRAM4EN       LL_AHB3_GRP1_EnableClock\n
1354   * @param  Periphs This parameter can be a combination of the following values:
1355   *         @arg @ref LL_AHB3_GRP1_PERIPH_ALL
1356   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPGPIO1
1357   *         @arg @ref LL_AHB3_GRP1_PERIPH_PWR
1358   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADC4
1359   *         @arg @ref LL_AHB3_GRP1_PERIPH_DAC1
1360   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPDMA1
1361   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADF1
1362   *         @arg @ref LL_AHB3_GRP1_PERIPH_GTZC2
1363   *         @arg @ref LL_AHB3_GRP1_PERIPH_SRAM4
1364   * @retval None
1365   */
LL_AHB3_GRP1_EnableClock(uint32_t Periphs)1366 __STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs)
1367 {
1368   __IO uint32_t tmpreg;
1369   SET_BIT(RCC->AHB3ENR, Periphs);
1370   /* Delay after an RCC peripheral clock enabling */
1371   tmpreg = READ_BIT(RCC->AHB3ENR, Periphs);
1372   (void)tmpreg;
1373 }
1374 
1375 /**
1376   * @brief  Check if AHB3 peripheral clock is enabled or not
1377   * @rmtoll AHB3ENR  LPGPIO1EN     LL_AHB3_GRP1_IsEnabledClock\n
1378   *         AHB3ENR  PWREN         LL_AHB3_GRP1_IsEnabledClock\n
1379   *         AHB3ENR  ADC4EN        LL_AHB3_GRP1_IsEnabledClock\n
1380   *         AHB3ENR  DAC1EN        LL_AHB3_GRP1_IsEnabledClock\n
1381   *         AHB3ENR  LPDMA1EN      LL_AHB3_GRP1_IsEnabledClock\n
1382   *         AHB3ENR  ADF1EN        LL_AHB3_GRP1_IsEnabledClock\n
1383   *         AHB3ENR  GTZC2EN       LL_AHB3_GRP1_IsEnabledClock\n
1384   *         AHB3ENR  SRAM4EN       LL_AHB3_GRP1_IsEnabledClock\n
1385   * @param  Periphs This parameter can be a combination of the following values:
1386   *         @arg @ref LL_AHB3_GRP1_PERIPH_ALL
1387   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPGPIO1
1388   *         @arg @ref LL_AHB3_GRP1_PERIPH_PWR
1389   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADC4
1390   *         @arg @ref LL_AHB3_GRP1_PERIPH_DAC1
1391   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPDMA1
1392   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADF1
1393   *         @arg @ref LL_AHB3_GRP1_PERIPH_GTZC2
1394   *         @arg @ref LL_AHB3_GRP1_PERIPH_SRAM4
1395   * @retval State of Periphs (1 or 0).
1396   */
LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)1397 __STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
1398 {
1399   return ((READ_BIT(RCC->AHB3ENR, Periphs) == Periphs) ? 1UL : 0UL);
1400 }
1401 
1402 /**
1403   * @brief  Disable AHB3 bus clock.
1404   * @rmtoll CFGR2    AHB3DIS     LL_AHB3_GRP1_DisableBusClock
1405   * @retval None
1406   */
LL_AHB3_GRP1_DisableBusClock(void)1407 __STATIC_INLINE void LL_AHB3_GRP1_DisableBusClock(void)
1408 {
1409   SET_BIT(RCC->CFGR3, RCC_CFGR3_AHB3DIS);
1410 }
1411 
1412 /**
1413   * @brief  Disable AHB3 peripherals clock.
1414   * @rmtoll AHB3ENR  LPGPIO1EN     LL_AHB3_GRP1_DisableClock\n
1415   *         AHB3ENR  PWREN         LL_AHB3_GRP1_DisableClock\n
1416   *         AHB3ENR  ADC4EN        LL_AHB3_GRP1_DisableClock\n
1417   *         AHB3ENR  DAC1EN        LL_AHB3_GRP1_DisableClock\n
1418   *         AHB3ENR  LPDMA1EN      LL_AHB3_GRP1_DisableClock\n
1419   *         AHB3ENR  ADF1EN        LL_AHB3_GRP1_DisableClock\n
1420   *         AHB3ENR  GTZC2EN       LL_AHB3_GRP1_DisableClock\n
1421   *         AHB3ENR  SRAM4EN       LL_AHB3_GRP1_DisableClock\n
1422   * @param  Periphs This parameter can be a combination of the following values:
1423   *         @arg @ref LL_AHB3_GRP1_PERIPH_ALL
1424   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPGPIO1
1425   *         @arg @ref LL_AHB3_GRP1_PERIPH_PWR
1426   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADC4
1427   *         @arg @ref LL_AHB3_GRP1_PERIPH_DAC1
1428   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPDMA1
1429   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADF1
1430   *         @arg @ref LL_AHB3_GRP1_PERIPH_GTZC2
1431   *         @arg @ref LL_AHB3_GRP1_PERIPH_SRAM4
1432   * @retval None
1433   */
LL_AHB3_GRP1_DisableClock(uint32_t Periphs)1434 __STATIC_INLINE void LL_AHB3_GRP1_DisableClock(uint32_t Periphs)
1435 {
1436   CLEAR_BIT(RCC->AHB3ENR, Periphs);
1437 }
1438 
1439 /**
1440   * @brief  Force AHB3 peripherals reset.
1441   * @rmtoll AHB3RSTR  LPGPIO1RST     LL_AHB3_GRP1_ForceReset\n
1442   *         AHB3RSTR  PWRRST         LL_AHB3_GRP1_ForceReset\n
1443   *         AHB3RSTR  ADC4RST        LL_AHB3_GRP1_ForceReset\n
1444   *         AHB3RSTR  DAC1RST        LL_AHB3_GRP1_ForceReset\n
1445   *         AHB3RSTR  LPDMA1RST      LL_AHB3_GRP1_ForceReset\n
1446   *         AHB3RSTR  ADF1RST        LL_AHB3_GRP1_ForceReset\n
1447   *         AHB3RSTR  GTZC2RST       LL_AHB3_GRP1_ForceReset\n
1448   * @param  Periphs This parameter can be a combination of the following values:
1449   *         @arg @ref LL_AHB3_GRP1_PERIPH_ALL
1450   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPGPIO1
1451   *         @arg @ref LL_AHB3_GRP1_PERIPH_PWR
1452   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADC4
1453   *         @arg @ref LL_AHB3_GRP1_PERIPH_DAC1
1454   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPDMA1
1455   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADF1
1456   *         @arg @ref LL_AHB3_GRP1_PERIPH_GTZC2
1457   * @retval None
1458   */
LL_AHB3_GRP1_ForceReset(uint32_t Periphs)1459 __STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs)
1460 {
1461   SET_BIT(RCC->AHB3RSTR, Periphs);
1462 }
1463 
1464 /**
1465   * @brief  Release AHB3 peripherals reset.
1466   * @rmtoll AHB3RSTR  LPGPIO1RST     LL_AHB3_GRP1_ReleaseReset\n
1467   *         AHB3RSTR  PWRRST         LL_AHB3_GRP1_ReleaseReset\n
1468   *         AHB3RSTR  ADC4RST        LL_AHB3_GRP1_ReleaseReset\n
1469   *         AHB3RSTR  DAC1RST        LL_AHB3_GRP1_ReleaseReset\n
1470   *         AHB3RSTR  LPDMA1RST      LL_AHB3_GRP1_ReleaseReset\n
1471   *         AHB3RSTR  ADF1RST        LL_AHB3_GRP1_ReleaseReset\n
1472   *         AHB3RSTR  GTZC2RST       LL_AHB3_GRP1_ReleaseReset\n
1473   * @param  Periphs This parameter can be a combination of the following values:
1474   *         @arg @ref LL_AHB3_GRP1_PERIPH_ALL
1475   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPGPIO1
1476   *         @arg @ref LL_AHB3_GRP1_PERIPH_PWR
1477   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADC4
1478   *         @arg @ref LL_AHB3_GRP1_PERIPH_DAC1
1479   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPDMA1
1480   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADF1
1481   *         @arg @ref LL_AHB3_GRP1_PERIPH_GTZC2
1482   * @retval None
1483   */
LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)1484 __STATIC_INLINE void LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)
1485 {
1486   CLEAR_BIT(RCC->AHB3RSTR, Periphs);
1487 }
1488 
1489 /**
1490   * @brief  Enable AHB3 peripheral clocks in Sleep and Stop modes
1491   * @rmtoll AHB3SMENR  LPGPIO1SMEN    LL_AHB3_GRP1_EnableClockStopSleep\n
1492   *         AHB3SMENR  PWRSMEN        LL_AHB3_GRP1_EnableClockStopSleep\n
1493   *         AHB3SMENR  ADC4SMEN       LL_AHB3_GRP1_EnableClockStopSleep\n
1494   *         AHB3SMENR  DAC1SMEN       LL_AHB3_GRP1_EnableClockStopSleep\n
1495   *         AHB3SMENR  LPDMA1SMEN     LL_AHB3_GRP1_EnableClockStopSleep\n
1496   *         AHB3SMENR  ADF1SMEN       LL_AHB3_GRP1_EnableClockStopSleep\n
1497   *         AHB3SMENR  GTZC2SMEN      LL_AHB3_GRP1_EnableClockStopSleep\n
1498   *         AHB3SMENR  SRAM4SMEN      LL_AHB3_GRP1_EnableClockStopSleep\n
1499   * @param  Periphs This parameter can be a combination of the following values:
1500   *         @arg @ref LL_AHB3_GRP1_PERIPH_ALL
1501   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPGPIO1
1502   *         @arg @ref LL_AHB3_GRP1_PERIPH_PWR
1503   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADC4
1504   *         @arg @ref LL_AHB3_GRP1_PERIPH_DAC1
1505   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPDMA1
1506   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADF1
1507   *         @arg @ref LL_AHB3_GRP1_PERIPH_GTZC2
1508   *         @arg @ref LL_AHB3_GRP1_PERIPH_SRAM4
1509   * @retval None
1510   */
LL_AHB3_GRP1_EnableClockStopSleep(uint32_t Periphs)1511 __STATIC_INLINE void LL_AHB3_GRP1_EnableClockStopSleep(uint32_t Periphs)
1512 {
1513   __IO uint32_t tmpreg;
1514   SET_BIT(RCC->AHB3SMENR, Periphs);
1515   /* Delay after an RCC peripheral clock enabling */
1516   tmpreg = READ_BIT(RCC->AHB3SMENR, Periphs);
1517   (void)tmpreg;
1518 }
1519 
1520 /**
1521   * @brief  Check if AHB3 peripheral clocks in Sleep and Stop modes is enabled or not
1522   * @rmtoll AHB3SMENR  LPGPIO1SMEN    LL_AHB3_GRP1_IsEnabledClockStopSleep\n
1523   *         AHB3SMENR  PWRSMEN        LL_AHB3_GRP1_IsEnabledClockStopSleep\n
1524   *         AHB3SMENR  ADC4SMEN       LL_AHB3_GRP1_IsEnabledClockStopSleep\n
1525   *         AHB3SMENR  DAC1SMEN       LL_AHB3_GRP1_IsEnabledClockStopSleep\n
1526   *         AHB3SMENR  LPDMA1SMEN     LL_AHB3_GRP1_IsEnabledClockStopSleep\n
1527   *         AHB3SMENR  ADF1SMEN       LL_AHB3_GRP1_IsEnabledClockStopSleep\n
1528   *         AHB3SMENR  GTZC2SMEN      LL_AHB3_GRP1_IsEnabledClockStopSleep\n
1529   *         AHB3SMENR  SRAM4SMEN      LL_AHB3_GRP1_IsEnabledClockStopSleep\n
1530   * @param  Periphs This parameter can be a combination of the following values:
1531   *         @arg @ref LL_AHB3_GRP1_PERIPH_ALL
1532   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPGPIO1
1533   *         @arg @ref LL_AHB3_GRP1_PERIPH_PWR
1534   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADC4
1535   *         @arg @ref LL_AHB3_GRP1_PERIPH_DAC1
1536   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPDMA1
1537   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADF1
1538   *         @arg @ref LL_AHB3_GRP1_PERIPH_GTZC2
1539   *         @arg @ref LL_AHB3_GRP1_PERIPH_SRAM4
1540   * @retval State of Periphs (1 or 0).
1541   */
LL_AHB3_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)1542 __STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)
1543 {
1544   return ((READ_BIT(RCC->AHB3SMENR, Periphs) == Periphs) ? 1UL : 0UL);
1545 }
1546 
1547 /**
1548   * @brief  Disable AHB3 peripheral clocks in Sleep and Stop modes
1549   * @rmtoll AHB3SMENR  LPGPIO1SMEN    LL_AHB3_GRP1_DisableClockStopSleep\n
1550   *         AHB3SMENR  PWRSMEN        LL_AHB3_GRP1_DisableClockStopSleep\n
1551   *         AHB3SMENR  ADC4SMEN       LL_AHB3_GRP1_DisableClockStopSleep\n
1552   *         AHB3SMENR  DAC1SMEN       LL_AHB3_GRP1_DisableClockStopSleep\n
1553   *         AHB3SMENR  LPDMA1SMEN     LL_AHB3_GRP1_DisableClockStopSleep\n
1554   *         AHB3SMENR  ADF1SMEN       LL_AHB3_GRP1_DisableClockStopSleep\n
1555   *         AHB3SMENR  GTZC2SMEN      LL_AHB3_GRP1_DisableClockStopSleep\n
1556   *         AHB3SMENR  SRAM4SMEN      LL_AHB3_GRP1_DisableClockStopSleep\n
1557   * @param  Periphs This parameter can be a combination of the following values:
1558   *         @arg @ref LL_AHB3_GRP1_PERIPH_ALL
1559   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPGPIO1
1560   *         @arg @ref LL_AHB3_GRP1_PERIPH_PWR
1561   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADC4
1562   *         @arg @ref LL_AHB3_GRP1_PERIPH_DAC1
1563   *         @arg @ref LL_AHB3_GRP1_PERIPH_LPDMA1
1564   *         @arg @ref LL_AHB3_GRP1_PERIPH_ADF1
1565   *         @arg @ref LL_AHB3_GRP1_PERIPH_GTZC2
1566   *         @arg @ref LL_AHB3_GRP1_PERIPH_SRAM4
1567   * @retval None
1568   */
LL_AHB3_GRP1_DisableClockStopSleep(uint32_t Periphs)1569 __STATIC_INLINE void LL_AHB3_GRP1_DisableClockStopSleep(uint32_t Periphs)
1570 {
1571   CLEAR_BIT(RCC->AHB3SMENR, Periphs);
1572 }
1573 
1574 /**
1575   * @}
1576   */
1577 
1578 /** @defgroup BUS_LL_EF_AHB2_GRP2_PERIPH AHB2 GRP2 PERIPH
1579   * @{
1580   */
1581 
1582 /**
1583   * @brief  Enable AHB2_2 bus clock.
1584   * @rmtoll CFGR2    AHB2DIS2     LL_AHB2_GRP2_EnableBusClock
1585   * @retval None
1586   */
LL_AHB2_GRP2_EnableBusClock(void)1587 __STATIC_INLINE void LL_AHB2_GRP2_EnableBusClock(void)
1588 {
1589   __IO uint32_t tmpreg;
1590   CLEAR_BIT(RCC->CFGR2, RCC_CFGR2_AHB2DIS2);
1591   tmpreg = READ_BIT(RCC->CFGR2, RCC_CFGR2_AHB2DIS2);
1592   (void)(tmpreg);
1593 }
1594 
1595 /**
1596   * @brief  Enable AHB2 peripherals clock.
1597   * @rmtoll AHB2ENR2  FSMCEN            LL_AHB2_GRP2_EnableClock\n
1598   *         AHB2ENR2  OCTOSPI1EN        LL_AHB2_GRP2_EnableClock\n
1599   *         AHB2ENR2  OCTOSPI2EN        LL_AHB2_GRP2_EnableClock\n
1600   *         AHB2ENR2  HSPI1EN           LL_AHB2_GRP2_EnableClock\n
1601   *         AHB2ENR2  SRAM6EN           LL_AHB2_GRP2_EnableClock\n
1602   *         AHB2ENR2  SRAM5EN           LL_AHB2_GRP2_EnableClock\n
1603   * @param  Periphs This parameter can be a combination of the following values:
1604   *         @arg @ref LL_AHB2_GRP2_PERIPH_ALL
1605   *         @arg @ref LL_AHB2_GRP2_PERIPH_FSMC (*)
1606   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI1
1607   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI2 (*)
1608   *         @arg @ref LL_AHB2_GRP2_PERIPH_HSPI1 (*)
1609   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM6 (*)
1610   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM5 (*)
1611   *
1612   *
1613   *        (*) value not defined in all devices.
1614   * @retval None
1615   */
LL_AHB2_GRP2_EnableClock(uint32_t Periphs)1616 __STATIC_INLINE void LL_AHB2_GRP2_EnableClock(uint32_t Periphs)
1617 {
1618   __IO uint32_t tmpreg;
1619   SET_BIT(RCC->AHB2ENR2, Periphs);
1620   /* Delay after an RCC peripheral clock enabling */
1621   tmpreg = READ_BIT(RCC->AHB2ENR2, Periphs);
1622   (void)tmpreg;
1623 }
1624 
1625 /**
1626   * @brief  Check if AHB2 peripheral clock is enabled or not
1627   * @rmtoll AHB2ENR2  FSMCEN            LL_AHB2_GRP2_IsEnabledClock\n
1628   *         AHB2ENR2  OCTOSPI1EN        LL_AHB2_GRP2_IsEnabledClock\n
1629   *         AHB2ENR2  OCTOSPI2EN        LL_AHB2_GRP2_IsEnabledClock\n
1630   *         AHB2ENR2  HSPI1EN           LL_AHB2_GRP2_IsEnabledClock\n
1631   *         AHB2ENR2  SRAM6EN           LL_AHB2_GRP2_DisableClock\n
1632   *         AHB2ENR2  SRAM5EN           LL_AHB2_GRP2_IsEnabledClock\n
1633   * @param  Periphs This parameter can be a combination of the following values:
1634   *         @arg @ref LL_AHB2_GRP2_PERIPH_ALL
1635   *         @arg @ref LL_AHB2_GRP2_PERIPH_FSMC (*)
1636   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI1
1637   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI2 (*)
1638   *         @arg @ref LL_AHB2_GRP2_PERIPH_HSPI1 (*)
1639   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM6 (*)
1640   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM5 (*)
1641   *
1642   *        (*) value not defined in all devices.
1643   * @retval None
1644   * @retval State of Periphs (1 or 0).
1645   */
LL_AHB2_GRP2_IsEnabledClock(uint32_t Periphs)1646 __STATIC_INLINE uint32_t LL_AHB2_GRP2_IsEnabledClock(uint32_t Periphs)
1647 {
1648   return ((READ_BIT(RCC->AHB2ENR2, Periphs) == Periphs) ? 1UL : 0UL);
1649 }
1650 
1651 /**
1652   * @brief  Disable AHB2_2 bus clock.
1653   * @rmtoll CFGR2    AHB2DIS2     LL_AHB2_GRP2_DisableBusClock
1654   * @retval None
1655   */
LL_AHB2_GRP2_DisableBusClock(void)1656 __STATIC_INLINE void LL_AHB2_GRP2_DisableBusClock(void)
1657 {
1658   SET_BIT(RCC->CFGR2, RCC_CFGR2_AHB2DIS2);
1659 }
1660 
1661 /**
1662   * @brief  Disable AHB2 peripherals clock.
1663   * @rmtoll AHB2ENR2  FSMCEN            LL_AHB2_GRP2_DisableClock\n
1664   *         AHB2ENR2  OCTOSPI1EN        LL_AHB2_GRP2_DisableClock\n
1665   *         AHB2ENR2  OCTOSPI2EN        LL_AHB2_GRP2_DisableClock\n
1666   *         AHB2ENR2  HSPI1EN           LL_AHB2_GRP2_DisableClock\n
1667   *         AHB2ENR2  SRAM6EN           LL_AHB2_GRP2_DisableClock\n
1668   *         AHB2ENR2  SRAM5EN           LL_AHB2_GRP2_DisableClock\n
1669   * @param  Periphs This parameter can be a combination of the following values:
1670   *         @arg @ref LL_AHB2_GRP2_PERIPH_ALL
1671   *         @arg @ref LL_AHB2_GRP2_PERIPH_FSMC (*)
1672   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI1
1673   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI2 (*)
1674   *         @arg @ref LL_AHB2_GRP2_PERIPH_HSPI1 (*)
1675   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM6 (*)
1676   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM5 (*)
1677   *
1678   *        (*) value not defined in all devices.
1679   * @retval None
1680   */
LL_AHB2_GRP2_DisableClock(uint32_t Periphs)1681 __STATIC_INLINE void LL_AHB2_GRP2_DisableClock(uint32_t Periphs)
1682 {
1683   CLEAR_BIT(RCC->AHB2ENR2, Periphs);
1684 }
1685 
1686 /**
1687   * @brief  Force AHB2 peripherals reset.
1688   * @rmtoll AHB2RSTR2  FSMCRST            LL_AHB2_GRP2_ForceReset\n
1689   *         AHB2RSTR2  OCTOSPI1RST        LL_AHB2_GRP2_ForceReset\n
1690   *         AHB2RSTR2  OCTOSPI2RST        LL_AHB2_GRP2_ForceReset\n
1691   *         AHB2RSTR2  HSPI1RST           LL_AHB2_GRP2_ForceReset\n
1692   * @param  Periphs This parameter can be a combination of the following values:
1693   *         @arg @ref LL_AHB2_GRP2_PERIPH_ALL
1694   *         @arg @ref LL_AHB2_GRP2_PERIPH_FSMC (*)
1695   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI1
1696   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI2 (*)
1697   *         @arg @ref LL_AHB2_GRP2_PERIPH_HSPI1 (*)
1698   *
1699   *        (*) value not defined in all devices.
1700   * @retval None
1701   */
LL_AHB2_GRP2_ForceReset(uint32_t Periphs)1702 __STATIC_INLINE void LL_AHB2_GRP2_ForceReset(uint32_t Periphs)
1703 {
1704   SET_BIT(RCC->AHB2RSTR2, Periphs);
1705 }
1706 
1707 /**
1708   * @brief  Release AHB2 peripherals reset.
1709   * @rmtoll AHB2RSTR2  FSMCRST            LL_AHB2_GRP2_ReleaseReset\n
1710   *         AHB2RSTR2  OCTOSPI1RST        LL_AHB2_GRP2_ReleaseReset\n
1711   *         AHB2RSTR2  OCTOSPI2RST        LL_AHB2_GRP2_ReleaseReset\n
1712   *         AHB2RSTR2  HSPI1RST           LL_AHB2_GRP2_ReleaseReset\n
1713   * @param  Periphs This parameter can be a combination of the following values:
1714   *         @arg @ref LL_AHB2_GRP2_PERIPH_ALL
1715   *         @arg @ref LL_AHB2_GRP2_PERIPH_FSMC (*)
1716   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI1
1717   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI2 (*)
1718   *         @arg @ref LL_AHB2_GRP2_PERIPH_HSPI1 (*)
1719   *
1720   *        (*) value not defined in all devices.
1721   * @retval None
1722   */
LL_AHB2_GRP2_ReleaseReset(uint32_t Periphs)1723 __STATIC_INLINE void LL_AHB2_GRP2_ReleaseReset(uint32_t Periphs)
1724 {
1725   CLEAR_BIT(RCC->AHB2RSTR2, Periphs);
1726 }
1727 
1728 /**
1729   * @brief  Enable AHB2 peripheral clocks in Sleep and Stop modes
1730   * @rmtoll AHB2SMENR2  FSMCSMEN            LL_AHB2_GRP2_EnableClockStopSleep\n
1731   *         AHB2SMENR2  OCTOSPI1SMEN        LL_AHB2_GRP2_EnableClockStopSleep\n
1732   *         AHB2SMENR2  OCTOSPI2SMEN        LL_AHB2_GRP2_EnableClockStopSleep\n
1733   *         AHB2SMENR2  HSPI1SMEN           LL_AHB2_GRP2_EnableClockStopSleep\n
1734   *         AHB2SMENR2  SRAM6SMEN           LL_AHB2_GRP2_IsEnabledClockStopSleep\n
1735   *         AHB2SMENR2  SRAM5SMEN           LL_AHB2_GRP2_EnableClockStopSleep\n
1736   * @param  Periphs This parameter can be a combination of the following values:
1737   *         @arg @ref LL_AHB2_GRP2_PERIPH_ALL
1738   *         @arg @ref LL_AHB2_GRP2_PERIPH_FSMC (*)
1739   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI1
1740   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI2 (*)
1741   *         @arg @ref LL_AHB2_GRP2_PERIPH_HSPI1 (*)
1742   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM6 (*)
1743   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM5 (*)
1744   *
1745   *        (*) value not defined in all devices.
1746   * @retval None
1747   */
LL_AHB2_GRP2_EnableClockStopSleep(uint32_t Periphs)1748 __STATIC_INLINE void LL_AHB2_GRP2_EnableClockStopSleep(uint32_t Periphs)
1749 {
1750   __IO uint32_t tmpreg;
1751   SET_BIT(RCC->AHB2SMENR2, Periphs);
1752   /* Delay after an RCC peripheral clock enabling */
1753   tmpreg = READ_BIT(RCC->AHB2SMENR2, Periphs);
1754   (void)tmpreg;
1755 }
1756 
1757 /**
1758   * @brief  Check if AHB2 peripheral clocks in Sleep and Stop modes is enabled or not
1759   * @rmtoll AHB2SMENR2  FSMCSMEN            LL_AHB2_GRP2_IsEnabledClockStopSleep\n
1760   *         AHB2SMENR2  OCTOSPI1SMEN        LL_AHB2_GRP2_IsEnabledClockStopSleep\n
1761   *         AHB2SMENR2  OCTOSPI2SMEN        LL_AHB2_GRP2_IsEnabledClockStopSleep\n
1762   *         AHB2SMENR2  HSPI1SMEN           LL_AHB2_GRP2_IsEnabledClockStopSleep\n
1763   *         AHB2SMENR2  SRAM6SMEN           LL_AHB2_GRP2_IsEnabledClockStopSleep\n
1764   *         AHB2SMENR2  SRAM5SMEN           LL_AHB2_GRP2_IsEnabledClockStopSleep\n
1765   * @param  Periphs This parameter can be a combination of the following values:
1766   *         @arg @ref LL_AHB2_GRP2_PERIPH_ALL
1767   *         @arg @ref LL_AHB2_GRP2_PERIPH_FSMC (*)
1768   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI1
1769   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI2 (*)
1770   *         @arg @ref LL_AHB2_GRP2_PERIPH_HSPI1 (*)
1771   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM6 (*)
1772   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM5 (*)
1773   *
1774   *        (*) value not defined in all devices.
1775   * @retval State of Periphs (1 or 0).
1776   */
LL_AHB2_GRP2_IsEnabledClockStopSleep(uint32_t Periphs)1777 __STATIC_INLINE uint32_t LL_AHB2_GRP2_IsEnabledClockStopSleep(uint32_t Periphs)
1778 {
1779   return ((READ_BIT(RCC->AHB2SMENR2, Periphs) == Periphs) ? 1UL : 0UL);
1780 }
1781 
1782 /**
1783   * @brief  Disable AHB2 peripheral clocks in Sleep and Stop modes
1784   * @rmtoll AHB2SMENR2  FSMCSMEN            LL_AHB2_GRP2_DisableClockStopSleep\n
1785   *         AHB2SMENR2  OCTOSPI1SMEN        LL_AHB2_GRP2_DisableClockStopSleep\n
1786   *         AHB2SMENR2  OCTOSPI2SMEN        LL_AHB2_GRP2_DisableClockStopSleep\n
1787   *         AHB2SMENR2  HSPI1SMEN           LL_AHB2_GRP2_DisableClockStopSleep\n
1788   *         AHB2SMENR2  SRAM6SMEN           LL_AHB2_GRP2_DisableClockStopSleep\n
1789   *         AHB2SMENR2  SRAM5SMEN           LL_AHB2_GRP2_DisableClockStopSleep\n
1790   * @param  Periphs This parameter can be a combination of the following values:
1791   *         @arg @ref LL_AHB2_GRP2_PERIPH_ALL
1792   *         @arg @ref LL_AHB2_GRP2_PERIPH_FSMC (*)
1793   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI1
1794   *         @arg @ref LL_AHB2_GRP2_PERIPH_OCTOSPI2 (*)
1795   *         @arg @ref LL_AHB2_GRP2_PERIPH_HSPI1 (*)
1796   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM6 (*)
1797   *         @arg @ref LL_AHB2_GRP2_PERIPH_SRAM5 (*)
1798   *
1799   *        (*) value not defined in all devices.
1800   * @retval None
1801   */
LL_AHB2_GRP2_DisableClockStopSleep(uint32_t Periphs)1802 __STATIC_INLINE void LL_AHB2_GRP2_DisableClockStopSleep(uint32_t Periphs)
1803 {
1804   CLEAR_BIT(RCC->AHB2SMENR2, Periphs);
1805 }
1806 
1807 /**
1808   * @}
1809   */
1810 
1811 /** @defgroup BUS_LL_EF_APB1 APB1
1812   * @{
1813   */
1814 
1815 /**
1816   * @brief  Enable APB1 bus clock.
1817   * @rmtoll CFGR2    APB1DIS     LL_APB1_GRP1_EnableBusClock
1818   * @retval None
1819   */
LL_APB1_GRP1_EnableBusClock(void)1820 __STATIC_INLINE void LL_APB1_GRP1_EnableBusClock(void)
1821 {
1822   __IO uint32_t tmpreg;
1823   CLEAR_BIT(RCC->CFGR2, RCC_CFGR2_APB1DIS);
1824   tmpreg = READ_BIT(RCC->CFGR2, RCC_CFGR2_APB1DIS);
1825   (void)(tmpreg);
1826 }
1827 
1828 /**
1829   * @brief  Enable APB1 peripherals clock.
1830   * @rmtoll APB1ENR1     TIM2EN        LL_APB1_GRP1_EnableClock\n
1831   *         APB1ENR1     TIM3EN        LL_APB1_GRP1_EnableClock\n
1832   *         APB1ENR1     TIM4EN        LL_APB1_GRP1_EnableClock\n
1833   *         APB1ENR1     TIM5EN        LL_APB1_GRP1_EnableClock\n
1834   *         APB1ENR1     TIM6EN        LL_APB1_GRP1_EnableClock\n
1835   *         APB1ENR1     TIM7EN        LL_APB1_GRP1_EnableClock\n
1836   *         APB1ENR1     WWDGEN        LL_APB1_GRP1_EnableClock\n
1837   *         APB1ENR1     SPI2EN        LL_APB1_GRP1_EnableClock\n
1838   *         APB1ENR1     USART2EN      LL_APB1_GRP1_EnableClock\n
1839   *         APB1ENR1     USART3EN      LL_APB1_GRP1_EnableClock\n
1840   *         APB1ENR1     UART4EN       LL_APB1_GRP1_EnableClock\n
1841   *         APB1ENR1     UART5EN       LL_APB1_GRP1_EnableClock\n
1842   *         APB1ENR1     I2C1EN        LL_APB1_GRP1_EnableClock\n
1843   *         APB1ENR1     I2C2EN        LL_APB1_GRP1_EnableClock\n
1844   *         APB1ENR1     CRSEN         LL_APB1_GRP1_EnableClock\n
1845   *         APB1ENR1     USART6N       LL_APB1_GRP1_EnableClock\n
1846   * @param  Periphs This parameter can be a combination of the following values:
1847   *         @arg @ref LL_APB1_GRP1_PERIPH_ALL
1848   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1849   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1850   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1851   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1852   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1853   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1854   *         @arg @ref LL_APB1_GRP1_PERIPH_WWDG
1855   *         @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1856   *         @arg @ref LL_APB1_GRP1_PERIPH_USART2 (*)
1857   *         @arg @ref LL_APB1_GRP1_PERIPH_USART3
1858   *         @arg @ref LL_APB1_GRP1_PERIPH_UART4
1859   *         @arg @ref LL_APB1_GRP1_PERIPH_UART5
1860   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1861   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1862   *         @arg @ref LL_APB1_GRP1_PERIPH_CRS
1863   *         @arg @ref LL_APB1_GRP1_PERIPH_USART6 (*)
1864   *
1865   *        (*) value not defined in all devices.
1866   * @retval None
1867   */
LL_APB1_GRP1_EnableClock(uint32_t Periphs)1868 __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs)
1869 {
1870   __IO uint32_t tmpreg;
1871   SET_BIT(RCC->APB1ENR1, Periphs);
1872   /* Delay after an RCC peripheral clock enabling */
1873   tmpreg = READ_BIT(RCC->APB1ENR1, Periphs);
1874   (void)tmpreg;
1875 }
1876 
1877 /**
1878   * @brief  Enable APB1 peripherals clock.
1879   * @rmtoll APB1ENR2     I2C4EN        LL_APB1_GRP2_EnableClock\n
1880   *         APB1ENR2     I2C5EN        LL_APB1_GRP2_EnableClock\n
1881   *         APB1ENR2     I2C6EN        LL_APB1_GRP2_EnableClock\n
1882   *         APB1ENR2     LPTIM2EN      LL_APB1_GRP2_EnableClock\n
1883   *         APB1ENR2     FDCAN1EN      LL_APB1_GRP2_EnableClock\n
1884   *         APB1ENR2     UCPD1EN       LL_APB1_GRP2_EnableClock
1885   * @param  Periphs This parameter can be a combination of the following values:
1886   *         @arg @ref LL_APB1_GRP2_PERIPH_ALL
1887   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C4
1888   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C5 (*)
1889   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C6 (*)
1890   *         @arg @ref LL_APB1_GRP2_PERIPH_LPTIM2
1891   *         @arg @ref LL_APB1_GRP2_PERIPH_FDCAN1
1892   *         @arg @ref LL_APB1_GRP2_PERIPH_UCPD1 (*)
1893   * @retval None
1894   */
LL_APB1_GRP2_EnableClock(uint32_t Periphs)1895 __STATIC_INLINE void LL_APB1_GRP2_EnableClock(uint32_t Periphs)
1896 {
1897   __IO uint32_t tmpreg;
1898   SET_BIT(RCC->APB1ENR2, Periphs);
1899   /* Delay after an RCC peripheral clock enabling */
1900   tmpreg = READ_BIT(RCC->APB1ENR2, Periphs);
1901   (void)tmpreg;
1902 }
1903 
1904 /**
1905   * @brief  Check if APB1 peripheral clock is enabled or not
1906   * @rmtoll APB1ENR1     TIM2EN        LL_APB1_GRP1_IsEnabledClock\n
1907   *         APB1ENR1     TIM3EN        LL_APB1_GRP1_IsEnabledClock\n
1908   *         APB1ENR1     TIM4EN        LL_APB1_GRP1_IsEnabledClock\n
1909   *         APB1ENR1     TIM5EN        LL_APB1_GRP1_IsEnabledClock\n
1910   *         APB1ENR1     TIM6EN        LL_APB1_GRP1_IsEnabledClock\n
1911   *         APB1ENR1     TIM7EN        LL_APB1_GRP1_IsEnabledClock\n
1912   *         APB1ENR1     WWDGEN        LL_APB1_GRP1_IsEnabledClock\n
1913   *         APB1ENR1     SPI2EN        LL_APB1_GRP1_IsEnabledClock\n
1914   *         APB1ENR1     USART2EN      LL_APB1_GRP1_IsEnabledClock\n
1915   *         APB1ENR1     USART3EN      LL_APB1_GRP1_IsEnabledClock\n
1916   *         APB1ENR1     UART4EN       LL_APB1_GRP1_IsEnabledClock\n
1917   *         APB1ENR1     UART5EN       LL_APB1_GRP1_IsEnabledClock\n
1918   *         APB1ENR1     I2C1EN        LL_APB1_GRP1_IsEnabledClock\n
1919   *         APB1ENR1     I2C2EN        LL_APB1_GRP1_IsEnabledClock\n
1920   *         APB1ENR1     CRSEN         LL_APB1_GRP1_IsEnabledClock\n
1921   *         APB1ENR1     USART6EN      LL_APB1_GRP1_IsEnabledClock\n
1922   * @param  Periphs This parameter can be a combination of the following values:
1923   *         @arg @ref LL_APB1_GRP1_PERIPH_ALL
1924   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM2
1925   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM3
1926   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM4
1927   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM5
1928   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM6
1929   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM7
1930   *         @arg @ref LL_APB1_GRP1_PERIPH_WWDG
1931   *         @arg @ref LL_APB1_GRP1_PERIPH_SPI2
1932   *         @arg @ref LL_APB1_GRP1_PERIPH_USART2 (*)
1933   *         @arg @ref LL_APB1_GRP1_PERIPH_USART3
1934   *         @arg @ref LL_APB1_GRP1_PERIPH_UART4
1935   *         @arg @ref LL_APB1_GRP1_PERIPH_UART5
1936   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C1
1937   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C2
1938   *         @arg @ref LL_APB1_GRP1_PERIPH_CRS
1939   *         @arg @ref LL_APB1_GRP1_PERIPH_USART6 (*)
1940   *
1941   *        (*) value not defined in all devices.
1942   * @retval State of Periphs (1 or 0).
1943   */
LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)1944 __STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
1945 {
1946   return ((READ_BIT(RCC->APB1ENR1, Periphs) == Periphs) ? 1UL : 0UL);
1947 }
1948 
1949 /**
1950   * @brief  Check if APB1 peripheral clock is enabled or not
1951   * @rmtoll APB1ENR2     I2C4EN        LL_APB1_GRP2_IsEnabledClock\n
1952   *         APB1ENR2     I2C5EN        LL_APB1_GRP2_IsEnabledClock\n
1953   *         APB1ENR2     I2C6EN        LL_APB1_GRP2_IsEnabledClock\n
1954   *         APB1ENR2     LPTIM2EN      LL_APB1_GRP2_IsEnabledClock\n
1955   *         APB1ENR2     FDCAN1EN      LL_APB1_GRP2_IsEnabledClock\n
1956   *         APB1ENR2     UCPD1EN       LL_APB1_GRP2_IsEnabledClock
1957   * @param  Periphs This parameter can be a combination of the following values:
1958   *         @arg @ref LL_APB1_GRP2_PERIPH_ALL
1959   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C4
1960   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C5 (*)
1961   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C6 (*)
1962   *         @arg @ref LL_APB1_GRP2_PERIPH_LPTIM2
1963   *         @arg @ref LL_APB1_GRP2_PERIPH_FDCAN1
1964   *         @arg @ref LL_APB1_GRP2_PERIPH_UCPD1 (*)
1965   * @retval State of Periphs (1 or 0).
1966   */
LL_APB1_GRP2_IsEnabledClock(uint32_t Periphs)1967 __STATIC_INLINE uint32_t LL_APB1_GRP2_IsEnabledClock(uint32_t Periphs)
1968 {
1969   return ((READ_BIT(RCC->APB1ENR2, Periphs) == Periphs) ? 1UL : 0UL);
1970 }
1971 
1972 /**
1973   * @brief  Disable APB1 bus clock.
1974   * @note   except for IWDG.
1975   * @rmtoll CFGR2    APB1DIS     LL_APB1_GRP1_DisableBusClock
1976   * @retval None
1977   */
LL_APB1_GRP1_DisableBusClock(void)1978 __STATIC_INLINE void LL_APB1_GRP1_DisableBusClock(void)
1979 {
1980   SET_BIT(RCC->CFGR2, RCC_CFGR2_APB1DIS);
1981 }
1982 
1983 /**
1984   * @brief  Disable APB1 peripherals clock.
1985   * @rmtoll APB1ENR1     TIM2EN        LL_APB1_GRP1_DisableClock\n
1986   *         APB1ENR1     TIM3EN        LL_APB1_GRP1_DisableClock\n
1987   *         APB1ENR1     TIM4EN        LL_APB1_GRP1_DisableClock\n
1988   *         APB1ENR1     TIM5EN        LL_APB1_GRP1_DisableClock\n
1989   *         APB1ENR1     TIM6EN        LL_APB1_GRP1_DisableClock\n
1990   *         APB1ENR1     TIM7EN        LL_APB1_GRP1_DisableClock\n
1991   *         APB1ENR1     WWDGEN        LL_APB1_GRP1_DisableClock\n
1992   *         APB1ENR1     SPI2EN        LL_APB1_GRP1_DisableClock\n
1993   *         APB1ENR1     USART2EN      LL_APB1_GRP1_DisableClock\n
1994   *         APB1ENR1     USART3EN      LL_APB1_GRP1_DisableClock\n
1995   *         APB1ENR1     UART4EN       LL_APB1_GRP1_DisableClock\n
1996   *         APB1ENR1     UART5EN       LL_APB1_GRP1_DisableClock\n
1997   *         APB1ENR1     I2C1EN        LL_APB1_GRP1_DisableClock\n
1998   *         APB1ENR1     I2C2EN        LL_APB1_GRP1_DisableClock\n
1999   *         APB1ENR1     CRSEN         LL_APB1_GRP1_DisableClock\n
2000   *         APB1ENR1     USART6EN      LL_APB1_GRP1_DisableClock\n
2001   * @param  Periphs This parameter can be a combination of the following values:
2002   *         @arg @ref LL_APB1_GRP1_PERIPH_ALL
2003   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM2
2004   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM3
2005   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM4
2006   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM5
2007   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM6
2008   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM7
2009   *         @arg @ref LL_APB1_GRP1_PERIPH_WWDG
2010   *         @arg @ref LL_APB1_GRP1_PERIPH_SPI2
2011   *         @arg @ref LL_APB1_GRP1_PERIPH_USART2 (*)
2012   *         @arg @ref LL_APB1_GRP1_PERIPH_USART3
2013   *         @arg @ref LL_APB1_GRP1_PERIPH_UART4
2014   *         @arg @ref LL_APB1_GRP1_PERIPH_UART5
2015   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C1
2016   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C2
2017   *         @arg @ref LL_APB1_GRP1_PERIPH_CRS
2018   *         @arg @ref LL_APB1_GRP1_PERIPH_USART6 (*)
2019   *
2020   *        (*) value not defined in all devices.
2021   * @retval None
2022   */
LL_APB1_GRP1_DisableClock(uint32_t Periphs)2023 __STATIC_INLINE void LL_APB1_GRP1_DisableClock(uint32_t Periphs)
2024 {
2025   CLEAR_BIT(RCC->APB1ENR1, Periphs);
2026 }
2027 
2028 /**
2029   * @brief  Disable APB1 peripherals clock.
2030   * @rmtoll APB1ENR2     I2C4EN        LL_APB1_GRP2_DisableClock\n
2031   *         APB1ENR2     I2C5EN        LL_APB1_GRP2_DisableClock\n
2032   *         APB1ENR2     I2C6EN        LL_APB1_GRP2_DisableClock\n
2033   *         APB1ENR2     LPTIM2EN      LL_APB1_GRP2_DisableClock\n
2034   *         APB1ENR2     FDCAN1EN      LL_APB1_GRP2_DisableClock\n
2035   *         APB1ENR2     UCPD1EN       LL_APB1_GRP2_DisableClock\n
2036   * @param  Periphs This parameter can be a combination of the following values:
2037   *         @arg @ref LL_APB1_GRP2_PERIPH_ALL
2038   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C4
2039   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C5 (*)
2040   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C6 (*)
2041   *         @arg @ref LL_APB1_GRP2_PERIPH_LPTIM2
2042   *         @arg @ref LL_APB1_GRP2_PERIPH_FDCAN1
2043   *         @arg @ref LL_APB1_GRP2_PERIPH_UCPD1 (*)
2044   * @retval None
2045   */
LL_APB1_GRP2_DisableClock(uint32_t Periphs)2046 __STATIC_INLINE void LL_APB1_GRP2_DisableClock(uint32_t Periphs)
2047 {
2048   CLEAR_BIT(RCC->APB1ENR2, Periphs);
2049 }
2050 
2051 /**
2052   * @brief  Force APB1 peripherals reset.
2053   * @rmtoll APB1RSTR1     TIM2RST       LL_APB1_GRP1_ForceReset\n
2054   *         APB1RSTR1     TIM3RST       LL_APB1_GRP1_ForceReset\n
2055   *         APB1RSTR1     TIM4RST       LL_APB1_GRP1_ForceReset\n
2056   *         APB1RSTR1     TIM5RST       LL_APB1_GRP1_ForceReset\n
2057   *         APB1RSTR1     TIM6RST       LL_APB1_GRP1_ForceReset\n
2058   *         APB1RSTR1     TIM7RST       LL_APB1_GRP1_ForceReset\n
2059   *         APB1RSTR1     SPI2RST       LL_APB1_GRP1_ForceReset\n
2060   *         APB1RSTR1     USART2RST     LL_APB1_GRP1_ForceReset\n
2061   *         APB1RSTR1     USART3RST     LL_APB1_GRP1_ForceReset\n
2062   *         APB1RSTR1     UART4RST      LL_APB1_GRP1_ForceReset\n
2063   *         APB1RSTR1     UART5RST      LL_APB1_GRP1_ForceReset\n
2064   *         APB1RSTR1     I2C1RST       LL_APB1_GRP1_ForceReset\n
2065   *         APB1RSTR1     I2C2RST       LL_APB1_GRP1_ForceReset\n
2066   *         APB1RSTR1     CRSRST        LL_APB1_GRP1_ForceReset\n
2067   *         APB1RSTR1     USART6RST     LL_APB1_GRP1_ForceReset\n
2068   * @param  Periphs This parameter can be a combination of the following values:
2069   *         @arg @ref LL_APB1_GRP1_PERIPH_ALL
2070   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM2
2071   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM3
2072   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM4
2073   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM5
2074   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM6
2075   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM7
2076   *         @arg @ref LL_APB1_GRP1_PERIPH_SPI2
2077   *         @arg @ref LL_APB1_GRP1_PERIPH_USART2 (*)
2078   *         @arg @ref LL_APB1_GRP1_PERIPH_USART3
2079   *         @arg @ref LL_APB1_GRP1_PERIPH_UART4
2080   *         @arg @ref LL_APB1_GRP1_PERIPH_UART5
2081   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C1
2082   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C2
2083   *         @arg @ref LL_APB1_GRP1_PERIPH_CRS
2084   *         @arg @ref LL_APB1_GRP1_PERIPH_USART6 (*)
2085   *
2086   *        (*) value not defined in all devices.
2087   * @retval None
2088   */
LL_APB1_GRP1_ForceReset(uint32_t Periphs)2089 __STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
2090 {
2091   SET_BIT(RCC->APB1RSTR1, Periphs);
2092 }
2093 
2094 /**
2095   * @brief  Force APB1 peripherals reset.
2096   * @rmtoll APB1RSTR2     I2C4RST       LL_APB1_GRP2_DisableClock\n
2097   *         APB1RSTR2     I2C5RST       LL_APB1_GRP2_DisableClock\n
2098   *         APB1RSTR2     I2C6RST       LL_APB1_GRP2_DisableClock\n
2099   *         APB1RSTR2     LPTIM2RST     LL_APB1_GRP2_DisableClock\n
2100   *         APB1RSTR2     FDCAN1RST     LL_APB1_GRP2_DisableClock\n
2101   *         APB1RSTR2     UCPDRST       LL_APB1_GRP2_DisableClock\n
2102   * @param  Periphs This parameter can be a combination of the following values:
2103   *         @arg @ref LL_APB1_GRP2_PERIPH_ALL
2104   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C4
2105   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C5 (*)
2106   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C6 (*)
2107   *         @arg @ref LL_APB1_GRP2_PERIPH_LPTIM2
2108   *         @arg @ref LL_APB1_GRP2_PERIPH_FDCAN1
2109   *         @arg @ref LL_APB1_GRP2_PERIPH_UCPD1 (*)
2110   *
2111   *        (*) value not defined in all devices.
2112   * @retval None
2113   */
LL_APB1_GRP2_ForceReset(uint32_t Periphs)2114 __STATIC_INLINE void LL_APB1_GRP2_ForceReset(uint32_t Periphs)
2115 {
2116   SET_BIT(RCC->APB1RSTR2, Periphs);
2117 }
2118 
2119 /**
2120   * @brief  Release APB1 peripherals reset.
2121   * @rmtoll APB1RSTR1     TIM2RST       LL_APB1_GRP1_ReleaseReset\n
2122   *         APB1RSTR1     TIM3RST       LL_APB1_GRP1_ReleaseReset\n
2123   *         APB1RSTR1     TIM4RST       LL_APB1_GRP1_ReleaseReset\n
2124   *         APB1RSTR1     TIM5RST       LL_APB1_GRP1_ReleaseReset\n
2125   *         APB1RSTR1     TIM6RST       LL_APB1_GRP1_ReleaseReset\n
2126   *         APB1RSTR1     TIM7RST       LL_APB1_GRP1_ReleaseReset\n
2127   *         APB1RSTR1     SPI2RST       LL_APB1_GRP1_ReleaseReset\n
2128   *         APB1RSTR1     USART2RST     LL_APB1_GRP1_ReleaseReset\n
2129   *         APB1RSTR1     USART3RST     LL_APB1_GRP1_ReleaseReset\n
2130   *         APB1RSTR1     UART4RST      LL_APB1_GRP1_ReleaseReset\n
2131   *         APB1RSTR1     UART5RST      LL_APB1_GRP1_ReleaseReset\n
2132   *         APB1RSTR1     I2C1RST       LL_APB1_GRP1_ReleaseReset\n
2133   *         APB1RSTR1     I2C2RST       LL_APB1_GRP1_ReleaseReset\n
2134   *         APB1RSTR1     CRSRST        LL_APB1_GRP1_ReleaseReset\n
2135   *         APB1RSTR1     USART6RST     LL_APB1_GRP1_ReleaseReset\n
2136   * @param  Periphs This parameter can be a combination of the following values:
2137   *         @arg @ref LL_APB1_GRP1_PERIPH_ALL
2138   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM2
2139   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM3
2140   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM4
2141   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM5
2142   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM6
2143   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM7
2144   *         @arg @ref LL_APB1_GRP1_PERIPH_SPI2
2145   *         @arg @ref LL_APB1_GRP1_PERIPH_USART2 (*)
2146   *         @arg @ref LL_APB1_GRP1_PERIPH_USART3
2147   *         @arg @ref LL_APB1_GRP1_PERIPH_UART4
2148   *         @arg @ref LL_APB1_GRP1_PERIPH_UART5
2149   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C1
2150   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C2
2151   *         @arg @ref LL_APB1_GRP1_PERIPH_CRS
2152   *         @arg @ref LL_APB1_GRP1_PERIPH_USART6 (*)
2153   *
2154   *        (*) value not defined in all devices.
2155   * @retval None
2156   */
LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)2157 __STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
2158 {
2159   CLEAR_BIT(RCC->APB1RSTR1, Periphs);
2160 }
2161 
2162 /**
2163   * @brief  Release APB1 peripherals reset.
2164   * @rmtoll APB1RSTR2     I2C4RST       LL_APB1_GRP2_ReleaseReset\n
2165   *         APB1RSTR2     I2C5RST       LL_APB1_GRP2_ReleaseReset\n
2166   *         APB1RSTR2     I2C6RST       LL_APB1_GRP2_ReleaseReset\n
2167   *         APB1RSTR2     LPTIM2RST     LL_APB1_GRP2_ReleaseReset\n
2168   *         APB1RSTR2     FDCAN1RST     LL_APB1_GRP2_ReleaseReset\n
2169   *         APB1RSTR2     UCPD1RST      LL_APB1_GRP2_ReleaseReset\n
2170   * @param  Periphs This parameter can be a combination of the following values:
2171   *         @arg @ref LL_APB1_GRP2_PERIPH_ALL
2172   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C4
2173   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C5 (*)
2174   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C6 (*)
2175   *         @arg @ref LL_APB1_GRP2_PERIPH_LPTIM2
2176   *         @arg @ref LL_APB1_GRP2_PERIPH_FDCAN1
2177   *         @arg @ref LL_APB1_GRP2_PERIPH_UCPD1 (*)
2178   *
2179   *        (*) value not defined in all devices.
2180   * @retval None
2181   */
LL_APB1_GRP2_ReleaseReset(uint32_t Periphs)2182 __STATIC_INLINE void LL_APB1_GRP2_ReleaseReset(uint32_t Periphs)
2183 {
2184   CLEAR_BIT(RCC->APB1RSTR2, Periphs);
2185 }
2186 
2187 /**
2188   * @brief  Enable APB1 peripheral clocks in Sleep and Stop modes
2189   * @rmtoll APB1SMENR1     TIM2SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2190   *         APB1SMENR1     TIM3SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2191   *         APB1SMENR1     TIM4SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2192   *         APB1SMENR1     TIM5SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2193   *         APB1SMENR1     TIM6SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2194   *         APB1SMENR1     TIM7SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2195   *         APB1SMENR1     SPI2SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2196   *         APB1SMENR1     USART2SMEN     LL_APB1_GRP1_EnableClockStopSleep\n
2197   *         APB1SMENR1     USART3SMEN     LL_APB1_GRP1_EnableClockStopSleep\n
2198   *         APB1SMENR1     UART4SMEN      LL_APB1_GRP1_EnableClockStopSleep\n
2199   *         APB1SMENR1     UART5SMEN      LL_APB1_GRP1_EnableClockStopSleep\n
2200   *         APB1SMENR1     I2C1SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2201   *         APB1SMENR1     I2C2SMEN       LL_APB1_GRP1_EnableClockStopSleep\n
2202   *         APB1SMENR1     CRSSMEN        LL_APB1_GRP1_EnableClockStopSleep\n
2203   *         APB1SMENR1     USART6SMEN     LL_APB1_GRP1_EnableClockStopSleep\n
2204   * @param  Periphs This parameter can be a combination of the following values:
2205   *         @arg @ref LL_APB1_GRP1_PERIPH_ALL
2206   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM2
2207   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM3
2208   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM4
2209   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM5
2210   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM6
2211   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM7
2212   *         @arg @ref LL_APB1_GRP1_PERIPH_SPI2
2213   *         @arg @ref LL_APB1_GRP1_PERIPH_USART2 (*)
2214   *         @arg @ref LL_APB1_GRP1_PERIPH_USART3
2215   *         @arg @ref LL_APB1_GRP1_PERIPH_UART4
2216   *         @arg @ref LL_APB1_GRP1_PERIPH_UART5
2217   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C1
2218   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C2
2219   *         @arg @ref LL_APB1_GRP1_PERIPH_CRS
2220   *         @arg @ref LL_APB1_GRP1_PERIPH_USART6 (*)
2221   *
2222   *        (*) value not defined in all devices.
2223   * @retval None
2224   */
LL_APB1_GRP1_EnableClockStopSleep(uint32_t Periphs)2225 __STATIC_INLINE void LL_APB1_GRP1_EnableClockStopSleep(uint32_t Periphs)
2226 {
2227   __IO uint32_t tmpreg;
2228   SET_BIT(RCC->APB1SMENR1, Periphs);
2229   /* Delay after an RCC peripheral clock enabling */
2230   tmpreg = READ_BIT(RCC->APB1SMENR1, Periphs);
2231   (void)tmpreg;
2232 }
2233 
2234 /**
2235   * @brief  Check if APB1 peripheral clocks in Sleep and Stop modes is enabled or not
2236   * @rmtoll APB1SMENR1     TIM2SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2237   *         APB1SMENR1     TIM3SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2238   *         APB1SMENR1     TIM4SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2239   *         APB1SMENR1     TIM5SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2240   *         APB1SMENR1     TIM6SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2241   *         APB1SMENR1     TIM7SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2242   *         APB1SMENR1     SPI2SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2243   *         APB1SMENR1     USART2SMEN     LL_APB1_GRP1_IsEnabledClockStopSleep\n
2244   *         APB1SMENR1     USART3SMEN     LL_APB1_GRP1_IsEnabledClockStopSleep\n
2245   *         APB1SMENR1     UART4SMEN      LL_APB1_GRP1_IsEnabledClockStopSleep\n
2246   *         APB1SMENR1     UART5SMEN      LL_APB1_GRP1_IsEnabledClockStopSleep\n
2247   *         APB1SMENR1     I2C1SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2248   *         APB1SMENR1     I2C2SMEN       LL_APB1_GRP1_IsEnabledClockStopSleep\n
2249   *         APB1SMENR1     CRSSMEN        LL_APB1_GRP1_IsEnabledClockStopSleep\n
2250   *         APB1SMENR1     USART6SMEN     LL_APB1_GRP1_IsEnabledClockStopSleep\n
2251   * @param  Periphs This parameter can be a combination of the following values:
2252   *         @arg @ref LL_APB1_GRP1_PERIPH_ALL
2253   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM2
2254   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM3
2255   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM4
2256   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM5
2257   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM6
2258   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM7
2259   *         @arg @ref LL_APB1_GRP1_PERIPH_SPI2
2260   *         @arg @ref LL_APB1_GRP1_PERIPH_USART2 (*)
2261   *         @arg @ref LL_APB1_GRP1_PERIPH_USART3
2262   *         @arg @ref LL_APB1_GRP1_PERIPH_UART4
2263   *         @arg @ref LL_APB1_GRP1_PERIPH_UART5
2264   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C1
2265   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C2
2266   *         @arg @ref LL_APB1_GRP1_PERIPH_CRS
2267   *         @arg @ref LL_APB1_GRP1_PERIPH_USART6 (*)
2268   *
2269   *        (*) value not defined in all devices.
2270   * @retval State of Periphs (1 or 0).
2271   */
LL_APB1_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)2272 __STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)
2273 {
2274   return ((READ_BIT(RCC->APB1SMENR1, Periphs) == Periphs) ? 1UL : 0UL);
2275 }
2276 
2277 /**
2278   * @brief  Disable APB1 peripheral clocks in Sleep and Stop modes
2279   * @rmtoll APB1SMENR1     TIM2SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2280   *         APB1SMENR1     TIM3SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2281   *         APB1SMENR1     TIM4SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2282   *         APB1SMENR1     TIM5SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2283   *         APB1SMENR1     TIM6SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2284   *         APB1SMENR1     TIM7SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2285   *         APB1SMENR1     SPI2SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2286   *         APB1SMENR1     USART2SMEN     LL_APB1_GRP1_DisableClockStopSleep\n
2287   *         APB1SMENR1     USART3SMEN     LL_APB1_GRP1_DisableClockStopSleep\n
2288   *         APB1SMENR1     UART4SMEN      LL_APB1_GRP1_DisableClockStopSleep\n
2289   *         APB1SMENR1     UART5SMEN      LL_APB1_GRP1_DisableClockStopSleep\n
2290   *         APB1SMENR1     I2C1SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2291   *         APB1SMENR1     I2C2SMEN       LL_APB1_GRP1_DisableClockStopSleep\n
2292   *         APB1SMENR1     CRSSMEN        LL_APB1_GRP1_DisableClockStopSleep\n
2293   *         APB1SMENR1     USART6SMEN     LL_APB1_GRP1_DisableClockStopSleep\n
2294   * @param  Periphs This parameter can be a combination of the following values:
2295   *         @arg @ref LL_APB1_GRP1_PERIPH_ALL
2296   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM2
2297   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM3
2298   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM4
2299   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM5
2300   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM6
2301   *         @arg @ref LL_APB1_GRP1_PERIPH_TIM7
2302   *         @arg @ref LL_APB1_GRP1_PERIPH_SPI2
2303   *         @arg @ref LL_APB1_GRP1_PERIPH_USART2 (*)
2304   *         @arg @ref LL_APB1_GRP1_PERIPH_USART3
2305   *         @arg @ref LL_APB1_GRP1_PERIPH_UART4
2306   *         @arg @ref LL_APB1_GRP1_PERIPH_UART5
2307   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C1
2308   *         @arg @ref LL_APB1_GRP1_PERIPH_I2C2
2309   *         @arg @ref LL_APB1_GRP1_PERIPH_CRS
2310   *         @arg @ref LL_APB1_GRP1_PERIPH_USART6 (*)
2311   *
2312   *        (*) value not defined in all devices.
2313   * @retval None
2314   */
LL_APB1_GRP1_DisableClockStopSleep(uint32_t Periphs)2315 __STATIC_INLINE void LL_APB1_GRP1_DisableClockStopSleep(uint32_t Periphs)
2316 {
2317   CLEAR_BIT(RCC->APB1SMENR1, Periphs);
2318 }
2319 
2320 /**
2321   * @brief  Enable APB1 peripheral clocks in Sleep and Stop modes
2322   * @rmtoll APB1SMENR2    I2C4SMEN       LL_APB1_GRP2_EnableClockStopSleep\n
2323   *         APB1SMENR2    I2C5SMEN       LL_APB1_GRP2_EnableClockStopSleep\n
2324   *         APB1SMENR2    I2C6SMEN       LL_APB1_GRP2_EnableClockStopSleep\n
2325   *         APB1SMENR2    LPTIM2SMEN     LL_APB1_GRP2_EnableClockStopSleep\n
2326   *         APB1SMENR2    FDCAN1SMEN     LL_APB1_GRP2_EnableClockStopSleep\n
2327   *         APB1SMENR2    UCPD1SMEN      LL_APB1_GRP2_EnableClockStopSleep\n
2328   * @param  Periphs This parameter can be a combination of the following values:
2329   *         @arg @ref LL_APB1_GRP2_PERIPH_ALL
2330   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C4
2331   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C5 (*)
2332   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C6 (*)
2333   *         @arg @ref LL_APB1_GRP2_PERIPH_LPTIM2
2334   *         @arg @ref LL_APB1_GRP2_PERIPH_FDCAN1
2335   *         @arg @ref LL_APB1_GRP2_PERIPH_UCPD1 (*)
2336   *
2337   *        (*) value not defined in all devices.
2338   * @retval None
2339   */
LL_APB1_GRP2_EnableClockStopSleep(uint32_t Periphs)2340 __STATIC_INLINE void LL_APB1_GRP2_EnableClockStopSleep(uint32_t Periphs)
2341 {
2342   __IO uint32_t tmpreg;
2343   SET_BIT(RCC->APB1SMENR2, Periphs);
2344   /* Delay after an RCC peripheral clock enabling */
2345   tmpreg = READ_BIT(RCC->APB1SMENR2, Periphs);
2346   (void)tmpreg;
2347 }
2348 
2349 /**
2350   * @brief  Check if APB1 peripheral clocks in Sleep and Stop modes is enabled or not
2351   * @rmtoll APB1SMENR2    I2C4SMEN       LL_APB1_GRP2_IsEnabledClockStopSleep\n
2352   *         APB1SMENR2    I2C5SMEN       LL_APB1_GRP2_IsEnabledClockStopSleep\n
2353   *         APB1SMENR2    I2C6SMEN       LL_APB1_GRP2_IsEnabledClockStopSleep\n
2354   *         APB1SMENR2    LPTIM2SMEN     LL_APB1_GRP2_IsEnabledClockStopSleep\n
2355   *         APB1SMENR2    FDCAN1SMEN     LL_APB1_GRP2_IsEnabledClockStopSleep\n
2356   *         APB1SMENR2    UCPD1SMEN      LL_APB1_GRP2_IsEnabledClockStopSleep
2357   * @param  Periphs This parameter can be a combination of the following values:
2358   *         @arg @ref LL_APB1_GRP2_PERIPH_ALL
2359   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C4
2360   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C5 (*)
2361   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C6 (*)
2362   *         @arg @ref LL_APB1_GRP2_PERIPH_LPTIM2
2363   *         @arg @ref LL_APB1_GRP2_PERIPH_FDCAN1
2364   *         @arg @ref LL_APB1_GRP2_PERIPH_UCPD1 (*)
2365   *
2366   *        (*) value not defined in all devices.
2367   * @retval State of Periphs (1 or 0).
2368   */
LL_APB1_GRP2_IsEnabledClockStopSleep(uint32_t Periphs)2369 __STATIC_INLINE uint32_t LL_APB1_GRP2_IsEnabledClockStopSleep(uint32_t Periphs)
2370 {
2371   return ((READ_BIT(RCC->APB1SMENR2, Periphs) == Periphs) ? 1UL : 0UL);
2372 }
2373 
2374 /**
2375   * @brief  Disable APB1 peripheral clocks in Sleep and Stop modes
2376   * @rmtoll APB1SMENR2    I2C4SMEN       LL_APB1_GRP2_DisableClockStopSleep\n
2377   *         APB1SMENR2    I2C5SMEN       LL_APB1_GRP2_DisableClockStopSleep\n
2378   *         APB1SMENR2    I2C6SMEN       LL_APB1_GRP2_DisableClockStopSleep\n
2379   *         APB1SMENR2    LPTIM2SMEN     LL_APB1_GRP2_DisableClockStopSleep\n
2380   *         APB1SMENR2    FDCAN1SMEN     LL_APB1_GRP2_DisableClockStopSleep\n
2381   *         APB1SMENR2    UCPD1SMEN      LL_APB1_GRP2_DisableClockStopSleep
2382   * @param  Periphs This parameter can be a combination of the following values:
2383   *         @arg @ref LL_APB1_GRP2_PERIPH_ALL
2384   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C4
2385   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C5 (*)
2386   *         @arg @ref LL_APB1_GRP2_PERIPH_I2C6 (*)
2387   *         @arg @ref LL_APB1_GRP2_PERIPH_LPTIM2
2388   *         @arg @ref LL_APB1_GRP2_PERIPH_FDCAN1
2389   *         @arg @ref LL_APB1_GRP2_PERIPH_UCPD1 (*)
2390   *
2391   *        (*) value not defined in all devices.
2392   * @retval None
2393   */
LL_APB1_GRP2_DisableClockStopSleep(uint32_t Periphs)2394 __STATIC_INLINE void LL_APB1_GRP2_DisableClockStopSleep(uint32_t Periphs)
2395 {
2396   CLEAR_BIT(RCC->APB1SMENR2, Periphs);
2397 }
2398 
2399 /**
2400   * @}
2401   */
2402 
2403 /** @defgroup BUS_LL_EF_APB2 APB2
2404   * @{
2405   */
2406 
2407 /**
2408   * @brief  Enable APB2 bus clock.
2409   * @rmtoll CFGR2    APB2DIS     LL_APB2_GRP1_EnableBusClock
2410   * @retval None
2411   */
LL_APB2_GRP1_EnableBusClock(void)2412 __STATIC_INLINE void LL_APB2_GRP1_EnableBusClock(void)
2413 {
2414   __IO uint32_t tmpreg;
2415   CLEAR_BIT(RCC->CFGR2, RCC_CFGR2_APB2DIS);
2416   tmpreg = READ_BIT(RCC->CFGR2, RCC_CFGR2_APB2DIS);
2417   (void)(tmpreg);
2418 }
2419 
2420 /**
2421   * @brief  Enable APB2 peripherals clock.
2422   * @rmtoll APB2ENR      TIM1EN        LL_APB2_GRP1_EnableClock\n
2423   *         APB2ENR      SPI1EN        LL_APB2_GRP1_EnableClock\n
2424   *         APB2ENR      TIM8EN        LL_APB2_GRP1_EnableClock\n
2425   *         APB2ENR      USART1EN      LL_APB2_GRP1_EnableClock\n
2426   *         APB2ENR      TIM15EN       LL_APB2_GRP1_EnableClock\n
2427   *         APB2ENR      TIM16EN       LL_APB2_GRP1_EnableClock\n
2428   *         APB2ENR      TIM17EN       LL_APB2_GRP1_EnableClock\n
2429   *         APB2ENR      SAI1EN        LL_APB2_GRP1_EnableClock\n
2430   *         APB2ENR      SAI2EN        LL_APB2_GRP1_EnableClock\n
2431   *         APB2ENR      USBEN         LL_APB2_GRP1_EnableClock\n
2432   *         APB2ENR      GFXTIMEN      LL_APB2_GRP1_EnableClock\n
2433   *         APB2ENR      LTDCEN        LL_APB2_GRP1_EnableClock\n
2434   *         APB2ENR      DSIHOSTEN     LL_APB2_GRP1_EnableClock\n
2435   * @param  Periphs This parameter can be a combination of the following values:
2436   *         @arg @ref LL_APB2_GRP1_PERIPH_ALL
2437   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2438   *         @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2439   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM8
2440   *         @arg @ref LL_APB2_GRP1_PERIPH_USART1
2441   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2442   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2443   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2444   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2445   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*)
2446   *         @arg @ref LL_APB2_GRP1_PERIPH_USB_FS (*)
2447   *         @arg @ref LL_APB2_GRP1_PERIPH_GFXTIM (*)
2448   *         @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
2449   *         @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
2450   *
2451   *        (*) value not defined in all devices.
2452   * @retval None
2453   */
LL_APB2_GRP1_EnableClock(uint32_t Periphs)2454 __STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs)
2455 {
2456   __IO uint32_t tmpreg;
2457   SET_BIT(RCC->APB2ENR, Periphs);
2458   /* Delay after an RCC peripheral clock enabling */
2459   tmpreg = READ_BIT(RCC->APB2ENR, Periphs);
2460   (void)tmpreg;
2461 }
2462 
2463 /**
2464   * @brief  Check if APB2 peripheral clock is enabled or not
2465   * @rmtoll APB2ENR      TIM1EN        LL_APB2_GRP1_IsEnabledClock\n
2466   *         APB2ENR      SPI1EN        LL_APB2_GRP1_IsEnabledClock\n
2467   *         APB2ENR      TIM8EN        LL_APB2_GRP1_IsEnabledClock\n
2468   *         APB2ENR      USART1EN      LL_APB2_GRP1_IsEnabledClock\n
2469   *         APB2ENR      TIM15EN       LL_APB2_GRP1_IsEnabledClock\n
2470   *         APB2ENR      TIM16EN       LL_APB2_GRP1_IsEnabledClock\n
2471   *         APB2ENR      TIM17EN       LL_APB2_GRP1_IsEnabledClock\n
2472   *         APB2ENR      SAI1EN        LL_APB2_GRP1_IsEnabledClock\n
2473   *         APB2ENR      SAI2EN        LL_APB2_GRP1_IsEnabledClock\n
2474   *         APB2ENR      USBEN         LL_APB2_GRP1_IsEnabledClock\n
2475   *         APB2ENR      GFXTIMEN      LL_APB2_GRP1_IsEnabledClock\n
2476   *         APB2ENR      LTDCEN        LL_APB2_GRP1_IsEnabledClock\n
2477   *         APB2ENR      DSIHOSTEN     LL_APB2_GRP1_IsEnabledClock\n
2478   * @param  Periphs This parameter can be a combination of the following values:
2479   *         @arg @ref LL_APB2_GRP1_PERIPH_ALL
2480   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2481   *         @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2482   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM8
2483   *         @arg @ref LL_APB2_GRP1_PERIPH_USART1
2484   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2485   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2486   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2487   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2488   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*)
2489   *         @arg @ref LL_APB2_GRP1_PERIPH_USB_FS (*)
2490   *         @arg @ref LL_APB2_GRP1_PERIPH_GFXTIM (*)
2491   *         @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
2492   *         @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
2493   *
2494   *         (*) value not defined in all devices.
2495   * @retval State of Periphs (1 or 0).
2496   */
LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)2497 __STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
2498 {
2499   return ((READ_BIT(RCC->APB2ENR, Periphs) == Periphs) ? 1UL : 0UL);
2500 }
2501 
2502 /**
2503   * @brief  Disable APB2 bus clock.
2504   * @rmtoll CFGR2    APB2DIS     LL_APB2_GRP1_DisableBusClock
2505   * @retval None
2506   */
LL_APB2_GRP1_DisableBusClock(void)2507 __STATIC_INLINE void LL_APB2_GRP1_DisableBusClock(void)
2508 {
2509   SET_BIT(RCC->CFGR2, RCC_CFGR2_APB2DIS);
2510 }
2511 
2512 /**
2513   * @brief  Disable APB2 peripherals clock.
2514   * @rmtoll APB2ENR      TIM1EN        LL_APB2_GRP1_DisableClock\n
2515   *         APB2ENR      SPI1EN        LL_APB2_GRP1_DisableClock\n
2516   *         APB2ENR      TIM8EN        LL_APB2_GRP1_DisableClock\n
2517   *         APB2ENR      USART1EN      LL_APB2_GRP1_DisableClock\n
2518   *         APB2ENR      TIM15EN       LL_APB2_GRP1_DisableClock\n
2519   *         APB2ENR      TIM16EN       LL_APB2_GRP1_DisableClock\n
2520   *         APB2ENR      TIM17EN       LL_APB2_GRP1_DisableClock\n
2521   *         APB2ENR      SAI1EN        LL_APB2_GRP1_DisableClock\n
2522   *         APB2ENR      SAI2EN        LL_APB2_GRP1_DisableClock\n
2523   *         APB2ENR      USBEN         LL_APB2_GRP1_DisableClock\n
2524   *         APB2ENR      GFXTIMEN      LL_APB2_GRP1_DisableClock\n
2525   *         APB2ENR      LTDCEN        LL_APB2_GRP1_DisableClock\n
2526   *         APB2ENR      DSIHOSTEN     LL_APB2_GRP1_DisableClock\n
2527   * @param  Periphs This parameter can be a combination of the following values:
2528   *         @arg @ref LL_APB2_GRP1_PERIPH_ALL
2529   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2530   *         @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2531   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM8
2532   *         @arg @ref LL_APB2_GRP1_PERIPH_USART1
2533   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2534   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2535   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2536   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2537   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*)
2538   *         @arg @ref LL_APB2_GRP1_PERIPH_USB_FS (*)
2539   *         @arg @ref LL_APB2_GRP1_PERIPH_GFXTIM (*)
2540   *         @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
2541   *         @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
2542   *
2543   *         (*) value not defined in all devices.
2544   * @retval None
2545   */
LL_APB2_GRP1_DisableClock(uint32_t Periphs)2546 __STATIC_INLINE void LL_APB2_GRP1_DisableClock(uint32_t Periphs)
2547 {
2548   CLEAR_BIT(RCC->APB2ENR, Periphs);
2549 }
2550 
2551 /**
2552   * @brief  Force APB2 peripherals reset.
2553   * @rmtoll APB2RSTR      TIM1RST        LL_APB2_GRP1_ForceReset\n
2554   *         APB2RSTR      SPI1RST        LL_APB2_GRP1_ForceReset\n
2555   *         APB2RSTR      TIM8RST        LL_APB2_GRP1_ForceReset\n
2556   *         APB2RSTR      USART1RST      LL_APB2_GRP1_ForceReset\n
2557   *         APB2RSTR      TIM15RST       LL_APB2_GRP1_ForceReset\n
2558   *         APB2RSTR      TIM16RST       LL_APB2_GRP1_ForceReset\n
2559   *         APB2RSTR      TIM17RST       LL_APB2_GRP1_ForceReset\n
2560   *         APB2RSTR      SAI1RST        LL_APB2_GRP1_ForceReset\n
2561   *         APB2RSTR      SAI2RST        LL_APB2_GRP1_ForceReset\n
2562   *         APB2RSTR      USBRST         LL_APB2_GRP1_ForceReset\n
2563   *         APB2RSTR      GFXTIMRST      LL_APB2_GRP1_ForceReset\n
2564   *         APB2RSTR      LTDCRST        LL_APB2_GRP1_ForceReset\n
2565   *         APB2RSTR      DSIHOSTRST     LL_APB2_GRP1_ForceReset\n
2566   * @param  Periphs This parameter can be a combination of the following values:
2567   *         @arg @ref LL_APB2_GRP1_PERIPH_ALL
2568   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2569   *         @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2570   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM8
2571   *         @arg @ref LL_APB2_GRP1_PERIPH_USART1
2572   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2573   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2574   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2575   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2576   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*)
2577   *         @arg @ref LL_APB2_GRP1_PERIPH_USB_FS (*)
2578   *         @arg @ref LL_APB2_GRP1_PERIPH_GFXTIM (*)
2579   *         @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
2580   *         @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
2581   *
2582   *
2583   *         (*) value not defined in all devices.
2584   * @retval None
2585   */
LL_APB2_GRP1_ForceReset(uint32_t Periphs)2586 __STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
2587 {
2588   SET_BIT(RCC->APB2RSTR, Periphs);
2589 }
2590 
2591 /**
2592   * @brief  Release APB2 peripherals reset.
2593   * @rmtoll APB2RSTR      TIM1RST        LL_APB2_GRP1_ReleaseReset\n
2594   *         APB2RSTR      SPI1RST        LL_APB2_GRP1_ReleaseReset\n
2595   *         APB2RSTR      TIM8RST        LL_APB2_GRP1_ReleaseReset\n
2596   *         APB2RSTR      USART1RST      LL_APB2_GRP1_ReleaseReset\n
2597   *         APB2RSTR      TIM15RST       LL_APB2_GRP1_ReleaseReset\n
2598   *         APB2RSTR      TIM16RST       LL_APB2_GRP1_ReleaseReset\n
2599   *         APB2RSTR      TIM17RST       LL_APB2_GRP1_ReleaseReset\n
2600   *         APB2RSTR      SAI1RST        LL_APB2_GRP1_ReleaseReset\n
2601   *         APB2RSTR      SAI2RST        LL_APB2_GRP1_ReleaseReset\n
2602   *         APB2RSTR      USBRST         LL_APB2_GRP1_ReleaseReset\n
2603   *         APB2RSTR      GFXTIMRST      LL_APB2_GRP1_ReleaseReset\n
2604   *         APB2RSTR      LTDCRST        LL_APB2_GRP1_ReleaseReset\n
2605   *         APB2RSTR      DSIHOSTRST     LL_APB2_GRP1_ReleaseReset\n
2606   * @param  Periphs This parameter can be a combination of the following values:
2607   *         @arg @ref LL_APB2_GRP1_PERIPH_ALL
2608   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2609   *         @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2610   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM8
2611   *         @arg @ref LL_APB2_GRP1_PERIPH_USART1
2612   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2613   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2614   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2615   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2616   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*)
2617   *         @arg @ref LL_APB2_GRP1_PERIPH_USB_FS (*)
2618   *         @arg @ref LL_APB2_GRP1_PERIPH_GFXTIM (*)
2619   *         @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
2620   *         @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
2621   *
2622   *
2623   *         (*) value not defined in all devices.
2624   * @retval None
2625   */
LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)2626 __STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
2627 {
2628   CLEAR_BIT(RCC->APB2RSTR, Periphs);
2629 }
2630 
2631 /**
2632   * @brief  Enable APB2 peripheral clocks in Sleep and Stop modes
2633   * @rmtoll APB2SMENR     TIM1SMEN       LL_APB2_GRP1_EnableClockStopSleep\n
2634   *         APB2SMENR     SPI1SMEN       LL_APB2_GRP1_EnableClockStopSleep\n
2635   *         APB2SMENR     TIM8SMEN       LL_APB2_GRP1_EnableClockStopSleep\n
2636   *         APB2SMENR     USART1SMEN     LL_APB2_GRP1_EnableClockStopSleep\n
2637   *         APB2SMENR     TIM15SMEN      LL_APB2_GRP1_EnableClockStopSleep\n
2638   *         APB2SMENR     TIM16SMEN      LL_APB2_GRP1_EnableClockStopSleep\n
2639   *         APB2SMENR     TIM17SMEN      LL_APB2_GRP1_EnableClockStopSleep\n
2640   *         APB2SMENR     SAI1SMEN       LL_APB2_GRP1_EnableClockStopSleep\n
2641   *         APB2SMENR     SAI2SMEN       LL_APB2_GRP1_EnableClockStopSleep\n
2642   *         APB2SMENR     SAI1SMEN       LL_APB2_GRP1_EnableClockStopSleep\n
2643   *         APB2SMENR     USBSMEN        LL_APB2_GRP1_EnableClockStopSleep\n
2644   *         APB2SMENR     SAI2SMEN       LL_APB2_GRP1_EnableClockStopSleep\n
2645   *         APB2SMENR     GFXTIMSMEN     LL_APB2_GRP1_EnableClockStopSleep\n
2646   *         APB2SMENR     LTDCSMEN       LL_APB2_GRP1_EnableClockStopSleep\n
2647   *         APB2SMENR     DSIHOSTSMEN    LL_APB2_GRP1_EnableClockStopSleep\n
2648   * @param  Periphs This parameter can be a combination of the following values:
2649   *         @arg @ref LL_APB2_GRP1_PERIPH_ALL
2650   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2651   *         @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2652   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM8
2653   *         @arg @ref LL_APB2_GRP1_PERIPH_USART1
2654   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2655   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2656   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2657   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2658   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*)
2659   *         @arg @ref LL_APB2_GRP1_PERIPH_USB_FS (*)
2660   *         @arg @ref LL_APB2_GRP1_PERIPH_GFXTIM(*)
2661   *         @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
2662   *         @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
2663   *
2664   *        (*) value not defined in all devices.
2665   * @retval None
2666   */
LL_APB2_GRP1_EnableClockStopSleep(uint32_t Periphs)2667 __STATIC_INLINE void LL_APB2_GRP1_EnableClockStopSleep(uint32_t Periphs)
2668 {
2669   __IO uint32_t tmpreg;
2670   SET_BIT(RCC->APB2SMENR, Periphs);
2671   /* Delay after an RCC peripheral clock enabling */
2672   tmpreg = READ_BIT(RCC->APB2SMENR, Periphs);
2673   (void)tmpreg;
2674 }
2675 
2676 
2677 /**
2678   * @brief  Check if APB2 peripheral clocks in Sleep and Stop modes is enabled or not
2679   * @rmtoll APB2SMENR     TIM1SMEN       LL_APB2_GRP1_IsEnabledClockStopSleep\n
2680   *         APB2SMENR     SPI1SMEN       LL_APB2_GRP1_IsEnabledClockStopSleep\n
2681   *         APB2SMENR     TIM8SMEN       LL_APB2_GRP1_IsEnabledClockStopSleep\n
2682   *         APB2SMENR     USART1SMEN     LL_APB2_GRP1_IsEnabledClockStopSleep\n
2683   *         APB2SMENR     TIM15SMEN      LL_APB2_GRP1_IsEnabledClockStopSleep\n
2684   *         APB2SMENR     TIM16SMEN      LL_APB2_GRP1_IsEnabledClockStopSleep\n
2685   *         APB2SMENR     TIM17SMEN      LL_APB2_GRP1_IsEnabledClockStopSleep\n
2686   *         APB2SMENR     SAI1SMEN       LL_APB2_GRP1_IsEnabledClockStopSleep\n
2687   *         APB2SMENR     SAI2SMEN       LL_APB2_GRP1_IsEnabledClockStopSleep\n
2688   *         APB2SMENR     USBSMEN        LL_APB2_GRP1_IsEnabledClockStopSleep\n
2689   *         APB2SMENR     GFXTIMSMEN     LL_APB2_GRP1_IsEnabledClockStopSleep\n
2690   *         APB2SMENR     LTDCSMEN       LL_APB2_GRP1_IsEnabledClockStopSleep\n
2691   *         APB2SMENR     DSIHOSTSMEN    LL_APB2_GRP1_IsEnabledClockStopSleep\n
2692   * @param  Periphs This parameter can be a combination of the following values:
2693   *         @arg @ref LL_APB2_GRP1_PERIPH_ALL
2694   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2695   *         @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2696   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM8
2697   *         @arg @ref LL_APB2_GRP1_PERIPH_USART1
2698   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2699   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2700   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2701   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2702   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*)
2703   *         @arg @ref LL_APB2_GRP1_PERIPH_USB_FS (*)
2704   *         @arg @ref LL_APB2_GRP1_PERIPH_GFXTIM (*)
2705   *         @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
2706   *         @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
2707   *
2708   *        (*) value not defined in all devices.
2709   * @retval State of Periphs (1 or 0).
2710   */
LL_APB2_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)2711 __STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)
2712 {
2713   return ((READ_BIT(RCC->APB2SMENR, Periphs) == Periphs) ? 1UL : 0UL);
2714 }
2715 
2716 /**
2717   * @brief  Disable APB2 peripheral clocks in Sleep and Stop modes
2718   * @rmtoll APB2SMENR     TIM1SMEN        LL_APB2_GRP1_DisableClockStopSleep\n
2719   *         APB2SMENR     SPI1SMEN        LL_APB2_GRP1_DisableClockStopSleep\n
2720   *         APB2SMENR     TIM8SMEN        LL_APB2_GRP1_DisableClockStopSleep\n
2721   *         APB2SMENR     USART1SMEN      LL_APB2_GRP1_DisableClockStopSleep\n
2722   *         APB2SMENR     TIM15SMEN       LL_APB2_GRP1_DisableClockStopSleep\n
2723   *         APB2SMENR     TIM16SMEN       LL_APB2_GRP1_DisableClockStopSleep\n
2724   *         APB2SMENR     TIM17SMEN       LL_APB2_GRP1_DisableClockStopSleep\n
2725   *         APB2SMENR     SAI1SMEN        LL_APB2_GRP1_DisableClockStopSleep\n
2726   *         APB2SMENR     SAI2SMEN        LL_APB2_GRP1_DisableClockStopSleep\n
2727   *         APB2SMENR     USBSMEN         LL_APB2_GRP1_DisableClockStopSleep\n
2728   *         APB2SMENR     GFXTIMSMEN      LL_APB2_GRP1_DisableClockStopSleep\n
2729   *         APB2SMENR     LTDCSMEN        LL_APB2_GRP1_DisableClockStopSleep\n
2730   *         APB2SMENR     DSIHOSTSMEN     LL_APB2_GRP1_DisableClockStopSleep\n
2731   * @param  Periphs This parameter can be a combination of the following values:
2732   *         @arg @ref LL_APB2_GRP1_PERIPH_ALL
2733   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM1
2734   *         @arg @ref LL_APB2_GRP1_PERIPH_SPI1
2735   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM8
2736   *         @arg @ref LL_APB2_GRP1_PERIPH_USART1
2737   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM15
2738   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM16
2739   *         @arg @ref LL_APB2_GRP1_PERIPH_TIM17
2740   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI1
2741   *         @arg @ref LL_APB2_GRP1_PERIPH_SAI2 (*)
2742   *         @arg @ref LL_APB2_GRP1_PERIPH_USB_FS (*)
2743   *         @arg @ref LL_APB2_GRP1_PERIPH_GFXTIM (*)
2744   *         @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
2745   *         @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
2746   *
2747   *        (*) value not defined in all devices.
2748   * @retval None
2749   */
LL_APB2_GRP1_DisableClockStopSleep(uint32_t Periphs)2750 __STATIC_INLINE void LL_APB2_GRP1_DisableClockStopSleep(uint32_t Periphs)
2751 {
2752   CLEAR_BIT(RCC->APB2SMENR, Periphs);
2753 }
2754 
2755 /**
2756   * @}
2757   */
2758 
2759 
2760 /** @defgroup BUS_LL_EF_APB3 APB3
2761   * @{
2762   */
2763 
2764 /**
2765   * @brief  Enable APB3 bus clock.
2766   * @rmtoll CFGR2    APB3DIS     LL_APB3_GRP1_EnableBusClock
2767   * @retval None
2768   */
LL_APB3_GRP1_EnableBusClock(void)2769 __STATIC_INLINE void LL_APB3_GRP1_EnableBusClock(void)
2770 {
2771   __IO uint32_t tmpreg;
2772   CLEAR_BIT(RCC->CFGR3, RCC_CFGR3_APB3DIS);
2773   tmpreg = READ_BIT(RCC->CFGR3, RCC_CFGR3_APB3DIS);
2774   (void)(tmpreg);
2775 }
2776 
2777 /**
2778   * @brief  Enable APB3 peripherals clock.
2779   * @rmtoll APB3ENR      SYSCFGEN       LL_APB3_GRP1_EnableClock\n
2780   *         APB3ENR      SPI3EN         LL_APB3_GRP1_EnableClock\n
2781   *         APB3ENR      LPUART1EN      LL_APB3_GRP1_EnableClock\n
2782   *         APB3ENR      I2C3EN         LL_APB3_GRP1_EnableClock\n
2783   *         APB3ENR      LPTIM1EN       LL_APB3_GRP1_EnableClock\n
2784   *         APB3ENR      LPTIM3EN       LL_APB3_GRP1_EnableClock\n
2785   *         APB3ENR      LPTIM4EN       LL_APB3_GRP1_EnableClock\n
2786   *         APB3ENR      OPAMPEN        LL_APB3_GRP1_EnableClock\n
2787   *         APB3ENR      COMPEN         LL_APB3_GRP1_EnableClock\n
2788   *         APB3ENR      VREFEN         LL_APB3_GRP1_EnableClock\n
2789   *         APB3ENR      RTCAPBEN       LL_APB3_GRP1_EnableClock\n
2790   * @param  Periphs This parameter can be a combination of the following values:
2791   *         @arg @ref LL_APB3_GRP1_PERIPH_ALL
2792   *         @arg @ref LL_APB3_GRP1_PERIPH_SYSCFG
2793   *         @arg @ref LL_APB3_GRP1_PERIPH_SPI3
2794   *         @arg @ref LL_APB3_GRP1_PERIPH_LPUART1
2795   *         @arg @ref LL_APB3_GRP1_PERIPH_I2C3
2796   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM1
2797   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2798   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2799   *         @arg @ref LL_APB3_GRP1_PERIPH_OPAMP
2800   *         @arg @ref LL_APB3_GRP1_PERIPH_COMP
2801   *         @arg @ref LL_APB3_GRP1_PERIPH_VREF
2802   *         @arg @ref LL_APB3_GRP1_PERIPH_RTCAPB
2803   * @retval None
2804   */
LL_APB3_GRP1_EnableClock(uint32_t Periphs)2805 __STATIC_INLINE void LL_APB3_GRP1_EnableClock(uint32_t Periphs)
2806 {
2807   __IO uint32_t tmpreg;
2808   SET_BIT(RCC->APB3ENR, Periphs);
2809   /* Delay after an RCC peripheral clock enabling */
2810   tmpreg = READ_BIT(RCC->APB3ENR, Periphs);
2811   (void)tmpreg;
2812 }
2813 
2814 /**
2815   * @brief  Check if APB3 peripheral clock is enabled or not
2816   * @rmtoll APB3ENR      SYSCFGEN       LL_APB3_GRP1_IsEnabledClock\n
2817   *         APB3ENR      SPI3EN         LL_APB3_GRP1_IsEnabledClock\n
2818   *         APB3ENR      LPUART1EN      LL_APB3_GRP1_IsEnabledClock\n
2819   *         APB3ENR      I2C3EN         LL_APB3_GRP1_IsEnabledClock\n
2820   *         APB3ENR      LPTIM1EN       LL_APB3_GRP1_IsEnabledClock\n
2821   *         APB3ENR      LPTIM3EN       LL_APB3_GRP1_IsEnabledClock\n
2822   *         APB3ENR      LPTIM4EN       LL_APB3_GRP1_IsEnabledClock\n
2823   *         APB3ENR      OPAMPEN        LL_APB3_GRP1_IsEnabledClock\n
2824   *         APB3ENR      COMPEN         LL_APB3_GRP1_IsEnabledClock\n
2825   *         APB3ENR      VREFEN         LL_APB3_GRP1_IsEnabledClock\n
2826   *         APB3ENR      RTCAPBEN       LL_APB3_GRP1_IsEnabledClock\n
2827   * @param  Periphs This parameter can be a combination of the following values:
2828   *         @arg @ref LL_APB3_GRP1_PERIPH_ALL
2829   *         @arg @ref LL_APB3_GRP1_PERIPH_SYSCFG
2830   *         @arg @ref LL_APB3_GRP1_PERIPH_SPI3
2831   *         @arg @ref LL_APB3_GRP1_PERIPH_LPUART1
2832   *         @arg @ref LL_APB3_GRP1_PERIPH_I2C3
2833   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM1
2834   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2835   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2836   *         @arg @ref LL_APB3_GRP1_PERIPH_OPAMP
2837   *         @arg @ref LL_APB3_GRP1_PERIPH_COMP
2838   *         @arg @ref LL_APB3_GRP1_PERIPH_VREF
2839   *         @arg @ref LL_APB3_GRP1_PERIPH_RTCAPB
2840   * @retval State of Periphs (1 or 0).
2841   */
LL_APB3_GRP1_IsEnabledClock(uint32_t Periphs)2842 __STATIC_INLINE uint32_t LL_APB3_GRP1_IsEnabledClock(uint32_t Periphs)
2843 {
2844   return ((READ_BIT(RCC->APB3ENR, Periphs) == Periphs) ? 1UL : 0UL);
2845 }
2846 
2847 /**
2848   * @brief  Disable APB3 bus clock.
2849   * @rmtoll CFGR2    APB3DIS     LL_APB3_GRP1_DisableBusClock
2850   * @retval None
2851   */
LL_APB3_GRP1_DisableBusClock(void)2852 __STATIC_INLINE void LL_APB3_GRP1_DisableBusClock(void)
2853 {
2854   SET_BIT(RCC->CFGR3, RCC_CFGR3_APB3DIS);
2855 }
2856 
2857 /**
2858   * @brief  Disable APB2 peripherals clock.
2859   * @rmtoll APB3ENR      SYSCFGEN       LL_APB3_GRP1_DisableClock\n
2860   *         APB3ENR      SPI3EN         LL_APB3_GRP1_DisableClock\n
2861   *         APB3ENR      LPUART1EN      LL_APB3_GRP1_DisableClock\n
2862   *         APB3ENR      I2C3EN         LL_APB3_GRP1_DisableClock\n
2863   *         APB3ENR      LPTIM1EN       LL_APB3_GRP1_DisableClock\n
2864   *         APB3ENR      LPTIM3EN       LL_APB3_GRP1_DisableClock\n
2865   *         APB3ENR      LPTIM4EN       LL_APB3_GRP1_DisableClock\n
2866   *         APB3ENR      OPAMPEN        LL_APB3_GRP1_DisableClock\n
2867   *         APB3ENR      COMPEN         LL_APB3_GRP1_DisableClock\n
2868   *         APB3ENR      VREFEN         LL_APB3_GRP1_DisableClock\n
2869   *         APB3ENR      RTCAPBEN       LL_APB3_GRP1_DisableClock\n
2870   * @param  Periphs This parameter can be a combination of the following values:
2871   *         @arg @ref LL_APB3_GRP1_PERIPH_ALL
2872   *         @arg @ref LL_APB3_GRP1_PERIPH_SYSCFG
2873   *         @arg @ref LL_APB3_GRP1_PERIPH_SPI3
2874   *         @arg @ref LL_APB3_GRP1_PERIPH_LPUART1
2875   *         @arg @ref LL_APB3_GRP1_PERIPH_I2C3
2876   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM1
2877   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2878   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2879   *         @arg @ref LL_APB3_GRP1_PERIPH_OPAMP
2880   *         @arg @ref LL_APB3_GRP1_PERIPH_COMP
2881   *         @arg @ref LL_APB3_GRP1_PERIPH_VREF
2882   *         @arg @ref LL_APB3_GRP1_PERIPH_RTCAPB
2883   * @retval None
2884   */
LL_APB3_GRP1_DisableClock(uint32_t Periphs)2885 __STATIC_INLINE void LL_APB3_GRP1_DisableClock(uint32_t Periphs)
2886 {
2887   CLEAR_BIT(RCC->APB3ENR, Periphs);
2888 }
2889 
2890 /**
2891   * @brief  Force APB3 peripherals reset.
2892   * @rmtoll APB3RSTR     SYSCFGRST     LL_APB3_GRP1_ForceReset\n
2893   *         APB3RSTR     SPI3RST       LL_APB3_GRP1_ForceReset\n
2894   *         APB3RSTR     LPUART1RST    LL_APB3_GRP1_ForceReset\n
2895   *         APB3RSTR     I2C3RST       LL_APB3_GRP1_ForceReset\n
2896   *         APB3RSTR     LPTIM1RST     LL_APB3_GRP1_ForceReset\n
2897   *         APB3RSTR     LPTIM3RST     LL_APB3_GRP1_ForceReset\n
2898   *         APB3RSTR     LPTIM4RST     LL_APB3_GRP1_ForceReset\n
2899   *         APB3RSTR     OPAMPRST      LL_APB3_GRP1_ForceReset\n
2900   *         APB3RSTR     COMPRST       LL_APB3_GRP1_ForceReset\n
2901   *         APB3RSTR     VREFRST       LL_APB3_GRP1_ForceReset\n
2902   *         APB3RSTR     RTCAPBRST     LL_APB3_GRP1_ForceReset\n
2903   * @param  Periphs This parameter can be a combination of the following values:
2904   *         @arg @ref LL_APB3_GRP1_PERIPH_ALL
2905   *         @arg @ref LL_APB3_GRP1_PERIPH_SYSCFG
2906   *         @arg @ref LL_APB3_GRP1_PERIPH_SPI3
2907   *         @arg @ref LL_APB3_GRP1_PERIPH_LPUART1
2908   *         @arg @ref LL_APB3_GRP1_PERIPH_I2C3
2909   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM1
2910   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2911   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2912   *         @arg @ref LL_APB3_GRP1_PERIPH_OPAMP
2913   *         @arg @ref LL_APB3_GRP1_PERIPH_COMP
2914   *         @arg @ref LL_APB3_GRP1_PERIPH_VREF
2915   *         @arg @ref LL_APB3_GRP1_PERIPH_RTCAPB
2916   * @retval None
2917   */
LL_APB3_GRP1_ForceReset(uint32_t Periphs)2918 __STATIC_INLINE void LL_APB3_GRP1_ForceReset(uint32_t Periphs)
2919 {
2920   SET_BIT(RCC->APB3RSTR, Periphs);
2921 }
2922 
2923 /**
2924   * @brief  Release APB3 peripherals reset.
2925   * @rmtoll APB3RSTR     SYSCFGRST     LL_APB3_GRP1_ReleaseReset\n
2926   *         APB3RSTR     SPI3RST       LL_APB3_GRP1_ReleaseReset\n
2927   *         APB3RSTR     LPUART1RST    LL_APB3_GRP1_ReleaseReset\n
2928   *         APB3RSTR     I2C3RST       LL_APB3_GRP1_ReleaseReset\n
2929   *         APB3RSTR     LPTIM1RST     LL_APB3_GRP1_ReleaseReset\n
2930   *         APB3RSTR     LPTIM3RST     LL_APB3_GRP1_ReleaseReset\n
2931   *         APB3RSTR     LPTIM4RST     LL_APB3_GRP1_ReleaseReset\n
2932   *         APB3RSTR     OPAMPRST      LL_APB3_GRP1_ReleaseReset\n
2933   *         APB3RSTR     COMPRST       LL_APB3_GRP1_ReleaseReset\n
2934   *         APB3RSTR     VREFRST       LL_APB3_GRP1_ReleaseReset\n
2935   *         APB3RSTR     RTCAPBRST     LL_APB3_GRP1_ReleaseReset\n
2936   * @param  Periphs This parameter can be a combination of the following values:
2937   *         @arg @ref LL_APB3_GRP1_PERIPH_ALL
2938   *         @arg @ref LL_APB3_GRP1_PERIPH_SYSCFG
2939   *         @arg @ref LL_APB3_GRP1_PERIPH_SPI3
2940   *         @arg @ref LL_APB3_GRP1_PERIPH_LPUART1
2941   *         @arg @ref LL_APB3_GRP1_PERIPH_I2C3
2942   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM1
2943   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2944   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2945   *         @arg @ref LL_APB3_GRP1_PERIPH_OPAMP
2946   *         @arg @ref LL_APB3_GRP1_PERIPH_COMP
2947   *         @arg @ref LL_APB3_GRP1_PERIPH_VREF
2948   *         @arg @ref LL_APB3_GRP1_PERIPH_RTCAPB
2949   * @retval None
2950   */
LL_APB3_GRP1_ReleaseReset(uint32_t Periphs)2951 __STATIC_INLINE void LL_APB3_GRP1_ReleaseReset(uint32_t Periphs)
2952 {
2953   CLEAR_BIT(RCC->APB3RSTR, Periphs);
2954 }
2955 
2956 /**
2957   * @brief  Enable APB3 peripheral clocks in Sleep and Stop modes
2958   * @rmtoll APB3SMENR    SYSCFGSMEN    LL_APB3_GRP1_EnableClockStopSleep\n
2959   *         APB3SMENR    SPI3SMEN      LL_APB3_GRP1_EnableClockStopSleep\n
2960   *         APB3SMENR    LPUART1SMEN   LL_APB3_GRP1_EnableClockStopSleep\n
2961   *         APB3SMENR    I2C3SMEN      LL_APB3_GRP1_EnableClockStopSleep\n
2962   *         APB3SMENR    LPTIM1SMEN    LL_APB3_GRP1_EnableClockStopSleep\n
2963   *         APB3SMENR    LPTIM3SMEN    LL_APB3_GRP1_EnableClockStopSleep\n
2964   *         APB3SMENR    LPTIM4SMEN    LL_APB3_GRP1_EnableClockStopSleep\n
2965   *         APB3SMENR    OPAMPSMEN     LL_APB3_GRP1_EnableClockStopSleep\n
2966   *         APB3SMENR    COMPSMEN      LL_APB3_GRP1_EnableClockStopSleep\n
2967   *         APB3SMENR    VREFSMEN      LL_APB3_GRP1_EnableClockStopSleep\n
2968   *         APB3SMENR    RTCAPBSMEN    LL_APB3_GRP1_EnableClockStopSleep\n
2969   * @param  Periphs This parameter can be a combination of the following values:
2970   *         @arg @ref LL_APB3_GRP1_PERIPH_ALL
2971   *         @arg @ref LL_APB3_GRP1_PERIPH_SYSCFG
2972   *         @arg @ref LL_APB3_GRP1_PERIPH_SPI3
2973   *         @arg @ref LL_APB3_GRP1_PERIPH_LPUART1
2974   *         @arg @ref LL_APB3_GRP1_PERIPH_I2C3
2975   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM1
2976   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2977   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
2978   *         @arg @ref LL_APB3_GRP1_PERIPH_OPAMP
2979   *         @arg @ref LL_APB3_GRP1_PERIPH_COMP
2980   *         @arg @ref LL_APB3_GRP1_PERIPH_VREF
2981   *         @arg @ref LL_APB3_GRP1_PERIPH_RTCAPB
2982   * @retval None
2983   */
LL_APB3_GRP1_EnableClockStopSleep(uint32_t Periphs)2984 __STATIC_INLINE void LL_APB3_GRP1_EnableClockStopSleep(uint32_t Periphs)
2985 {
2986   __IO uint32_t tmpreg;
2987   SET_BIT(RCC->APB3SMENR, Periphs);
2988   /* Delay after an RCC peripheral clock enabling */
2989   tmpreg = READ_BIT(RCC->APB3SMENR, Periphs);
2990   (void)tmpreg;
2991 }
2992 
2993 
2994 /**
2995   * @brief  Check if APB3 peripheral clocks in Sleep and Stop modes is enabled or not
2996   * @rmtoll APB3SMENR    SYSCFGSMEN    LL_APB3_GRP1_IsEnabledClockStopSleep\n
2997   *         APB3SMENR    SPI3SMEN      LL_APB3_GRP1_IsEnabledClockStopSleep\n
2998   *         APB3SMENR    LPUART1SMEN   LL_APB3_GRP1_IsEnabledClockStopSleep\n
2999   *         APB3SMENR    I2C3SMEN      LL_APB3_GRP1_IsEnabledClockStopSleep\n
3000   *         APB3SMENR    LPTIM1SMEN    LL_APB3_GRP1_IsEnabledClockStopSleep\n
3001   *         APB3SMENR    LPTIM3SMEN    LL_APB3_GRP1_IsEnabledClockStopSleep\n
3002   *         APB3SMENR    LPTIM4SMEN    LL_APB3_GRP1_IsEnabledClockStopSleep\n
3003   *         APB3SMENR    OPAMPSMEN     LL_APB3_GRP1_IsEnabledClockStopSleep\n
3004   *         APB3SMENR    COMPSMEN      LL_APB3_GRP1_IsEnabledClockStopSleep\n
3005   *         APB3SMENR    VREFSMEN      LL_APB3_GRP1_IsEnabledClockStopSleep\n
3006   *         APB3SMENR    RTCAPBSMEN    LL_APB3_GRP1_IsEnabledClockStopSleep\n
3007   * @param  Periphs This parameter can be a combination of the following values:
3008   *         @arg @ref LL_APB3_GRP1_PERIPH_ALL
3009   *         @arg @ref LL_APB3_GRP1_PERIPH_SYSCFG
3010   *         @arg @ref LL_APB3_GRP1_PERIPH_SPI3
3011   *         @arg @ref LL_APB3_GRP1_PERIPH_LPUART1
3012   *         @arg @ref LL_APB3_GRP1_PERIPH_I2C3
3013   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM1
3014   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
3015   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
3016   *         @arg @ref LL_APB3_GRP1_PERIPH_OPAMP
3017   *         @arg @ref LL_APB3_GRP1_PERIPH_COMP
3018   *         @arg @ref LL_APB3_GRP1_PERIPH_VREF
3019   *         @arg @ref LL_APB3_GRP1_PERIPH_RTCAPB
3020   * @retval State of Periphs (1 or 0).
3021   */
LL_APB3_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)3022 __STATIC_INLINE uint32_t LL_APB3_GRP1_IsEnabledClockStopSleep(uint32_t Periphs)
3023 {
3024   return ((READ_BIT(RCC->APB3SMENR, Periphs) == Periphs) ? 1UL : 0UL);
3025 }
3026 
3027 /**
3028   * @brief  Disable APB3 peripheral clocks in Sleep and Stop modes
3029   * @rmtoll APB3SMENR    SYSCFGSMEN     LL_APB3_GRP1_DisableClockStopSleep\n
3030   *         APB3SMENR    SPI3SMEN       LL_APB3_GRP1_DisableClockStopSleep\n
3031   *         APB3SMENR    LPUART1SMEN    LL_APB3_GRP1_DisableClockStopSleep\n
3032   *         APB3SMENR    I2C3SMEN       LL_APB3_GRP1_DisableClockStopSleep\n
3033   *         APB3SMENR    LPTIM1SMEN     LL_APB3_GRP1_DisableClockStopSleep\n
3034   *         APB3SMENR    LPTIM3SMEN     LL_APB3_GRP1_DisableClockStopSleep\n
3035   *         APB3SMENR    LPTIM4SMEN     LL_APB3_GRP1_DisableClockStopSleep\n
3036   *         APB3SMENR    OPAMPSMEN      LL_APB3_GRP1_DisableClockStopSleep\n
3037   *         APB3SMENR    COMPSMEN       LL_APB3_GRP1_DisableClockStopSleep\n
3038   *         APB3SMENR    VREFSMEN       LL_APB3_GRP1_DisableClockStopSleep\n
3039   *         APB3SMENR    RTCAPBSMEN     LL_APB3_GRP1_DisableClockStopSleep\n
3040   * @param  Periphs This parameter can be a combination of the following values:
3041   *         @arg @ref LL_APB3_GRP1_PERIPH_ALL
3042   *         @arg @ref LL_APB3_GRP1_PERIPH_SYSCFG
3043   *         @arg @ref LL_APB3_GRP1_PERIPH_SPI3
3044   *         @arg @ref LL_APB3_GRP1_PERIPH_LPUART1
3045   *         @arg @ref LL_APB3_GRP1_PERIPH_I2C3
3046   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM1
3047   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
3048   *         @arg @ref LL_APB3_GRP1_PERIPH_LPTIM4
3049   *         @arg @ref LL_APB3_GRP1_PERIPH_OPAMP
3050   *         @arg @ref LL_APB3_GRP1_PERIPH_COMP
3051   *         @arg @ref LL_APB3_GRP1_PERIPH_VREF
3052   *         @arg @ref LL_APB3_GRP1_PERIPH_RTCAPB
3053   * @retval None
3054   */
LL_APB3_GRP1_DisableClockStopSleep(uint32_t Periphs)3055 __STATIC_INLINE void LL_APB3_GRP1_DisableClockStopSleep(uint32_t Periphs)
3056 {
3057   CLEAR_BIT(RCC->APB3SMENR, Periphs);
3058 }
3059 
3060 /**
3061   * @}
3062   */
3063 
3064 /** @defgroup BUS_LL_EF_SRDAMR SRDAMR
3065   * @{
3066   */
3067 
3068 /**
3069   * @brief  Enable SRDAMR peripheral clocks in autonomous mode
3070   * @rmtoll SRDAMR   SPI3AMEN      LL_SRDAMR_GRP1_EnableAutonomousClock\n
3071   *         SRDAMR   LPUART1AMEN   LL_SRDAMR_GRP1_EnableAutonomousClock\n
3072   *         SRDAMR   I2C3AMEN      LL_SRDAMR_GRP1_EnableAutonomousClock\n
3073   *         SRDAMR   LPTIM1AMEN    LL_SRDAMR_GRP1_EnableAutonomousClock\n
3074   *         SRDAMR   LPTIM3AMEN    LL_SRDAMR_GRP1_EnableAutonomousClock\n
3075   *         SRDAMR   LPTIM4AMEN    LL_SRDAMR_GRP1_EnableAutonomousClock\n
3076   *         SRDAMR   OPAMPAMEN     LL_SRDAMR_GRP1_EnableAutonomousClock\n
3077   *         SRDAMR   COMPAMEN      LL_SRDAMR_GRP1_EnableAutonomousClock\n
3078   *         SRDAMR   VREFAMEN      LL_SRDAMR_GRP1_EnableAutonomousClock\n
3079   *         SRDAMR   VREFRST       LL_SRDAMR_GRP1_EnableAutonomousClock\n
3080   *         SRDAMR   RTCAPBAMEN    LL_SRDAMR_GRP1_EnableAutonomousClock\n
3081   *         SRDAMR   ADC4AMEN      LL_SRDAMR_GRP1_EnableAutonomousClock\n
3082   *         SRDAMR   LPGPIO1AMEN   LL_SRDAMR_GRP1_EnableAutonomousClock\n
3083   *         SRDAMR   DAC1AMEN      LL_SRDAMR_GRP1_EnableAutonomousClock\n
3084   *         SRDAMR   LPDMA1AMEN    LL_SRDAMR_GRP1_EnableAutonomousClock\n
3085   *         SRDAMR   ADF1AMEN      LL_SRDAMR_GRP1_EnableAutonomousClock\n
3086   *         SRDAMR   SRAM4AMEN     LL_SRDAMR_GRP1_EnableAutonomousClock\n
3087   * @param  Periphs This parameter can be a combination of the following values:
3088   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ALL
3089   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_SPI3
3090   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPUART1
3091   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_I2C3
3092   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM1
3093   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM3
3094   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM4
3095   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_OPAMP
3096   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_COMP
3097   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_VREF
3098   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_RTCAPB
3099   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ADC4
3100   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPGPIO1
3101   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_DAC1
3102   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPDMA1
3103   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ADF1
3104   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_SRAM4
3105   * @retval None
3106   */
LL_SRDAMR_GRP1_EnableAutonomousClock(uint32_t Periphs)3107 __STATIC_INLINE void LL_SRDAMR_GRP1_EnableAutonomousClock(uint32_t Periphs)
3108 {
3109   __IO uint32_t tmpreg;
3110   SET_BIT(RCC->SRDAMR, Periphs);
3111   /* Delay after an RCC peripheral clock enabling */
3112   tmpreg = READ_BIT(RCC->SRDAMR, Periphs);
3113   (void)tmpreg;
3114 }
3115 
3116 /**
3117   * @brief  Check if SRDAMR peripheral clock is enabled or not
3118   * @rmtoll SRDAMR   SPI3AMEN      LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3119   *         SRDAMR   LPUART1AMEN   LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3120   *         SRDAMR   I2C3AMEN      LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3121   *         SRDAMR   LPTIM1AMEN    LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3122   *         SRDAMR   LPTIM3AMEN    LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3123   *         SRDAMR   LPTIM4AMEN    LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3124   *         SRDAMR   OPAMPAMEN     LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3125   *         SRDAMR   COMPAMEN      LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3126   *         SRDAMR   VREFAMEN      LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3127   *         SRDAMR   VREFRST       LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3128   *         SRDAMR   RTCAPBAMEN    LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3129   *         SRDAMR   ADC4AMEN      LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3130   *         SRDAMR   LPGPIO1AMEN   LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3131   *         SRDAMR   DAC1AMEN      LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3132   *         SRDAMR   LPDMA1AMEN    LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3133   *         SRDAMR   ADF1AMEN      LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3134   *         SRDAMR   SRAM4AMEN     LL_SRDAMR_GRP1_IsEnabledAutonomousClock\n
3135   * @param  Periphs This parameter can be a combination of the following values:
3136   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ALL
3137   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_SPI3
3138   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPUART1
3139   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_I2C3
3140   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM1
3141   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM3
3142   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM4
3143   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_OPAMP
3144   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_COMP
3145   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_VREF
3146   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_RTCAPB
3147   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ADC4
3148   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPGPIO1
3149   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_DAC1
3150   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPDMA1
3151   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ADF1
3152   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_SRAM4
3153   * @retval State of Periphs (1 or 0).
3154   */
LL_SRDAMR_GRP1_IsEnabledAutonomousClock(uint32_t Periphs)3155 __STATIC_INLINE uint32_t LL_SRDAMR_GRP1_IsEnabledAutonomousClock(uint32_t Periphs)
3156 {
3157   return ((READ_BIT(RCC->SRDAMR, Periphs) == Periphs) ? 1UL : 0UL);
3158 }
3159 
3160 /**
3161   * @brief  Disable SRDAMR peripheral clocks in Sleep and Stop modes
3162   * @rmtoll SRDAMR   SPI3AMEN      LL_SRDAMR_GRP1_DisableAutonomousClock\n
3163   *         SRDAMR   LPUART1AMEN   LL_SRDAMR_GRP1_DisableAutonomousClock\n
3164   *         SRDAMR   I2C3AMEN      LL_SRDAMR_GRP1_DisableAutonomousClock\n
3165   *         SRDAMR   LPTIM1AMEN    LL_SRDAMR_GRP1_DisableAutonomousClock\n
3166   *         SRDAMR   LPTIM3AMEN    LL_SRDAMR_GRP1_DisableAutonomousClock\n
3167   *         SRDAMR   LPTIM4AMEN    LL_SRDAMR_GRP1_DisableAutonomousClock\n
3168   *         SRDAMR   OPAMPAMEN     LL_SRDAMR_GRP1_DisableAutonomousClock\n
3169   *         SRDAMR   COMPAMEN      LL_SRDAMR_GRP1_DisableAutonomousClock\n
3170   *         SRDAMR   VREFAMEN      LL_SRDAMR_GRP1_DisableAutonomousClock\n
3171   *         SRDAMR   VREFRST       LL_SRDAMR_GRP1_DisableAutonomousClock\n
3172   *         SRDAMR   RTCAPBAMEN    LL_SRDAMR_GRP1_DisableAutonomousClock\n
3173   *         SRDAMR   ADC4AMEN      LL_SRDAMR_GRP1_DisableAutonomousClock\n
3174   *         SRDAMR   LPGPIO1AMEN   LL_SRDAMR_GRP1_DisableAutonomousClock\n
3175   *         SRDAMR   DAC1AMEN      LL_SRDAMR_GRP1_DisableAutonomousClock\n
3176   *         SRDAMR   LPDMA1AMEN    LL_SRDAMR_GRP1_DisableAutonomousClock\n
3177   *         SRDAMR   ADF1AMEN      LL_SRDAMR_GRP1_DisableAutonomousClock\n
3178   *         SRDAMR   SRAM4AMEN     LL_SRDAMR_GRP1_DisableAutonomousClock\n
3179   * @param  Periphs This parameter can be a combination of the following values:
3180   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ALL
3181   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_SPI3
3182   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPUART1
3183   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_I2C3
3184   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM1
3185   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM3
3186   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPTIM4
3187   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_OPAMP
3188   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_COMP
3189   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_VREF
3190   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_RTCAPB
3191   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ADC4
3192   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPGPIO1
3193   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_DAC1
3194   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_LPDMA1
3195   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_ADF1
3196   *         @arg @ref LL_SRDAMR_GRP1_PERIPH_SRAM4
3197   * @retval None
3198   */
LL_SRDAMR_GRP1_DisableAutonomousClock(uint32_t Periphs)3199 __STATIC_INLINE void LL_SRDAMR_GRP1_DisableAutonomousClock(uint32_t Periphs)
3200 {
3201   CLEAR_BIT(RCC->SRDAMR, Periphs);
3202 }
3203 /**
3204   * @}
3205   */
3206 
3207 /**
3208   * @}
3209   */
3210 #endif /* defined(RCC) */
3211 
3212 /**
3213   * @}
3214   */
3215 /**
3216   * @}
3217   */
3218 
3219 #ifdef __cplusplus
3220 }
3221 #endif
3222 
3223 #endif /* STM32U5xx_LL_BUS_H */
3224