LUFA Library
ClockManagement.h File Reference

Module Clock Driver for the AVR USB XMEGA microcontrollers. More...

Enumerations

enum  XMEGA_Extern_OSC_ClockFrequency_t {
  EXOSC_FREQ_2MHZ_MAX = OSC_FRQRANGE_04TO2_gc,
  EXOSC_FREQ_9MHZ_MAX = OSC_FRQRANGE_2TO9_gc,
  EXOSC_FREQ_12MHZ_MAX = OSC_FRQRANGE_9TO12_gc,
  EXOSC_FREQ_16MHZ_MAX = OSC_FRQRANGE_12TO16_gc
}
 
enum  XMEGA_Extern_OSC_ClockStartup_t {
  EXOSC_START_6CLK = OSC_XOSCSEL_EXTCLK_gc,
  EXOSC_START_32KCLK = OSC_XOSCSEL_32KHz_gc,
  EXOSC_START_256CLK = OSC_XOSCSEL_XTAL_256CLK_gc,
  EXOSC_START_1KCLK = OSC_XOSCSEL_XTAL_1KCLK_gc,
  EXOSC_START_16KCLK = OSC_XOSCSEL_XTAL_16KCLK_gc
}
 
enum  XMEGA_System_ClockSource_t {
  CLOCK_SRC_INT_RC2MHZ = 0,
  CLOCK_SRC_INT_RC32MHZ = 1,
  CLOCK_SRC_INT_RC32KHZ = 2,
  CLOCK_SRC_XOSC = 3,
  CLOCK_SRC_PLL = 4
}
 
enum  XMEGA_System_DFLLReference_t {
  DFLL_REF_INT_RC32KHZ = 0,
  DFLL_REF_EXT_RC32KHZ = 1,
  DFLL_REF_INT_USBSOF = 2
}
 

Functions

static void XMEGACLK_CCP_Write (volatile void *Address, const uint8_t Value) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
 
static bool XMEGACLK_SetCPUClockSource (const uint8_t Source) ATTR_ALWAYS_INLINE
 
static bool XMEGACLK_StartDFLL (const uint8_t Source, const uint8_t Reference, const uint32_t Frequency) ATTR_ALWAYS_INLINE
 
static bool XMEGACLK_StartExternalOscillator (const uint8_t FreqRange, const uint8_t Startup) ATTR_ALWAYS_INLINE
 
static bool XMEGACLK_StartInternalOscillator (const uint8_t Source) ATTR_ALWAYS_INLINE
 
static bool XMEGACLK_StartPLL (const uint8_t Source, const uint32_t SourceFreq, const uint32_t Frequency) ATTR_ALWAYS_INLINE
 
static bool XMEGACLK_StopDFLL (const uint8_t Source) ATTR_ALWAYS_INLINE
 
static void XMEGACLK_StopExternalOscillator (void) ATTR_ALWAYS_INLINE
 
static bool XMEGACLK_StopInternalOscillator (const uint8_t Source) ATTR_ALWAYS_INLINE
 
static void XMEGACLK_StopPLL (void) ATTR_ALWAYS_INLINE
 

Detailed Description

Clock management driver for the AVR USB XMEGA microcontrollers. This driver allows for the configuration of the various clocks within the device to clock the various peripherals.