Microchip® Advanced Software Framework

pmc.c File Reference

Power Management Controller (PMC) driver for SAM.

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

#include "pmc.h"

Functions

void pmc_clr_fast_startup_input (uint32_t ul_inputs)
 Clear the wake-up inputs for fast startup mode registers (remove event generation). More...
 
void pmc_disable_all_pck (void)
 Disable all programmable clocks. More...
 
void pmc_disable_all_periph_clk (void)
 Disable all peripheral clocks. More...
 
void pmc_disable_clock_failure_detector (void)
 Disable Clock Failure Detector. More...
 
void pmc_disable_interrupt (uint32_t ul_sources)
 Disable PMC interrupts. More...
 
void pmc_disable_pck (uint32_t ul_id)
 Disable the specified programmable clock. More...
 
uint32_t pmc_disable_periph_clk (uint32_t ul_id)
 Disable the specified peripheral clock. More...
 
void pmc_disable_pllack (void)
 Disable PLLA clock. More...
 
void pmc_enable_all_pck (void)
 Enable all programmable clocks. More...
 
void pmc_enable_all_periph_clk (void)
 Enable all peripheral clocks. More...
 
void pmc_enable_backupmode (void)
 Enable Backup Mode. More...
 
void pmc_enable_clock_failure_detector (void)
 Enable Clock Failure Detector. More...
 
void pmc_enable_interrupt (uint32_t ul_sources)
 Enable PMC interrupts. More...
 
void pmc_enable_pck (uint32_t ul_id)
 Enable the specified programmable clock. More...
 
uint32_t pmc_enable_periph_clk (uint32_t ul_id)
 Enable the specified peripheral clock. More...
 
void pmc_enable_pllack (uint32_t mula, uint32_t pllacount, uint32_t diva)
 Enable PLLA clock. More...
 
void pmc_enable_sleepmode (uint8_t uc_type)
 Enable Sleep Mode. More...
 
void pmc_enable_waitmode (void)
 Enable Wait Mode. More...
 
uint32_t pmc_get_interrupt_mask (void)
 Get PMC interrupt mask. More...
 
uint32_t pmc_get_status (void)
 Get current status. More...
 
uint32_t pmc_get_writeprotect_status (void)
 Return write protect status. More...
 
uint32_t pmc_is_locked_pllack (void)
 Is PLLA locked? More...
 
uint32_t pmc_is_pck_enabled (uint32_t ul_id)
 Check if the specified programmable clock is enabled. More...
 
uint32_t pmc_is_periph_clk_enabled (uint32_t ul_id)
 Check if the specified peripheral clock is enabled. More...
 
void pmc_mainck_osc_select (uint32_t ul_xtal_rc)
 Select Main Crystal or internal RC as main clock source. More...
 
void pmc_mck_set_prescaler (uint32_t ul_pres)
 Set the prescaler of the MCK. More...
 
void pmc_mck_set_source (uint32_t ul_source)
 Set the source of the MCK. More...
 
void pmc_osc_bypass_main_xtal (void)
 Bypass main XTAL. More...
 
void pmc_osc_disable_fastrc (void)
 Disable the internal fast RC. More...
 
void pmc_osc_disable_main_xtal (void)
 Disable the main Xtal. More...
 
void pmc_osc_disable_xtal (uint32_t ul_bypass)
 Disable the external Xtal. More...
 
void pmc_osc_enable_fastrc (uint32_t ul_rc)
 Enable fast RC oscillator. More...
 
void pmc_osc_enable_main_xtal (uint32_t ul_xtal_startup_time)
 Enable main XTAL oscillator. More...
 
uint32_t pmc_osc_is_bypassed_main_xtal (void)
 Check if the main crystal is bypassed. More...
 
uint32_t pmc_osc_is_ready_32kxtal (void)
 Check if the external 32k Xtal is ready. More...
 
uint32_t pmc_osc_is_ready_fastrc (void)
 Check if the main fastrc is ready. More...
 
uint32_t pmc_osc_is_ready_main_xtal (void)
 Check if the main crystal is ready. More...
 
uint32_t pmc_osc_is_ready_mainck (void)
 Check if the MAINCK is ready. More...
 
void pmc_pck_set_prescaler (uint32_t ul_id, uint32_t ul_pres)
 Set the prescaler for the specified programmable clock. More...
 
void pmc_pck_set_source (uint32_t ul_id, uint32_t ul_source)
 Set the source oscillator for the specified programmable clock. More...
 
void pmc_set_fast_startup_input (uint32_t ul_inputs)
 Set the wake-up inputs for fast startup mode registers (event generation). More...
 
void pmc_set_writeprotect (uint32_t ul_enable)
 Enable or disable write protect of PMC registers. More...
 
void pmc_switch_mainck_to_fastrc (uint32_t ul_moscrcf)
 Switch main clock source selection to internal fast RC. More...
 
void pmc_switch_mainck_to_xtal (uint32_t ul_bypass, uint32_t ul_xtal_startup_time)
 Switch main clock source selection to external Xtal/Bypass. More...
 
uint32_t pmc_switch_mck_to_mainck (uint32_t ul_pres)
 Switch master clock source selection to main clock. More...
 
uint32_t pmc_switch_mck_to_pllack (uint32_t ul_pres)
 Switch master clock source selection to PLLA clock. More...
 
uint32_t pmc_switch_mck_to_sclk (uint32_t ul_pres)
 Switch master clock source selection to slow clock. More...
 
uint32_t pmc_switch_pck_to_mainck (uint32_t ul_id, uint32_t ul_pres)
 Switch programmable clock source selection to main clock. More...
 
uint32_t pmc_switch_pck_to_mck (uint32_t ul_id, uint32_t ul_pres)
 Switch programmable clock source selection to mck. More...
 
uint32_t pmc_switch_pck_to_pllack (uint32_t ul_id, uint32_t ul_pres)
 Switch programmable clock source selection to PLLA clock. More...
 
uint32_t pmc_switch_pck_to_sclk (uint32_t ul_id, uint32_t ul_pres)
 Switch programmable clock source selection to slow clock. More...
 
void pmc_switch_sclk_to_32kxtal (uint32_t ul_bypass)
 Switch slow clock source selection to external 32k (Xtal or Bypass). More...