stm32f3: Some additional f3 clock functions for the i2c.
This commit is contained in:
parent
4673348ff7
commit
66eab73570
@ -433,6 +433,9 @@ void rcc_set_main_pll_hsi(uint32_t pll);
|
|||||||
uint32_t rcc_get_system_clock_source(void);
|
uint32_t rcc_get_system_clock_source(void);
|
||||||
void rcc_backupdomain_reset(void);
|
void rcc_backupdomain_reset(void);
|
||||||
void rcc_clock_setup_hsi(const clock_scale_t *clock);
|
void rcc_clock_setup_hsi(const clock_scale_t *clock);
|
||||||
|
void rcc_set_i2c_clock_hsi(uint32_t i2c);
|
||||||
|
void rcc_set_i2c_clock_sysclk(uint32_t i2c);
|
||||||
|
uint32_t rcc_get_i2c_clocks(void);
|
||||||
|
|
||||||
END_DECLS
|
END_DECLS
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include <libopencm3/cm3/assert.h>
|
#include <libopencm3/cm3/assert.h>
|
||||||
#include <libopencm3/stm32/f3/rcc.h>
|
#include <libopencm3/stm32/f3/rcc.h>
|
||||||
#include <libopencm3/stm32/f3/flash.h>
|
#include <libopencm3/stm32/f3/flash.h>
|
||||||
|
#include <libopencm3/stm32/f3/i2c.h>
|
||||||
|
|
||||||
/* Set the default ppre1 and ppre2 peripheral clock frequencies after reset. */
|
/* Set the default ppre1 and ppre2 peripheral clock frequencies after reset. */
|
||||||
uint32_t rcc_ppre1_frequency = 8000000;
|
uint32_t rcc_ppre1_frequency = 8000000;
|
||||||
@ -422,3 +423,25 @@ void rcc_backupdomain_reset(void)
|
|||||||
RCC_BDCR &= ~RCC_BDCR_BDRST;
|
RCC_BDCR &= ~RCC_BDCR_BDRST;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rcc_set_i2c_clock_hsi(uint32_t i2c) {
|
||||||
|
if (i2c==I2C1) {
|
||||||
|
RCC_CFGR3 &= ~RCC_CFGR3_I2C1SW;
|
||||||
|
}
|
||||||
|
if (i2c==I2C2) {
|
||||||
|
RCC_CFGR3 &= ~RCC_CFGR3_I2C2SW;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void rcc_set_i2c_clock_sysclk(uint32_t i2c) {
|
||||||
|
if (i2c==I2C1) {
|
||||||
|
RCC_CFGR3 |= RCC_CFGR3_I2C1SW;
|
||||||
|
}
|
||||||
|
if (i2c==I2C2) {
|
||||||
|
RCC_CFGR3 |= RCC_CFGR3_I2C2SW;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t rcc_get_i2c_clocks(void)
|
||||||
|
{
|
||||||
|
return(RCC_CFGR3 & (RCC_CFGR3_I2C1SW | RCC_CFGR3_I2C2SW));
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user