libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
common/clock.h File Reference
#include <stdbool.h>
#include <libopencm3/cm3/common.h>
#include <libopencm3/nrf/memorymap.h>
Include dependency graph for common/clock.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CLOCK_TASK_HFCLKSTART   MMIO32(CLOCK_BASE + 0x000)
 
#define CLOCK_TASK_HFCLKSTOP   MMIO32(CLOCK_BASE + 0x004)
 
#define CLOCK_TASK_LFCLKSTART   MMIO32(CLOCK_BASE + 0x008)
 
#define CLOCK_TASK_LFCLKSTOP   MMIO32(CLOCK_BASE + 0x00C)
 
#define CLOCK_TASK_CAL   MMIO32(CLOCK_BASE + 0x010)
 
#define CLOCK_TASK_CTSTART   MMIO32(CLOCK_BASE + 0x014)
 
#define CLOCK_TASK_CTSTOP   MMIO32(CLOCK_BASE + 0x018)
 
#define CLOCK_EVENT_HFCLKSTARTED   MMIO32(CLOCK_BASE + 0x100)
 
#define CLOCK_EVENT_LFCLKSTARTED   MMIO32(CLOCK_BASE + 0x104)
 
#define CLOCK_EVENT_DONE   MMIO32(CLOCK_BASE + 0x10C)
 
#define CLOCK_EVENT_CTTO   MMIO32(CLOCK_BASE + 0x110)
 
#define CLOCK_INTENSET   MMIO32(CLOCK_BASE + 0x304)
 
#define CLOCK_INTENCLR   MMIO32(CLOCK_BASE + 0x308)
 
#define CLOCK_HFCLKRUN   MMIO32(CLOCK_BASE + 0x408)
 
#define CLOCK_HFCLKSTAT   MMIO32(CLOCK_BASE + 0x40C)
 
#define CLOCK_LFCLKRUN   MMIO32(CLOCK_BASE + 0x414)
 
#define CLOCK_LFCLKSTAT   MMIO32(CLOCK_BASE + 0x418)
 
#define CLOCK_LFCLKSRCCOPY   MMIO32(CLOCK_BASE + 0x41C)
 
#define CLOCK_LFCLKSRC   MMIO32(CLOCK_BASE + 0x518)
 
#define CLOCK_CTIV   MMIO32(CLOCK_BASE + 0x538)
 
#define CLOCK_INTEN_HFCLKSTARTED   (1 << 0)
 
#define CLOCK_INTEN_LFCLKSTARTED   (1 << 1)
 
#define CLOCK_INTEN_DONE   (1 << 3)
 
#define CLOCK_INTEN_CTTO   (1 << 4)
 
#define CLOCK_HFCLKRUN_STATUS   (1 << 0)
 
#define CLOCK_HFCLKSTAT_SRC   (1 << 0)
 
#define CLOCK_HFCLKSTAT_STATE   (1 << 16)
 
#define CLOCK_LFCLKRUN_STATUS   (1 << 0)
 
#define CLOCK_LFCLK_SRC_SHIFT   (0)
 
#define CLOCK_LFCLK_SRC_MASK   (3 << CLOCK_LFCLKSTAT_SRC_SHIFT)
 
#define CLOCK_LFCLK_SRC_MASKED(V)   (((V) << CLOCK_LFCLKSTAT_SRC_SHIFT) & CLOCK_LFCLKSTAT_SRC_MASK)
 
#define CLOCK_LFCLKSTAT_STATE   (1 << 16)
 

Enumerations

enum  clock_lfclk_src { CLOCK_LFCLK_SRC_RC , CLOCK_LFCLK_SRC_XTAL , CLOCK_LFCLK_SRC_SYNTH }
 

Functions

void clock_start_lfclk (bool wait)
 Start Low Frequency Clock. More...
 
void clock_stop_lfclk (void)
 Stop Low Frequency Clock. More...
 
void clock_start_hfclk (bool wait)
 Start High Frequency Crystal Oscillator. More...
 
void clock_stop_hfclk (void)
 Stop High Frequency Crystal Oscillator. More...
 
void clock_set_lfclk_src (enum clock_lfclk_src lfclk_src)
 Low Frequency Clock Source. More...