stm32f7xx_ll_bus.h 94 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973
  1. /**
  2. ******************************************************************************
  3. * @file stm32f7xx_ll_bus.h
  4. * @author MCD Application Team
  5. * @brief Header file of BUS LL module.
  6. @verbatim
  7. ##### RCC Limitations #####
  8. ==============================================================================
  9. [..]
  10. A delay between an RCC peripheral clock enable and the effective peripheral
  11. enabling should be taken into account in order to manage the peripheral read/write
  12. from/to registers.
  13. (+) This delay depends on the peripheral mapping.
  14. (++) AHB & APB peripherals, 1 dummy read is necessary
  15. [..]
  16. Workarounds:
  17. (#) For AHB & APB peripherals, a dummy read to the peripheral register has been
  18. inserted in each LL_{BUS}_GRP{x}_EnableClock() function.
  19. @endverbatim
  20. ******************************************************************************
  21. * @attention
  22. *
  23. * Copyright (c) 2017 STMicroelectronics.
  24. * All rights reserved.
  25. *
  26. * This software is licensed under terms that can be found in the LICENSE file in
  27. * the root directory of this software component.
  28. * If no LICENSE file comes with this software, it is provided AS-IS.
  29. ******************************************************************************
  30. */
  31. /* Define to prevent recursive inclusion -------------------------------------*/
  32. #ifndef __STM32F7xx_LL_BUS_H
  33. #define __STM32F7xx_LL_BUS_H
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37. /* Includes ------------------------------------------------------------------*/
  38. #include "stm32f7xx.h"
  39. /** @addtogroup STM32F7xx_LL_Driver
  40. * @{
  41. */
  42. #if defined(RCC)
  43. /** @defgroup BUS_LL BUS
  44. * @{
  45. */
  46. /* Private types -------------------------------------------------------------*/
  47. /* Private variables ---------------------------------------------------------*/
  48. /* Private constants ---------------------------------------------------------*/
  49. /* Private macros ------------------------------------------------------------*/
  50. /* Exported types ------------------------------------------------------------*/
  51. /* Exported constants --------------------------------------------------------*/
  52. /** @defgroup BUS_LL_Exported_Constants BUS Exported Constants
  53. * @{
  54. */
  55. /** @defgroup BUS_LL_EC_AHB1_GRP1_PERIPH AHB1 GRP1 PERIPH
  56. * @{
  57. */
  58. #define LL_AHB1_GRP1_PERIPH_ALL 0xFFFFFFFFU
  59. #define LL_AHB1_GRP1_PERIPH_GPIOA RCC_AHB1ENR_GPIOAEN
  60. #define LL_AHB1_GRP1_PERIPH_GPIOB RCC_AHB1ENR_GPIOBEN
  61. #define LL_AHB1_GRP1_PERIPH_GPIOC RCC_AHB1ENR_GPIOCEN
  62. #define LL_AHB1_GRP1_PERIPH_GPIOD RCC_AHB1ENR_GPIODEN
  63. #define LL_AHB1_GRP1_PERIPH_GPIOE RCC_AHB1ENR_GPIOEEN
  64. #define LL_AHB1_GRP1_PERIPH_GPIOF RCC_AHB1ENR_GPIOFEN
  65. #define LL_AHB1_GRP1_PERIPH_GPIOG RCC_AHB1ENR_GPIOGEN
  66. #define LL_AHB1_GRP1_PERIPH_GPIOH RCC_AHB1ENR_GPIOHEN
  67. #define LL_AHB1_GRP1_PERIPH_GPIOI RCC_AHB1ENR_GPIOIEN
  68. #if defined(GPIOJ)
  69. #define LL_AHB1_GRP1_PERIPH_GPIOJ RCC_AHB1ENR_GPIOJEN
  70. #endif /* GPIOJ */
  71. #if defined(GPIOK)
  72. #define LL_AHB1_GRP1_PERIPH_GPIOK RCC_AHB1ENR_GPIOKEN
  73. #endif /* GPIOK */
  74. #define LL_AHB1_GRP1_PERIPH_CRC RCC_AHB1ENR_CRCEN
  75. #define LL_AHB1_GRP1_PERIPH_BKPSRAM RCC_AHB1ENR_BKPSRAMEN
  76. #define LL_AHB1_GRP1_PERIPH_DTCMRAM RCC_AHB1ENR_DTCMRAMEN
  77. #define LL_AHB1_GRP1_PERIPH_DMA1 RCC_AHB1ENR_DMA1EN
  78. #define LL_AHB1_GRP1_PERIPH_DMA2 RCC_AHB1ENR_DMA2EN
  79. #if defined(DMA2D)
  80. #define LL_AHB1_GRP1_PERIPH_DMA2D RCC_AHB1ENR_DMA2DEN
  81. #endif /* DMA2D */
  82. #if defined(ETH)
  83. #define LL_AHB1_GRP1_PERIPH_ETHMAC RCC_AHB1ENR_ETHMACEN
  84. #define LL_AHB1_GRP1_PERIPH_ETHMACTX RCC_AHB1ENR_ETHMACTXEN
  85. #define LL_AHB1_GRP1_PERIPH_ETHMACRX RCC_AHB1ENR_ETHMACRXEN
  86. #define LL_AHB1_GRP1_PERIPH_ETHMACPTP RCC_AHB1ENR_ETHMACPTPEN
  87. #endif /* ETH */
  88. #define LL_AHB1_GRP1_PERIPH_OTGHS RCC_AHB1ENR_OTGHSEN
  89. #define LL_AHB1_GRP1_PERIPH_OTGHSULPI RCC_AHB1ENR_OTGHSULPIEN
  90. #define LL_AHB1_GRP1_PERIPH_AXI RCC_AHB1LPENR_AXILPEN
  91. #define LL_AHB1_GRP1_PERIPH_FLITF RCC_AHB1LPENR_FLITFLPEN
  92. #define LL_AHB1_GRP1_PERIPH_SRAM1 RCC_AHB1LPENR_SRAM1LPEN
  93. #define LL_AHB1_GRP1_PERIPH_SRAM2 RCC_AHB1LPENR_SRAM2LPEN
  94. /**
  95. * @}
  96. */
  97. /** @defgroup BUS_LL_EC_AHB2_GRP1_PERIPH AHB2 GRP1 PERIPH
  98. * @{
  99. */
  100. #define LL_AHB2_GRP1_PERIPH_ALL 0xFFFFFFFFU
  101. #if defined(DCMI)
  102. #define LL_AHB2_GRP1_PERIPH_DCMI RCC_AHB2ENR_DCMIEN
  103. #endif /* DCMI */
  104. #if defined(JPEG)
  105. #define LL_AHB2_GRP1_PERIPH_JPEG RCC_AHB2ENR_JPEGEN
  106. #endif /* JPEG */
  107. #if defined(CRYP)
  108. #define LL_AHB2_GRP1_PERIPH_CRYP RCC_AHB2ENR_CRYPEN
  109. #endif /* CRYP */
  110. #if defined(AES)
  111. #define LL_AHB2_GRP1_PERIPH_AES RCC_AHB2ENR_AESEN
  112. #endif /* AES */
  113. #if defined(HASH)
  114. #define LL_AHB2_GRP1_PERIPH_HASH RCC_AHB2ENR_HASHEN
  115. #endif /* HASH */
  116. #define LL_AHB2_GRP1_PERIPH_RNG RCC_AHB2ENR_RNGEN
  117. #define LL_AHB2_GRP1_PERIPH_OTGFS RCC_AHB2ENR_OTGFSEN
  118. /**
  119. * @}
  120. */
  121. /** @defgroup BUS_LL_EC_AHB3_GRP1_PERIPH AHB3 GRP1 PERIPH
  122. * @{
  123. */
  124. #define LL_AHB3_GRP1_PERIPH_ALL 0xFFFFFFFFU
  125. #define LL_AHB3_GRP1_PERIPH_FMC RCC_AHB3ENR_FMCEN
  126. #define LL_AHB3_GRP1_PERIPH_QSPI RCC_AHB3ENR_QSPIEN
  127. /**
  128. * @}
  129. */
  130. /** @defgroup BUS_LL_EC_APB1_GRP1_PERIPH APB1 GRP1 PERIPH
  131. * @{
  132. */
  133. #define LL_APB1_GRP1_PERIPH_ALL 0xFFFFFFFFU
  134. #define LL_APB1_GRP1_PERIPH_TIM2 RCC_APB1ENR_TIM2EN
  135. #define LL_APB1_GRP1_PERIPH_TIM3 RCC_APB1ENR_TIM3EN
  136. #define LL_APB1_GRP1_PERIPH_TIM4 RCC_APB1ENR_TIM4EN
  137. #define LL_APB1_GRP1_PERIPH_TIM5 RCC_APB1ENR_TIM5EN
  138. #define LL_APB1_GRP1_PERIPH_TIM6 RCC_APB1ENR_TIM6EN
  139. #define LL_APB1_GRP1_PERIPH_TIM7 RCC_APB1ENR_TIM7EN
  140. #define LL_APB1_GRP1_PERIPH_TIM12 RCC_APB1ENR_TIM12EN
  141. #define LL_APB1_GRP1_PERIPH_TIM13 RCC_APB1ENR_TIM13EN
  142. #define LL_APB1_GRP1_PERIPH_TIM14 RCC_APB1ENR_TIM14EN
  143. #define LL_APB1_GRP1_PERIPH_LPTIM1 RCC_APB1ENR_LPTIM1EN
  144. #define LL_APB1_GRP1_PERIPH_WWDG RCC_APB1ENR_WWDGEN
  145. #define LL_APB1_GRP1_PERIPH_SPI2 RCC_APB1ENR_SPI2EN
  146. #define LL_APB1_GRP1_PERIPH_SPI3 RCC_APB1ENR_SPI3EN
  147. #if defined(SPDIFRX)
  148. #define LL_APB1_GRP1_PERIPH_SPDIFRX RCC_APB1ENR_SPDIFRXEN
  149. #endif /* SPDIFRX */
  150. #define LL_APB1_GRP1_PERIPH_USART2 RCC_APB1ENR_USART2EN
  151. #define LL_APB1_GRP1_PERIPH_USART3 RCC_APB1ENR_USART3EN
  152. #define LL_APB1_GRP1_PERIPH_UART4 RCC_APB1ENR_UART4EN
  153. #define LL_APB1_GRP1_PERIPH_UART5 RCC_APB1ENR_UART5EN
  154. #define LL_APB1_GRP1_PERIPH_I2C1 RCC_APB1ENR_I2C1EN
  155. #define LL_APB1_GRP1_PERIPH_I2C2 RCC_APB1ENR_I2C2EN
  156. #define LL_APB1_GRP1_PERIPH_I2C3 RCC_APB1ENR_I2C3EN
  157. #if defined(I2C4)
  158. #define LL_APB1_GRP1_PERIPH_I2C4 RCC_APB1ENR_I2C4EN
  159. #endif /* I2C4 */
  160. #define LL_APB1_GRP1_PERIPH_CAN1 RCC_APB1ENR_CAN1EN
  161. #if defined(CAN2)
  162. #define LL_APB1_GRP1_PERIPH_CAN2 RCC_APB1ENR_CAN2EN
  163. #endif /* CAN2 */
  164. #if defined(CAN3)
  165. #define LL_APB1_GRP1_PERIPH_CAN3 RCC_APB1ENR_CAN3EN
  166. #endif /* CAN3 */
  167. #if defined(CEC)
  168. #define LL_APB1_GRP1_PERIPH_CEC RCC_APB1ENR_CECEN
  169. #endif /* CEC */
  170. #define LL_APB1_GRP1_PERIPH_PWR RCC_APB1ENR_PWREN
  171. #define LL_APB1_GRP1_PERIPH_DAC1 RCC_APB1ENR_DACEN
  172. #define LL_APB1_GRP1_PERIPH_UART7 RCC_APB1ENR_UART7EN
  173. #define LL_APB1_GRP1_PERIPH_UART8 RCC_APB1ENR_UART8EN
  174. #if defined(RCC_APB1ENR_RTCEN)
  175. #define LL_APB1_GRP1_PERIPH_RTCAPB RCC_APB1ENR_RTCEN
  176. #endif /* RCC_APB1ENR_RTCEN */
  177. /**
  178. * @}
  179. */
  180. /** @defgroup BUS_LL_EC_APB2_GRP1_PERIPH APB2 GRP1 PERIPH
  181. * @{
  182. */
  183. #define LL_APB2_GRP1_PERIPH_ALL 0xFFFFFFFFU
  184. #define LL_APB2_GRP1_PERIPH_TIM1 RCC_APB2ENR_TIM1EN
  185. #define LL_APB2_GRP1_PERIPH_TIM8 RCC_APB2ENR_TIM8EN
  186. #define LL_APB2_GRP1_PERIPH_USART1 RCC_APB2ENR_USART1EN
  187. #define LL_APB2_GRP1_PERIPH_USART6 RCC_APB2ENR_USART6EN
  188. #define LL_APB2_GRP1_PERIPH_ADC1 RCC_APB2ENR_ADC1EN
  189. #define LL_APB2_GRP1_PERIPH_ADC2 RCC_APB2ENR_ADC2EN
  190. #define LL_APB2_GRP1_PERIPH_ADC3 RCC_APB2ENR_ADC3EN
  191. #define LL_APB2_GRP1_PERIPH_SDMMC1 RCC_APB2ENR_SDMMC1EN
  192. #if defined(SDMMC2)
  193. #define LL_APB2_GRP1_PERIPH_SDMMC2 RCC_APB2ENR_SDMMC2EN
  194. #endif /* SDMMC2 */
  195. #define LL_APB2_GRP1_PERIPH_SPI1 RCC_APB2ENR_SPI1EN
  196. #define LL_APB2_GRP1_PERIPH_SPI4 RCC_APB2ENR_SPI4EN
  197. #define LL_APB2_GRP1_PERIPH_SYSCFG RCC_APB2ENR_SYSCFGEN
  198. #define LL_APB2_GRP1_PERIPH_TIM9 RCC_APB2ENR_TIM9EN
  199. #define LL_APB2_GRP1_PERIPH_TIM10 RCC_APB2ENR_TIM10EN
  200. #define LL_APB2_GRP1_PERIPH_TIM11 RCC_APB2ENR_TIM11EN
  201. #define LL_APB2_GRP1_PERIPH_SPI5 RCC_APB2ENR_SPI5EN
  202. #if defined(SPI6)
  203. #define LL_APB2_GRP1_PERIPH_SPI6 RCC_APB2ENR_SPI6EN
  204. #endif /* SPI6 */
  205. #define LL_APB2_GRP1_PERIPH_SAI1 RCC_APB2ENR_SAI1EN
  206. #define LL_APB2_GRP1_PERIPH_SAI2 RCC_APB2ENR_SAI2EN
  207. #if defined(LTDC)
  208. #define LL_APB2_GRP1_PERIPH_LTDC RCC_APB2ENR_LTDCEN
  209. #endif /* LTDC */
  210. #if defined(DSI)
  211. #define LL_APB2_GRP1_PERIPH_DSI RCC_APB2ENR_DSIEN
  212. #endif /* DSI */
  213. #if defined(DFSDM1_Channel0)
  214. #define LL_APB2_GRP1_PERIPH_DFSDM1 RCC_APB2ENR_DFSDM1EN
  215. #endif /* DFSDM1_Channel0 */
  216. #if defined(MDIOS)
  217. #define LL_APB2_GRP1_PERIPH_MDIO RCC_APB2ENR_MDIOEN
  218. #endif /* MDIOS */
  219. #if defined(USB_HS_PHYC)
  220. #define LL_APB2_GRP1_PERIPH_OTGPHYC RCC_APB2ENR_OTGPHYCEN
  221. #endif /* USB_HS_PHYC */
  222. #define LL_APB2_GRP1_PERIPH_ADC RCC_APB2RSTR_ADCRST
  223. /**
  224. * @}
  225. */
  226. /**
  227. * @}
  228. */
  229. /* Exported macro ------------------------------------------------------------*/
  230. /* Exported functions --------------------------------------------------------*/
  231. /** @defgroup BUS_LL_Exported_Functions BUS Exported Functions
  232. * @{
  233. */
  234. /** @defgroup BUS_LL_EF_AHB1 AHB1
  235. * @{
  236. */
  237. /**
  238. * @brief Enable AHB1 peripherals clock.
  239. * @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_EnableClock\n
  240. * AHB1ENR GPIOBEN LL_AHB1_GRP1_EnableClock\n
  241. * AHB1ENR GPIOCEN LL_AHB1_GRP1_EnableClock\n
  242. * AHB1ENR GPIODEN LL_AHB1_GRP1_EnableClock\n
  243. * AHB1ENR GPIOEEN LL_AHB1_GRP1_EnableClock\n
  244. * AHB1ENR GPIOFEN LL_AHB1_GRP1_EnableClock\n
  245. * AHB1ENR GPIOGEN LL_AHB1_GRP1_EnableClock\n
  246. * AHB1ENR GPIOHEN LL_AHB1_GRP1_EnableClock\n
  247. * AHB1ENR GPIOIEN LL_AHB1_GRP1_EnableClock\n
  248. * AHB1ENR GPIOJEN LL_AHB1_GRP1_EnableClock\n
  249. * AHB1ENR GPIOKEN LL_AHB1_GRP1_EnableClock\n
  250. * AHB1ENR CRCEN LL_AHB1_GRP1_EnableClock\n
  251. * AHB1ENR BKPSRAMEN LL_AHB1_GRP1_EnableClock\n
  252. * AHB1ENR DTCMRAMEN LL_AHB1_GRP1_EnableClock\n
  253. * AHB1ENR DMA1EN LL_AHB1_GRP1_EnableClock\n
  254. * AHB1ENR DMA2EN LL_AHB1_GRP1_EnableClock\n
  255. * AHB1ENR DMA2DEN LL_AHB1_GRP1_EnableClock\n
  256. * AHB1ENR ETHMACEN LL_AHB1_GRP1_EnableClock\n
  257. * AHB1ENR ETHMACTXEN LL_AHB1_GRP1_EnableClock\n
  258. * AHB1ENR ETHMACRXEN LL_AHB1_GRP1_EnableClock\n
  259. * AHB1ENR ETHMACPTPEN LL_AHB1_GRP1_EnableClock\n
  260. * AHB1ENR OTGHSEN LL_AHB1_GRP1_EnableClock\n
  261. * AHB1ENR OTGHSULPIEN LL_AHB1_GRP1_EnableClock
  262. * @param Periphs This parameter can be a combination of the following values:
  263. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA
  264. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB
  265. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC
  266. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD
  267. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE
  268. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF
  269. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG
  270. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH
  271. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI
  272. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*)
  273. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*)
  274. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC
  275. * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
  276. * @arg @ref LL_AHB1_GRP1_PERIPH_DTCMRAM
  277. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  278. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  279. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
  280. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*)
  281. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*)
  282. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*)
  283. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*)
  284. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS
  285. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI
  286. *
  287. * (*) value not defined in all devices.
  288. * @retval None
  289. */
  290. __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs)
  291. {
  292. __IO uint32_t tmpreg;
  293. SET_BIT(RCC->AHB1ENR, Periphs);
  294. /* Delay after an RCC peripheral clock enabling */
  295. tmpreg = READ_BIT(RCC->AHB1ENR, Periphs);
  296. (void)tmpreg;
  297. }
  298. /**
  299. * @brief Check if AHB1 peripheral clock is enabled or not
  300. * @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_IsEnabledClock\n
  301. * AHB1ENR GPIOBEN LL_AHB1_GRP1_IsEnabledClock\n
  302. * AHB1ENR GPIOCEN LL_AHB1_GRP1_IsEnabledClock\n
  303. * AHB1ENR GPIODEN LL_AHB1_GRP1_IsEnabledClock\n
  304. * AHB1ENR GPIOEEN LL_AHB1_GRP1_IsEnabledClock\n
  305. * AHB1ENR GPIOFEN LL_AHB1_GRP1_IsEnabledClock\n
  306. * AHB1ENR GPIOGEN LL_AHB1_GRP1_IsEnabledClock\n
  307. * AHB1ENR GPIOHEN LL_AHB1_GRP1_IsEnabledClock\n
  308. * AHB1ENR GPIOIEN LL_AHB1_GRP1_IsEnabledClock\n
  309. * AHB1ENR GPIOJEN LL_AHB1_GRP1_IsEnabledClock\n
  310. * AHB1ENR GPIOKEN LL_AHB1_GRP1_IsEnabledClock\n
  311. * AHB1ENR CRCEN LL_AHB1_GRP1_IsEnabledClock\n
  312. * AHB1ENR BKPSRAMEN LL_AHB1_GRP1_IsEnabledClock\n
  313. * AHB1ENR DTCMRAMEN LL_AHB1_GRP1_IsEnabledClock\n
  314. * AHB1ENR DMA1EN LL_AHB1_GRP1_IsEnabledClock\n
  315. * AHB1ENR DMA2EN LL_AHB1_GRP1_IsEnabledClock\n
  316. * AHB1ENR DMA2DEN LL_AHB1_GRP1_IsEnabledClock\n
  317. * AHB1ENR ETHMACEN LL_AHB1_GRP1_IsEnabledClock\n
  318. * AHB1ENR ETHMACTXEN LL_AHB1_GRP1_IsEnabledClock\n
  319. * AHB1ENR ETHMACRXEN LL_AHB1_GRP1_IsEnabledClock\n
  320. * AHB1ENR ETHMACPTPEN LL_AHB1_GRP1_IsEnabledClock\n
  321. * AHB1ENR OTGHSEN LL_AHB1_GRP1_IsEnabledClock\n
  322. * AHB1ENR OTGHSULPIENDEN LL_AHB1_GRP1_IsEnabledClock
  323. * @param Periphs This parameter can be a combination of the following values:
  324. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA
  325. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB
  326. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC
  327. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD
  328. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE
  329. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF
  330. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG
  331. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH
  332. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI
  333. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*)
  334. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*)
  335. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC
  336. * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
  337. * @arg @ref LL_AHB1_GRP1_PERIPH_DTCMRAM
  338. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  339. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  340. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
  341. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*)
  342. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*)
  343. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*)
  344. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*)
  345. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS
  346. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI
  347. *
  348. * (*) value not defined in all devices.
  349. * @retval State of Periphs (1 or 0).
  350. */
  351. __STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
  352. {
  353. return (READ_BIT(RCC->AHB1ENR, Periphs) == Periphs);
  354. }
  355. /**
  356. * @brief Disable AHB1 peripherals clock.
  357. * @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_DisableClock\n
  358. * AHB1ENR GPIOBEN LL_AHB1_GRP1_DisableClock\n
  359. * AHB1ENR GPIOCEN LL_AHB1_GRP1_DisableClock\n
  360. * AHB1ENR GPIODEN LL_AHB1_GRP1_DisableClock\n
  361. * AHB1ENR GPIOEEN LL_AHB1_GRP1_DisableClock\n
  362. * AHB1ENR GPIOFEN LL_AHB1_GRP1_DisableClock\n
  363. * AHB1ENR GPIOGEN LL_AHB1_GRP1_DisableClock\n
  364. * AHB1ENR GPIOHEN LL_AHB1_GRP1_DisableClock\n
  365. * AHB1ENR GPIOIEN LL_AHB1_GRP1_DisableClock\n
  366. * AHB1ENR GPIOJEN LL_AHB1_GRP1_DisableClock\n
  367. * AHB1ENR GPIOKEN LL_AHB1_GRP1_DisableClock\n
  368. * AHB1ENR CRCEN LL_AHB1_GRP1_DisableClock\n
  369. * AHB1ENR BKPSRAMEN LL_AHB1_GRP1_DisableClock\n
  370. * AHB1ENR DTCMRAMEN LL_AHB1_GRP1_DisableClock\n
  371. * AHB1ENR DMA1EN LL_AHB1_GRP1_DisableClock\n
  372. * AHB1ENR DMA2EN LL_AHB1_GRP1_DisableClock\n
  373. * AHB1ENR DMA2DEN LL_AHB1_GRP1_DisableClock\n
  374. * AHB1ENR ETHMACEN LL_AHB1_GRP1_DisableClock\n
  375. * AHB1ENR ETHMACTXEN LL_AHB1_GRP1_DisableClock\n
  376. * AHB1ENR ETHMACRXEN LL_AHB1_GRP1_DisableClock\n
  377. * AHB1ENR ETHMACPTPEN LL_AHB1_GRP1_DisableClock\n
  378. * AHB1ENR OTGHSEN LL_AHB1_GRP1_DisableClock\n
  379. * AHB1ENR OTGHSULPIENDEN LL_AHB1_GRP1_DisableClock
  380. * @param Periphs This parameter can be a combination of the following values:
  381. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA
  382. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB
  383. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC
  384. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD
  385. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE
  386. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF
  387. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG
  388. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH
  389. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI
  390. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*)
  391. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*)
  392. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC
  393. * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
  394. * @arg @ref LL_AHB1_GRP1_PERIPH_DTCMRAM
  395. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  396. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  397. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
  398. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*)
  399. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*)
  400. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*)
  401. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*)
  402. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS
  403. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI
  404. *
  405. * (*) value not defined in all devices.
  406. * @retval None
  407. */
  408. __STATIC_INLINE void LL_AHB1_GRP1_DisableClock(uint32_t Periphs)
  409. {
  410. CLEAR_BIT(RCC->AHB1ENR, Periphs);
  411. }
  412. /**
  413. * @brief Force AHB1 peripherals reset.
  414. * @rmtoll AHB1RSTR GPIOARST LL_AHB1_GRP1_ForceReset\n
  415. * AHB1RSTR GPIOBRST LL_AHB1_GRP1_ForceReset\n
  416. * AHB1RSTR GPIOCRST LL_AHB1_GRP1_ForceReset\n
  417. * AHB1RSTR GPIODRST LL_AHB1_GRP1_ForceReset\n
  418. * AHB1RSTR GPIOERST LL_AHB1_GRP1_ForceReset\n
  419. * AHB1RSTR GPIOFRST LL_AHB1_GRP1_ForceReset\n
  420. * AHB1RSTR GPIOGRST LL_AHB1_GRP1_ForceReset\n
  421. * AHB1RSTR GPIOHRST LL_AHB1_GRP1_ForceReset\n
  422. * AHB1RSTR GPIOIRST LL_AHB1_GRP1_ForceReset\n
  423. * AHB1RSTR GPIOJRST LL_AHB1_GRP1_ForceReset\n
  424. * AHB1RSTR GPIOKRST LL_AHB1_GRP1_ForceReset\n
  425. * AHB1RSTR CRCRST LL_AHB1_GRP1_ForceReset\n
  426. * AHB1RSTR DMA1RST LL_AHB1_GRP1_ForceReset\n
  427. * AHB1RSTR DMA2RST LL_AHB1_GRP1_ForceReset\n
  428. * AHB1RSTR DMA2DRST LL_AHB1_GRP1_ForceReset\n
  429. * AHB1RSTR ETHMACRST LL_AHB1_GRP1_ForceReset\n
  430. * AHB1RSTR OTGHSRST LL_AHB1_GRP1_ForceReset
  431. * @param Periphs This parameter can be a combination of the following values:
  432. * @arg @ref LL_AHB1_GRP1_PERIPH_ALL
  433. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA
  434. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB
  435. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC
  436. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD
  437. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE
  438. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF
  439. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG
  440. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH
  441. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI
  442. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*)
  443. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*)
  444. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC
  445. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  446. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  447. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
  448. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*)
  449. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS
  450. *
  451. * (*) value not defined in all devices.
  452. * @retval None
  453. */
  454. __STATIC_INLINE void LL_AHB1_GRP1_ForceReset(uint32_t Periphs)
  455. {
  456. SET_BIT(RCC->AHB1RSTR, Periphs);
  457. }
  458. /**
  459. * @brief Release AHB1 peripherals reset.
  460. * @rmtoll AHB1RSTR GPIOARST LL_AHB1_GRP1_ReleaseReset\n
  461. * AHB1RSTR GPIOBRST LL_AHB1_GRP1_ReleaseReset\n
  462. * AHB1RSTR GPIOCRST LL_AHB1_GRP1_ReleaseReset\n
  463. * AHB1RSTR GPIODRST LL_AHB1_GRP1_ReleaseReset\n
  464. * AHB1RSTR GPIOERST LL_AHB1_GRP1_ReleaseReset\n
  465. * AHB1RSTR GPIOFRST LL_AHB1_GRP1_ReleaseReset\n
  466. * AHB1RSTR GPIOGRST LL_AHB1_GRP1_ReleaseReset\n
  467. * AHB1RSTR GPIOHRST LL_AHB1_GRP1_ReleaseReset\n
  468. * AHB1RSTR GPIOIRST LL_AHB1_GRP1_ReleaseReset\n
  469. * AHB1RSTR GPIOJRST LL_AHB1_GRP1_ReleaseReset\n
  470. * AHB1RSTR GPIOKRST LL_AHB1_GRP1_ReleaseReset\n
  471. * AHB1RSTR CRCRST LL_AHB1_GRP1_ReleaseReset\n
  472. * AHB1RSTR DMA1RST LL_AHB1_GRP1_ReleaseReset\n
  473. * AHB1RSTR DMA2RST LL_AHB1_GRP1_ReleaseReset\n
  474. * AHB1RSTR DMA2DRST LL_AHB1_GRP1_ReleaseReset\n
  475. * AHB1RSTR ETHMACRST LL_AHB1_GRP1_ReleaseReset\n
  476. * AHB1RSTR OTGHSRST LL_AHB1_GRP1_ReleaseReset
  477. * @param Periphs This parameter can be a combination of the following values:
  478. * @arg @ref LL_AHB1_GRP1_PERIPH_ALL
  479. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA
  480. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB
  481. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC
  482. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD
  483. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE
  484. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF
  485. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG
  486. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH
  487. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI
  488. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*)
  489. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*)
  490. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC
  491. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  492. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  493. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
  494. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*)
  495. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS
  496. *
  497. * (*) value not defined in all devices.
  498. * @retval None
  499. */
  500. __STATIC_INLINE void LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)
  501. {
  502. CLEAR_BIT(RCC->AHB1RSTR, Periphs);
  503. }
  504. /**
  505. * @brief Enable AHB1 peripheral clocks in low-power mode
  506. * @rmtoll AHB1LPENR GPIOALPEN LL_AHB1_GRP1_EnableClockLowPower\n
  507. * AHB1LPENR GPIOBLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  508. * AHB1LPENR GPIOCLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  509. * AHB1LPENR GPIODLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  510. * AHB1LPENR GPIOELPEN LL_AHB1_GRP1_EnableClockLowPower\n
  511. * AHB1LPENR GPIOFLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  512. * AHB1LPENR GPIOGLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  513. * AHB1LPENR GPIOHLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  514. * AHB1LPENR GPIOILPEN LL_AHB1_GRP1_EnableClockLowPower\n
  515. * AHB1LPENR GPIOJLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  516. * AHB1LPENR GPIOKLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  517. * AHB1LPENR CRCLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  518. * AHB1LPENR AXILPEN LL_AHB1_GRP1_EnableClockLowPower\n
  519. * AHB1LPENR FLITFLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  520. * AHB1LPENR SRAM1LPEN LL_AHB1_GRP1_EnableClockLowPower\n
  521. * AHB1LPENR SRAM2LPEN LL_AHB1_GRP1_EnableClockLowPower\n
  522. * AHB1LPENR BKPSRAMLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  523. * AHB1LPENR DTCMRAMLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  524. * AHB1LPENR DMA1LPEN LL_AHB1_GRP1_EnableClockLowPower\n
  525. * AHB1LPENR DMA2LPEN LL_AHB1_GRP1_EnableClockLowPower\n
  526. * AHB1LPENR DMA2DLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  527. * AHB1LPENR ETHMACLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  528. * AHB1LPENR ETHMACTXLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  529. * AHB1LPENR ETHMACRXLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  530. * AHB1LPENR ETHMACPTPLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  531. * AHB1LPENR OTGHSLPEN LL_AHB1_GRP1_EnableClockLowPower\n
  532. * AHB1LPENR OTGHSULPILPEN LL_AHB1_GRP1_EnableClockLowPower
  533. * @param Periphs This parameter can be a combination of the following values:
  534. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA
  535. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB
  536. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC
  537. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD
  538. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE
  539. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF
  540. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG
  541. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH
  542. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI
  543. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*)
  544. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*)
  545. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC
  546. * @arg @ref LL_AHB1_GRP1_PERIPH_AXI
  547. * @arg @ref LL_AHB1_GRP1_PERIPH_FLITF
  548. * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1
  549. * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM2
  550. * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
  551. * @arg @ref LL_AHB1_GRP1_PERIPH_DTCMRAM
  552. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  553. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  554. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
  555. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*)
  556. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*)
  557. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*)
  558. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*)
  559. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS
  560. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI
  561. *
  562. * (*) value not defined in all devices.
  563. * @retval None
  564. */
  565. __STATIC_INLINE void LL_AHB1_GRP1_EnableClockLowPower(uint32_t Periphs)
  566. {
  567. __IO uint32_t tmpreg;
  568. SET_BIT(RCC->AHB1LPENR, Periphs);
  569. /* Delay after an RCC peripheral clock enabling */
  570. tmpreg = READ_BIT(RCC->AHB1LPENR, Periphs);
  571. (void)tmpreg;
  572. }
  573. /**
  574. * @brief Disable AHB1 peripheral clocks in low-power mode
  575. * @rmtoll AHB1LPENR GPIOALPEN LL_AHB1_GRP1_DisableClockLowPower\n
  576. * AHB1LPENR GPIOBLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  577. * AHB1LPENR GPIOCLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  578. * AHB1LPENR GPIODLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  579. * AHB1LPENR GPIOELPEN LL_AHB1_GRP1_DisableClockLowPower\n
  580. * AHB1LPENR GPIOFLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  581. * AHB1LPENR GPIOGLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  582. * AHB1LPENR GPIOHLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  583. * AHB1LPENR GPIOILPEN LL_AHB1_GRP1_DisableClockLowPower\n
  584. * AHB1LPENR GPIOJLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  585. * AHB1LPENR GPIOKLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  586. * AHB1LPENR CRCLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  587. * AHB1LPENR AXILPEN LL_AHB1_GRP1_DisableClockLowPower\n
  588. * AHB1LPENR FLITFLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  589. * AHB1LPENR SRAM1LPEN LL_AHB1_GRP1_DisableClockLowPower\n
  590. * AHB1LPENR SRAM2LPEN LL_AHB1_GRP1_DisableClockLowPower\n
  591. * AHB1LPENR BKPSRAMLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  592. * AHB1LPENR DTCMRAMLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  593. * AHB1LPENR DMA1LPEN LL_AHB1_GRP1_DisableClockLowPower\n
  594. * AHB1LPENR DMA2LPEN LL_AHB1_GRP1_DisableClockLowPower\n
  595. * AHB1LPENR DMA2DLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  596. * AHB1LPENR ETHMACLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  597. * AHB1LPENR ETHMACTXLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  598. * AHB1LPENR ETHMACRXLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  599. * AHB1LPENR ETHMACPTPLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  600. * AHB1LPENR OTGHSLPEN LL_AHB1_GRP1_DisableClockLowPower\n
  601. * AHB1LPENR OTGHSULPILPEN LL_AHB1_GRP1_DisableClockLowPower
  602. * @param Periphs This parameter can be a combination of the following values:
  603. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA
  604. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB
  605. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC
  606. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOD
  607. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOE
  608. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOF
  609. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOG
  610. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOH
  611. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOI
  612. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOJ (*)
  613. * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOK (*)
  614. * @arg @ref LL_AHB1_GRP1_PERIPH_CRC
  615. * @arg @ref LL_AHB1_GRP1_PERIPH_AXI
  616. * @arg @ref LL_AHB1_GRP1_PERIPH_FLITF
  617. * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM1
  618. * @arg @ref LL_AHB1_GRP1_PERIPH_SRAM2
  619. * @arg @ref LL_AHB1_GRP1_PERIPH_BKPSRAM
  620. * @arg @ref LL_AHB1_GRP1_PERIPH_DTCMRAM
  621. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1
  622. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2
  623. * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*)
  624. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*)
  625. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*)
  626. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*)
  627. * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACPTP (*)
  628. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHS
  629. * @arg @ref LL_AHB1_GRP1_PERIPH_OTGHSULPI
  630. *
  631. * (*) value not defined in all devices.
  632. * @retval None
  633. */
  634. __STATIC_INLINE void LL_AHB1_GRP1_DisableClockLowPower(uint32_t Periphs)
  635. {
  636. CLEAR_BIT(RCC->AHB1LPENR, Periphs);
  637. }
  638. /**
  639. * @}
  640. */
  641. /** @defgroup BUS_LL_EF_AHB2 AHB2
  642. * @{
  643. */
  644. /**
  645. * @brief Enable AHB2 peripherals clock.
  646. * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_EnableClock\n
  647. * AHB2ENR JPEGEN LL_AHB2_GRP1_EnableClock\n
  648. * AHB2ENR CRYPEN LL_AHB2_GRP1_EnableClock\n
  649. * AHB2ENR AESEN LL_AHB2_GRP1_EnableClock\n
  650. * AHB2ENR HASHEN LL_AHB2_GRP1_EnableClock\n
  651. * AHB2ENR RNGEN LL_AHB2_GRP1_EnableClock\n
  652. * AHB2ENR OTGFSEN LL_AHB2_GRP1_EnableClock
  653. * @param Periphs This parameter can be a combination of the following values:
  654. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*)
  655. * @arg @ref LL_AHB2_GRP1_PERIPH_JPEG (*)
  656. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  657. * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*)
  658. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  659. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  660. * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS
  661. *
  662. * (*) value not defined in all devices.
  663. * @retval None
  664. */
  665. __STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs)
  666. {
  667. __IO uint32_t tmpreg;
  668. SET_BIT(RCC->AHB2ENR, Periphs);
  669. /* Delay after an RCC peripheral clock enabling */
  670. tmpreg = READ_BIT(RCC->AHB2ENR, Periphs);
  671. (void)tmpreg;
  672. }
  673. /**
  674. * @brief Check if AHB2 peripheral clock is enabled or not
  675. * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_IsEnabledClock\n
  676. * AHB2ENR JPEGEN LL_AHB2_GRP1_IsEnabledClock\n
  677. * AHB2ENR CRYPEN LL_AHB2_GRP1_IsEnabledClock\n
  678. * AHB2ENR AESEN LL_AHB2_GRP1_IsEnabledClock\n
  679. * AHB2ENR HASHEN LL_AHB2_GRP1_IsEnabledClock\n
  680. * AHB2ENR RNGEN LL_AHB2_GRP1_IsEnabledClock\n
  681. * AHB2ENR OTGFSEN LL_AHB2_GRP1_IsEnabledClock
  682. * @param Periphs This parameter can be a combination of the following values:
  683. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*)
  684. * @arg @ref LL_AHB2_GRP1_PERIPH_JPEG (*)
  685. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  686. * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*)
  687. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  688. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  689. * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS
  690. *
  691. * (*) value not defined in all devices.
  692. * @retval State of Periphs (1 or 0).
  693. */
  694. __STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
  695. {
  696. return (READ_BIT(RCC->AHB2ENR, Periphs) == Periphs);
  697. }
  698. /**
  699. * @brief Disable AHB2 peripherals clock.
  700. * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_DisableClock\n
  701. * AHB2ENR JPEGEN LL_AHB2_GRP1_DisableClock\n
  702. * AHB2ENR CRYPEN LL_AHB2_GRP1_DisableClock\n
  703. * AHB2ENR AESEN LL_AHB2_GRP1_DisableClock\n
  704. * AHB2ENR HASHEN LL_AHB2_GRP1_DisableClock\n
  705. * AHB2ENR RNGEN LL_AHB2_GRP1_DisableClock\n
  706. * AHB2ENR OTGFSEN LL_AHB2_GRP1_DisableClock
  707. * @param Periphs This parameter can be a combination of the following values:
  708. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*)
  709. * @arg @ref LL_AHB2_GRP1_PERIPH_JPEG (*)
  710. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  711. * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*)
  712. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  713. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  714. * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS
  715. *
  716. * (*) value not defined in all devices.
  717. * @retval None
  718. */
  719. __STATIC_INLINE void LL_AHB2_GRP1_DisableClock(uint32_t Periphs)
  720. {
  721. CLEAR_BIT(RCC->AHB2ENR, Periphs);
  722. }
  723. /**
  724. * @brief Force AHB2 peripherals reset.
  725. * @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ForceReset\n
  726. * AHB2RSTR JPEGRST LL_AHB2_GRP1_ForceReset\n
  727. * AHB2RSTR CRYPRST LL_AHB2_GRP1_ForceReset\n
  728. * AHB2RSTR AESRST LL_AHB2_GRP1_ForceReset\n
  729. * AHB2RSTR HASHRST LL_AHB2_GRP1_ForceReset\n
  730. * AHB2RSTR RNGRST LL_AHB2_GRP1_ForceReset\n
  731. * AHB2RSTR OTGFSRST LL_AHB2_GRP1_ForceReset
  732. * @param Periphs This parameter can be a combination of the following values:
  733. * @arg @ref LL_AHB2_GRP1_PERIPH_ALL
  734. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*)
  735. * @arg @ref LL_AHB2_GRP1_PERIPH_JPEG (*)
  736. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  737. * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*)
  738. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  739. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  740. * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS
  741. *
  742. * (*) value not defined in all devices.
  743. * @retval None
  744. */
  745. __STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs)
  746. {
  747. SET_BIT(RCC->AHB2RSTR, Periphs);
  748. }
  749. /**
  750. * @brief Release AHB2 peripherals reset.
  751. * @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ReleaseReset\n
  752. * AHB2RSTR JPEGRST LL_AHB2_GRP1_ReleaseReset\n
  753. * AHB2RSTR CRYPRST LL_AHB2_GRP1_ReleaseReset\n
  754. * AHB2RSTR AESRST LL_AHB2_GRP1_ReleaseReset\n
  755. * AHB2RSTR HASHRST LL_AHB2_GRP1_ReleaseReset\n
  756. * AHB2RSTR RNGRST LL_AHB2_GRP1_ReleaseReset\n
  757. * AHB2RSTR OTGFSRST LL_AHB2_GRP1_ReleaseReset
  758. * @param Periphs This parameter can be a combination of the following values:
  759. * @arg @ref LL_AHB2_GRP1_PERIPH_ALL
  760. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*)
  761. * @arg @ref LL_AHB2_GRP1_PERIPH_JPEG (*)
  762. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  763. * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*)
  764. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  765. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  766. * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS
  767. *
  768. * (*) value not defined in all devices.
  769. * @retval None
  770. */
  771. __STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)
  772. {
  773. CLEAR_BIT(RCC->AHB2RSTR, Periphs);
  774. }
  775. /**
  776. * @brief Enable AHB2 peripheral clocks in low-power mode
  777. * @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_EnableClockLowPower\n
  778. * AHB2LPENR JPEGLPEN LL_AHB2_GRP1_EnableClockLowPower\n
  779. * AHB2LPENR CRYPLPEN LL_AHB2_GRP1_EnableClockLowPower\n
  780. * AHB2LPENR AESLPEN LL_AHB2_GRP1_EnableClockLowPower\n
  781. * AHB2LPENR HASHLPEN LL_AHB2_GRP1_EnableClockLowPower\n
  782. * AHB2LPENR RNGLPEN LL_AHB2_GRP1_EnableClockLowPower\n
  783. * AHB2LPENR OTGFSLPEN LL_AHB2_GRP1_EnableClockLowPower
  784. * @param Periphs This parameter can be a combination of the following values:
  785. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*)
  786. * @arg @ref LL_AHB2_GRP1_PERIPH_JPEG (*)
  787. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  788. * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*)
  789. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  790. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  791. * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS
  792. *
  793. * (*) value not defined in all devices.
  794. * @retval None
  795. */
  796. __STATIC_INLINE void LL_AHB2_GRP1_EnableClockLowPower(uint32_t Periphs)
  797. {
  798. __IO uint32_t tmpreg;
  799. SET_BIT(RCC->AHB2LPENR, Periphs);
  800. /* Delay after an RCC peripheral clock enabling */
  801. tmpreg = READ_BIT(RCC->AHB2LPENR, Periphs);
  802. (void)tmpreg;
  803. }
  804. /**
  805. * @brief Disable AHB2 peripheral clocks in low-power mode
  806. * @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_DisableClockLowPower\n
  807. * AHB2LPENR JPEGLPEN LL_AHB2_GRP1_DisableClockLowPower\n
  808. * AHB2LPENR CRYPLPEN LL_AHB2_GRP1_DisableClockLowPower\n
  809. * AHB2LPENR AESLPEN LL_AHB2_GRP1_DisableClockLowPower\n
  810. * AHB2LPENR HASHLPEN LL_AHB2_GRP1_DisableClockLowPower\n
  811. * AHB2LPENR RNGLPEN LL_AHB2_GRP1_DisableClockLowPower\n
  812. * AHB2LPENR OTGFSLPEN LL_AHB2_GRP1_DisableClockLowPower
  813. * @param Periphs This parameter can be a combination of the following values:
  814. * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*)
  815. * @arg @ref LL_AHB2_GRP1_PERIPH_JPEG (*)
  816. * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*)
  817. * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*)
  818. * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*)
  819. * @arg @ref LL_AHB2_GRP1_PERIPH_RNG
  820. * @arg @ref LL_AHB2_GRP1_PERIPH_OTGFS
  821. *
  822. * (*) value not defined in all devices.
  823. * @retval None
  824. */
  825. __STATIC_INLINE void LL_AHB2_GRP1_DisableClockLowPower(uint32_t Periphs)
  826. {
  827. CLEAR_BIT(RCC->AHB2LPENR, Periphs);
  828. }
  829. /**
  830. * @}
  831. */
  832. /** @defgroup BUS_LL_EF_AHB3 AHB3
  833. * @{
  834. */
  835. /**
  836. * @brief Enable AHB3 peripherals clock.
  837. * @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_EnableClock\n
  838. * AHB3ENR QSPIEN LL_AHB3_GRP1_EnableClock
  839. * @param Periphs This parameter can be a combination of the following values:
  840. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*)
  841. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  842. *
  843. * (*) value not defined in all devices.
  844. * @retval None
  845. */
  846. __STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs)
  847. {
  848. __IO uint32_t tmpreg;
  849. SET_BIT(RCC->AHB3ENR, Periphs);
  850. /* Delay after an RCC peripheral clock enabling */
  851. tmpreg = READ_BIT(RCC->AHB3ENR, Periphs);
  852. (void)tmpreg;
  853. }
  854. /**
  855. * @brief Check if AHB3 peripheral clock is enabled or not
  856. * @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_IsEnabledClock\n
  857. * AHB3ENR QSPIEN LL_AHB3_GRP1_IsEnabledClock
  858. * @param Periphs This parameter can be a combination of the following values:
  859. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*)
  860. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  861. *
  862. * (*) value not defined in all devices.
  863. * @retval State of Periphs (1 or 0).
  864. */
  865. __STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
  866. {
  867. return (READ_BIT(RCC->AHB3ENR, Periphs) == Periphs);
  868. }
  869. /**
  870. * @brief Disable AHB3 peripherals clock.
  871. * @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_DisableClock\n
  872. * AHB3ENR QSPIEN LL_AHB3_GRP1_DisableClock
  873. * @param Periphs This parameter can be a combination of the following values:
  874. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*)
  875. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  876. *
  877. * (*) value not defined in all devices.
  878. * @retval None
  879. */
  880. __STATIC_INLINE void LL_AHB3_GRP1_DisableClock(uint32_t Periphs)
  881. {
  882. CLEAR_BIT(RCC->AHB3ENR, Periphs);
  883. }
  884. /**
  885. * @brief Force AHB3 peripherals reset.
  886. * @rmtoll AHB3RSTR FMCRST LL_AHB3_GRP1_ForceReset\n
  887. * AHB3RSTR QSPIRST LL_AHB3_GRP1_ForceReset
  888. * @param Periphs This parameter can be a combination of the following values:
  889. * @arg @ref LL_AHB3_GRP1_PERIPH_ALL
  890. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*)
  891. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  892. *
  893. * (*) value not defined in all devices.
  894. * @retval None
  895. */
  896. __STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs)
  897. {
  898. SET_BIT(RCC->AHB3RSTR, Periphs);
  899. }
  900. /**
  901. * @brief Release AHB3 peripherals reset.
  902. * @rmtoll AHB3RSTR FMCRST LL_AHB3_GRP1_ReleaseReset\n
  903. * AHB3RSTR QSPIRST LL_AHB3_GRP1_ReleaseReset
  904. * @param Periphs This parameter can be a combination of the following values:
  905. * @arg @ref LL_AHB2_GRP1_PERIPH_ALL
  906. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*)
  907. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  908. *
  909. * (*) value not defined in all devices.
  910. * @retval None
  911. */
  912. __STATIC_INLINE void LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)
  913. {
  914. CLEAR_BIT(RCC->AHB3RSTR, Periphs);
  915. }
  916. /**
  917. * @brief Enable AHB3 peripheral clocks in low-power mode
  918. * @rmtoll AHB3LPENR FMCLPEN LL_AHB3_GRP1_EnableClockLowPower\n
  919. * AHB3LPENR QSPILPEN LL_AHB3_GRP1_EnableClockLowPower
  920. * @param Periphs This parameter can be a combination of the following values:
  921. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*)
  922. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  923. *
  924. * (*) value not defined in all devices.
  925. * @retval None
  926. */
  927. __STATIC_INLINE void LL_AHB3_GRP1_EnableClockLowPower(uint32_t Periphs)
  928. {
  929. __IO uint32_t tmpreg;
  930. SET_BIT(RCC->AHB3LPENR, Periphs);
  931. /* Delay after an RCC peripheral clock enabling */
  932. tmpreg = READ_BIT(RCC->AHB3LPENR, Periphs);
  933. (void)tmpreg;
  934. }
  935. /**
  936. * @brief Disable AHB3 peripheral clocks in low-power mode
  937. * @rmtoll AHB3LPENR FMCLPEN LL_AHB3_GRP1_DisableClockLowPower\n
  938. * AHB3LPENR QSPILPEN LL_AHB3_GRP1_DisableClockLowPower
  939. * @param Periphs This parameter can be a combination of the following values:
  940. * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*)
  941. * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI
  942. *
  943. * (*) value not defined in all devices.
  944. * @retval None
  945. */
  946. __STATIC_INLINE void LL_AHB3_GRP1_DisableClockLowPower(uint32_t Periphs)
  947. {
  948. CLEAR_BIT(RCC->AHB3LPENR, Periphs);
  949. }
  950. /**
  951. * @}
  952. */
  953. /** @defgroup BUS_LL_EF_APB1 APB1
  954. * @{
  955. */
  956. /**
  957. * @brief Enable APB1 peripherals clock.
  958. * @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_EnableClock\n
  959. * APB1ENR TIM3EN LL_APB1_GRP1_EnableClock\n
  960. * APB1ENR TIM4EN LL_APB1_GRP1_EnableClock\n
  961. * APB1ENR TIM5EN LL_APB1_GRP1_EnableClock\n
  962. * APB1ENR TIM6EN LL_APB1_GRP1_EnableClock\n
  963. * APB1ENR TIM7EN LL_APB1_GRP1_EnableClock\n
  964. * APB1ENR TIM12EN LL_APB1_GRP1_EnableClock\n
  965. * APB1ENR TIM13EN LL_APB1_GRP1_EnableClock\n
  966. * APB1ENR TIM14EN LL_APB1_GRP1_EnableClock\n
  967. * APB1ENR LPTIM1EN LL_APB1_GRP1_EnableClock\n
  968. * APB1ENR WWDGEN LL_APB1_GRP1_EnableClock\n
  969. * APB1ENR SPI2EN LL_APB1_GRP1_EnableClock\n
  970. * APB1ENR SPI3EN LL_APB1_GRP1_EnableClock\n
  971. * APB1ENR SPDIFRXEN LL_APB1_GRP1_EnableClock\n
  972. * APB1ENR USART2EN LL_APB1_GRP1_EnableClock\n
  973. * APB1ENR USART3EN LL_APB1_GRP1_EnableClock\n
  974. * APB1ENR UART4EN LL_APB1_GRP1_EnableClock\n
  975. * APB1ENR UART5EN LL_APB1_GRP1_EnableClock\n
  976. * APB1ENR I2C1EN LL_APB1_GRP1_EnableClock\n
  977. * APB1ENR I2C2EN LL_APB1_GRP1_EnableClock\n
  978. * APB1ENR I2C3EN LL_APB1_GRP1_EnableClock\n
  979. * APB1ENR I2C4EN LL_APB1_GRP1_EnableClock\n
  980. * APB1ENR CAN1EN LL_APB1_GRP1_EnableClock\n
  981. * APB1ENR CAN2EN LL_APB1_GRP1_EnableClock\n
  982. * APB1ENR CAN3EN LL_APB1_GRP1_EnableClock\n
  983. * APB1ENR CECEN LL_APB1_GRP1_EnableClock\n
  984. * APB1ENR PWREN LL_APB1_GRP1_EnableClock\n
  985. * APB1ENR DACEN LL_APB1_GRP1_EnableClock\n
  986. * APB1ENR UART7EN LL_APB1_GRP1_EnableClock\n
  987. * APB1ENR UART8EN LL_APB1_GRP1_EnableClock\n
  988. * APB1ENR RTCEN LL_APB1_GRP1_EnableClock
  989. * @param Periphs This parameter can be a combination of the following values:
  990. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  991. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  992. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  993. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  994. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  995. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  996. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  997. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  998. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  999. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1000. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
  1001. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1002. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1003. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*)
  1004. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1005. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1006. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1007. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1008. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1009. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1010. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1011. * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*)
  1012. * @arg @ref LL_APB1_GRP1_PERIPH_CAN1
  1013. * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*)
  1014. * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*)
  1015. * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*)
  1016. * @arg @ref LL_APB1_GRP1_PERIPH_PWR
  1017. * @arg @ref LL_APB1_GRP1_PERIPH_DAC1
  1018. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1019. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1020. * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*)
  1021. *
  1022. * (*) value not defined in all devices.
  1023. * @retval None
  1024. */
  1025. __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs)
  1026. {
  1027. __IO uint32_t tmpreg;
  1028. SET_BIT(RCC->APB1ENR, Periphs);
  1029. /* Delay after an RCC peripheral clock enabling */
  1030. tmpreg = READ_BIT(RCC->APB1ENR, Periphs);
  1031. (void)tmpreg;
  1032. }
  1033. /**
  1034. * @brief Check if APB1 peripheral clock is enabled or not
  1035. * @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_IsEnabledClock\n
  1036. * APB1ENR TIM3EN LL_APB1_GRP1_IsEnabledClock\n
  1037. * APB1ENR TIM4EN LL_APB1_GRP1_IsEnabledClock\n
  1038. * APB1ENR TIM5EN LL_APB1_GRP1_IsEnabledClock\n
  1039. * APB1ENR TIM6EN LL_APB1_GRP1_IsEnabledClock\n
  1040. * APB1ENR TIM7EN LL_APB1_GRP1_IsEnabledClock\n
  1041. * APB1ENR TIM12EN LL_APB1_GRP1_IsEnabledClock\n
  1042. * APB1ENR TIM13EN LL_APB1_GRP1_IsEnabledClock\n
  1043. * APB1ENR TIM14EN LL_APB1_GRP1_IsEnabledClock\n
  1044. * APB1ENR LPTIM1EN LL_APB1_GRP1_IsEnabledClock\n
  1045. * APB1ENR WWDGEN LL_APB1_GRP1_IsEnabledClock\n
  1046. * APB1ENR SPI2EN LL_APB1_GRP1_IsEnabledClock\n
  1047. * APB1ENR SPI3EN LL_APB1_GRP1_IsEnabledClock\n
  1048. * APB1ENR SPDIFRXEN LL_APB1_GRP1_IsEnabledClock\n
  1049. * APB1ENR USART2EN LL_APB1_GRP1_IsEnabledClock\n
  1050. * APB1ENR USART3EN LL_APB1_GRP1_IsEnabledClock\n
  1051. * APB1ENR UART4EN LL_APB1_GRP1_IsEnabledClock\n
  1052. * APB1ENR UART5EN LL_APB1_GRP1_IsEnabledClock\n
  1053. * APB1ENR I2C1EN LL_APB1_GRP1_IsEnabledClock\n
  1054. * APB1ENR I2C2EN LL_APB1_GRP1_IsEnabledClock\n
  1055. * APB1ENR I2C3EN LL_APB1_GRP1_IsEnabledClock\n
  1056. * APB1ENR I2C4EN LL_APB1_GRP1_IsEnabledClock\n
  1057. * APB1ENR CAN1EN LL_APB1_GRP1_IsEnabledClock\n
  1058. * APB1ENR CAN2EN LL_APB1_GRP1_IsEnabledClock\n
  1059. * APB1ENR CAN3EN LL_APB1_GRP1_IsEnabledClock\n
  1060. * APB1ENR CECEN LL_APB1_GRP1_IsEnabledClock\n
  1061. * APB1ENR PWREN LL_APB1_GRP1_IsEnabledClock\n
  1062. * APB1ENR DACEN LL_APB1_GRP1_IsEnabledClock\n
  1063. * APB1ENR UART7EN LL_APB1_GRP1_IsEnabledClock\n
  1064. * APB1ENR UART8EN LL_APB1_GRP1_IsEnabledClock\n
  1065. * APB1ENR RTCEN LL_APB1_GRP1_IsEnabledClock
  1066. * @param Periphs This parameter can be a combination of the following values:
  1067. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1068. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1069. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1070. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1071. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1072. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1073. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1074. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1075. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1076. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1077. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
  1078. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1079. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1080. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*)
  1081. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1082. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1083. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1084. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1085. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1086. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1087. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1088. * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*)
  1089. * @arg @ref LL_APB1_GRP1_PERIPH_CAN1
  1090. * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*)
  1091. * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*)
  1092. * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*)
  1093. * @arg @ref LL_APB1_GRP1_PERIPH_PWR
  1094. * @arg @ref LL_APB1_GRP1_PERIPH_DAC1
  1095. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1096. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1097. * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*)
  1098. *
  1099. * (*) value not defined in all devices.
  1100. * @retval State of Periphs (1 or 0).
  1101. */
  1102. __STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
  1103. {
  1104. return (READ_BIT(RCC->APB1ENR, Periphs) == Periphs);
  1105. }
  1106. /**
  1107. * @brief Disable APB1 peripherals clock.
  1108. * @rmtoll APB1ENR TIM2EN LL_APB1_GRP1_DisableClock\n
  1109. * APB1ENR TIM3EN LL_APB1_GRP1_DisableClock\n
  1110. * APB1ENR TIM4EN LL_APB1_GRP1_DisableClock\n
  1111. * APB1ENR TIM5EN LL_APB1_GRP1_DisableClock\n
  1112. * APB1ENR TIM6EN LL_APB1_GRP1_DisableClock\n
  1113. * APB1ENR TIM7EN LL_APB1_GRP1_DisableClock\n
  1114. * APB1ENR TIM12EN LL_APB1_GRP1_DisableClock\n
  1115. * APB1ENR TIM13EN LL_APB1_GRP1_DisableClock\n
  1116. * APB1ENR TIM14EN LL_APB1_GRP1_DisableClock\n
  1117. * APB1ENR LPTIM1EN LL_APB1_GRP1_DisableClock\n
  1118. * APB1ENR WWDGEN LL_APB1_GRP1_DisableClock\n
  1119. * APB1ENR SPI2EN LL_APB1_GRP1_DisableClock\n
  1120. * APB1ENR SPI3EN LL_APB1_GRP1_DisableClock\n
  1121. * APB1ENR SPDIFRXEN LL_APB1_GRP1_DisableClock\n
  1122. * APB1ENR USART2EN LL_APB1_GRP1_DisableClock\n
  1123. * APB1ENR USART3EN LL_APB1_GRP1_DisableClock\n
  1124. * APB1ENR UART4EN LL_APB1_GRP1_DisableClock\n
  1125. * APB1ENR UART5EN LL_APB1_GRP1_DisableClock\n
  1126. * APB1ENR I2C1EN LL_APB1_GRP1_DisableClock\n
  1127. * APB1ENR I2C2EN LL_APB1_GRP1_DisableClock\n
  1128. * APB1ENR I2C3EN LL_APB1_GRP1_DisableClock\n
  1129. * APB1ENR I2C4EN LL_APB1_GRP1_DisableClock\n
  1130. * APB1ENR CAN1EN LL_APB1_GRP1_DisableClock\n
  1131. * APB1ENR CAN2EN LL_APB1_GRP1_DisableClock\n
  1132. * APB1ENR CAN3EN LL_APB1_GRP1_DisableClock\n
  1133. * APB1ENR CECEN LL_APB1_GRP1_DisableClock\n
  1134. * APB1ENR PWREN LL_APB1_GRP1_DisableClock\n
  1135. * APB1ENR DACEN LL_APB1_GRP1_DisableClock\n
  1136. * APB1ENR UART7EN LL_APB1_GRP1_DisableClock\n
  1137. * APB1ENR UART8EN LL_APB1_GRP1_DisableClock\n
  1138. * APB1ENR RTCEN LL_APB1_GRP1_DisableClock
  1139. * @param Periphs This parameter can be a combination of the following values:
  1140. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1141. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1142. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1143. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1144. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1145. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1146. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1147. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1148. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1149. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1150. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
  1151. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1152. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1153. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*)
  1154. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1155. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1156. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1157. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1158. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1159. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1160. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1161. * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*)
  1162. * @arg @ref LL_APB1_GRP1_PERIPH_CAN1
  1163. * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*)
  1164. * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*)
  1165. * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*)
  1166. * @arg @ref LL_APB1_GRP1_PERIPH_PWR
  1167. * @arg @ref LL_APB1_GRP1_PERIPH_DAC1
  1168. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1169. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1170. * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*)
  1171. *
  1172. * (*) value not defined in all devices.
  1173. * @retval None
  1174. */
  1175. __STATIC_INLINE void LL_APB1_GRP1_DisableClock(uint32_t Periphs)
  1176. {
  1177. CLEAR_BIT(RCC->APB1ENR, Periphs);
  1178. }
  1179. /**
  1180. * @brief Force APB1 peripherals reset.
  1181. * @rmtoll APB1RSTR TIM2RST LL_APB1_GRP1_ForceReset\n
  1182. * APB1RSTR TIM3RST LL_APB1_GRP1_ForceReset\n
  1183. * APB1RSTR TIM4RST LL_APB1_GRP1_ForceReset\n
  1184. * APB1RSTR TIM5RST LL_APB1_GRP1_ForceReset\n
  1185. * APB1RSTR TIM6RST LL_APB1_GRP1_ForceReset\n
  1186. * APB1RSTR TIM7RST LL_APB1_GRP1_ForceReset\n
  1187. * APB1RSTR TIM12RST LL_APB1_GRP1_ForceReset\n
  1188. * APB1RSTR TIM13RST LL_APB1_GRP1_ForceReset\n
  1189. * APB1RSTR TIM14RST LL_APB1_GRP1_ForceReset\n
  1190. * APB1RSTR LPTIM1RST LL_APB1_GRP1_ForceReset\n
  1191. * APB1RSTR WWDGRST LL_APB1_GRP1_ForceReset\n
  1192. * APB1RSTR SPI2RST LL_APB1_GRP1_ForceReset\n
  1193. * APB1RSTR SPI3RST LL_APB1_GRP1_ForceReset\n
  1194. * APB1RSTR SPDIFRXRST LL_APB1_GRP1_ForceReset\n
  1195. * APB1RSTR USART2RST LL_APB1_GRP1_ForceReset\n
  1196. * APB1RSTR USART3RST LL_APB1_GRP1_ForceReset\n
  1197. * APB1RSTR UART4RST LL_APB1_GRP1_ForceReset\n
  1198. * APB1RSTR UART5RST LL_APB1_GRP1_ForceReset\n
  1199. * APB1RSTR I2C1RST LL_APB1_GRP1_ForceReset\n
  1200. * APB1RSTR I2C2RST LL_APB1_GRP1_ForceReset\n
  1201. * APB1RSTR I2C3RST LL_APB1_GRP1_ForceReset\n
  1202. * APB1RSTR I2C4RST LL_APB1_GRP1_ForceReset\n
  1203. * APB1RSTR CAN1RST LL_APB1_GRP1_ForceReset\n
  1204. * APB1RSTR CAN2RST LL_APB1_GRP1_ForceReset\n
  1205. * APB1RSTR CAN3RST LL_APB1_GRP1_ForceReset\n
  1206. * APB1RSTR CECRST LL_APB1_GRP1_ForceReset\n
  1207. * APB1RSTR PWRRST LL_APB1_GRP1_ForceReset\n
  1208. * APB1RSTR DACRST LL_APB1_GRP1_ForceReset\n
  1209. * APB1RSTR UART7RST LL_APB1_GRP1_ForceReset\n
  1210. * APB1RSTR UART8RST LL_APB1_GRP1_ForceReset
  1211. * @param Periphs This parameter can be a combination of the following values:
  1212. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1213. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1214. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1215. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1216. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1217. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1218. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1219. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1220. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1221. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1222. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
  1223. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1224. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1225. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*)
  1226. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1227. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1228. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1229. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1230. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1231. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1232. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1233. * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*)
  1234. * @arg @ref LL_APB1_GRP1_PERIPH_CAN1
  1235. * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*)
  1236. * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*)
  1237. * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*)
  1238. * @arg @ref LL_APB1_GRP1_PERIPH_PWR
  1239. * @arg @ref LL_APB1_GRP1_PERIPH_DAC1
  1240. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1241. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1242. *
  1243. * (*) value not defined in all devices.
  1244. * @retval None
  1245. */
  1246. __STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
  1247. {
  1248. SET_BIT(RCC->APB1RSTR, Periphs);
  1249. }
  1250. /**
  1251. * @brief Release APB1 peripherals reset.
  1252. * @rmtoll APB1RSTR TIM2RST LL_APB1_GRP1_ReleaseReset\n
  1253. * APB1RSTR TIM3RST LL_APB1_GRP1_ReleaseReset\n
  1254. * APB1RSTR TIM4RST LL_APB1_GRP1_ReleaseReset\n
  1255. * APB1RSTR TIM5RST LL_APB1_GRP1_ReleaseReset\n
  1256. * APB1RSTR TIM6RST LL_APB1_GRP1_ReleaseReset\n
  1257. * APB1RSTR TIM7RST LL_APB1_GRP1_ReleaseReset\n
  1258. * APB1RSTR TIM12RST LL_APB1_GRP1_ReleaseReset\n
  1259. * APB1RSTR TIM13RST LL_APB1_GRP1_ReleaseReset\n
  1260. * APB1RSTR TIM14RST LL_APB1_GRP1_ReleaseReset\n
  1261. * APB1RSTR LPTIM1RST LL_APB1_GRP1_ReleaseReset\n
  1262. * APB1RSTR WWDGRST LL_APB1_GRP1_ReleaseReset\n
  1263. * APB1RSTR SPI2RST LL_APB1_GRP1_ReleaseReset\n
  1264. * APB1RSTR SPI3RST LL_APB1_GRP1_ReleaseReset\n
  1265. * APB1RSTR SPDIFRXRST LL_APB1_GRP1_ReleaseReset\n
  1266. * APB1RSTR USART2RST LL_APB1_GRP1_ReleaseReset\n
  1267. * APB1RSTR USART3RST LL_APB1_GRP1_ReleaseReset\n
  1268. * APB1RSTR UART4RST LL_APB1_GRP1_ReleaseReset\n
  1269. * APB1RSTR UART5RST LL_APB1_GRP1_ReleaseReset\n
  1270. * APB1RSTR I2C1RST LL_APB1_GRP1_ReleaseReset\n
  1271. * APB1RSTR I2C2RST LL_APB1_GRP1_ReleaseReset\n
  1272. * APB1RSTR I2C3RST LL_APB1_GRP1_ReleaseReset\n
  1273. * APB1RSTR I2C4RST LL_APB1_GRP1_ReleaseReset\n
  1274. * APB1RSTR CAN1RST LL_APB1_GRP1_ReleaseReset\n
  1275. * APB1RSTR CAN2RST LL_APB1_GRP1_ReleaseReset\n
  1276. * APB1RSTR CAN3RST LL_APB1_GRP1_ReleaseReset\n
  1277. * APB1RSTR CECRST LL_APB1_GRP1_ReleaseReset\n
  1278. * APB1RSTR PWRRST LL_APB1_GRP1_ReleaseReset\n
  1279. * APB1RSTR DACRST LL_APB1_GRP1_ReleaseReset\n
  1280. * APB1RSTR UART7RST LL_APB1_GRP1_ReleaseReset\n
  1281. * APB1RSTR UART8RST LL_APB1_GRP1_ReleaseReset
  1282. * @param Periphs This parameter can be a combination of the following values:
  1283. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1284. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1285. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1286. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1287. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1288. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1289. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1290. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1291. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1292. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1293. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
  1294. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1295. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1296. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*)
  1297. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1298. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1299. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1300. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1301. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1302. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1303. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1304. * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*)
  1305. * @arg @ref LL_APB1_GRP1_PERIPH_CAN1
  1306. * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*)
  1307. * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*)
  1308. * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*)
  1309. * @arg @ref LL_APB1_GRP1_PERIPH_PWR
  1310. * @arg @ref LL_APB1_GRP1_PERIPH_DAC1
  1311. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1312. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1313. *
  1314. * (*) value not defined in all devices.
  1315. * @retval None
  1316. */
  1317. __STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
  1318. {
  1319. CLEAR_BIT(RCC->APB1RSTR, Periphs);
  1320. }
  1321. /**
  1322. * @brief Enable APB1 peripheral clocks in low-power mode
  1323. * @rmtoll APB1LPENR TIM2LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1324. * APB1LPENR TIM3LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1325. * APB1LPENR TIM4LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1326. * APB1LPENR TIM5LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1327. * APB1LPENR TIM6LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1328. * APB1LPENR TIM7LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1329. * APB1LPENR TIM12LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1330. * APB1LPENR TIM13LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1331. * APB1LPENR TIM14LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1332. * APB1LPENR LPTIM1LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1333. * APB1LPENR WWDGLPEN LL_APB1_GRP1_EnableClockLowPower\n
  1334. * APB1LPENR SPI2LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1335. * APB1LPENR SPI3LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1336. * APB1LPENR SPDIFRXLPEN LL_APB1_GRP1_EnableClockLowPower\n
  1337. * APB1LPENR USART2LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1338. * APB1LPENR USART3LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1339. * APB1LPENR UART4LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1340. * APB1LPENR UART5LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1341. * APB1LPENR I2C1LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1342. * APB1LPENR I2C2LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1343. * APB1LPENR I2C3LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1344. * APB1LPENR I2C4LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1345. * APB1LPENR CAN1LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1346. * APB1LPENR CAN2LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1347. * APB1LPENR CAN3LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1348. * APB1LPENR CECLPEN LL_APB1_GRP1_EnableClockLowPower\n
  1349. * APB1LPENR PWRLPEN LL_APB1_GRP1_EnableClockLowPower\n
  1350. * APB1LPENR DACLPEN LL_APB1_GRP1_EnableClockLowPower\n
  1351. * APB1LPENR UART7LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1352. * APB1LPENR UART8LPEN LL_APB1_GRP1_EnableClockLowPower\n
  1353. * APB1LPENR RTCLPEN LL_APB1_GRP1_EnableClockLowPower
  1354. * @param Periphs This parameter can be a combination of the following values:
  1355. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1356. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1357. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1358. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1359. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1360. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1361. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1362. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1363. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1364. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1365. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
  1366. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1367. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1368. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*)
  1369. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1370. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1371. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1372. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1373. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1374. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1375. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1376. * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*)
  1377. * @arg @ref LL_APB1_GRP1_PERIPH_CAN1
  1378. * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*)
  1379. * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*)
  1380. * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*)
  1381. * @arg @ref LL_APB1_GRP1_PERIPH_PWR
  1382. * @arg @ref LL_APB1_GRP1_PERIPH_DAC1
  1383. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1384. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1385. * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*)
  1386. *
  1387. * (*) value not defined in all devices.
  1388. * @retval None
  1389. */
  1390. __STATIC_INLINE void LL_APB1_GRP1_EnableClockLowPower(uint32_t Periphs)
  1391. {
  1392. __IO uint32_t tmpreg;
  1393. SET_BIT(RCC->APB1LPENR, Periphs);
  1394. /* Delay after an RCC peripheral clock enabling */
  1395. tmpreg = READ_BIT(RCC->APB1LPENR, Periphs);
  1396. (void)tmpreg;
  1397. }
  1398. /**
  1399. * @brief Disable APB1 peripheral clocks in low-power mode
  1400. * @rmtoll APB1LPENR TIM2LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1401. * APB1LPENR TIM3LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1402. * APB1LPENR TIM4LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1403. * APB1LPENR TIM5LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1404. * APB1LPENR TIM6LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1405. * APB1LPENR TIM7LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1406. * APB1LPENR TIM12LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1407. * APB1LPENR TIM13LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1408. * APB1LPENR TIM14LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1409. * APB1LPENR LPTIM1LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1410. * APB1LPENR WWDGLPEN LL_APB1_GRP1_DisableClockLowPower\n
  1411. * APB1LPENR SPI2LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1412. * APB1LPENR SPI3LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1413. * APB1LPENR SPDIFRXLPEN LL_APB1_GRP1_DisableClockLowPower\n
  1414. * APB1LPENR USART2LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1415. * APB1LPENR USART3LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1416. * APB1LPENR UART4LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1417. * APB1LPENR UART5LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1418. * APB1LPENR I2C1LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1419. * APB1LPENR I2C2LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1420. * APB1LPENR I2C3LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1421. * APB1LPENR I2C4LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1422. * APB1LPENR CAN1LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1423. * APB1LPENR CAN2LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1424. * APB1LPENR CAN3LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1425. * APB1LPENR CECLPEN LL_APB1_GRP1_DisableClockLowPower\n
  1426. * APB1LPENR PWRLPEN LL_APB1_GRP1_DisableClockLowPower\n
  1427. * APB1LPENR DACLPEN LL_APB1_GRP1_DisableClockLowPower\n
  1428. * APB1LPENR UART7LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1429. * APB1LPENR UART8LPEN LL_APB1_GRP1_DisableClockLowPower\n
  1430. * APB1LPENR RTCLPEN LL_APB1_GRP1_DisableClockLowPower
  1431. * @param Periphs This parameter can be a combination of the following values:
  1432. * @arg @ref LL_APB1_GRP1_PERIPH_TIM2
  1433. * @arg @ref LL_APB1_GRP1_PERIPH_TIM3
  1434. * @arg @ref LL_APB1_GRP1_PERIPH_TIM4
  1435. * @arg @ref LL_APB1_GRP1_PERIPH_TIM5
  1436. * @arg @ref LL_APB1_GRP1_PERIPH_TIM6
  1437. * @arg @ref LL_APB1_GRP1_PERIPH_TIM7
  1438. * @arg @ref LL_APB1_GRP1_PERIPH_TIM12
  1439. * @arg @ref LL_APB1_GRP1_PERIPH_TIM13
  1440. * @arg @ref LL_APB1_GRP1_PERIPH_TIM14
  1441. * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1
  1442. * @arg @ref LL_APB1_GRP1_PERIPH_WWDG
  1443. * @arg @ref LL_APB1_GRP1_PERIPH_SPI2
  1444. * @arg @ref LL_APB1_GRP1_PERIPH_SPI3
  1445. * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*)
  1446. * @arg @ref LL_APB1_GRP1_PERIPH_USART2
  1447. * @arg @ref LL_APB1_GRP1_PERIPH_USART3
  1448. * @arg @ref LL_APB1_GRP1_PERIPH_UART4
  1449. * @arg @ref LL_APB1_GRP1_PERIPH_UART5
  1450. * @arg @ref LL_APB1_GRP1_PERIPH_I2C1
  1451. * @arg @ref LL_APB1_GRP1_PERIPH_I2C2
  1452. * @arg @ref LL_APB1_GRP1_PERIPH_I2C3
  1453. * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*)
  1454. * @arg @ref LL_APB1_GRP1_PERIPH_CAN1
  1455. * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*)
  1456. * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*)
  1457. * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*)
  1458. * @arg @ref LL_APB1_GRP1_PERIPH_PWR
  1459. * @arg @ref LL_APB1_GRP1_PERIPH_DAC1
  1460. * @arg @ref LL_APB1_GRP1_PERIPH_UART7
  1461. * @arg @ref LL_APB1_GRP1_PERIPH_UART8
  1462. * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*)
  1463. *
  1464. * (*) value not defined in all devices.
  1465. * @retval None
  1466. */
  1467. __STATIC_INLINE void LL_APB1_GRP1_DisableClockLowPower(uint32_t Periphs)
  1468. {
  1469. CLEAR_BIT(RCC->APB1LPENR, Periphs);
  1470. }
  1471. /**
  1472. * @}
  1473. */
  1474. /** @defgroup BUS_LL_EF_APB2 APB2
  1475. * @{
  1476. */
  1477. /**
  1478. * @brief Enable APB2 peripherals clock.
  1479. * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_EnableClock\n
  1480. * APB2ENR TIM8EN LL_APB2_GRP1_EnableClock\n
  1481. * APB2ENR USART1EN LL_APB2_GRP1_EnableClock\n
  1482. * APB2ENR USART6EN LL_APB2_GRP1_EnableClock\n
  1483. * APB2ENR ADC1EN LL_APB2_GRP1_EnableClock\n
  1484. * APB2ENR ADC2EN LL_APB2_GRP1_EnableClock\n
  1485. * APB2ENR ADC3EN LL_APB2_GRP1_EnableClock\n
  1486. * APB2ENR SDMMC1EN LL_APB2_GRP1_EnableClock\n
  1487. * APB2ENR SDMMC2EN LL_APB2_GRP1_EnableClock\n
  1488. * APB2ENR SPI1EN LL_APB2_GRP1_EnableClock\n
  1489. * APB2ENR SPI4EN LL_APB2_GRP1_EnableClock\n
  1490. * APB2ENR SYSCFGEN LL_APB2_GRP1_EnableClock\n
  1491. * APB2ENR TIM9EN LL_APB2_GRP1_EnableClock\n
  1492. * APB2ENR TIM10EN LL_APB2_GRP1_EnableClock\n
  1493. * APB2ENR TIM11EN LL_APB2_GRP1_EnableClock\n
  1494. * APB2ENR SPI5EN LL_APB2_GRP1_EnableClock\n
  1495. * APB2ENR SPI6EN LL_APB2_GRP1_EnableClock\n
  1496. * APB2ENR SAI1EN LL_APB2_GRP1_EnableClock\n
  1497. * APB2ENR SAI2EN LL_APB2_GRP1_EnableClock\n
  1498. * APB2ENR LTDCEN LL_APB2_GRP1_EnableClock\n
  1499. * APB2ENR DSIEN LL_APB2_GRP1_EnableClock\n
  1500. * APB2ENR DFSDM1EN LL_APB2_GRP1_EnableClock\n
  1501. * APB2ENR MDIOEN LL_APB2_GRP1_EnableClock\n
  1502. * APB2ENR OTGPHYCEN LL_APB2_GRP1_EnableClock
  1503. * @param Periphs This parameter can be a combination of the following values:
  1504. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  1505. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  1506. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  1507. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  1508. * @arg @ref LL_APB2_GRP1_PERIPH_ADC1
  1509. * @arg @ref LL_APB2_GRP1_PERIPH_ADC2
  1510. * @arg @ref LL_APB2_GRP1_PERIPH_ADC3
  1511. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC1
  1512. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC2 (*)
  1513. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  1514. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  1515. * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG
  1516. * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
  1517. * @arg @ref LL_APB2_GRP1_PERIPH_TIM10
  1518. * @arg @ref LL_APB2_GRP1_PERIPH_TIM11
  1519. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  1520. * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*)
  1521. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  1522. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  1523. * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
  1524. * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
  1525. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*)
  1526. * @arg @ref LL_APB2_GRP1_PERIPH_MDIO (*)
  1527. * @arg @ref LL_APB2_GRP1_PERIPH_OTGPHYC (*)
  1528. *
  1529. * (*) value not defined in all devices.
  1530. * @retval None
  1531. */
  1532. __STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs)
  1533. {
  1534. __IO uint32_t tmpreg;
  1535. SET_BIT(RCC->APB2ENR, Periphs);
  1536. /* Delay after an RCC peripheral clock enabling */
  1537. tmpreg = READ_BIT(RCC->APB2ENR, Periphs);
  1538. (void)tmpreg;
  1539. }
  1540. /**
  1541. * @brief Check if APB2 peripheral clock is enabled or not
  1542. * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_IsEnabledClock\n
  1543. * APB2ENR TIM8EN LL_APB2_GRP1_IsEnabledClock\n
  1544. * APB2ENR USART1EN LL_APB2_GRP1_IsEnabledClock\n
  1545. * APB2ENR USART6EN LL_APB2_GRP1_IsEnabledClock\n
  1546. * APB2ENR ADC1EN LL_APB2_GRP1_IsEnabledClock\n
  1547. * APB2ENR ADC2EN LL_APB2_GRP1_IsEnabledClock\n
  1548. * APB2ENR ADC3EN LL_APB2_GRP1_IsEnabledClock\n
  1549. * APB2ENR SDMMC1EN LL_APB2_GRP1_IsEnabledClock\n
  1550. * APB2ENR SDMMC2EN LL_APB2_GRP1_IsEnabledClock\n
  1551. * APB2ENR SPI1EN LL_APB2_GRP1_IsEnabledClock\n
  1552. * APB2ENR SPI4EN LL_APB2_GRP1_IsEnabledClock\n
  1553. * APB2ENR SYSCFGEN LL_APB2_GRP1_IsEnabledClock\n
  1554. * APB2ENR TIM9EN LL_APB2_GRP1_IsEnabledClock\n
  1555. * APB2ENR TIM10EN LL_APB2_GRP1_IsEnabledClock\n
  1556. * APB2ENR TIM11EN LL_APB2_GRP1_IsEnabledClock\n
  1557. * APB2ENR SPI5EN LL_APB2_GRP1_IsEnabledClock\n
  1558. * APB2ENR SPI6EN LL_APB2_GRP1_IsEnabledClock\n
  1559. * APB2ENR SAI1EN LL_APB2_GRP1_IsEnabledClock\n
  1560. * APB2ENR SAI2EN LL_APB2_GRP1_IsEnabledClock\n
  1561. * APB2ENR LTDCEN LL_APB2_GRP1_IsEnabledClock\n
  1562. * APB2ENR DSIEN LL_APB2_GRP1_IsEnabledClock\n
  1563. * APB2ENR DFSDM1EN LL_APB2_GRP1_IsEnabledClock\n
  1564. * APB2ENR MDIOEN LL_APB2_GRP1_IsEnabledClock\n
  1565. * APB2ENR OTGPHYCEN LL_APB2_GRP1_IsEnabledClock
  1566. * @param Periphs This parameter can be a combination of the following values:
  1567. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  1568. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  1569. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  1570. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  1571. * @arg @ref LL_APB2_GRP1_PERIPH_ADC1
  1572. * @arg @ref LL_APB2_GRP1_PERIPH_ADC2
  1573. * @arg @ref LL_APB2_GRP1_PERIPH_ADC3
  1574. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC1
  1575. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC2 (*)
  1576. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  1577. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  1578. * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG
  1579. * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
  1580. * @arg @ref LL_APB2_GRP1_PERIPH_TIM10
  1581. * @arg @ref LL_APB2_GRP1_PERIPH_TIM11
  1582. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  1583. * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*)
  1584. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  1585. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  1586. * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
  1587. * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
  1588. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*)
  1589. * @arg @ref LL_APB2_GRP1_PERIPH_MDIO (*)
  1590. * @arg @ref LL_APB2_GRP1_PERIPH_OTGPHYC (*)
  1591. *
  1592. * (*) value not defined in all devices.
  1593. * @retval State of Periphs (1 or 0).
  1594. */
  1595. __STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
  1596. {
  1597. return (READ_BIT(RCC->APB2ENR, Periphs) == Periphs);
  1598. }
  1599. /**
  1600. * @brief Disable APB2 peripherals clock.
  1601. * @rmtoll APB2ENR TIM1EN LL_APB2_GRP1_DisableClock\n
  1602. * APB2ENR TIM8EN LL_APB2_GRP1_DisableClock\n
  1603. * APB2ENR USART1EN LL_APB2_GRP1_DisableClock\n
  1604. * APB2ENR USART6EN LL_APB2_GRP1_DisableClock\n
  1605. * APB2ENR ADC1EN LL_APB2_GRP1_DisableClock\n
  1606. * APB2ENR ADC2EN LL_APB2_GRP1_DisableClock\n
  1607. * APB2ENR ADC3EN LL_APB2_GRP1_DisableClock\n
  1608. * APB2ENR SDMMC1EN LL_APB2_GRP1_DisableClock\n
  1609. * APB2ENR SDMMC2EN LL_APB2_GRP1_DisableClock\n
  1610. * APB2ENR SPI1EN LL_APB2_GRP1_DisableClock\n
  1611. * APB2ENR SPI4EN LL_APB2_GRP1_DisableClock\n
  1612. * APB2ENR SYSCFGEN LL_APB2_GRP1_DisableClock\n
  1613. * APB2ENR TIM9EN LL_APB2_GRP1_DisableClock\n
  1614. * APB2ENR TIM10EN LL_APB2_GRP1_DisableClock\n
  1615. * APB2ENR TIM11EN LL_APB2_GRP1_DisableClock\n
  1616. * APB2ENR SPI5EN LL_APB2_GRP1_DisableClock\n
  1617. * APB2ENR SPI6EN LL_APB2_GRP1_DisableClock\n
  1618. * APB2ENR SAI1EN LL_APB2_GRP1_DisableClock\n
  1619. * APB2ENR SAI2EN LL_APB2_GRP1_DisableClock\n
  1620. * APB2ENR LTDCEN LL_APB2_GRP1_DisableClock\n
  1621. * APB2ENR DSIEN LL_APB2_GRP1_DisableClock\n
  1622. * APB2ENR DFSDM1EN LL_APB2_GRP1_DisableClock\n
  1623. * APB2ENR MDIOEN LL_APB2_GRP1_DisableClock\n
  1624. * APB2ENR OTGPHYCEN LL_APB2_GRP1_DisableClock
  1625. * @param Periphs This parameter can be a combination of the following values:
  1626. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  1627. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  1628. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  1629. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  1630. * @arg @ref LL_APB2_GRP1_PERIPH_ADC1
  1631. * @arg @ref LL_APB2_GRP1_PERIPH_ADC2
  1632. * @arg @ref LL_APB2_GRP1_PERIPH_ADC3
  1633. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC1
  1634. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC2 (*)
  1635. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  1636. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  1637. * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG
  1638. * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
  1639. * @arg @ref LL_APB2_GRP1_PERIPH_TIM10
  1640. * @arg @ref LL_APB2_GRP1_PERIPH_TIM11
  1641. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  1642. * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*)
  1643. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  1644. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  1645. * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
  1646. * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
  1647. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*)
  1648. * @arg @ref LL_APB2_GRP1_PERIPH_MDIO (*)
  1649. * @arg @ref LL_APB2_GRP1_PERIPH_OTGPHYC (*)
  1650. *
  1651. * (*) value not defined in all devices.
  1652. * @retval None
  1653. */
  1654. __STATIC_INLINE void LL_APB2_GRP1_DisableClock(uint32_t Periphs)
  1655. {
  1656. CLEAR_BIT(RCC->APB2ENR, Periphs);
  1657. }
  1658. /**
  1659. * @brief Force APB2 peripherals reset.
  1660. * @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ForceReset\n
  1661. * APB2RSTR TIM8RST LL_APB2_GRP1_ForceReset\n
  1662. * APB2RSTR USART1RST LL_APB2_GRP1_ForceReset\n
  1663. * APB2RSTR USART6RST LL_APB2_GRP1_ForceReset\n
  1664. * APB2RSTR ADCRST LL_APB2_GRP1_ForceReset\n
  1665. * APB2RSTR SDMMC1RST LL_APB2_GRP1_ForceReset\n
  1666. * APB2RSTR SDMMC2RST LL_APB2_GRP1_ForceReset\n
  1667. * APB2RSTR SPI1RST LL_APB2_GRP1_ForceReset\n
  1668. * APB2RSTR SPI4RST LL_APB2_GRP1_ForceReset\n
  1669. * APB2RSTR SYSCFGRST LL_APB2_GRP1_ForceReset\n
  1670. * APB2RSTR TIM9RST LL_APB2_GRP1_ForceReset\n
  1671. * APB2RSTR TIM10RST LL_APB2_GRP1_ForceReset\n
  1672. * APB2RSTR TIM11RST LL_APB2_GRP1_ForceReset\n
  1673. * APB2RSTR SPI5RST LL_APB2_GRP1_ForceReset\n
  1674. * APB2RSTR SPI6RST LL_APB2_GRP1_ForceReset\n
  1675. * APB2RSTR SAI1RST LL_APB2_GRP1_ForceReset\n
  1676. * APB2RSTR SAI2RST LL_APB2_GRP1_ForceReset\n
  1677. * APB2RSTR LTDCRST LL_APB2_GRP1_ForceReset\n
  1678. * APB2RSTR DSIRST LL_APB2_GRP1_ForceReset\n
  1679. * APB2RSTR DFSDM1RST LL_APB2_GRP1_ForceReset\n
  1680. * APB2RSTR MDIORST LL_APB2_GRP1_ForceReset\n
  1681. * APB2RSTR OTGPHYCRST LL_APB2_GRP1_ForceReset
  1682. * @param Periphs This parameter can be a combination of the following values:
  1683. * @arg @ref LL_APB2_GRP1_PERIPH_ALL
  1684. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  1685. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  1686. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  1687. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  1688. * @arg @ref LL_APB2_GRP1_PERIPH_ADC
  1689. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC1
  1690. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC2 (*)
  1691. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  1692. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  1693. * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG
  1694. * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
  1695. * @arg @ref LL_APB2_GRP1_PERIPH_TIM10
  1696. * @arg @ref LL_APB2_GRP1_PERIPH_TIM11
  1697. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  1698. * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*)
  1699. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  1700. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  1701. * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
  1702. * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
  1703. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*)
  1704. * @arg @ref LL_APB2_GRP1_PERIPH_MDIO (*)
  1705. * @arg @ref LL_APB2_GRP1_PERIPH_OTGPHYC (*)
  1706. *
  1707. * (*) value not defined in all devices.
  1708. * @retval None
  1709. */
  1710. __STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
  1711. {
  1712. SET_BIT(RCC->APB2RSTR, Periphs);
  1713. }
  1714. /**
  1715. * @brief Release APB2 peripherals reset.
  1716. * @rmtoll APB2RSTR TIM1RST LL_APB2_GRP1_ReleaseReset\n
  1717. * APB2RSTR TIM8RST LL_APB2_GRP1_ReleaseReset\n
  1718. * APB2RSTR USART1RST LL_APB2_GRP1_ReleaseReset\n
  1719. * APB2RSTR USART6RST LL_APB2_GRP1_ReleaseReset\n
  1720. * APB2RSTR ADCRST LL_APB2_GRP1_ReleaseReset\n
  1721. * APB2RSTR SDMMC1RST LL_APB2_GRP1_ReleaseReset\n
  1722. * APB2RSTR SDMMC2RST LL_APB2_GRP1_ReleaseReset\n
  1723. * APB2RSTR SPI1RST LL_APB2_GRP1_ReleaseReset\n
  1724. * APB2RSTR SPI4RST LL_APB2_GRP1_ReleaseReset\n
  1725. * APB2RSTR SYSCFGRST LL_APB2_GRP1_ReleaseReset\n
  1726. * APB2RSTR TIM9RST LL_APB2_GRP1_ReleaseReset\n
  1727. * APB2RSTR TIM10RST LL_APB2_GRP1_ReleaseReset\n
  1728. * APB2RSTR TIM11RST LL_APB2_GRP1_ReleaseReset\n
  1729. * APB2RSTR SPI5RST LL_APB2_GRP1_ReleaseReset\n
  1730. * APB2RSTR SPI6RST LL_APB2_GRP1_ReleaseReset\n
  1731. * APB2RSTR SAI1RST LL_APB2_GRP1_ReleaseReset\n
  1732. * APB2RSTR SAI2RST LL_APB2_GRP1_ReleaseReset\n
  1733. * APB2RSTR LTDCRST LL_APB2_GRP1_ReleaseReset\n
  1734. * APB2RSTR DSIRST LL_APB2_GRP1_ReleaseReset\n
  1735. * APB2RSTR DFSDM1RST LL_APB2_GRP1_ReleaseReset\n
  1736. * APB2RSTR MDIORST LL_APB2_GRP1_ReleaseReset\n
  1737. * APB2RSTR OTGPHYCRST LL_APB2_GRP1_ReleaseReset
  1738. * @param Periphs This parameter can be a combination of the following values:
  1739. * @arg @ref LL_APB2_GRP1_PERIPH_ALL
  1740. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  1741. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  1742. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  1743. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  1744. * @arg @ref LL_APB2_GRP1_PERIPH_ADC
  1745. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC1
  1746. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC2 (*)
  1747. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  1748. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  1749. * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG
  1750. * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
  1751. * @arg @ref LL_APB2_GRP1_PERIPH_TIM10
  1752. * @arg @ref LL_APB2_GRP1_PERIPH_TIM11
  1753. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  1754. * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*)
  1755. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  1756. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  1757. * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
  1758. * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
  1759. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*)
  1760. * @arg @ref LL_APB2_GRP1_PERIPH_MDIO (*)
  1761. * @arg @ref LL_APB2_GRP1_PERIPH_OTGPHYC (*)
  1762. *
  1763. * (*) value not defined in all devices.
  1764. * @retval None
  1765. */
  1766. __STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
  1767. {
  1768. CLEAR_BIT(RCC->APB2RSTR, Periphs);
  1769. }
  1770. /**
  1771. * @brief Enable APB2 peripheral clocks in low-power mode
  1772. * @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1773. * APB2LPENR TIM8LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1774. * APB2LPENR USART1LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1775. * APB2LPENR USART6LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1776. * APB2LPENR ADC1LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1777. * APB2LPENR ADC2LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1778. * APB2LPENR ADC3LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1779. * APB2LPENR SDMMC1LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1780. * APB2LPENR SDMMC2LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1781. * APB2LPENR SPI1LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1782. * APB2LPENR SPI4LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1783. * APB2LPENR SYSCFGLPEN LL_APB2_GRP1_EnableClockLowPower\n
  1784. * APB2LPENR TIM9LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1785. * APB2LPENR TIM10LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1786. * APB2LPENR TIM11LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1787. * APB2LPENR SPI5LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1788. * APB2LPENR SPI6LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1789. * APB2LPENR SAI1LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1790. * APB2LPENR SAI2LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1791. * APB2LPENR LTDCLPEN LL_APB2_GRP1_EnableClockLowPower\n
  1792. * APB2LPENR DSILPEN LL_APB2_GRP1_EnableClockLowPower\n
  1793. * APB2LPENR DFSDM1LPEN LL_APB2_GRP1_EnableClockLowPower\n
  1794. * APB2LPENR MDIOLPEN LL_APB2_GRP1_EnableClockLowPower
  1795. * @param Periphs This parameter can be a combination of the following values:
  1796. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  1797. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  1798. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  1799. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  1800. * @arg @ref LL_APB2_GRP1_PERIPH_ADC1
  1801. * @arg @ref LL_APB2_GRP1_PERIPH_ADC2
  1802. * @arg @ref LL_APB2_GRP1_PERIPH_ADC3
  1803. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC1
  1804. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC2 (*)
  1805. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  1806. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  1807. * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG
  1808. * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
  1809. * @arg @ref LL_APB2_GRP1_PERIPH_TIM10
  1810. * @arg @ref LL_APB2_GRP1_PERIPH_TIM11
  1811. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  1812. * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*)
  1813. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  1814. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  1815. * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
  1816. * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
  1817. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*)
  1818. * @arg @ref LL_APB2_GRP1_PERIPH_MDIO (*)
  1819. *
  1820. * (*) value not defined in all devices.
  1821. * @retval None
  1822. */
  1823. __STATIC_INLINE void LL_APB2_GRP1_EnableClockLowPower(uint32_t Periphs)
  1824. {
  1825. __IO uint32_t tmpreg;
  1826. SET_BIT(RCC->APB2LPENR, Periphs);
  1827. /* Delay after an RCC peripheral clock enabling */
  1828. tmpreg = READ_BIT(RCC->APB2LPENR, Periphs);
  1829. (void)tmpreg;
  1830. }
  1831. /**
  1832. * @brief Disable APB2 peripheral clocks in low-power mode
  1833. * @rmtoll APB2LPENR TIM1LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1834. * APB2LPENR TIM8LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1835. * APB2LPENR USART1LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1836. * APB2LPENR USART6LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1837. * APB2LPENR ADC1LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1838. * APB2LPENR ADC2LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1839. * APB2LPENR ADC3LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1840. * APB2LPENR SDMMC1LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1841. * APB2LPENR SDMMC2LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1842. * APB2LPENR SPI1LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1843. * APB2LPENR SPI4LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1844. * APB2LPENR SYSCFGLPEN LL_APB2_GRP1_DisableClockLowPower\n
  1845. * APB2LPENR TIM9LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1846. * APB2LPENR TIM10LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1847. * APB2LPENR TIM11LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1848. * APB2LPENR SPI5LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1849. * APB2LPENR SPI6LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1850. * APB2LPENR SAI1LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1851. * APB2LPENR SAI2LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1852. * APB2LPENR LTDCLPEN LL_APB2_GRP1_DisableClockLowPower\n
  1853. * APB2LPENR DSILPEN LL_APB2_GRP1_DisableClockLowPower\n
  1854. * APB2LPENR DFSDM1LPEN LL_APB2_GRP1_DisableClockLowPower\n
  1855. * APB2LPENR MDIOLPEN LL_APB2_GRP1_DisableClockLowPower
  1856. * @param Periphs This parameter can be a combination of the following values:
  1857. * @arg @ref LL_APB2_GRP1_PERIPH_TIM1
  1858. * @arg @ref LL_APB2_GRP1_PERIPH_TIM8
  1859. * @arg @ref LL_APB2_GRP1_PERIPH_USART1
  1860. * @arg @ref LL_APB2_GRP1_PERIPH_USART6
  1861. * @arg @ref LL_APB2_GRP1_PERIPH_ADC1
  1862. * @arg @ref LL_APB2_GRP1_PERIPH_ADC2
  1863. * @arg @ref LL_APB2_GRP1_PERIPH_ADC3
  1864. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC1
  1865. * @arg @ref LL_APB2_GRP1_PERIPH_SDMMC1 (*)
  1866. * @arg @ref LL_APB2_GRP1_PERIPH_SPI1
  1867. * @arg @ref LL_APB2_GRP1_PERIPH_SPI4
  1868. * @arg @ref LL_APB2_GRP1_PERIPH_SYSCFG
  1869. * @arg @ref LL_APB2_GRP1_PERIPH_TIM9
  1870. * @arg @ref LL_APB2_GRP1_PERIPH_TIM10
  1871. * @arg @ref LL_APB2_GRP1_PERIPH_TIM11
  1872. * @arg @ref LL_APB2_GRP1_PERIPH_SPI5
  1873. * @arg @ref LL_APB2_GRP1_PERIPH_SPI6 (*)
  1874. * @arg @ref LL_APB2_GRP1_PERIPH_SAI1
  1875. * @arg @ref LL_APB2_GRP1_PERIPH_SAI2
  1876. * @arg @ref LL_APB2_GRP1_PERIPH_LTDC (*)
  1877. * @arg @ref LL_APB2_GRP1_PERIPH_DSI (*)
  1878. * @arg @ref LL_APB2_GRP1_PERIPH_DFSDM1 (*)
  1879. * @arg @ref LL_APB2_GRP1_PERIPH_MDIO (*)
  1880. *
  1881. * (*) value not defined in all devices.
  1882. * @retval None
  1883. */
  1884. __STATIC_INLINE void LL_APB2_GRP1_DisableClockLowPower(uint32_t Periphs)
  1885. {
  1886. CLEAR_BIT(RCC->APB2LPENR, Periphs);
  1887. }
  1888. /**
  1889. * @}
  1890. */
  1891. /**
  1892. * @}
  1893. */
  1894. /**
  1895. * @}
  1896. */
  1897. #endif /* defined(RCC) */
  1898. /**
  1899. * @}
  1900. */
  1901. #ifdef __cplusplus
  1902. }
  1903. #endif
  1904. #endif /* __STM32F7xx_LL_BUS_H */