Microchip® Advanced Software Framework

sam4s/osc.h File Reference

Chip-specific oscillator management functions.

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include "board.h"
#include "pmc.h"

Macros

#define BOARD_FREQ_MAINCK_BYPASS   (12000000UL)
 
#define BOARD_FREQ_MAINCK_XTAL   (12000000UL)
 
#define BOARD_FREQ_SLCK_BYPASS   (32768UL)
 
#define BOARD_FREQ_SLCK_XTAL   (32768UL)
 
#define BOARD_OSC_STARTUP_US   (15625UL)
 
Oscillator identifiers
#define OSC_SLCK_32K_RC   0
 Internal 32kHz RC oscillator. More...
 
#define OSC_SLCK_32K_XTAL   1
 External 32kHz crystal oscillator. More...
 
#define OSC_SLCK_32K_BYPASS   2
 External 32kHz bypass oscillator. More...
 
#define OSC_MAINCK_4M_RC   3
 Internal 4MHz RC oscillator. More...
 
#define OSC_MAINCK_8M_RC   4
 Internal 8MHz RC oscillator. More...
 
#define OSC_MAINCK_12M_RC   5
 Internal 12MHz RC oscillator. More...
 
#define OSC_MAINCK_XTAL   6
 External crystal oscillator. More...
 
#define OSC_MAINCK_BYPASS   7
 External bypass oscillator. More...
 
Oscillator clock speed in hertz
#define OSC_SLCK_32K_RC_HZ   CHIP_FREQ_SLCK_RC
 Internal 32kHz RC oscillator. More...
 
#define OSC_SLCK_32K_XTAL_HZ   BOARD_FREQ_SLCK_XTAL
 External 32kHz crystal oscillator. More...
 
#define OSC_SLCK_32K_BYPASS_HZ   BOARD_FREQ_SLCK_BYPASS
 External 32kHz bypass oscillator. More...
 
#define OSC_MAINCK_4M_RC_HZ   CHIP_FREQ_MAINCK_RC_4MHZ
 Internal 4MHz RC oscillator. More...
 
#define OSC_MAINCK_8M_RC_HZ   CHIP_FREQ_MAINCK_RC_8MHZ
 Internal 8MHz RC oscillator. More...
 
#define OSC_MAINCK_12M_RC_HZ   CHIP_FREQ_MAINCK_RC_12MHZ
 Internal 12MHz RC oscillator. More...
 
#define OSC_MAINCK_XTAL_HZ   BOARD_FREQ_MAINCK_XTAL
 External crystal oscillator. More...
 
#define OSC_MAINCK_BYPASS_HZ   BOARD_FREQ_MAINCK_BYPASS
 External bypass oscillator. More...
 

Functions

static void osc_disable (uint32_t ul_id)
 
static void osc_enable (uint32_t ul_id)
 
static uint32_t osc_get_rate (uint32_t ul_id)
 
static bool osc_is_ready (uint32_t ul_id)
 

#define BOARD_FREQ_MAINCK_BYPASS   (12000000UL)

Referenced by osc_get_rate().

#define BOARD_FREQ_MAINCK_XTAL   (12000000UL)

Referenced by main(), and osc_get_rate().

#define BOARD_FREQ_SLCK_BYPASS   (32768UL)

Referenced by osc_get_rate().

#define BOARD_FREQ_SLCK_XTAL   (32768UL)