7 #ifndef _HARDWARE_CLOCKS_H 8 #define _HARDWARE_CLOCKS_H 11 #include "hardware/structs/clocks.h" 93 #ifndef PARAM_ASSERTIONS_ENABLED_CLOCKS 94 #define PARAM_ASSERTIONS_ENABLED_CLOCKS 0 148 static inline float frequency_count_mhz(uint src) {
189 uint div_int = (uint)div;
190 uint8_t frac = (uint8_t)((div - (
float)div_int) * (1u << CLOCKS_CLK_GPOUT0_DIV_INT_LSB));
uint32_t clock_get_hz(enum clock_index clk_index)
Get the current frequency of the specified clock.
Definition: clocks.c:208
void clock_gpio_init_int_frac(uint gpio, uint src, uint32_t div_int, uint8_t div_frac)
Output an optionally divided clock to the specified gpio pin.
Definition: clocks.c:317
uint32_t frequency_count_khz(uint src)
Measure a clocks frequency using the Frequency counter.Uses the inbuilt frequency counter to measure ...
Definition: clocks.c:218
void(* resus_callback_t)(void)
Resus callback function type.User provided callback for a resus event (when clk_sys is stopped by the...
Definition: clocks.h:158
clock_index
Enumeration identifying a hardware clock.
Definition: clocks.h:27
void clock_set_reported_hz(enum clock_index clk_index, uint hz)
Set the "current frequency" of the clock as reported by clock_get_hz without actually changing the cl...
Definition: clocks.c:213
void clock_stop(enum clock_index clk_index)
Stop the specified clock.
Definition: clocks.c:35
bool clock_configure(enum clock_index clk_index, uint32_t src, uint32_t auxsrc, uint32_t src_freq, uint32_t freq)
Configure the specified clockSee the tables in the description for details on the possible values for...
Definition: clocks.c:42
void clocks_init(void)
Initialise the clock hardwareMust be called before any other clock function.
Definition: clocks.c:121
void clocks_enable_resus(resus_callback_t resus_callback)
Enable the resus function. Restarts clk_sys if it is accidentally stopped.The resuscitate function wi...
Definition: clocks.c:293
bool clock_configure_gpin(enum clock_index clk_index, uint gpio, uint32_t src_freq, uint32_t freq)
Configure a clock to come from a gpio input.
Definition: clocks.c:364
static void clock_gpio_init(uint gpio, uint src, float div)
Output an optionally divided clock to the specified gpio pin.
Definition: clocks.h:187