diff --git a/include/libopencm3/stm32/f0/rcc.h b/include/libopencm3/stm32/f0/rcc.h index bca01009..ead1ba64 100644 --- a/include/libopencm3/stm32/f0/rcc.h +++ b/include/libopencm3/stm32/f0/rcc.h @@ -318,6 +318,9 @@ Control /* --- RCC_CFGR2 values ---------------------------------------------------- */ #define RCC_CFGR2_PREDIV 0xf +/** @defgroup rcc_cfgr2_prediv PLL source predividers +@ingroup rcc_defines +@{*/ #define RCC_CFGR2_PREDIV_NODIV 0x0 #define RCC_CFGR2_PREDIV_DIV2 0x1 #define RCC_CFGR2_PREDIV_DIV3 0x2 @@ -334,6 +337,7 @@ Control #define RCC_CFGR2_PREDIV_DIV14 0xd #define RCC_CFGR2_PREDIV_DIV15 0xe #define RCC_CFGR2_PREDIV_DIV16 0xf +/**@}*/ /* --- RCC_CFGR3 values ---------------------------------------------------- */ diff --git a/lib/stm32/f0/rcc.c b/lib/stm32/f0/rcc.c index 75fe6a87..b7cb6b19 100644 --- a/lib/stm32/f0/rcc.c +++ b/lib/stm32/f0/rcc.c @@ -483,7 +483,12 @@ void rcc_set_hpre(uint32_t hpre) RCC_CFGR = (RCC_CFGR & ~RCC_CFGR_HPRE) | hpre; } - +/** + * Set PLL Source pre-divider **CAUTION**. + * On F03x and F05, prediv only applies to HSE source. On others, this + * is _after_ source selection. See also f3. + * @param[in] prediv division by prediv+1 @ref rcc_cfgr2_prediv + */ void rcc_set_prediv(uint32_t prediv) { RCC_CFGR2 = (RCC_CFGR2 & ~RCC_CFGR2_PREDIV) | prediv;