libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
crs_common_all.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CRS   CRS_BASE
 
#define CRS_CR   MMIO32(CRS_BASE + 0x00)
 
#define CRS_CFGR   MMIO32(CRS_BASE + 0x04)
 
#define CRS_ISR   MMIO32(CRS_BASE + 0x08)
 
#define CRS_ICR   MMIO32(CRS_BASE + 0x0c)
 
#define CRS_CR_TRIM_SHIFT   8
 
#define CRS_CR_TRIM   (0x3F << CRS_CR_TRIM_SHIFT)
 
#define CRS_CR_SWSYNC   (1 << 7)
 
#define CRS_CR_AUTOTRIMEN   (1 << 6)
 
#define CRS_CR_CEN   (1 << 5)
 
#define CRS_CR_ESYNCIE   (1 << 3)
 
#define CRS_CR_ERRIE   (1 << 2)
 
#define CRS_CR_SYNCWARNIE   (1 << 1)
 
#define CRS_CR_SYNCOKIE   (1 << 0)
 
#define CRS_CFGR_SYNCPOL   (1 << 31)
 
#define CRS_CFGR_SYNCSRC_SHIFT   28
 
#define CRS_CFGR_SYNCSRC   (3 << CRS_CFGR_SYNCSRC_SHIFT)
 
#define CRS_CFGR_SYNCSRC_GPIO   (0 << CRS_CFGR_SYNCSRC_SHIFT)
 
#define CRS_CFGR_SYNCSRC_LSE   (1 << CRS_CFGR_SYNCSRC_SHIFT)
 
#define CRS_CFGR_SYNCSRC_USB_SOF   (2 << CRS_CFGR_SYNCSRC_SHIFT)
 
#define CRS_CFGR_SYNCDIV_SHIFT   24
 
#define CRS_CFGR_SYNCDIV   (7 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_SYNCDIV_NODIV   (0 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_SYNCDIV_DIV2   (1 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_SYNCDIV_DIV4   (2 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_SYNCDIV_DIV8   (3 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_SYNCDIV_DIV16   (4 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_SYNCDIV_DIV32   (5 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_SYNCDIV_DIV64   (6 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_SYNCDIV_DIV128   (7 << CRS_CFGR_SYNCDIV_SHIFT)
 
#define CRS_CFGR_FELIM_SHIFT   16
 
#define CRS_CFGR_FELIM   (0xFF << CRS_CFGR_FELIM_SHIFT)
 
#define CRS_CFGR_FELIM_VAL(x)   ((x) << CRS_CFGR_FELIM_SHIFT)
 
#define CRS_CFGR_RELOAD_SHIFT   0
 
#define CRS_CFGR_RELOAD   (0xFFFF << CRS_CFGR_RELOAD_SHIFT)
 
#define CRS_CFGR_RELOAD_VAL(x)   ((x) << CRS_CFGR_RELOAD_SHIFT)
 
#define CRS_ISR_FECAP_SHIFT   16
 
#define CRS_ISR_FECAP   (0xFFFF << CRS_ISR_FECAP_SHIFT)
 
#define CRS_ISR_FEDIR   (1 << 15)
 
#define CRS_ISR_TRIMOVF   (1 << 10)
 
#define CRS_ISR_SYNCMISS   (1 << 9)
 
#define CRS_ISR_SYNCERR   (1 << 8)
 
#define CRS_ISR_ESYNCF   (1 << 3)
 
#define CRS_ISR_ERRF   (1 << 2)
 
#define CRS_ISR_SYNCWARNF   (1 << 1)
 
#define CRS_ISR_SYNCOOKF   (1 << 0)
 
#define CRS_ICR_ESYNCC   (1 << 3)
 
#define CRS_ICR_ERRC   (1 << 2)
 
#define CRS_ICR_SYNCWARNC   (1 << 1)
 
#define CRS_ICR_SYNCOKC   (1 << 0)
 

Functions

void crs_autotrim_usb_enable (void)
 This function enables automatic trimming of internal RC oscillator by USB SOF frames. More...