stm32: rcc: provide async routines for osc checks

Start providing async routines for all blocking routines, to make it
easier to use libopencm3 in some RTOS environments.  This is not in
anyway intended to be complete, this just covers a single blocking
routine, rcc_wait_for_osc_ready.  Documentation added to the top level,
and provided for all stm32 families.
This commit is contained in:
Karl Palsson
2016-08-16 17:57:57 +00:00
committed by Karl Palsson
parent 4eb51ecaea
commit 08aac020ad
9 changed files with 101 additions and 130 deletions

View File

@@ -51,6 +51,13 @@ void rcc_periph_reset_release(enum rcc_periph_rst rst);
void rcc_set_mco(uint32_t mcosrc);
/**
* Is the given oscillator ready?
* @param osc Oscillator ID
* @return true if the hardware indicates the oscillator is ready.
*/
bool rcc_is_osc_ready(enum rcc_osc osc);
/**
* Wait for Oscillator Ready.
* Block until the hardware indicates that the Oscillator is ready.

View File

@@ -930,7 +930,6 @@ 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);
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);