VSF Documented
Macros | Functions
driver.c File Reference
#include "hal/vsf_hal_cfg.h"
#include "./device.h"
#include "./driver.h"
#include "pico/platform.h"
#include "hardware/platform_defs.h"
#include "hardware/address_mapped.h"
#include "hardware/regs/resets.h"
#include "hardware/structs/xosc.h"
#include "hardware/structs/clocks.h"
#include "hardware/structs/pll.h"
#include "hardware/structs/resets.h"
#include "hal/driver/common/swi/arm/vsf_swi_template.inc"

Macros

#define KHZ   1000
 
#define MHZ   1000000
 
#define PLL_COMMON_REFDIV   1
 \tag::pll_settings[]
 
#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER   64
 
#define STARTUP_DELAY   (((XOSC_KHZ + 128) / 256) * PICO_XOSC_STARTUP_DELAY_MULTIPLIER)
 

Functions

void xosc_init (void)
 \end::reset_funcs[]
 
void pll_init (pll_hw_t *pll, uint refdiv, uint vco_freq, uint post_div1, uint post_div2)
 \tag::pll_init_calculations[]
 
bool clock_configure (enum clock_index clk_index, uint32_t src, uint32_t auxsrc, uint32_t src_freq, uint32_t freq)
 \tagclock_configure[]
 
uint32_t clock_get_hz (enum clock_index clk_index)
 \endclock_configure[]
 
bool vsf_driver_init (void)
 \endclock_get_hz[]
 

Macro Definition Documentation

◆ KHZ

#define KHZ   1000

◆ MHZ

#define MHZ   1000000

◆ PLL_COMMON_REFDIV

#define PLL_COMMON_REFDIV   1

\tag::pll_settings[]

\end::pll_settings[]

◆ PICO_XOSC_STARTUP_DELAY_MULTIPLIER

#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER   64

◆ STARTUP_DELAY

#define STARTUP_DELAY   (((XOSC_KHZ + 128) / 256) * PICO_XOSC_STARTUP_DELAY_MULTIPLIER)

Function Documentation

◆ xosc_init()

void xosc_init ( void  )

\end::reset_funcs[]

◆ pll_init()

void pll_init ( pll_hw_t *  pll,
uint  refdiv,
uint  vco_freq,
uint  post_div1,
uint  post_div2 
)

\tag::pll_init_calculations[]

\end::pll_init_calculations[]

\tag::pll_init_finish[]

\end::pll_init_finish[]

◆ clock_configure()

bool clock_configure ( enum clock_index  clk_index,
uint32_t  src,
uint32_t  auxsrc,
uint32_t  src_freq,
uint32_t  freq 
)

◆ clock_get_hz()

uint32_t clock_get_hz ( enum clock_index  clk_index)

◆ vsf_driver_init()

bool vsf_driver_init ( void  )

\endclock_get_hz[]

common hal drivers

Note
initialize device driver
Parameters
none
Return values
trueinitialization succeeded.
falseinitialization failed

\tagpll_init[]

\endpll_init[]

\tag::configure_clk_sys[]

\end::configure_clk_sys[]