Microchip® Advanced Software Framework

sam4l/genclk.h File Reference

Chip-specific generic clock management.

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

#include <compiler.h>
#include <osc.h>
#include <pll.h>

Data Structures

struct  genclk_config
 Hardware representation of a set of generic clock parameters. More...
 

Macros

Chip-specific generic clock definitions
#define GENCLK_DIV_MAX   256
 Maximum divider supported by the generic clock implementation. More...
 

Enumerations

enum  genclk_source {
  GENCLK_SRC_RCSYS = 0,
  GENCLK_SRC_OSC32K = 1,
  GENCLK_SRC_DFLL = 2,
  GENCLK_SRC_OSC0 = 3,
  GENCLK_SRC_RC80M = 4,
  GENCLK_SRC_RCFAST = 5,
  GENCLK_SRC_RC1M = 6,
  GENCLK_SRC_CLK_CPU = 7,
  GENCLK_SRC_CLK_HSB = 8,
  GENCLK_SRC_CLK_PBA = 9,
  GENCLK_SRC_CLK_PBB = 10,
  GENCLK_SRC_CLK_PBC = 11,
  GENCLK_SRC_CLK_PBD = 12,
  GENCLK_SRC_RC32K = 13,
  GENCLK_SRC_CLK_1K = 15,
  GENCLK_SRC_PLL0 = 16,
  GENCLK_SRC_HRPCLK = 17,
  GENCLK_SRC_FPCLK = 18,
  GENCLK_SRC_GCLKIN0 = 19,
  GENCLK_SRC_GCLKIN1 = 20,
  GENCLK_SRC_GCLK11 = 21
}
 Generic clock source ID. More...
 

Functions

void dfll_enable_config_defaults (uint32_t dfll_id)
 
static void genclk_config_defaults (struct genclk_config *cfg, uint32_t id)
 
static void genclk_config_read (struct genclk_config *cfg, uint32_t id)
 
static void genclk_config_set_divider (struct genclk_config *cfg, uint32_t divider)
 
static void genclk_config_write (const struct genclk_config *cfg, uint32_t id)
 
static void genclk_disable (uint32_t id)
 
static void genclk_enable (const struct genclk_config *cfg, uint32_t id)
 
Generic clock configuration
static void genclk_config_set_source (struct genclk_config *cfg, enum genclk_source src)
 Select a new source clock src in configuration cfg. More...
 
static void genclk_enable_source (enum genclk_source src)
 Enable the source clock src used by a generic clock. More...