VSF Documented
Macros | Typedefs | Enumerations | Functions | Variables
common.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "hal/arch/vsf_arch.h"

Go to the source code of this file.

Macros

#define VSF_HW_REG_REGION(__WORD_OFFSET, __BIT_OFFSET, __BIT_LENGTH)    (((__WORD_OFFSET) << 16) | ((__BIT_LENGTH) << 8) | ((__BIT_OFFSET) << 0))
 
#define VSF_HW_CLKRST_REGION   VSF_HW_REG_REGION
 
#define vsf_hw_peripheral_clk_set   vsf_hw_clkrst_region_set
 
#define vsf_hw_peripheral_clk_get   vsf_hw_clkrst_region_get
 
#define vsf_hw_peripheral_rst_set   vsf_hw_clkrst_region_set_bit
 
#define vsf_hw_peripheral_rst_clear   vsf_hw_clkrst_region_clear_bit
 
#define vsf_hw_peripheral_rst_get   vsf_hw_clkrst_region_get_bit
 
#define vsf_hw_peripheral_enable   vsf_hw_clkrst_region_set_bit
 
#define vsf_hw_peripheral_disable   vsf_hw_clkrst_region_clear_bit
 
#define VSF_SYSTIMER_FREQ   vsf_hw_clk_get_freq_hz(&VSF_HW_CLK_CPU)
 
#define VSF_HW_CLK_HEXT   VSF_HW_CLK_HSE
 
#define VSF_HW_CLK_HICK   VSF_HW_CLK_HSI
 
#define VSF_HW_CLK_LEXT   VSF_HW_CLK_LSE
 
#define VSF_HW_CLK_LICK   VSF_HW_CLK_LSI
 
#define VSF_HW_CLK_SCLK   VSF_HW_CLK_SYS
 
#define VSF_HW_CLK_HCLK   VSF_HW_CLK_AHB
 
#define VSF_HW_CLK_CPU   VSF_HW_CLK_AHB
 
#define VSF_HW_CLK_I2S1   VSF_HW_CLK_SYS
 
#define VSF_HW_CLK_I2S2   VSF_HW_CLK_SYS
 
#define VSF_HW_CLK_I2S3   VSF_HW_CLK_SYS
 

Typedefs

typedef enum vsf_hw_peripheral_rst_t vsf_hw_peripheral_rst_t
 
typedef enum vsf_hw_peripheral_en_t vsf_hw_peripheral_en_t
 
typedef struct vsf_hw_clk_t vsf_hw_clk_t
 

Enumerations

enum  vsf_hw_peripheral_rst_t {
  VSF_HW_RST_DMA2 = VSF_HW_CLKRST_REGION(0x4, 24, 1) ,
  VSF_HW_RST_DMA1 = VSF_HW_CLKRST_REGION(0x4, 22, 1) ,
  VSF_HW_RST_CRC = VSF_HW_CLKRST_REGION(0x4, 12, 1) ,
  VSF_HW_RST_QSPI1 = VSF_HW_CLKRST_REGION(0x6, 1, 1) ,
  VSF_HW_RST_PWC = VSF_HW_CLKRST_REGION(0x7, 28, 1) ,
  VSF_HW_RST_CAN1 = VSF_HW_CLKRST_REGION(0x7, 25, 1) ,
  VSF_HW_RST_WWDT = VSF_HW_CLKRST_REGION(0x7, 11, 1) ,
  VSF_HW_RST_TMR14 = VSF_HW_CLKRST_REGION(0x7, 8, 1) ,
  VSF_HW_RST_TMR13 = VSF_HW_CLKRST_REGION(0x7, 7, 1) ,
  VSF_HW_RST_TMR7 = VSF_HW_CLKRST_REGION(0x7, 5, 1) ,
  VSF_HW_RST_TMR6 = VSF_HW_CLKRST_REGION(0x7, 4, 1) ,
  VSF_HW_RST_TMR4 = VSF_HW_CLKRST_REGION(0x7, 2, 1) ,
  VSF_HW_RST_TMR3 = VSF_HW_CLKRST_REGION(0x7, 1, 1) ,
  VSF_HW_RST_TMR2 = VSF_HW_CLKRST_REGION(0x7, 0, 1) ,
  VSF_HW_RST_ACC = VSF_HW_CLKRST_REGION(0x8, 29, 1) ,
  VSF_HW_RST_I2SF5 = VSF_HW_CLKRST_REGION(0x8, 20, 1) ,
  VSF_HW_RST_TMR11 = VSF_HW_CLKRST_REGION(0x8, 18, 1) ,
  VSF_HW_RST_TMR10 = VSF_HW_CLKRST_REGION(0x8, 17, 1) ,
  VSF_HW_RST_TMR9 = VSF_HW_CLKRST_REGION(0x8, 16, 1) ,
  VSF_HW_RST_SCFG = VSF_HW_CLKRST_REGION(0x8, 14, 1) ,
  VSF_HW_RST_ADC = VSF_HW_CLKRST_REGION(0x8, 8, 1) ,
  VSF_HW_RST_TMR1 = VSF_HW_CLKRST_REGION(0x8, 0, 1)
}
 
enum  vsf_hw_peripheral_en_t {
  VSF_HW_EN_DMA2 = VSF_HW_CLKRST_REGION(0xC, 24, 1) ,
  VSF_HW_EN_DMA1 = VSF_HW_CLKRST_REGION(0xC, 22, 1) ,
  VSF_HW_EN_CRC = VSF_HW_CLKRST_REGION(0xC, 12, 1) ,
  VSF_HW_EN_QSPI1 = VSF_HW_CLKRST_REGION(0xE, 1, 1) ,
  VSF_HW_EN_PWC = VSF_HW_CLKRST_REGION(0x10, 28, 1) ,
  VSF_HW_EN_CAN1 = VSF_HW_CLKRST_REGION(0x10, 25, 1) ,
  VSF_HW_EN_WWDT = VSF_HW_CLKRST_REGION(0x10, 11, 1) ,
  VSF_HW_EN_TMR14 = VSF_HW_CLKRST_REGION(0x10, 8, 1) ,
  VSF_HW_EN_TMR13 = VSF_HW_CLKRST_REGION(0x10, 7, 1) ,
  VSF_HW_EN_TMR7 = VSF_HW_CLKRST_REGION(0x10, 5, 1) ,
  VSF_HW_EN_TMR6 = VSF_HW_CLKRST_REGION(0x10, 4, 1) ,
  VSF_HW_EN_TMR4 = VSF_HW_CLKRST_REGION(0x10, 2, 1) ,
  VSF_HW_EN_TMR3 = VSF_HW_CLKRST_REGION(0x10, 1, 1) ,
  VSF_HW_EN_TMR2 = VSF_HW_CLKRST_REGION(0x10, 0, 1) ,
  VSF_HW_EN_ACC = VSF_HW_CLKRST_REGION(0x11, 29, 1) ,
  VSF_HW_EN_I2SF5 = VSF_HW_CLKRST_REGION(0x11, 20, 1) ,
  VSF_HW_EN_TMR11 = VSF_HW_CLKRST_REGION(0x11, 18, 1) ,
  VSF_HW_EN_TMR10 = VSF_HW_CLKRST_REGION(0x11, 17, 1) ,
  VSF_HW_EN_TMR9 = VSF_HW_CLKRST_REGION(0x11, 16, 1) ,
  VSF_HW_EN_SCFG = VSF_HW_CLKRST_REGION(0x11, 14, 1) ,
  VSF_HW_EN_ADC = VSF_HW_CLKRST_REGION(0x11, 8, 1) ,
  VSF_HW_EN_TMR1 = VSF_HW_CLKRST_REGION(0x11, 0, 1) ,
  VSF_HW_EN_DMA2LP = VSF_HW_CLKRST_REGION(0x14, 24, 1) ,
  VSF_HW_EN_DMA1LP = VSF_HW_CLKRST_REGION(0x14, 22, 1) ,
  VSF_HW_EN_CRCLP = VSF_HW_CLKRST_REGION(0x14, 12, 1) ,
  VSF_HW_EN_QSPI1LP = VSF_HW_CLKRST_REGION(0x16, 1, 1) ,
  VSF_HW_EN_PWCLP = VSF_HW_CLKRST_REGION(0x18, 28, 1) ,
  VSF_HW_EN_CAN1LP = VSF_HW_CLKRST_REGION(0x18, 25, 1) ,
  VSF_HW_EN_WWDTLP = VSF_HW_CLKRST_REGION(0x18, 11, 1) ,
  VSF_HW_EN_TMR14LP = VSF_HW_CLKRST_REGION(0x18, 8, 1) ,
  VSF_HW_EN_TMR13LP = VSF_HW_CLKRST_REGION(0x18, 7, 1) ,
  VSF_HW_EN_TMR7LP = VSF_HW_CLKRST_REGION(0x18, 5, 1) ,
  VSF_HW_EN_TMR6LP = VSF_HW_CLKRST_REGION(0x18, 4, 1) ,
  VSF_HW_EN_TMR4LP = VSF_HW_CLKRST_REGION(0x18, 2, 1) ,
  VSF_HW_EN_TMR3LP = VSF_HW_CLKRST_REGION(0x18, 1, 1) ,
  VSF_HW_EN_TMR2LP = VSF_HW_CLKRST_REGION(0x18, 0, 1) ,
  VSF_HW_EN_ACCLP = VSF_HW_CLKRST_REGION(0x19, 29, 1) ,
  VSF_HW_EN_I2SF5LP = VSF_HW_CLKRST_REGION(0x19, 20, 1) ,
  VSF_HW_EN_TMR11LP = VSF_HW_CLKRST_REGION(0x19, 18, 1) ,
  VSF_HW_EN_TMR10LP = VSF_HW_CLKRST_REGION(0x19, 17, 1) ,
  VSF_HW_EN_TMR9LP = VSF_HW_CLKRST_REGION(0x19, 16, 1) ,
  VSF_HW_EN_SCFGLP = VSF_HW_CLKRST_REGION(0x19, 14, 1) ,
  VSF_HW_EN_ADCLP = VSF_HW_CLKRST_REGION(0x19, 8, 1) ,
  VSF_HW_EN_TMR1LP = VSF_HW_CLKRST_REGION(0x19, 0, 1)
}
 

Functions

void vsf_hw_clkrst_region_set (uint32_t region, uint_fast8_t value)
 
uint_fast8_t vsf_hw_clkrst_region_get (uint32_t region)
 
void vsf_hw_clkrst_region_set_bit (uint32_t region)
 
void vsf_hw_clkrst_region_clear_bit (uint32_t region)
 
uint_fast8_t vsf_hw_clkrst_region_get_bit (uint32_t region)
 
const vsf_hw_clk_tvsf_hw_clk_get_src (const vsf_hw_clk_t *clk)
 
uint32_t vsf_hw_clk_get_freq_hz (const vsf_hw_clk_t *clk)
 
void vsf_hw_clk_enable (const vsf_hw_clk_t *clk)
 
void vsf_hw_clk_disable (const vsf_hw_clk_t *clk)
 
bool vsf_hw_clk_is_enabled (const vsf_hw_clk_t *clk)
 
bool vsf_hw_clk_is_ready (const vsf_hw_clk_t *clk)
 
vsf_err_t vsf_hw_clk_config (const vsf_hw_clk_t *clk, const vsf_hw_clk_t *clksrc, uint16_t prescaler, uint32_t freq_hz)
 
vsf_err_t vsf_hw_pll_config (const vsf_hw_clk_t *clk, const vsf_hw_clk_t *clksrc, uint16_t mul, uint16_t div, uint32_t out_freq_hz)
 

Variables

const vsf_hw_clk_t VSF_HW_CLK_HSE
 
const vsf_hw_clk_t VSF_HW_CLK_HSI48
 
const vsf_hw_clk_t VSF_HW_CLK_HSI8
 
const vsf_hw_clk_t VSF_HW_CLK_HSI
 
const vsf_hw_clk_t VSF_HW_CLK_LSE
 
const vsf_hw_clk_t VSF_HW_CLK_LSI
 
const vsf_hw_clk_t VSF_HW_CLK_PLL
 
const vsf_hw_clk_t VSF_HW_CLK_PLLP
 
const vsf_hw_clk_t VSF_HW_CLK_PLLU
 
const vsf_hw_clk_t VSF_HW_CLK_SYS
 
const vsf_hw_clk_t VSF_HW_CLK_AHB
 
const vsf_hw_clk_t VSF_HW_CLK_SYSTICK_EXT
 
const vsf_hw_clk_t VSF_HW_CLK_APB1
 
const vsf_hw_clk_t VSF_HW_CLK_APB2
 

Macro Definition Documentation

◆ VSF_HW_REG_REGION

#define VSF_HW_REG_REGION (   __WORD_OFFSET,
  __BIT_OFFSET,
  __BIT_LENGTH 
)     (((__WORD_OFFSET) << 16) | ((__BIT_LENGTH) << 8) | ((__BIT_OFFSET) << 0))

◆ VSF_HW_CLKRST_REGION

#define VSF_HW_CLKRST_REGION   VSF_HW_REG_REGION

◆ vsf_hw_peripheral_clk_set

#define vsf_hw_peripheral_clk_set   vsf_hw_clkrst_region_set

◆ vsf_hw_peripheral_clk_get

#define vsf_hw_peripheral_clk_get   vsf_hw_clkrst_region_get

◆ vsf_hw_peripheral_rst_set

#define vsf_hw_peripheral_rst_set   vsf_hw_clkrst_region_set_bit

◆ vsf_hw_peripheral_rst_clear

#define vsf_hw_peripheral_rst_clear   vsf_hw_clkrst_region_clear_bit

◆ vsf_hw_peripheral_rst_get

#define vsf_hw_peripheral_rst_get   vsf_hw_clkrst_region_get_bit

◆ vsf_hw_peripheral_enable

#define vsf_hw_peripheral_enable   vsf_hw_clkrst_region_set_bit

◆ vsf_hw_peripheral_disable

#define vsf_hw_peripheral_disable   vsf_hw_clkrst_region_clear_bit

◆ VSF_SYSTIMER_FREQ

#define VSF_SYSTIMER_FREQ   vsf_hw_clk_get_freq_hz(&VSF_HW_CLK_CPU)

◆ VSF_HW_CLK_HEXT

#define VSF_HW_CLK_HEXT   VSF_HW_CLK_HSE

◆ VSF_HW_CLK_HICK

#define VSF_HW_CLK_HICK   VSF_HW_CLK_HSI

◆ VSF_HW_CLK_LEXT

#define VSF_HW_CLK_LEXT   VSF_HW_CLK_LSE

◆ VSF_HW_CLK_LICK

#define VSF_HW_CLK_LICK   VSF_HW_CLK_LSI

◆ VSF_HW_CLK_SCLK

#define VSF_HW_CLK_SCLK   VSF_HW_CLK_SYS

◆ VSF_HW_CLK_HCLK

#define VSF_HW_CLK_HCLK   VSF_HW_CLK_AHB

◆ VSF_HW_CLK_CPU

#define VSF_HW_CLK_CPU   VSF_HW_CLK_AHB

◆ VSF_HW_CLK_I2S1

#define VSF_HW_CLK_I2S1   VSF_HW_CLK_SYS

◆ VSF_HW_CLK_I2S2

#define VSF_HW_CLK_I2S2   VSF_HW_CLK_SYS

◆ VSF_HW_CLK_I2S3

#define VSF_HW_CLK_I2S3   VSF_HW_CLK_SYS

Typedef Documentation

◆ vsf_hw_peripheral_rst_t

◆ vsf_hw_peripheral_en_t

◆ vsf_hw_clk_t

typedef struct vsf_hw_clk_t vsf_hw_clk_t

Enumeration Type Documentation

◆ vsf_hw_peripheral_rst_t

Enumerator
VSF_HW_RST_DMA2 
VSF_HW_RST_DMA1 
VSF_HW_RST_CRC 
VSF_HW_RST_QSPI1 
VSF_HW_RST_PWC 
VSF_HW_RST_CAN1 
VSF_HW_RST_WWDT 
VSF_HW_RST_TMR14 
VSF_HW_RST_TMR13 
VSF_HW_RST_TMR7 
VSF_HW_RST_TMR6 
VSF_HW_RST_TMR4 
VSF_HW_RST_TMR3 
VSF_HW_RST_TMR2 
VSF_HW_RST_ACC 
VSF_HW_RST_I2SF5 
VSF_HW_RST_TMR11 
VSF_HW_RST_TMR10 
VSF_HW_RST_TMR9 
VSF_HW_RST_SCFG 
VSF_HW_RST_ADC 
VSF_HW_RST_TMR1 

◆ vsf_hw_peripheral_en_t

Enumerator
VSF_HW_EN_DMA2 
VSF_HW_EN_DMA1 
VSF_HW_EN_CRC 
VSF_HW_EN_QSPI1 
VSF_HW_EN_PWC 
VSF_HW_EN_CAN1 
VSF_HW_EN_WWDT 
VSF_HW_EN_TMR14 
VSF_HW_EN_TMR13 
VSF_HW_EN_TMR7 
VSF_HW_EN_TMR6 
VSF_HW_EN_TMR4 
VSF_HW_EN_TMR3 
VSF_HW_EN_TMR2 
VSF_HW_EN_ACC 
VSF_HW_EN_I2SF5 
VSF_HW_EN_TMR11 
VSF_HW_EN_TMR10 
VSF_HW_EN_TMR9 
VSF_HW_EN_SCFG 
VSF_HW_EN_ADC 
VSF_HW_EN_TMR1 
VSF_HW_EN_DMA2LP 
VSF_HW_EN_DMA1LP 
VSF_HW_EN_CRCLP 
VSF_HW_EN_QSPI1LP 
VSF_HW_EN_PWCLP 
VSF_HW_EN_CAN1LP 
VSF_HW_EN_WWDTLP 
VSF_HW_EN_TMR14LP 
VSF_HW_EN_TMR13LP 
VSF_HW_EN_TMR7LP 
VSF_HW_EN_TMR6LP 
VSF_HW_EN_TMR4LP 
VSF_HW_EN_TMR3LP 
VSF_HW_EN_TMR2LP 
VSF_HW_EN_ACCLP 
VSF_HW_EN_I2SF5LP 
VSF_HW_EN_TMR11LP 
VSF_HW_EN_TMR10LP 
VSF_HW_EN_TMR9LP 
VSF_HW_EN_SCFGLP 
VSF_HW_EN_ADCLP 
VSF_HW_EN_TMR1LP 

Function Documentation

◆ vsf_hw_clkrst_region_set()

void vsf_hw_clkrst_region_set ( uint32_t  region,
uint_fast8_t  value 
)
extern

◆ vsf_hw_clkrst_region_get()

uint_fast8_t vsf_hw_clkrst_region_get ( uint32_t  region)
extern

◆ vsf_hw_clkrst_region_set_bit()

void vsf_hw_clkrst_region_set_bit ( uint32_t  region)
extern

◆ vsf_hw_clkrst_region_clear_bit()

void vsf_hw_clkrst_region_clear_bit ( uint32_t  region)
extern

◆ vsf_hw_clkrst_region_get_bit()

uint_fast8_t vsf_hw_clkrst_region_get_bit ( uint32_t  region)
extern

◆ vsf_hw_clk_get_src()

const vsf_hw_clk_t * vsf_hw_clk_get_src ( const vsf_hw_clk_t clk)
extern

◆ vsf_hw_clk_get_freq_hz()

uint32_t vsf_hw_clk_get_freq_hz ( const vsf_hw_clk_t clk)
extern

◆ vsf_hw_clk_enable()

void vsf_hw_clk_enable ( const vsf_hw_clk_t clk)
extern

◆ vsf_hw_clk_disable()

void vsf_hw_clk_disable ( const vsf_hw_clk_t clk)
extern

◆ vsf_hw_clk_is_enabled()

bool vsf_hw_clk_is_enabled ( const vsf_hw_clk_t clk)
extern

◆ vsf_hw_clk_is_ready()

bool vsf_hw_clk_is_ready ( const vsf_hw_clk_t clk)
extern

◆ vsf_hw_clk_config()

vsf_err_t vsf_hw_clk_config ( const vsf_hw_clk_t clk,
const vsf_hw_clk_t clksrc,
uint16_t  prescaler,
uint32_t  freq_hz 
)
extern

◆ vsf_hw_pll_config()

vsf_err_t vsf_hw_pll_config ( const vsf_hw_clk_t clk,
const vsf_hw_clk_t clksrc,
uint16_t  mul,
uint16_t  div,
uint32_t  out_freq_hz 
)
extern

Variable Documentation

◆ VSF_HW_CLK_HSE

const vsf_hw_clk_t VSF_HW_CLK_HSE
extern

◆ VSF_HW_CLK_HSI48

const vsf_hw_clk_t VSF_HW_CLK_HSI48
extern

◆ VSF_HW_CLK_HSI8

const vsf_hw_clk_t VSF_HW_CLK_HSI8
extern

◆ VSF_HW_CLK_HSI

const vsf_hw_clk_t VSF_HW_CLK_HSI
extern

◆ VSF_HW_CLK_LSE

const vsf_hw_clk_t VSF_HW_CLK_LSE
extern

◆ VSF_HW_CLK_LSI

const vsf_hw_clk_t VSF_HW_CLK_LSI
extern

◆ VSF_HW_CLK_PLL

const vsf_hw_clk_t VSF_HW_CLK_PLL
extern

◆ VSF_HW_CLK_PLLP

const vsf_hw_clk_t VSF_HW_CLK_PLLP
extern

◆ VSF_HW_CLK_PLLU

const vsf_hw_clk_t VSF_HW_CLK_PLLU
extern

◆ VSF_HW_CLK_SYS

const vsf_hw_clk_t VSF_HW_CLK_SYS
extern

◆ VSF_HW_CLK_AHB

const vsf_hw_clk_t VSF_HW_CLK_AHB
extern

◆ VSF_HW_CLK_SYSTICK_EXT

const vsf_hw_clk_t VSF_HW_CLK_SYSTICK_EXT
extern

◆ VSF_HW_CLK_APB1

const vsf_hw_clk_t VSF_HW_CLK_APB1
extern

◆ VSF_HW_CLK_APB2

const vsf_hw_clk_t VSF_HW_CLK_APB2
extern
Generated from commit: vsfteam/vsf@3f091ef