VSF Documented
Macros | Typedefs | Enumerations | Functions
driver.c File Reference
#include "hal/vsf_hal_cfg.h"
#include "./device.h"

Macros

#define M480_PLLSRC   M480_PLLSRC_HXT
 
#define M480_HCLKSRC   M480_HCLKSRC_PLLFOUT
 
#define M480_LXT_FREQ_HZ   0
 
#define M480_HIRC_FREQ_HZ   (22 * 1000 * 1000)
 
#define M480_LIRC_FREQ_HZ   (10 * 1000 * 1000)
 
#define M480_CLK_PLLCTL_NO_1   (0x0UL << CLK_PLLCTL_OUTDIV_Pos)
 
#define M480_CLK_PLLCTL_NO_2   (0x1UL << CLK_PLLCTL_OUTDIV_Pos)
 
#define M480_CLK_PLLCTL_NO_4   (0x3UL << CLK_PLLCTL_OUTDIV_Pos)
 
#define M480_CLK_CLKSEL0_HCLKSEL_HXT   (0x00UL << CLK_CLKSEL0_HCLKSEL_Pos)
 
#define M480_CLK_CLKSEL0_HCLKSEL_LXT   (0x01UL << CLK_CLKSEL0_HCLKSEL_Pos)
 
#define M480_CLK_CLKSEL0_HCLKSEL_PLL   (0x02UL << CLK_CLKSEL0_HCLKSEL_Pos)
 
#define M480_CLK_CLKSEL0_HCLKSEL_LIRC   (0x03UL << CLK_CLKSEL0_HCLKSEL_Pos)
 
#define M480_CLK_CLKSEL0_HCLKSEL_HIRC   (0x07UL << CLK_CLKSEL0_HCLKSEL_Pos)
 
#define M480_CLK_CLKSEL1_TIM0SEL_HXT   (0x00UL << CLK_CLKSEL1_TMR0SEL_Pos)
 
#define M480_CLK_CLKSEL1_TIM0SEL_LXT   (0x01UL << CLK_CLKSEL1_TMR0SEL_Pos)
 
#define M480_CLK_CLKSEL1_TIM0SEL_PCLK   (0x02UL << CLK_CLKSEL1_TMR0SEL_Pos)
 
#define M480_CLK_CLKSEL1_TIM0SEL_EXTTRG   (0x03UL << CLK_CLKSEL1_TMR0SEL_Pos)
 
#define NM480_CLK_CLKSEL1_TIM0SEL_LIRC   (0x05UL << CLK_CLKSEL1_TMR0SEL_Pos)
 
#define M480_CLK_CLKSEL1_TIM0SEL_HIRC   (0x07UL << CLK_CLKSEL1_TMR0SEL_Pos)
 
#define M480_TCSR_MODE_ONESHOT   (0x00UL << TIMER_CTL_OPMODE_Pos)
 
#define M480_TCSR_MODE_PERIODIC   (0x01UL << TIMER_CTL_OPMODE_Pos)
 
#define M480_TCSR_MODE_TOGGLE   (0x02UL << TIMER_CTL_OPMODE_Pos)
 
#define M480_TCSR_MODE_COUNTINUOUS   (0x03UL << TIMER_CTL_OPMODE_Pos)
 
#define M480_CLK_PLLCTL_NR(x)   (((x) - 1) << 9)
 
#define M480_CLK_PLLCTL_NF(x)   (((x) - 2) << 0)
 

Typedefs

typedef enum m480_hclksrc_t m480_hclksrc_t
 
typedef enum m480_pclksrc_t m480_pclksrc_t
 
typedef enum m480_pllsrc_t m480_pllsrc_t
 

Enumerations

enum  m480_hclksrc_t {
  M480_HCLKSRC_HIRC = 7 ,
  M480_HCLKSRC_PLL2FOUT = 4 ,
  M480_HCLKSRC_LIRC = 3 ,
  M480_HCLKSRC_PLLFOUT = 2 ,
  M480_HCLKSRC_LXT = 1 ,
  M480_HCLKSRC_HXT = 0
}
 
enum  m480_pclksrc_t {
  M480_PCLKSRC_HCLK = 0 ,
  M480_PCLKSRC_HCLKd2 = 1
}
 
enum  m480_pllsrc_t {
  M480_PLLSRC_HXT = 0 ,
  M480_PLLSRC_HIRC = 1 ,
  M480_PLLSRC_NONE = -1
}
 

Functions

int __low_level_init (void)
 
bool vsf_driver_init (void)
 common hal drivers
 

Macro Definition Documentation

◆ M480_PLLSRC

#define M480_PLLSRC   M480_PLLSRC_HXT

◆ M480_HCLKSRC

#define M480_HCLKSRC   M480_HCLKSRC_PLLFOUT

◆ M480_LXT_FREQ_HZ

#define M480_LXT_FREQ_HZ   0

◆ M480_HIRC_FREQ_HZ

#define M480_HIRC_FREQ_HZ   (22 * 1000 * 1000)

◆ M480_LIRC_FREQ_HZ

#define M480_LIRC_FREQ_HZ   (10 * 1000 * 1000)

◆ M480_CLK_PLLCTL_NO_1

#define M480_CLK_PLLCTL_NO_1   (0x0UL << CLK_PLLCTL_OUTDIV_Pos)

◆ M480_CLK_PLLCTL_NO_2

#define M480_CLK_PLLCTL_NO_2   (0x1UL << CLK_PLLCTL_OUTDIV_Pos)

◆ M480_CLK_PLLCTL_NO_4

#define M480_CLK_PLLCTL_NO_4   (0x3UL << CLK_PLLCTL_OUTDIV_Pos)

◆ M480_CLK_CLKSEL0_HCLKSEL_HXT

#define M480_CLK_CLKSEL0_HCLKSEL_HXT   (0x00UL << CLK_CLKSEL0_HCLKSEL_Pos)

◆ M480_CLK_CLKSEL0_HCLKSEL_LXT

#define M480_CLK_CLKSEL0_HCLKSEL_LXT   (0x01UL << CLK_CLKSEL0_HCLKSEL_Pos)

◆ M480_CLK_CLKSEL0_HCLKSEL_PLL

#define M480_CLK_CLKSEL0_HCLKSEL_PLL   (0x02UL << CLK_CLKSEL0_HCLKSEL_Pos)

◆ M480_CLK_CLKSEL0_HCLKSEL_LIRC

#define M480_CLK_CLKSEL0_HCLKSEL_LIRC   (0x03UL << CLK_CLKSEL0_HCLKSEL_Pos)

◆ M480_CLK_CLKSEL0_HCLKSEL_HIRC

#define M480_CLK_CLKSEL0_HCLKSEL_HIRC   (0x07UL << CLK_CLKSEL0_HCLKSEL_Pos)

◆ M480_CLK_CLKSEL1_TIM0SEL_HXT

#define M480_CLK_CLKSEL1_TIM0SEL_HXT   (0x00UL << CLK_CLKSEL1_TMR0SEL_Pos)

◆ M480_CLK_CLKSEL1_TIM0SEL_LXT

#define M480_CLK_CLKSEL1_TIM0SEL_LXT   (0x01UL << CLK_CLKSEL1_TMR0SEL_Pos)

◆ M480_CLK_CLKSEL1_TIM0SEL_PCLK

#define M480_CLK_CLKSEL1_TIM0SEL_PCLK   (0x02UL << CLK_CLKSEL1_TMR0SEL_Pos)

◆ M480_CLK_CLKSEL1_TIM0SEL_EXTTRG

#define M480_CLK_CLKSEL1_TIM0SEL_EXTTRG   (0x03UL << CLK_CLKSEL1_TMR0SEL_Pos)

◆ NM480_CLK_CLKSEL1_TIM0SEL_LIRC

#define NM480_CLK_CLKSEL1_TIM0SEL_LIRC   (0x05UL << CLK_CLKSEL1_TMR0SEL_Pos)

◆ M480_CLK_CLKSEL1_TIM0SEL_HIRC

#define M480_CLK_CLKSEL1_TIM0SEL_HIRC   (0x07UL << CLK_CLKSEL1_TMR0SEL_Pos)

◆ M480_TCSR_MODE_ONESHOT

#define M480_TCSR_MODE_ONESHOT   (0x00UL << TIMER_CTL_OPMODE_Pos)

◆ M480_TCSR_MODE_PERIODIC

#define M480_TCSR_MODE_PERIODIC   (0x01UL << TIMER_CTL_OPMODE_Pos)

◆ M480_TCSR_MODE_TOGGLE

#define M480_TCSR_MODE_TOGGLE   (0x02UL << TIMER_CTL_OPMODE_Pos)

◆ M480_TCSR_MODE_COUNTINUOUS

#define M480_TCSR_MODE_COUNTINUOUS   (0x03UL << TIMER_CTL_OPMODE_Pos)

◆ M480_CLK_PLLCTL_NR

#define M480_CLK_PLLCTL_NR (   x)    (((x) - 1) << 9)

◆ M480_CLK_PLLCTL_NF

#define M480_CLK_PLLCTL_NF (   x)    (((x) - 2) << 0)

Typedef Documentation

◆ m480_hclksrc_t

◆ m480_pclksrc_t

◆ m480_pllsrc_t

Enumeration Type Documentation

◆ m480_hclksrc_t

Enumerator
M480_HCLKSRC_HIRC 
M480_HCLKSRC_PLL2FOUT 
M480_HCLKSRC_LIRC 
M480_HCLKSRC_PLLFOUT 
M480_HCLKSRC_LXT 
M480_HCLKSRC_HXT 

◆ m480_pclksrc_t

Enumerator
M480_PCLKSRC_HCLK 
M480_PCLKSRC_HCLKd2 

◆ m480_pllsrc_t

Enumerator
M480_PLLSRC_HXT 
M480_PLLSRC_HIRC 
M480_PLLSRC_NONE 

Function Documentation

◆ __low_level_init()

int __low_level_init ( void  )

◆ vsf_driver_init()

bool vsf_driver_init ( void  )

common hal drivers

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

initialise interrupt controller;