libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
|
#include <libopencm3/cm3/assert.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/pwr.h>
#include <libopencm3/stm32/flash.h>
Go to the source code of this file.
Functions | |
void | rcc_osc_ready_int_clear (enum rcc_osc osc) |
void | rcc_osc_ready_int_enable (enum rcc_osc osc) |
void | rcc_osc_ready_int_disable (enum rcc_osc osc) |
int | rcc_osc_ready_int_flag (enum rcc_osc osc) |
void | rcc_css_int_clear (void) |
int | rcc_css_int_flag (void) |
bool | rcc_is_osc_ready (enum rcc_osc osc) |
Is the given oscillator ready? More... | |
void | rcc_wait_for_osc_ready (enum rcc_osc osc) |
Wait for Oscillator Ready. More... | |
void | rcc_wait_for_sysclk_status (enum rcc_osc osc) |
void | rcc_osc_on (enum rcc_osc osc) |
void | rcc_osc_off (enum rcc_osc osc) |
void | rcc_css_enable (void) |
void | rcc_css_disable (void) |
void | rcc_plli2s_config (uint16_t n, uint8_t r) |
Set the dividers for the PLLI2S clock outputs. More... | |
void | rcc_pllsai_config (uint16_t n, uint16_t p, uint16_t q, uint16_t r) |
Set the dividers for the PLLSAI clock outputs divider p is only available on F4x9 parts, pass 0 for other parts. More... | |
void | rcc_pllsai_postscalers (uint8_t q, uint8_t r) |
Set the dedicated dividers after the PLLSAI configuration. More... | |
void | rcc_set_sysclk_source (uint32_t clk) |
void | rcc_set_pll_source (uint32_t pllsrc) |
void | rcc_set_ppre2 (uint32_t ppre2) |
void | rcc_set_ppre1 (uint32_t ppre1) |
void | rcc_set_hpre (uint32_t hpre) |
void | rcc_set_rtcpre (uint32_t rtcpre) |
void | rcc_set_main_pll_hsi (uint32_t pllm, uint32_t plln, uint32_t pllp, uint32_t pllq, uint32_t pllr) |
Reconfigures the main PLL for a HSI source. More... | |
void | rcc_set_main_pll_hse (uint32_t pllm, uint32_t plln, uint32_t pllp, uint32_t pllq, uint32_t pllr) |
Reconfigures the main PLL for a HSE source. More... | |
uint32_t | rcc_system_clock_source (void) |
void | rcc_clock_setup_pll (const struct rcc_clock_scale *clock) |
Setup clocks to run from PLL. More... | |
void | rcc_clock_setup_hse_3v3 (const struct rcc_clock_scale *clock) |
Setup clocks with the HSE. More... | |
uint32_t | rcc_get_usart_clk_freq (uint32_t usart) |
Get the peripheral clock speed for the USART at base specified. More... | |
uint32_t | rcc_get_timer_clk_freq (uint32_t timer) |
Get the peripheral clock speed for the Timer at base specified. More... | |
uint32_t | rcc_get_i2c_clk_freq (uint32_t i2c) |
Get the peripheral clock speed for the I2C device at base specified. More... | |
uint32_t | rcc_get_spi_clk_freq (uint32_t spi) |
Get the peripheral clock speed for the SPI device at base specified. More... | |
Variables | |
uint32_t | rcc_ahb_frequency = 16000000 |
uint32_t | rcc_apb1_frequency = 16000000 |
uint32_t | rcc_apb2_frequency = 16000000 |
const struct rcc_clock_scale | rcc_hsi_configs [RCC_CLOCK_3V3_END] |
const struct rcc_clock_scale | rcc_hse_8mhz_3v3 [RCC_CLOCK_3V3_END] |
const struct rcc_clock_scale | rcc_hse_12mhz_3v3 [RCC_CLOCK_3V3_END] |
const struct rcc_clock_scale | rcc_hse_16mhz_3v3 [RCC_CLOCK_3V3_END] |
const struct rcc_clock_scale | rcc_hse_25mhz_3v3 [RCC_CLOCK_3V3_END] |