stm32f7xx_ll_bus.h 94 KB

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