1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672 |
- /*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- /**
- * @file STM32F7xx/stm32_rcc.h
- * @brief RCC helper driver header.
- * @note This file requires definitions from the ST header file
- * @p stm32f7xx.h.
- *
- * @addtogroup STM32F7xx_RCC
- * @{
- */
- #ifndef STM32_RCC_H
- #define STM32_RCC_H
- /*===========================================================================*/
- /* Driver constants. */
- /*===========================================================================*/
- /*===========================================================================*/
- /* Driver pre-compile time settings. */
- /*===========================================================================*/
- /*===========================================================================*/
- /* Derived constants and error checks. */
- /*===========================================================================*/
- /*===========================================================================*/
- /* Driver data structures and types. */
- /*===========================================================================*/
- /*===========================================================================*/
- /* Driver macros. */
- /*===========================================================================*/
- /**
- * @name Generic RCC operations
- * @{
- */
- /**
- * @brief Enables the clock of one or more peripheral on the APB1 bus.
- *
- * @param[in] mask APB1 peripherals mask
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableAPB1(mask, lp) { \
- RCC->APB1ENR |= (mask); \
- if (lp) \
- RCC->APB1LPENR |= (mask); \
- else \
- RCC->APB1LPENR &= ~(mask); \
- (void)RCC->APB1LPENR; \
- }
- /**
- * @brief Disables the clock of one or more peripheral on the APB1 bus.
- *
- * @param[in] mask APB1 peripherals mask
- *
- * @api
- */
- #define rccDisableAPB1(mask) { \
- RCC->APB1ENR &= ~(mask); \
- RCC->APB1LPENR &= ~(mask); \
- (void)RCC->APB1LPENR; \
- }
- /**
- * @brief Resets one or more peripheral on the APB1 bus.
- *
- * @param[in] mask APB1 peripherals mask
- *
- * @api
- */
- #define rccResetAPB1(mask) { \
- RCC->APB1RSTR |= (mask); \
- RCC->APB1RSTR &= ~(mask); \
- (void)RCC->APB1RSTR; \
- }
- /**
- * @brief Enables the clock of one or more peripheral on the APB2 bus.
- *
- * @param[in] mask APB2 peripherals mask
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableAPB2(mask, lp) { \
- RCC->APB2ENR |= (mask); \
- if (lp) \
- RCC->APB2LPENR |= (mask); \
- else \
- RCC->APB2LPENR &= ~(mask); \
- (void)RCC->APB2LPENR; \
- }
- /**
- * @brief Disables the clock of one or more peripheral on the APB2 bus.
- *
- * @param[in] mask APB2 peripherals mask
- *
- * @api
- */
- #define rccDisableAPB2(mask) { \
- RCC->APB2ENR &= ~(mask); \
- RCC->APB2LPENR &= ~(mask); \
- (void)RCC->APB2LPENR; \
- }
- /**
- * @brief Resets one or more peripheral on the APB2 bus.
- *
- * @param[in] mask APB2 peripherals mask
- *
- * @api
- */
- #define rccResetAPB2(mask) { \
- RCC->APB2RSTR |= (mask); \
- RCC->APB2RSTR &= ~(mask); \
- (void)RCC->APB2RSTR; \
- }
- /**
- * @brief Enables the clock of one or more peripheral on the AHB1 bus.
- *
- * @param[in] mask AHB1 peripherals mask
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableAHB1(mask, lp) { \
- RCC->AHB1ENR |= (mask); \
- if (lp) \
- RCC->AHB1LPENR |= (mask); \
- else \
- RCC->AHB1LPENR &= ~(mask); \
- (void)RCC->AHB1LPENR; \
- }
- /**
- * @brief Disables the clock of one or more peripheral on the AHB1 bus.
- *
- * @param[in] mask AHB1 peripherals mask
- *
- * @api
- */
- #define rccDisableAHB1(mask) { \
- RCC->AHB1ENR &= ~(mask); \
- RCC->AHB1LPENR &= ~(mask); \
- (void)RCC->AHB1LPENR; \
- }
- /**
- * @brief Resets one or more peripheral on the AHB1 bus.
- *
- * @param[in] mask AHB1 peripherals mask
- *
- * @api
- */
- #define rccResetAHB1(mask) { \
- RCC->AHB1RSTR |= (mask); \
- RCC->AHB1RSTR &= ~(mask); \
- (void)RCC->AHB1RSTR; \
- }
- /**
- * @brief Enables the clock of one or more peripheral on the AHB2 bus.
- *
- * @param[in] mask AHB2 peripherals mask
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableAHB2(mask, lp) { \
- RCC->AHB2ENR |= (mask); \
- if (lp) \
- RCC->AHB2LPENR |= (mask); \
- else \
- RCC->AHB2LPENR &= ~(mask); \
- (void)RCC->AHB2LPENR; \
- }
- /**
- * @brief Disables the clock of one or more peripheral on the AHB2 bus.
- *
- * @param[in] mask AHB2 peripherals mask
- *
- * @api
- */
- #define rccDisableAHB2(mask) { \
- RCC->AHB2ENR &= ~(mask); \
- RCC->AHB2LPENR &= ~(mask); \
- (void)RCC->AHB2LPENR; \
- }
- /**
- * @brief Resets one or more peripheral on the AHB2 bus.
- *
- * @param[in] mask AHB2 peripherals mask
- *
- * @api
- */
- #define rccResetAHB2(mask) { \
- RCC->AHB2RSTR |= (mask); \
- RCC->AHB2RSTR &= ~(mask); \
- (void)RCC->AHB2RSTR; \
- }
- /**
- * @brief Enables the clock of one or more peripheral on the AHB3 (FSMC) bus.
- *
- * @param[in] mask AHB3 peripherals mask
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableAHB3(mask, lp) { \
- RCC->AHB3ENR |= (mask); \
- if (lp) \
- RCC->AHB3LPENR |= (mask); \
- else \
- RCC->AHB3LPENR &= ~(mask); \
- (void)RCC->AHB3LPENR; \
- }
- /**
- * @brief Disables the clock of one or more peripheral on the AHB3 (FSMC) bus.
- *
- * @param[in] mask AHB3 peripherals mask
- *
- * @api
- */
- #define rccDisableAHB3(mask) { \
- RCC->AHB3ENR &= ~(mask); \
- RCC->AHB3LPENR &= ~(mask); \
- (void)RCC->AHB3LPENR; \
- }
- /**
- * @brief Resets one or more peripheral on the AHB3 (FSMC) bus.
- *
- * @param[in] mask AHB3 peripherals mask
- *
- * @api
- */
- #define rccResetAHB3(mask) { \
- RCC->AHB3RSTR |= (mask); \
- RCC->AHB3RSTR &= ~(mask); \
- (void)RCC->AHB3RSTR; \
- }
- /** @} */
- /**
- * @name ADC peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the ADC1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableADC1(lp) rccEnableAPB2(RCC_APB2ENR_ADC1EN, lp)
- /**
- * @brief Disables the ADC1 peripheral clock.
- *
- * @api
- */
- #define rccDisableADC1() rccDisableAPB2(RCC_APB2ENR_ADC1EN)
- /**
- * @brief Resets the ADC1 peripheral.
- *
- * @api
- */
- #define rccResetADC1() rccResetAPB2(RCC_APB2RSTR_ADC1RST)
- /**
- * @brief Enables the ADC2 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableADC2(lp) rccEnableAPB2(RCC_APB2ENR_ADC2EN, lp)
- /**
- * @brief Disables the ADC2 peripheral clock.
- *
- * @api
- */
- #define rccDisableADC2() rccDisableAPB2(RCC_APB2ENR_ADC2EN)
- /**
- * @brief Resets the ADC2 peripheral.
- *
- * @api
- */
- #define rccResetADC2() rccResetAPB2(RCC_APB2RSTR_ADC2RST)
- /**
- * @brief Enables the ADC3 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableADC3(lp) rccEnableAPB2(RCC_APB2ENR_ADC3EN, lp)
- /**
- * @brief Disables the ADC3 peripheral clock.
- *
- * @api
- */
- #define rccDisableADC3() rccDisableAPB2(RCC_APB2ENR_ADC3EN)
- /**
- * @brief Resets the ADC3 peripheral.
- *
- * @api
- */
- #define rccResetADC3() rccResetAPB2(RCC_APB2RSTR_ADC3RST)
- /** @} */
- /**
- * @name DAC peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the DAC1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableDAC1(lp) rccEnableAPB1(RCC_APB1ENR_DACEN, lp)
- /**
- * @brief Disables the DAC1 peripheral clock.
- *
- * @api
- */
- #define rccDisableDAC1() rccDisableAPB1(RCC_APB1ENR_DACEN)
- /**
- * @brief Resets the DAC1 peripheral.
- *
- * @api
- */
- #define rccResetDAC1() rccResetAPB1(RCC_APB1RSTR_DACRST)
- /** @} */
- /**
- * @name DMA peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the DMA1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableDMA1(lp) rccEnableAHB1(RCC_AHB1ENR_DMA1EN, lp)
- /**
- * @brief Disables the DMA1 peripheral clock.
- *
- * @api
- */
- #define rccDisableDMA1() rccDisableAHB1(RCC_AHB1ENR_DMA1EN)
- /**
- * @brief Resets the DMA1 peripheral.
- *
- * @api
- */
- #define rccResetDMA1() rccResetAHB1(RCC_AHB1RSTR_DMA1RST)
- /**
- * @brief Enables the DMA2 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableDMA2(lp) rccEnableAHB1(RCC_AHB1ENR_DMA2EN, lp)
- /**
- * @brief Disables the DMA2 peripheral clock.
- *
- * @api
- */
- #define rccDisableDMA2() rccDisableAHB1(RCC_AHB1ENR_DMA2EN)
- /**
- * @brief Resets the DMA2 peripheral.
- *
- * @api
- */
- #define rccResetDMA2() rccResetAHB1(RCC_AHB1RSTR_DMA2RST)
- /** @} */
- /**
- * @name BKPSRAM specific RCC operations
- * @{
- */
- /**
- * @brief Enables the BKPSRAM peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableBKPSRAM(lp) rccEnableAHB1(RCC_AHB1ENR_BKPSRAMEN, lp)
- /**
- * @brief Disables the BKPSRAM peripheral clock.
- *
- * @api
- */
- #define rccDisableBKPSRAM() rccDisableAHB1(RCC_AHB1ENR_BKPSRAMEN)
- /** @} */
- /**
- * @name PWR interface specific RCC operations
- * @{
- */
- /**
- * @brief Enables the PWR interface clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnablePWRInterface(lp) rccEnableAPB1(RCC_APB1ENR_PWREN, lp)
- /**
- * @brief Disables PWR interface clock.
- *
- * @api
- */
- #define rccDisablePWRInterface() rccDisableAPB1(RCC_APB1ENR_PWREN)
- /**
- * @brief Resets the PWR interface.
- *
- * @api
- */
- #define rccResetPWRInterface() rccResetAPB1(RCC_APB1RSTR_PWRRST)
- /** @} */
- /**
- * @name CAN peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the CAN1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableCAN1(lp) rccEnableAPB1(RCC_APB1ENR_CAN1EN, lp)
- /**
- * @brief Disables the CAN1 peripheral clock.
- *
- * @api
- */
- #define rccDisableCAN1() rccDisableAPB1(RCC_APB1ENR_CAN1EN)
- /**
- * @brief Resets the CAN1 peripheral.
- *
- * @api
- */
- #define rccResetCAN1() rccResetAPB1(RCC_APB1RSTR_CAN1RST)
- /**
- * @brief Enables the CAN2 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableCAN2(lp) rccEnableAPB1(RCC_APB1ENR_CAN2EN, lp)
- /**
- * @brief Disables the CAN2 peripheral clock.
- *
- * @api
- */
- #define rccDisableCAN2() rccDisableAPB1(RCC_APB1ENR_CAN2EN)
- /**
- * @brief Resets the CAN2 peripheral.
- *
- * @api
- */
- #define rccResetCAN2() rccResetAPB1(RCC_APB1RSTR_CAN2RST)
- /**
- * @brief Resets the CAN3 peripheral.
- *
- * @api
- */
- #define rccResetCAN3() rccResetAPB1(RCC_APB1RSTR_CAN3RST)
- /**
- * @brief Enables the CAN3 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableCAN3(lp) rccEnableAPB1(RCC_APB1ENR_CAN3EN, lp)
- /**
- * @brief Disables the CAN3 peripheral clock.
- *
- * @api
- */
- #define rccDisableCAN3() rccDisableAPB1(RCC_APB1ENR_CAN3EN)
- /** @} */
- /**
- * @name ETH peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the ETH peripheral clock.
- *
- * @api
- */
- #define rccEnableETH(lp) rccEnableAHB1(RCC_AHB1ENR_ETHMACEN | \
- RCC_AHB1ENR_ETHMACTXEN | \
- RCC_AHB1ENR_ETHMACRXEN, lp)
- /**
- * @brief Disables the ETH peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccDisableETH() rccDisableAHB1(RCC_AHB1ENR_ETHMACEN | \
- RCC_AHB1ENR_ETHMACTXEN | \
- RCC_AHB1ENR_ETHMACRXEN)
- /**
- * @brief Resets the ETH peripheral.
- *
- * @api
- */
- #define rccResetETH() rccResetAHB1(RCC_AHB1RSTR_ETHMACRST)
- /** @} */
- /**
- * @name I2C peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the I2C1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableI2C1(lp) rccEnableAPB1(RCC_APB1ENR_I2C1EN, lp)
- /**
- * @brief Disables the I2C1 peripheral clock.
- *
- * @api
- */
- #define rccDisableI2C1() rccDisableAPB1(RCC_APB1ENR_I2C1EN)
- /**
- * @brief Resets the I2C1 peripheral.
- *
- * @api
- */
- #define rccResetI2C1() rccResetAPB1(RCC_APB1RSTR_I2C1RST)
- /**
- * @brief Enables the I2C2 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableI2C2(lp) rccEnableAPB1(RCC_APB1ENR_I2C2EN, lp)
- /**
- * @brief Disables the I2C2 peripheral clock.
- *
- * @api
- */
- #define rccDisableI2C2() rccDisableAPB1(RCC_APB1ENR_I2C2EN)
- /**
- * @brief Resets the I2C2 peripheral.
- *
- * @api
- */
- #define rccResetI2C2() rccResetAPB1(RCC_APB1RSTR_I2C2RST)
- /**
- * @brief Enables the I2C3 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableI2C3(lp) rccEnableAPB1(RCC_APB1ENR_I2C3EN, lp)
- /**
- * @brief Disables the I2C3 peripheral clock.
- *
- * @api
- */
- #define rccDisableI2C3() rccDisableAPB1(RCC_APB1ENR_I2C3EN)
- /**
- * @brief Resets the I2C3 peripheral.
- *
- * @api
- */
- #define rccResetI2C3() rccResetAPB1(RCC_APB1RSTR_I2C3RST)
- /**
- * @brief Enables the I2C4 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableI2C4(lp) rccEnableAPB1(RCC_APB1ENR_I2C4EN, lp)
- /**
- * @brief Disables the I2C4 peripheral clock.
- *
- * @api
- */
- #define rccDisableI2C4() rccDisableAPB1(RCC_APB1ENR_I2C4EN)
- /**
- * @brief Resets the I2C4 peripheral.
- *
- * @api
- */
- #define rccResetI2C4() rccResetAPB1(RCC_APB1RSTR_I2C4RST)
- /** @} */
- /**
- * @name OTG peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the OTG_FS peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableOTG_FS(lp) rccEnableAHB2(RCC_AHB2ENR_OTGFSEN, lp)
- /**
- * @brief Disables the OTG_FS peripheral clock.
- *
- * @api
- */
- #define rccDisableOTG_FS() rccDisableAHB2(RCC_AHB2ENR_OTGFSEN)
- /**
- * @brief Resets the OTG_FS peripheral.
- *
- * @api
- */
- #define rccResetOTG_FS() rccResetAHB2(RCC_AHB2RSTR_OTGFSRST)
- /**
- * @brief Enables the OTG_HS peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableOTG_HS(lp) rccEnableAHB1(RCC_AHB1ENR_OTGHSEN, lp)
- /**
- * @brief Disables the OTG_HS peripheral clock.
- *
- * @api
- */
- #define rccDisableOTG_HS() rccDisableAHB1(RCC_AHB1ENR_OTGHSEN)
- /**
- * @brief Resets the OTG_HS peripheral.
- *
- * @api
- */
- #define rccResetOTG_HS() rccResetAHB1(RCC_AHB1RSTR_OTGHRST)
- /**
- * @brief Enables the OTG_HS peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableOTG_HSULPI(lp) rccEnableAHB1(RCC_AHB1ENR_OTGHSULPIEN, lp)
- /**
- * @brief Disables the OTG_HS peripheral clock.
- *
- * @api
- */
- #define rccDisableOTG_HSULPI() rccDisableAHB1(RCC_AHB1ENR_OTGHSULPIEN)
- /** @} */
- /**
- * @name QUADSPI peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the QUADSPI1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableQUADSPI1(lp) rccEnableAHB3(RCC_AHB3ENR_QSPIEN, lp)
- /**
- * @brief Disables the QUADSPI1 peripheral clock.
- *
- * @api
- */
- #define rccDisableQUADSPI1() rccDisableAHB3(RCC_AHB3ENR_QSPIEN)
- /**
- * @brief Resets the QUADSPI1 peripheral.
- *
- * @api
- */
- #define rccResetQUADSPI1() rccResetAHB3(RCC_AHB3RSTR_QSPIRST)
- /** @} */
- /**
- * @name SDMMC peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the SDMMC1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableSDMMC1(lp) rccEnableAPB2(RCC_APB2ENR_SDMMC1EN, lp)
- /**
- * @brief Disables the SDMMC1 peripheral clock.
- *
- * @api
- */
- #define rccDisableSDMMC1() rccDisableAPB2(RCC_APB2ENR_SDMMC1EN)
- /**
- * @brief Resets the SDMMC1 peripheral.
- *
- * @api
- */
- #define rccResetSDMMC1() rccResetAPB2(RCC_APB2RSTR_SDMMC1RST)
- /**
- * @brief Enables the SDMMC2 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableSDMMC2(lp) rccEnableAPB2(RCC_APB2ENR_SDMMC2EN, lp)
- /**
- * @brief Disables the SDMMC2 peripheral clock.
- *
- * @api
- */
- #define rccDisableSDMMC2() rccDisableAPB2(RCC_APB2ENR_SDMMC2EN)
- /**
- * @brief Resets the SDMMC2 peripheral.
- *
- * @api
- */
- #define rccResetSDMMC2() rccResetAPB2(RCC_APB2RSTR_SDMMC2RST)
- /** @} */
- /**
- * @name SPI peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the SPI1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableSPI1(lp) rccEnableAPB2(RCC_APB2ENR_SPI1EN, lp)
- /**
- * @brief Disables the SPI1 peripheral clock.
- *
- * @api
- */
- #define rccDisableSPI1() rccDisableAPB2(RCC_APB2ENR_SPI1EN)
- /**
- * @brief Resets the SPI1 peripheral.
- *
- * @api
- */
- #define rccResetSPI1() rccResetAPB2(RCC_APB2RSTR_SPI1RST)
- /**
- * @brief Enables the SPI2 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableSPI2(lp) rccEnableAPB1(RCC_APB1ENR_SPI2EN, lp)
- /**
- * @brief Disables the SPI2 peripheral clock.
- *
- * @api
- */
- #define rccDisableSPI2() rccDisableAPB1(RCC_APB1ENR_SPI2EN)
- /**
- * @brief Resets the SPI2 peripheral.
- *
- * @api
- */
- #define rccResetSPI2() rccResetAPB1(RCC_APB1RSTR_SPI2RST)
- /**
- * @brief Enables the SPI3 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableSPI3(lp) rccEnableAPB1(RCC_APB1ENR_SPI3EN, lp)
- /**
- * @brief Disables the SPI3 peripheral clock.
- *
- * @api
- */
- #define rccDisableSPI3() rccDisableAPB1(RCC_APB1ENR_SPI3EN)
- /**
- * @brief Resets the SPI3 peripheral.
- *
- * @api
- */
- #define rccResetSPI3() rccResetAPB1(RCC_APB1RSTR_SPI3RST)
- /**
- * @brief Enables the SPI4 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableSPI4(lp) rccEnableAPB2(RCC_APB2ENR_SPI4EN, lp)
- /**
- * @brief Disables the SPI4 peripheral clock.
- *
- * @api
- */
- #define rccDisableSPI4() rccDisableAPB2(RCC_APB2ENR_SPI4EN)
- /**
- * @brief Resets the SPI4 peripheral.
- *
- * @api
- */
- #define rccResetSPI4() rccResetAPB2(RCC_APB2RSTR_SPI4RST)
- /**
- * @brief Enables the SPI5 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableSPI5(lp) rccEnableAPB2(RCC_APB2ENR_SPI5EN, lp)
- /**
- * @brief Disables the SPI5 peripheral clock.
- *
- * @api
- */
- #define rccDisableSPI5() rccDisableAPB2(RCC_APB2ENR_SPI5EN)
- /**
- * @brief Resets the SPI5 peripheral.
- *
- * @api
- */
- #define rccResetSPI5() rccResetAPB2(RCC_APB2RSTR_SPI5RST)
- /**
- * @brief Enables the SPI6 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableSPI6(lp) rccEnableAPB2(RCC_APB2ENR_SPI6EN, lp)
- /**
- * @brief Disables the SPI6 peripheral clock.
- *
- * @api
- */
- #define rccDisableSPI6() rccDisableAPB2(RCC_APB2ENR_SPI6EN)
- /**
- * @brief Resets the SPI6 peripheral.
- *
- * @api
- */
- #define rccResetSPI6() rccResetAPB2(RCC_APB2RSTR_SPI6RST)
- /** @} */
- /**
- * @name TIM peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the TIM1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM1(lp) rccEnableAPB2(RCC_APB2ENR_TIM1EN, lp)
- /**
- * @brief Disables the TIM1 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM1() rccDisableAPB2(RCC_APB2ENR_TIM1EN)
- /**
- * @brief Resets the TIM1 peripheral.
- *
- * @api
- */
- #define rccResetTIM1() rccResetAPB2(RCC_APB2RSTR_TIM1RST)
- /**
- * @brief Enables the TIM2 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM2(lp) rccEnableAPB1(RCC_APB1ENR_TIM2EN, lp)
- /**
- * @brief Disables the TIM2 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM2() rccDisableAPB1(RCC_APB1ENR_TIM2EN)
- /**
- * @brief Resets the TIM2 peripheral.
- *
- * @api
- */
- #define rccResetTIM2() rccResetAPB1(RCC_APB1RSTR_TIM2RST)
- /**
- * @brief Enables the TIM3 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM3(lp) rccEnableAPB1(RCC_APB1ENR_TIM3EN, lp)
- /**
- * @brief Disables the TIM3 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM3() rccDisableAPB1(RCC_APB1ENR_TIM3EN)
- /**
- * @brief Resets the TIM3 peripheral.
- *
- * @api
- */
- #define rccResetTIM3() rccResetAPB1(RCC_APB1RSTR_TIM3RST)
- /**
- * @brief Enables the TIM4 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM4(lp) rccEnableAPB1(RCC_APB1ENR_TIM4EN, lp)
- /**
- * @brief Disables the TIM4 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM4() rccDisableAPB1(RCC_APB1ENR_TIM4EN)
- /**
- * @brief Resets the TIM4 peripheral.
- *
- * @api
- */
- #define rccResetTIM4() rccResetAPB1(RCC_APB1RSTR_TIM4RST)
- /**
- * @brief Enables the TIM5 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM5(lp) rccEnableAPB1(RCC_APB1ENR_TIM5EN, lp)
- /**
- * @brief Disables the TIM5 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM5() rccDisableAPB1(RCC_APB1ENR_TIM5EN)
- /**
- * @brief Resets the TIM5 peripheral.
- *
- * @api
- */
- #define rccResetTIM5() rccResetAPB1(RCC_APB1RSTR_TIM5RST)
- /**
- * @brief Enables the TIM6 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM6(lp) rccEnableAPB1(RCC_APB1ENR_TIM6EN, lp)
- /**
- * @brief Disables the TIM6 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM6() rccDisableAPB1(RCC_APB1ENR_TIM6EN)
- /**
- * @brief Resets the TIM6 peripheral.
- *
- * @api
- */
- #define rccResetTIM6() rccResetAPB1(RCC_APB1RSTR_TIM6RST)
- /**
- * @brief Enables the TIM7 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM7(lp) rccEnableAPB1(RCC_APB1ENR_TIM7EN, lp)
- /**
- * @brief Disables the TIM7 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM7() rccDisableAPB1(RCC_APB1ENR_TIM7EN)
- /**
- * @brief Resets the TIM7 peripheral.
- *
- * @api
- */
- #define rccResetTIM7() rccResetAPB1(RCC_APB1RSTR_TIM7RST)
- /**
- * @brief Enables the TIM8 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM8(lp) rccEnableAPB2(RCC_APB2ENR_TIM8EN, lp)
- /**
- * @brief Disables the TIM8 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM8() rccDisableAPB2(RCC_APB2ENR_TIM8EN)
- /**
- * @brief Resets the TIM8 peripheral.
- *
- * @api
- */
- #define rccResetTIM8() rccResetAPB2(RCC_APB2RSTR_TIM8RST)
- /**
- * @brief Enables the TIM9 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM9(lp) rccEnableAPB2(RCC_APB2ENR_TIM9EN, lp)
- /**
- * @brief Disables the TIM9 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM9() rccDisableAPB2(RCC_APB2ENR_TIM9EN)
- /**
- * @brief Resets the TIM9 peripheral.
- *
- * @api
- */
- #define rccResetTIM9() rccResetAPB2(RCC_APB2RSTR_TIM9RST)
- /**
- * @brief Enables the TIM10 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM10(lp) rccEnableAPB2(RCC_APB2ENR_TIM10EN, lp)
- /**
- * @brief Disables the TIM10 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM10() rccDisableAPB2(RCC_APB2ENR_TIM10EN)
- /**
- * @brief Resets the TIM10 peripheral.
- *
- * @api
- */
- #define rccResetTIM10() rccResetAPB2(RCC_APB2RSTR_TIM10RST)
- /**
- * @brief Enables the TIM11 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM11(lp) rccEnableAPB2(RCC_APB2ENR_TIM11EN, lp)
- /**
- * @brief Disables the TIM11 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM11() rccDisableAPB2(RCC_APB2ENR_TIM11EN)
- /**
- * @brief Resets the TIM11 peripheral.
- *
- * @api
- */
- #define rccResetTIM11() rccResetAPB2(RCC_APB2RSTR_TIM11RST)
- /**
- * @brief Enables the TIM12 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM12(lp) rccEnableAPB1(RCC_APB1ENR_TIM12EN, lp)
- /**
- * @brief Disables the TIM12 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM12() rccDisableAPB1(RCC_APB1ENR_TIM12EN)
- /**
- * @brief Resets the TIM12 peripheral.
- *
- * @api
- */
- #define rccResetTIM12() rccResetAPB1(RCC_APB1RSTR_TIM12RST)
- /**
- * @brief Enables the TIM13 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM13(lp) rccEnableAPB1(RCC_APB1ENR_TIM13EN, lp)
- /**
- * @brief Disables the TIM13 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM13() rccDisableAPB1(RCC_APB1ENR_TIM13EN)
- /**
- * @brief Resets the TIM13 peripheral.
- *
- * @api
- */
- #define rccResetTIM13() rccResetAPB1(RCC_APB1RSTR_TIM13RST)
- /**
- * @brief Enables the TIM14 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableTIM14(lp) rccEnableAPB1(RCC_APB1ENR_TIM14EN, lp)
- /**
- * @brief Disables the TIM14 peripheral clock.
- *
- * @api
- */
- #define rccDisableTIM14() rccDisableAPB1(RCC_APB1ENR_TIM14EN)
- /**
- * @brief Resets the TIM14 peripheral.
- *
- * @api
- */
- #define rccResetTIM14() rccResetAPB1(RCC_APB1RSTR_TIM14RST)
- /** @} */
- /**
- * @name USART/UART peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the USART1 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableUSART1(lp) rccEnableAPB2(RCC_APB2ENR_USART1EN, lp)
- /**
- * @brief Disables the USART1 peripheral clock.
- *
- * @api
- */
- #define rccDisableUSART1() rccDisableAPB2(RCC_APB2ENR_USART1EN)
- /**
- * @brief Resets the USART1 peripheral.
- *
- * @api
- */
- #define rccResetUSART1() rccResetAPB2(RCC_APB2RSTR_USART1RST)
- /**
- * @brief Enables the USART2 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableUSART2(lp) rccEnableAPB1(RCC_APB1ENR_USART2EN, lp)
- /**
- * @brief Disables the USART2 peripheral clock.
- *
- * @api
- */
- #define rccDisableUSART2() rccDisableAPB1(RCC_APB1ENR_USART2EN)
- /**
- * @brief Resets the USART2 peripheral.
- *
- * @api
- */
- #define rccResetUSART2() rccResetAPB1(RCC_APB1RSTR_USART2RST)
- /**
- * @brief Enables the USART3 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableUSART3(lp) rccEnableAPB1(RCC_APB1ENR_USART3EN, lp)
- /**
- * @brief Disables the USART3 peripheral clock.
- *
- * @api
- */
- #define rccDisableUSART3() rccDisableAPB1(RCC_APB1ENR_USART3EN)
- /**
- * @brief Resets the USART3 peripheral.
- *
- * @api
- */
- #define rccResetUSART3() rccResetAPB1(RCC_APB1RSTR_USART3RST)
- /**
- * @brief Enables the UART4 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableUART4(lp) rccEnableAPB1(RCC_APB1ENR_UART4EN, lp)
- /**
- * @brief Disables the UART4 peripheral clock.
- *
- * @api
- */
- #define rccDisableUART4() rccDisableAPB1(RCC_APB1ENR_UART4EN)
- /**
- * @brief Resets the UART4 peripheral.
- *
- * @api
- */
- #define rccResetUART4() rccResetAPB1(RCC_APB1RSTR_UART4RST)
- /**
- * @brief Enables the UART5 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableUART5(lp) rccEnableAPB1(RCC_APB1ENR_UART5EN, lp)
- /**
- * @brief Disables the UART5 peripheral clock.
- *
- * @api
- */
- #define rccDisableUART5() rccDisableAPB1(RCC_APB1ENR_UART5EN)
- /**
- * @brief Resets the UART5 peripheral.
- *
- * @api
- */
- #define rccResetUART5() rccResetAPB1(RCC_APB1RSTR_UART5RST)
- /**
- * @brief Enables the USART6 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableUSART6(lp) rccEnableAPB2(RCC_APB2ENR_USART6EN, lp)
- /**
- * @brief Disables the USART6 peripheral clock.
- *
- * @api
- */
- #define rccDisableUSART6() rccDisableAPB2(RCC_APB2ENR_USART6EN)
- /**
- * @brief Resets the USART6 peripheral.
- *
- * @api
- */
- #define rccResetUSART6() rccResetAPB2(RCC_APB2RSTR_USART6RST)
- /**
- * @brief Enables the UART7 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableUART7(lp) rccEnableAPB1(RCC_APB1ENR_UART7EN, lp)
- /**
- * @brief Disables the UART7 peripheral clock.
- *
- * @api
- */
- #define rccDisableUART7() rccDisableAPB1(RCC_APB1ENR_UART7EN)
- /**
- * @brief Resets the UART7 peripheral.
- *
- * @api
- */
- #define rccResetUART7() rccResetAPB1(RCC_APB1RSTR_UART7RST)
- /**
- * @brief Enables the UART8 peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableUART8(lp) rccEnableAPB1(RCC_APB1ENR_UART8EN, lp)
- /**
- * @brief Disables the UART8 peripheral clock.
- *
- * @api
- */
- #define rccDisableUART8() rccDisableAPB1(RCC_APB1ENR_UART8EN)
- /**
- * @brief Resets the UART8 peripheral.
- *
- * @api
- */
- #define rccResetUART8() rccResetAPB1(RCC_APB1RSTR_UART8RST)
- /** @} */
- /**
- * @name LTDC peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the LTDC peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableLTDC(lp) rccEnableAPB2(RCC_APB2ENR_LTDCEN, lp)
- /**
- * @brief Disables the LTDC peripheral clock.
- *
- * @api
- */
- #define rccDisableLTDC() rccDisableAPB2(RCC_APB2ENR_LTDCEN)
- /**
- * @brief Resets the LTDC peripheral.
- *
- * @api
- */
- #define rccResetLTDC() rccResetAPB2(RCC_APB2RSTR_LTDCRST)
- /** @} */
- /**
- * @name DMA2D peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the DMA2D peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableDMA2D(lp) rccEnableAHB1(RCC_AHB1ENR_DMA2DEN, lp)
- /**
- * @brief Disables the DMA2D peripheral clock.
- *
- * @api
- */
- #define rccDisableDMA2D() rccDisableAHB1(RCC_AHB1ENR_DMA2DEN)
- /**
- * @brief Resets the DMA2D peripheral.
- *
- * @api
- */
- #define rccResetDMA2D() rccResetAHB1(RCC_AHB1RSTR_DMA2DRST)
- /** @} */
- /**
- * @name CRC peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the CRC peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableCRC(lp) rccEnableAHB1(RCC_AHB1ENR_CRCEN, lp)
- /**
- * @brief Disables the CRC peripheral clock.
- *
- * @api
- */
- #define rccDisableCRC() rccDisableAHB1(RCC_AHB1ENR_CRCEN)
- /**
- * @brief Resets the CRC peripheral.
- *
- * @api
- */
- #define rccResetCRC() rccResetAHB1(RCC_AHB1RSTR_CRCRST)
- /** @} */
- /**
- * @name HASH peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the CRYP peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableCRYP(lp) rccEnableAHB2(RCC_AHB2ENR_CRYPEN, lp)
- /**
- * @brief Disables the CRYP peripheral clock.
- *
- * @api
- */
- #define rccDisableCRYP() rccDisableAHB2(RCC_AHB2ENR_CRYPEN)
- /**
- * @brief Resets the CRYP peripheral.
- *
- * @api
- */
- #define rccResetCRYP() rccResetAHB2(RCC_AHB2RSTR_CRYPRST)
- /** @} */
- /**
- * @name HASH peripheral specific RCC operations
- * @{
- */
- /**
- * @brief Enables the HASH peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #define rccEnableHASH(lp) rccEnableAHB2(RCC_AHB2ENR_HASHEN, lp)
- /**
- * @brief Disables the HASH peripheral clock.
- *
- * @api
- */
- #define rccDisableHASH() rccDisableAHB2(RCC_AHB2ENR_HASHEN)
- /**
- * @brief Resets the HASH peripheral.
- *
- * @api
- */
- #define rccResetHASH() rccResetAHB2(RCC_AHB2RSTR_HASHRST)
- /** @} */
- /**
- * @name FSMC peripherals specific RCC operations
- * @{
- */
- /**
- * @brief Enables the FSMC peripheral clock.
- *
- * @param[in] lp low power enable flag
- *
- * @api
- */
- #if defined(STM32_FSMC_IS_FMC)
- #define rccEnableFSMC(lp) rccEnableAHB3(RCC_AHB3ENR_FMCEN, lp)
- #else
- #define rccEnableFSMC(lp) rccEnableAHB3(RCC_AHB3ENR_FSMCEN, lp)
- #endif
- /**
- * @brief Disables the FSMC peripheral clock.
- *
- * @api
- */
- #if defined(STM32_FSMC_IS_FMC)
- #define rccDisableFSMC() rccDisableAHB3(RCC_AHB3ENR_FMCEN)
- #else
- #define rccDisableFSMC() rccDisableAHB3(RCC_AHB3ENR_FSMCEN)
- #endif
- /**
- * @brief Resets the FSMC peripheral.
- *
- * @api
- */
- #if defined(STM32_FSMC_IS_FMC)
- #define rccResetFSMC() rccResetAHB3(RCC_AHB3RSTR_FMCRST)
- #else
- #define rccResetFSMC() rccResetAHB3(RCC_AHB3RSTR_FSMCRST)
- #endif
- /** @} */
- /*===========================================================================*/
- /* External declarations. */
- /*===========================================================================*/
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif /* STM32_RCC_H */
- /** @} */
|