stm32:l4: rcc: Add RTC clock functions
This commit is contained in:
parent
2c1823f7bb
commit
b8424263e8
|
@ -964,6 +964,10 @@ void rcc_set_msi_range(uint32_t msi_range);
|
||||||
void rcc_set_msi_range_standby(uint32_t msi_range);
|
void rcc_set_msi_range_standby(uint32_t msi_range);
|
||||||
void rcc_pll_output_enable(uint32_t pllout);
|
void rcc_pll_output_enable(uint32_t pllout);
|
||||||
void rcc_set_clock48_source(uint32_t clksel);
|
void rcc_set_clock48_source(uint32_t clksel);
|
||||||
|
void rcc_clock_setup_pll(const struct rcc_clock_scale *clock);
|
||||||
|
void rcc_enable_rtc_clock(void);
|
||||||
|
void rcc_disable_rtc_clock(void);
|
||||||
|
void rcc_set_rtc_clock_source(enum rcc_osc clk);
|
||||||
|
|
||||||
END_DECLS
|
END_DECLS
|
||||||
|
|
||||||
|
|
|
@ -398,4 +398,40 @@ void rcc_set_clock48_source(uint32_t clksel)
|
||||||
RCC_CCIPR |= (clksel << RCC_CCIPR_CLK48SEL_SHIFT);
|
RCC_CCIPR |= (clksel << RCC_CCIPR_CLK48SEL_SHIFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** Enable the RTC clock */
|
||||||
|
void rcc_enable_rtc_clock(void)
|
||||||
|
{
|
||||||
|
RCC_BDCR |= RCC_BDCR_RTCEN;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Disable the RTC clock */
|
||||||
|
void rcc_disable_rtc_clock(void)
|
||||||
|
{
|
||||||
|
RCC_BDCR &= ~RCC_BDCR_RTCEN;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Set the source for the RTC clock
|
||||||
|
* @param[in] clk ::rcc_osc. RTC clock source. Only HSE/32, LSE and LSI.
|
||||||
|
*/
|
||||||
|
void rcc_set_rtc_clock_source(enum rcc_osc clk)
|
||||||
|
{
|
||||||
|
RCC_BDCR &= ~(RCC_BDCR_RTCSEL_MASK << RCC_BDCR_RTCSEL_SHIFT);
|
||||||
|
|
||||||
|
switch (clk) {
|
||||||
|
case RCC_HSE:
|
||||||
|
RCC_BDCR |= (RCC_BDCR_RTCSEL_HSEDIV32 << RCC_BDCR_RTCSEL_SHIFT);
|
||||||
|
break;
|
||||||
|
case RCC_LSE:
|
||||||
|
RCC_BDCR |= (RCC_BDCR_RTCSEL_LSE << RCC_BDCR_RTCSEL_SHIFT);
|
||||||
|
break;
|
||||||
|
case RCC_LSI:
|
||||||
|
RCC_BDCR |= (RCC_BDCR_RTCSEL_LSI << RCC_BDCR_RTCSEL_SHIFT);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
/* none selected */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
Loading…
Reference in New Issue