STM32F4xx_HAL_Driver  1.8.3
stm32f4xx_ll_bus.h
Go to the documentation of this file.
1 
35 /* Define to prevent recursive inclusion -------------------------------------*/
36 #ifndef __STM32F4xx_LL_BUS_H
37 #define __STM32F4xx_LL_BUS_H
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 /* Includes ------------------------------------------------------------------*/
44 #include "stm32f4xx.h"
45 
50 #if defined(RCC)
51 
56 /* Private types -------------------------------------------------------------*/
57 /* Private variables ---------------------------------------------------------*/
58 /* Private constants ---------------------------------------------------------*/
59 /* Private macros ------------------------------------------------------------*/
60 /* Exported types ------------------------------------------------------------*/
61 /* Exported constants --------------------------------------------------------*/
69 #define LL_AHB1_GRP1_PERIPH_ALL 0xFFFFFFFFU
70 #define LL_AHB1_GRP1_PERIPH_GPIOA RCC_AHB1ENR_GPIOAEN
71 #define LL_AHB1_GRP1_PERIPH_GPIOB RCC_AHB1ENR_GPIOBEN
72 #define LL_AHB1_GRP1_PERIPH_GPIOC RCC_AHB1ENR_GPIOCEN
73 #if defined(GPIOD)
74 #define LL_AHB1_GRP1_PERIPH_GPIOD RCC_AHB1ENR_GPIODEN
75 #endif /* GPIOD */
76 #if defined(GPIOE)
77 #define LL_AHB1_GRP1_PERIPH_GPIOE RCC_AHB1ENR_GPIOEEN
78 #endif /* GPIOE */
79 #if defined(GPIOF)
80 #define LL_AHB1_GRP1_PERIPH_GPIOF RCC_AHB1ENR_GPIOFEN
81 #endif /* GPIOF */
82 #if defined(GPIOG)
83 #define LL_AHB1_GRP1_PERIPH_GPIOG RCC_AHB1ENR_GPIOGEN
84 #endif /* GPIOG */
85 #if defined(GPIOH)
86 #define LL_AHB1_GRP1_PERIPH_GPIOH RCC_AHB1ENR_GPIOHEN
87 #endif /* GPIOH */
88 #if defined(GPIOI)
89 #define LL_AHB1_GRP1_PERIPH_GPIOI RCC_AHB1ENR_GPIOIEN
90 #endif /* GPIOI */
91 #if defined(GPIOJ)
92 #define LL_AHB1_GRP1_PERIPH_GPIOJ RCC_AHB1ENR_GPIOJEN
93 #endif /* GPIOJ */
94 #if defined(GPIOK)
95 #define LL_AHB1_GRP1_PERIPH_GPIOK RCC_AHB1ENR_GPIOKEN
96 #endif /* GPIOK */
97 #define LL_AHB1_GRP1_PERIPH_CRC RCC_AHB1ENR_CRCEN
98 #if defined(RCC_AHB1ENR_BKPSRAMEN)
99 #define LL_AHB1_GRP1_PERIPH_BKPSRAM RCC_AHB1ENR_BKPSRAMEN
100 #endif /* RCC_AHB1ENR_BKPSRAMEN */
101 #if defined(RCC_AHB1ENR_CCMDATARAMEN)
102 #define LL_AHB1_GRP1_PERIPH_CCMDATARAM RCC_AHB1ENR_CCMDATARAMEN
103 #endif /* RCC_AHB1ENR_CCMDATARAMEN */
104 #define LL_AHB1_GRP1_PERIPH_DMA1 RCC_AHB1ENR_DMA1EN
105 #define LL_AHB1_GRP1_PERIPH_DMA2 RCC_AHB1ENR_DMA2EN
106 #if defined(RCC_AHB1ENR_RNGEN)
107 #define LL_AHB1_GRP1_PERIPH_RNG RCC_AHB1ENR_RNGEN
108 #endif /* RCC_AHB1ENR_RNGEN */
109 #if defined(DMA2D)
110 #define LL_AHB1_GRP1_PERIPH_DMA2D RCC_AHB1ENR_DMA2DEN
111 #endif /* DMA2D */
112 #if defined(ETH)
113 #define LL_AHB1_GRP1_PERIPH_ETHMAC RCC_AHB1ENR_ETHMACEN
114 #define LL_AHB1_GRP1_PERIPH_ETHMACTX RCC_AHB1ENR_ETHMACTXEN
115 #define LL_AHB1_GRP1_PERIPH_ETHMACRX RCC_AHB1ENR_ETHMACRXEN
116 #define LL_AHB1_GRP1_PERIPH_ETHMACPTP RCC_AHB1ENR_ETHMACPTPEN
117 #endif /* ETH */
118 #if defined(USB_OTG_HS)
119 #define LL_AHB1_GRP1_PERIPH_OTGHS RCC_AHB1ENR_OTGHSEN
120 #define LL_AHB1_GRP1_PERIPH_OTGHSULPI RCC_AHB1ENR_OTGHSULPIEN
121 #endif /* USB_OTG_HS */
122 #define LL_AHB1_GRP1_PERIPH_FLITF RCC_AHB1LPENR_FLITFLPEN
123 #define LL_AHB1_GRP1_PERIPH_SRAM1 RCC_AHB1LPENR_SRAM1LPEN
124 #if defined(RCC_AHB1LPENR_SRAM2LPEN)
125 #define LL_AHB1_GRP1_PERIPH_SRAM2 RCC_AHB1LPENR_SRAM2LPEN
126 #endif /* RCC_AHB1LPENR_SRAM2LPEN */
127 #if defined(RCC_AHB1LPENR_SRAM3LPEN)
128 #define LL_AHB1_GRP1_PERIPH_SRAM3 RCC_AHB1LPENR_SRAM3LPEN
129 #endif /* RCC_AHB1LPENR_SRAM3LPEN */
134 #if defined(RCC_AHB2_SUPPORT)
138 #define LL_AHB2_GRP1_PERIPH_ALL 0xFFFFFFFFU
139 #if defined(DCMI)
140 #define LL_AHB2_GRP1_PERIPH_DCMI RCC_AHB2ENR_DCMIEN
141 #endif /* DCMI */
142 #if defined(CRYP)
143 #define LL_AHB2_GRP1_PERIPH_CRYP RCC_AHB2ENR_CRYPEN
144 #endif /* CRYP */
145 #if defined(AES)
146 #define LL_AHB2_GRP1_PERIPH_AES RCC_AHB2ENR_AESEN
147 #endif /* AES */
148 #if defined(HASH)
149 #define LL_AHB2_GRP1_PERIPH_HASH RCC_AHB2ENR_HASHEN
150 #endif /* HASH */
151 #if defined(RCC_AHB2ENR_RNGEN)
152 #define LL_AHB2_GRP1_PERIPH_RNG RCC_AHB2ENR_RNGEN
153 #endif /* RCC_AHB2ENR_RNGEN */
154 #if defined(USB_OTG_FS)
155 #define LL_AHB2_GRP1_PERIPH_OTGFS RCC_AHB2ENR_OTGFSEN
156 #endif /* USB_OTG_FS */
160 #endif /* RCC_AHB2_SUPPORT */
161 
162 #if defined(RCC_AHB3_SUPPORT)
166 #define LL_AHB3_GRP1_PERIPH_ALL 0xFFFFFFFFU
167 #if defined(FSMC_Bank1)
168 #define LL_AHB3_GRP1_PERIPH_FSMC RCC_AHB3ENR_FSMCEN
169 #endif /* FSMC_Bank1 */
170 #if defined(FMC_Bank1)
171 #define LL_AHB3_GRP1_PERIPH_FMC RCC_AHB3ENR_FMCEN
172 #endif /* FMC_Bank1 */
173 #if defined(QUADSPI)
174 #define LL_AHB3_GRP1_PERIPH_QSPI RCC_AHB3ENR_QSPIEN
175 #endif /* QUADSPI */
179 #endif /* RCC_AHB3_SUPPORT */
180 
184 #define LL_APB1_GRP1_PERIPH_ALL 0xFFFFFFFFU
185 #if defined(TIM2)
186 #define LL_APB1_GRP1_PERIPH_TIM2 RCC_APB1ENR_TIM2EN
187 #endif /* TIM2 */
188 #if defined(TIM3)
189 #define LL_APB1_GRP1_PERIPH_TIM3 RCC_APB1ENR_TIM3EN
190 #endif /* TIM3 */
191 #if defined(TIM4)
192 #define LL_APB1_GRP1_PERIPH_TIM4 RCC_APB1ENR_TIM4EN
193 #endif /* TIM4 */
194 #define LL_APB1_GRP1_PERIPH_TIM5 RCC_APB1ENR_TIM5EN
195 #if defined(TIM6)
196 #define LL_APB1_GRP1_PERIPH_TIM6 RCC_APB1ENR_TIM6EN
197 #endif /* TIM6 */
198 #if defined(TIM7)
199 #define LL_APB1_GRP1_PERIPH_TIM7 RCC_APB1ENR_TIM7EN
200 #endif /* TIM7 */
201 #if defined(TIM12)
202 #define LL_APB1_GRP1_PERIPH_TIM12 RCC_APB1ENR_TIM12EN
203 #endif /* TIM12 */
204 #if defined(TIM13)
205 #define LL_APB1_GRP1_PERIPH_TIM13 RCC_APB1ENR_TIM13EN
206 #endif /* TIM13 */
207 #if defined(TIM14)
208 #define LL_APB1_GRP1_PERIPH_TIM14 RCC_APB1ENR_TIM14EN
209 #endif /* TIM14 */
210 #if defined(LPTIM1)
211 #define LL_APB1_GRP1_PERIPH_LPTIM1 RCC_APB1ENR_LPTIM1EN
212 #endif /* LPTIM1 */
213 #if defined(RCC_APB1ENR_RTCAPBEN)
214 #define LL_APB1_GRP1_PERIPH_RTCAPB RCC_APB1ENR_RTCAPBEN
215 #endif /* RCC_APB1ENR_RTCAPBEN */
216 #define LL_APB1_GRP1_PERIPH_WWDG RCC_APB1ENR_WWDGEN
217 #if defined(SPI2)
218 #define LL_APB1_GRP1_PERIPH_SPI2 RCC_APB1ENR_SPI2EN
219 #endif /* SPI2 */
220 #if defined(SPI3)
221 #define LL_APB1_GRP1_PERIPH_SPI3 RCC_APB1ENR_SPI3EN
222 #endif /* SPI3 */
223 #if defined(SPDIFRX)
224 #define LL_APB1_GRP1_PERIPH_SPDIFRX RCC_APB1ENR_SPDIFRXEN
225 #endif /* SPDIFRX */
226 #define LL_APB1_GRP1_PERIPH_USART2 RCC_APB1ENR_USART2EN
227 #if defined(USART3)
228 #define LL_APB1_GRP1_PERIPH_USART3 RCC_APB1ENR_USART3EN
229 #endif /* USART3 */
230 #if defined(UART4)
231 #define LL_APB1_GRP1_PERIPH_UART4 RCC_APB1ENR_UART4EN
232 #endif /* UART4 */
233 #if defined(UART5)
234 #define LL_APB1_GRP1_PERIPH_UART5 RCC_APB1ENR_UART5EN
235 #endif /* UART5 */
236 #define LL_APB1_GRP1_PERIPH_I2C1 RCC_APB1ENR_I2C1EN
237 #define LL_APB1_GRP1_PERIPH_I2C2 RCC_APB1ENR_I2C2EN
238 #if defined(I2C3)
239 #define LL_APB1_GRP1_PERIPH_I2C3 RCC_APB1ENR_I2C3EN
240 #endif /* I2C3 */
241 #if defined(FMPI2C1)
242 #define LL_APB1_GRP1_PERIPH_FMPI2C1 RCC_APB1ENR_FMPI2C1EN
243 #endif /* FMPI2C1 */
244 #if defined(CAN1)
245 #define LL_APB1_GRP1_PERIPH_CAN1 RCC_APB1ENR_CAN1EN
246 #endif /* CAN1 */
247 #if defined(CAN2)
248 #define LL_APB1_GRP1_PERIPH_CAN2 RCC_APB1ENR_CAN2EN
249 #endif /* CAN2 */
250 #if defined(CAN3)
251 #define LL_APB1_GRP1_PERIPH_CAN3 RCC_APB1ENR_CAN3EN
252 #endif /* CAN3 */
253 #if defined(CEC)
254 #define LL_APB1_GRP1_PERIPH_CEC RCC_APB1ENR_CECEN
255 #endif /* CEC */
256 #define LL_APB1_GRP1_PERIPH_PWR RCC_APB1ENR_PWREN
257 #if defined(DAC1)
258 #define LL_APB1_GRP1_PERIPH_DAC1 RCC_APB1ENR_DACEN
259 #endif /* DAC1 */
260 #if defined(UART7)
261 #define LL_APB1_GRP1_PERIPH_UART7 RCC_APB1ENR_UART7EN
262 #endif /* UART7 */
263 #if defined(UART8)
264 #define LL_APB1_GRP1_PERIPH_UART8 RCC_APB1ENR_UART8EN
265 #endif /* UART8 */
273 #define LL_APB2_GRP1_PERIPH_ALL 0xFFFFFFFFU
274 #define LL_APB2_GRP1_PERIPH_TIM1 RCC_APB2ENR_TIM1EN
275 #if defined(TIM8)
276 #define LL_APB2_GRP1_PERIPH_TIM8 RCC_APB2ENR_TIM8EN
277 #endif /* TIM8 */
278 #define LL_APB2_GRP1_PERIPH_USART1 RCC_APB2ENR_USART1EN
279 #if defined(USART6)
280 #define LL_APB2_GRP1_PERIPH_USART6 RCC_APB2ENR_USART6EN
281 #endif /* USART6 */
282 #if defined(UART9)
283 #define LL_APB2_GRP1_PERIPH_UART9 RCC_APB2ENR_UART9EN
284 #endif /* UART9 */
285 #if defined(UART10)
286 #define LL_APB2_GRP1_PERIPH_UART10 RCC_APB2ENR_UART10EN
287 #endif /* UART10 */
288 #define LL_APB2_GRP1_PERIPH_ADC1 RCC_APB2ENR_ADC1EN
289 #if defined(ADC2)
290 #define LL_APB2_GRP1_PERIPH_ADC2 RCC_APB2ENR_ADC2EN
291 #endif /* ADC2 */
292 #if defined(ADC3)
293 #define LL_APB2_GRP1_PERIPH_ADC3 RCC_APB2ENR_ADC3EN
294 #endif /* ADC3 */
295 #if defined(SDIO)
296 #define LL_APB2_GRP1_PERIPH_SDIO RCC_APB2ENR_SDIOEN
297 #endif /* SDIO */
298 #define LL_APB2_GRP1_PERIPH_SPI1 RCC_APB2ENR_SPI1EN
299 #if defined(SPI4)
300 #define LL_APB2_GRP1_PERIPH_SPI4 RCC_APB2ENR_SPI4EN
301 #endif /* SPI4 */
302 #define LL_APB2_GRP1_PERIPH_SYSCFG RCC_APB2ENR_SYSCFGEN
303 #if defined(RCC_APB2ENR_EXTITEN)
304 #define LL_APB2_GRP1_PERIPH_EXTI RCC_APB2ENR_EXTITEN
305 #endif /* RCC_APB2ENR_EXTITEN */
306 #define LL_APB2_GRP1_PERIPH_TIM9 RCC_APB2ENR_TIM9EN
307 #if defined(TIM10)
308 #define LL_APB2_GRP1_PERIPH_TIM10 RCC_APB2ENR_TIM10EN
309 #endif /* TIM10 */
310 #define LL_APB2_GRP1_PERIPH_TIM11 RCC_APB2ENR_TIM11EN
311 #if defined(SPI5)
312 #define LL_APB2_GRP1_PERIPH_SPI5 RCC_APB2ENR_SPI5EN
313 #endif /* SPI5 */
314 #if defined(SPI6)
315 #define LL_APB2_GRP1_PERIPH_SPI6 RCC_APB2ENR_SPI6EN
316 #endif /* SPI6 */
317 #if defined(SAI1)
318 #define LL_APB2_GRP1_PERIPH_SAI1 RCC_APB2ENR_SAI1EN
319 #endif /* SAI1 */
320 #if defined(SAI2)
321 #define LL_APB2_GRP1_PERIPH_SAI2 RCC_APB2ENR_SAI2EN
322 #endif /* SAI2 */
323 #if defined(LTDC)
324 #define LL_APB2_GRP1_PERIPH_LTDC RCC_APB2ENR_LTDCEN
325 #endif /* LTDC */
326 #if defined(DSI)
327 #define LL_APB2_GRP1_PERIPH_DSI RCC_APB2ENR_DSIEN
328 #endif /* DSI */
329 #if defined(DFSDM1_Channel0)
330 #define LL_APB2_GRP1_PERIPH_DFSDM1 RCC_APB2ENR_DFSDM1EN
331 #endif /* DFSDM1_Channel0 */
332 #if defined(DFSDM2_Channel0)
333 #define LL_APB2_GRP1_PERIPH_DFSDM2 RCC_APB2ENR_DFSDM2EN
334 #endif /* DFSDM2_Channel0 */
335 #define LL_APB2_GRP1_PERIPH_ADC RCC_APB2RSTR_ADCRST
344 /* Exported macro ------------------------------------------------------------*/
345 /* Exported functions --------------------------------------------------------*/
409 __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs)
410 {
411  __IO uint32_t tmpreg;
412  SET_BIT(RCC->AHB1ENR, Periphs);
413  /* Delay after an RCC peripheral clock enabling */
414  tmpreg = READ_BIT(RCC->AHB1ENR, Periphs);
415  (void)tmpreg;
416 }
417 
473 __STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
474 {
475  return (READ_BIT(RCC->AHB1ENR, Periphs) == Periphs);
476 }
477 
533 __STATIC_INLINE void LL_AHB1_GRP1_DisableClock(uint32_t Periphs)
534 {
535  CLEAR_BIT(RCC->AHB1ENR, Periphs);
536 }
537 
582 __STATIC_INLINE void LL_AHB1_GRP1_ForceReset(uint32_t Periphs)
583 {
584  SET_BIT(RCC->AHB1RSTR, Periphs);
585 }
586 
631 __STATIC_INLINE void LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)
632 {
633  CLEAR_BIT(RCC->AHB1RSTR, Periphs);
634 }
635 
698 __STATIC_INLINE void LL_AHB1_GRP1_EnableClockLowPower(uint32_t Periphs)
699 {
700  __IO uint32_t tmpreg;
701  SET_BIT(RCC->AHB1LPENR, Periphs);
702  /* Delay after an RCC peripheral clock enabling */
703  tmpreg = READ_BIT(RCC->AHB1LPENR, Periphs);
704  (void)tmpreg;
705 }
706 
769 __STATIC_INLINE void LL_AHB1_GRP1_DisableClockLowPower(uint32_t Periphs)
770 {
771  CLEAR_BIT(RCC->AHB1LPENR, Periphs);
772 }
773 
778 #if defined(RCC_AHB2_SUPPORT)
802 __STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs)
803 {
804  __IO uint32_t tmpreg;
805  SET_BIT(RCC->AHB2ENR, Periphs);
806  /* Delay after an RCC peripheral clock enabling */
807  tmpreg = READ_BIT(RCC->AHB2ENR, Periphs);
808  (void)tmpreg;
809 }
810 
830 __STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
831 {
832  return (READ_BIT(RCC->AHB2ENR, Periphs) == Periphs);
833 }
834 
854 __STATIC_INLINE void LL_AHB2_GRP1_DisableClock(uint32_t Periphs)
855 {
856  CLEAR_BIT(RCC->AHB2ENR, Periphs);
857 }
858 
879 __STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs)
880 {
881  SET_BIT(RCC->AHB2RSTR, Periphs);
882 }
883 
904 __STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)
905 {
906  CLEAR_BIT(RCC->AHB2RSTR, Periphs);
907 }
908 
928 __STATIC_INLINE void LL_AHB2_GRP1_EnableClockLowPower(uint32_t Periphs)
929 {
930  __IO uint32_t tmpreg;
931  SET_BIT(RCC->AHB2LPENR, Periphs);
932  /* Delay after an RCC peripheral clock enabling */
933  tmpreg = READ_BIT(RCC->AHB2LPENR, Periphs);
934  (void)tmpreg;
935 }
936 
956 __STATIC_INLINE void LL_AHB2_GRP1_DisableClockLowPower(uint32_t Periphs)
957 {
958  CLEAR_BIT(RCC->AHB2LPENR, Periphs);
959 }
960 
964 #endif /* RCC_AHB2_SUPPORT */
965 
966 #if defined(RCC_AHB3_SUPPORT)
984 __STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs)
985 {
986  __IO uint32_t tmpreg;
987  SET_BIT(RCC->AHB3ENR, Periphs);
988  /* Delay after an RCC peripheral clock enabling */
989  tmpreg = READ_BIT(RCC->AHB3ENR, Periphs);
990  (void)tmpreg;
991 }
992 
1006 __STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
1007 {
1008  return (READ_BIT(RCC->AHB3ENR, Periphs) == Periphs);
1009 }
1010 
1024 __STATIC_INLINE void LL_AHB3_GRP1_DisableClock(uint32_t Periphs)
1025 {
1026  CLEAR_BIT(RCC->AHB3ENR, Periphs);
1027 }
1028 
1043 __STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs)
1044 {
1045  SET_BIT(RCC->AHB3RSTR, Periphs);
1046 }
1047 
1062 __STATIC_INLINE void LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)
1063 {
1064  CLEAR_BIT(RCC->AHB3RSTR, Periphs);
1065 }
1066 
1080 __STATIC_INLINE void LL_AHB3_GRP1_EnableClockLowPower(uint32_t Periphs)
1081 {
1082  __IO uint32_t tmpreg;
1083  SET_BIT(RCC->AHB3LPENR, Periphs);
1084  /* Delay after an RCC peripheral clock enabling */
1085  tmpreg = READ_BIT(RCC->AHB3LPENR, Periphs);
1086  (void)tmpreg;
1087 }
1088 
1102 __STATIC_INLINE void LL_AHB3_GRP1_DisableClockLowPower(uint32_t Periphs)
1103 {
1104  CLEAR_BIT(RCC->AHB3LPENR, Periphs);
1105 }
1106 
1110 #endif /* RCC_AHB3_SUPPORT */
1111 
1185 __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs)
1186 {
1187  __IO uint32_t tmpreg;
1188  SET_BIT(RCC->APB1ENR, Periphs);
1189  /* Delay after an RCC peripheral clock enabling */
1190  tmpreg = READ_BIT(RCC->APB1ENR, Periphs);
1191  (void)tmpreg;
1192 }
1193 
1263 __STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
1264 {
1265  return (READ_BIT(RCC->APB1ENR, Periphs) == Periphs);
1266 }
1267 
1337 __STATIC_INLINE void LL_APB1_GRP1_DisableClock(uint32_t Periphs)
1338 {
1339  CLEAR_BIT(RCC->APB1ENR, Periphs);
1340 }
1341 
1409 __STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
1410 {
1411  SET_BIT(RCC->APB1RSTR, Periphs);
1412 }
1413 
1481 __STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
1482 {
1483  CLEAR_BIT(RCC->APB1RSTR, Periphs);
1484 }
1485 
1555 __STATIC_INLINE void LL_APB1_GRP1_EnableClockLowPower(uint32_t Periphs)
1556 {
1557  __IO uint32_t tmpreg;
1558  SET_BIT(RCC->APB1LPENR, Periphs);
1559  /* Delay after an RCC peripheral clock enabling */
1560  tmpreg = READ_BIT(RCC->APB1LPENR, Periphs);
1561  (void)tmpreg;
1562 }
1563 
1633 __STATIC_INLINE void LL_APB1_GRP1_DisableClockLowPower(uint32_t Periphs)
1634 {
1635  CLEAR_BIT(RCC->APB1LPENR, Periphs);
1636 }
1637 
1704 __STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs)
1705 {
1706  __IO uint32_t tmpreg;
1707  SET_BIT(RCC->APB2ENR, Periphs);
1708  /* Delay after an RCC peripheral clock enabling */
1709  tmpreg = READ_BIT(RCC->APB2ENR, Periphs);
1710  (void)tmpreg;
1711 }
1712 
1770 __STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
1771 {
1772  return (READ_BIT(RCC->APB2ENR, Periphs) == Periphs);
1773 }
1774 
1832 __STATIC_INLINE void LL_APB2_GRP1_DisableClock(uint32_t Periphs)
1833 {
1834  CLEAR_BIT(RCC->APB2ENR, Periphs);
1835 }
1836 
1889 __STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
1890 {
1891  SET_BIT(RCC->APB2RSTR, Periphs);
1892 }
1893 
1947 __STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
1948 {
1949  CLEAR_BIT(RCC->APB2RSTR, Periphs);
1950 }
1951 
2010 __STATIC_INLINE void LL_APB2_GRP1_EnableClockLowPower(uint32_t Periphs)
2011 {
2012  __IO uint32_t tmpreg;
2013  SET_BIT(RCC->APB2LPENR, Periphs);
2014  /* Delay after an RCC peripheral clock enabling */
2015  tmpreg = READ_BIT(RCC->APB2LPENR, Periphs);
2016  (void)tmpreg;
2017 }
2018 
2077 __STATIC_INLINE void LL_APB2_GRP1_DisableClockLowPower(uint32_t Periphs)
2078 {
2079  CLEAR_BIT(RCC->APB2LPENR, Periphs);
2080 }
2081 
2094 #endif /* defined(RCC) */
2095 
2100 #ifdef __cplusplus
2101 }
2102 #endif
2103 
2104 #endif /* __STM32F4xx_LL_BUS_H */
2105 
__STATIC_INLINE void LL_AHB1_GRP1_DisableClock(uint32_t Periphs)
Disable AHB1 peripherals clock. @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_DisableClock AHB1ENR GPIOBEN LL...
__STATIC_INLINE void LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)
Release AHB1 peripherals reset. @rmtoll AHB1RSTR GPIOARST LL_AHB1_GRP1_ReleaseReset AHB1RSTR GPIOBRS...
__STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs)
Enable AHB1 peripherals clock. @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_EnableClock AHB1ENR GPIOBEN LL_A...
__STATIC_INLINE void LL_AHB1_GRP1_ForceReset(uint32_t Periphs)
Force AHB1 peripherals reset. @rmtoll AHB1RSTR GPIOARST LL_AHB1_GRP1_ForceReset AHB1RSTR GPIOBRST LL...
__STATIC_INLINE void LL_AHB1_GRP1_DisableClockLowPower(uint32_t Periphs)
Disable AHB1 peripheral clocks in low-power mode @rmtoll AHB1LPENR GPIOALPEN LL_AHB1_GRP1_DisableCloc...
__STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
Check if AHB1 peripheral clock is enabled or not @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_IsEnabledClock ...
__STATIC_INLINE void LL_AHB1_GRP1_EnableClockLowPower(uint32_t Periphs)
Enable AHB1 peripheral clocks in low-power mode @rmtoll AHB1LPENR GPIOALPEN LL_AHB1_GRP1_EnableClockL...
__STATIC_INLINE void LL_AHB2_GRP1_DisableClockLowPower(uint32_t Periphs)
Disable AHB2 peripheral clocks in low-power mode @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_DisableClock...
__STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs)
Enable AHB2 peripherals clock. @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_EnableClock AHB2ENR CRYPEN LL_AHB...
__STATIC_INLINE void LL_AHB2_GRP1_EnableClockLowPower(uint32_t Periphs)
Enable AHB2 peripheral clocks in low-power mode @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_EnableClockLo...
__STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
Check if AHB2 peripheral clock is enabled or not @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_IsEnabledClock ...
__STATIC_INLINE void LL_AHB2_GRP1_DisableClock(uint32_t Periphs)
Disable AHB2 peripherals clock. @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_DisableClock AHB2ENR CRYPEN LL_A...
__STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs)
Force AHB2 peripherals reset. @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ForceReset AHB2RSTR CRYPRST LL_A...
__STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)
Release AHB2 peripherals reset. @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ReleaseReset AHB2RSTR CRYPRST ...
__STATIC_INLINE void LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)
Release AHB3 peripherals reset. @rmtoll AHB3RSTR FMCRST LL_AHB3_GRP1_ReleaseReset AHB3RSTR FSMCRST L...
__STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs)
Enable AHB3 peripherals clock. @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_EnableClock AHB3ENR FSMCEN LL_AHB3...
__STATIC_INLINE void LL_AHB3_GRP1_DisableClock(uint32_t Periphs)
Disable AHB3 peripherals clock. @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_DisableClock AHB3ENR FSMCEN LL_AH...
__STATIC_INLINE void LL_AHB3_GRP1_EnableClockLowPower(uint32_t Periphs)
Enable AHB3 peripheral clocks in low-power mode @rmtoll AHB3LPENR FMCLPEN LL_AHB3_GRP1_EnableClockLow...
__STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
Check if AHB3 peripheral clock is enabled or not @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_IsEnabledClock A...
__STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs)
Force AHB3 peripherals reset. @rmtoll AHB3RSTR FMCRST LL_AHB3_GRP1_ForceReset AHB3RSTR FSMCRST LL_AH...
__STATIC_INLINE void LL_AHB3_GRP1_DisableClockLowPower(uint32_t Periphs)
Disable AHB3 peripheral clocks in low-power mode @rmtoll AHB3LPENR FMCLPEN LL_AHB3_GRP1_DisableClockL...
__STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
Check if APB1 peripheral clock is enabled or not @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_IsEnabledClock ...
__STATIC_INLINE void LL_APB1_GRP1_DisableClockLowPower(uint32_t Periphs)
Disable APB1 peripheral clocks in low-power mode @rmtoll APB1LPENR TIM2LPEN LL_APB1_GRP1_DisableClock...
__STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
Force APB1 peripherals reset. @rmtoll APB1RSTR TIM2RST LL_APB1_GRP1_ForceReset APB1RSTR TIM3RST LL_A...
__STATIC_INLINE void LL_APB1_GRP1_DisableClock(uint32_t Periphs)
Disable APB1 peripherals clock. @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_DisableClock APB1ENR TIM3EN LL_A...
__STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
Release APB1 peripherals reset. @rmtoll APB1RSTR TIM2RST LL_APB1_GRP1_ReleaseReset APB1RSTR TIM3RST ...
__STATIC_INLINE void LL_APB1_GRP1_EnableClockLowPower(uint32_t Periphs)
Enable APB1 peripheral clocks in low-power mode @rmtoll APB1LPENR TIM2LPEN LL_APB1_GRP1_EnableClockLo...
__STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs)
Enable APB1 peripherals clock. @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_EnableClock APB1ENR TIM3EN LL_APB...
__STATIC_INLINE void LL_APB2_GRP1_EnableClockLowPower(uint32_t Periphs)
Enable APB2 peripheral clocks in low-power mode @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_EnableClockLo...
__STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
Check if APB2 peripheral clock is enabled or not @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_IsEnabledClock ...
__STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
Release APB2 peripherals reset. @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ReleaseReset APB2RSTR TIM8RST ...
__STATIC_INLINE void LL_APB2_GRP1_DisableClock(uint32_t Periphs)
Disable APB2 peripherals clock. @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_DisableClock APB2ENR TIM8EN LL_A...
__STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs)
Enable APB2 peripherals clock. @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_EnableClock APB2ENR TIM8EN LL_APB...
__STATIC_INLINE void LL_APB2_GRP1_DisableClockLowPower(uint32_t Periphs)
Disable APB2 peripheral clocks in low-power mode @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_DisableClock...
__STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
Force APB2 peripherals reset. @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ForceReset APB2RSTR TIM8RST LL_A...