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_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... | |