Microchip® Advanced Software Framework

same70/genclk.h File Reference

Chip-specific generic clock management.

Copyright (c) 2015-2019 Microchip Technology Inc. and its subsidiaries.

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

Data Structures

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

Macros

Programmable Clock Identifiers (PCK)
#define GENCLK_PCK_0   0
 PCK0 ID. More...
 
#define GENCLK_PCK_1   1
 PCK1 ID. More...
 
#define GENCLK_PCK_2   2
 PCK2 ID. More...
 

Enumerations

enum  genclk_source {
  GENCLK_PCK_SRC_SLCK_RC = 0,
  GENCLK_PCK_SRC_SLCK_XTAL = 1,
  GENCLK_PCK_SRC_SLCK_BYPASS = 2,
  GENCLK_PCK_SRC_MAINCK_4M_RC = 3,
  GENCLK_PCK_SRC_MAINCK_8M_RC = 4,
  GENCLK_PCK_SRC_MAINCK_12M_RC = 5,
  GENCLK_PCK_SRC_MAINCK_XTAL = 6,
  GENCLK_PCK_SRC_MAINCK_BYPASS = 7,
  GENCLK_PCK_SRC_PLLACK = 8,
  GENCLK_PCK_SRC_MCK = 9
}
 Generic clock source ID. More...
 
Programmable Clock Prescalers (PCK)
enum  genclk_divider {
  GENCLK_PCK_PRES_1 = PMC_PCK_PRES(0),
  GENCLK_PCK_PRES_2 = PMC_PCK_PRES(1),
  GENCLK_PCK_PRES_4 = PMC_PCK_PRES(2),
  GENCLK_PCK_PRES_8 = PMC_PCK_PRES(3),
  GENCLK_PCK_PRES_16 = PMC_PCK_PRES(4),
  GENCLK_PCK_PRES_32 = PMC_PCK_PRES(5),
  GENCLK_PCK_PRES_64 = PMC_PCK_PRES(6)
}
 

Functions

static void genclk_config_defaults (struct genclk_config *p_cfg, uint32_t ul_id)
 
static void genclk_config_read (struct genclk_config *p_cfg, uint32_t ul_id)
 
static void genclk_config_write (const struct genclk_config *p_cfg, uint32_t ul_id)
 
static void genclk_disable (uint32_t ul_id)
 
static void genclk_enable (const struct genclk_config *p_cfg, uint32_t ul_id)
 
Programmable Clock Source and Prescaler configuration
static void genclk_config_set_source (struct genclk_config *p_cfg, enum genclk_source e_src)
 Select a new source clock src in configuration cfg. More...
 
static void genclk_config_set_divider (struct genclk_config *p_cfg, uint32_t e_divider)
 
Generic clock configuration
static void genclk_enable_source (enum genclk_source e_src)
 Enable the source clock src used by a generic clock. More...
 
Retrieves the current rate in Hz of the Programmable Clock Source
static uint32_t genclk_get_frequency_hz (uint32_t ul_id)