Power Management Controller (PMC) driver for SAM.
Copyright (c) 2011-2019 Microchip Technology Inc. and its subsidiaries.
|
|
- Note
- The following functions may be used to select the clock source and prescaler for the master clock.
|
void | pmc_mck_set_prescaler (uint32_t ul_pres) |
| Set the prescaler of the MCK. More...
|
|
void | pmc_mck_set_division (uint32_t ul_div) |
|
void | pmc_mck_set_source (uint32_t ul_source) |
| Set the source of the MCK. 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_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_pllbck (uint32_t ul_pres) |
|
uint32_t | pmc_switch_mck_to_upllck (uint32_t ul_pres) |
|
void | pmc_set_flash_in_wait_mode (uint32_t ul_flash_state) |
|
|
void | pmc_switch_sclk_to_32kxtal (uint32_t ul_bypass) |
| Switch slow clock source selection to external 32k (Xtal or Bypass). More...
|
|
uint32_t | pmc_osc_is_ready_32kxtal (void) |
| Check if the external 32k Xtal is ready. More...
|
|
|
void | pmc_switch_mainck_to_fastrc (uint32_t ul_moscrcf) |
| Switch main clock source selection to internal fast RC. More...
|
|
void | pmc_osc_enable_fastrc (uint32_t ul_rc) |
| Enable fast RC oscillator. More...
|
|
void | pmc_osc_disable_fastrc (void) |
| Disable the internal fast RC. More...
|
|
uint32_t | pmc_osc_is_ready_fastrc (void) |
| Check if the main fastrc is ready. More...
|
|
void | pmc_osc_enable_main_xtal (uint32_t ul_xtal_startup_time) |
| Enable main XTAL oscillator. More...
|
|
void | pmc_osc_bypass_main_xtal (void) |
| Bypass main XTAL. More...
|
|
void | pmc_osc_disable_main_xtal (void) |
| Disable the main Xtal. More...
|
|
uint32_t | pmc_osc_is_bypassed_main_xtal (void) |
| Check if the main crystal is bypassed. More...
|
|
uint32_t | pmc_osc_is_ready_main_xtal (void) |
| Check if the main crystal is ready. 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...
|
|
void | pmc_osc_disable_xtal (uint32_t ul_bypass) |
| Disable the external Xtal. More...
|
|
uint32_t | pmc_osc_is_ready_mainck (void) |
| Check if the MAINCK is ready. More...
|
|
void | pmc_mainck_osc_select (uint32_t ul_xtal_rc) |
| Select Main Crystal or internal RC as main clock source. More...
|
|
|
void | pmc_enable_pllack (uint32_t mula, uint32_t pllacount, uint32_t diva) |
| Enable PLLA clock. More...
|
|
void | pmc_disable_pllack (void) |
| Disable PLLA clock. More...
|
|
uint32_t | pmc_is_locked_pllack (void) |
| Is PLLA locked? More...
|
|
void | pmc_enable_pllbck (uint32_t mulb, uint32_t pllbcount, uint32_t divb) |
|
void | pmc_disable_pllbck (void) |
|
uint32_t | pmc_is_locked_pllbck (void) |
|
void | pmc_enable_upll_clock (void) |
|
void | pmc_disable_upll_clock (void) |
|
uint32_t | pmc_is_locked_upll (void) |
|
|
uint32_t | pmc_enable_periph_clk (uint32_t ul_id) |
| Enable the specified peripheral clock. More...
|
|
uint32_t | pmc_disable_periph_clk (uint32_t ul_id) |
| Disable the specified peripheral clock. More...
|
|
void | pmc_enable_all_periph_clk (void) |
| Enable all peripheral clocks. More...
|
|
void | pmc_disable_all_periph_clk (void) |
| Disable all peripheral clocks. More...
|
|
uint32_t | pmc_is_periph_clk_enabled (uint32_t ul_id) |
| Check if the specified peripheral clock is enabled. More...
|
|
|
The following functions may be used to select the clock source and prescaler for the specified programmable clock.
|
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...
|
|
uint32_t | pmc_switch_pck_to_sclk (uint32_t ul_id, uint32_t ul_pres) |
| Switch programmable 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_pllack (uint32_t ul_id, uint32_t ul_pres) |
| Switch programmable clock source selection to PLLA clock. More...
|
|
uint32_t | pmc_get_slck_config (void) |
|
uint32_t | pmc_get_mainck_config (void) |
|
uint32_t | pmc_get_pllack_config (void) |
|
uint32_t | pmc_get_upllckdiv_config (void) |
|
void | pmc_enable_cpck (void) |
|
void | pmc_disable_cpck (void) |
|
bool | pmc_is_cpck_enabled (void) |
|
void | pmc_enable_cpbmck (void) |
|
void | pmc_disable_cpbmck (void) |
|
bool | pmc_is_cpbmck_enabled (void) |
|
void | pmc_cpck_set_prescaler (uint32_t ul_pres) |
|
void | pmc_cpck_set_source (uint32_t ul_source) |
|
uint32_t | pmc_switch_pck_to_pllbck (uint32_t ul_id, uint32_t ul_pres) |
|
uint32_t | pmc_switch_pck_to_upllck (uint32_t ul_id, uint32_t ul_pres) |
|
uint32_t | pmc_switch_pck_to_mck (uint32_t ul_id, uint32_t ul_pres) |
| Switch programmable clock source selection to mck. More...
|
|
void | pmc_enable_pck (uint32_t ul_id) |
| Enable the specified programmable clock. More...
|
|
void | pmc_disable_pck (uint32_t ul_id) |
| Disable the specified programmable clock. More...
|
|
void | pmc_enable_all_pck (void) |
| Enable all programmable clocks. More...
|
|
void | pmc_disable_all_pck (void) |
| Disable all programmable clocks. More...
|
|
uint32_t | pmc_is_pck_enabled (uint32_t ul_id) |
| Check if the specified programmable clock is enabled. More...
|
|
|
void | pmc_switch_udpck_to_pllack (uint32_t ul_usbdiv) |
|
void | pmc_switch_udpck_to_pllbck (uint32_t ul_usbdiv) |
|
void | pmc_switch_udpck_to_upllck (uint32_t ul_usbdiv) |
|
void | pmc_enable_udpck (void) |
|
void | pmc_disable_udpck (void) |
|
void | pmc_switch_uhpck_to_pllack (uint32_t ul_usbdiv) |
|
void | pmc_switch_uhpck_to_pllbck (uint32_t ul_usbdiv) |
|
void | pmc_enable_uhpck (void) |
|
|
void | pmc_enable_interrupt (uint32_t ul_sources) |
| Enable PMC interrupts. More...
|
|
void | pmc_disable_interrupt (uint32_t ul_sources) |
| Disable PMC interrupts. More...
|
|
uint32_t | pmc_get_interrupt_mask (void) |
| Get PMC interrupt mask. More...
|
|
uint32_t | pmc_get_status (void) |
| Get current status. More...
|
|
|
The following functions are used to configure sleep mode and additional wake up inputs.
|
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_clr_fast_startup_input (uint32_t ul_inputs) |
| Clear the wake-up inputs for fast startup mode registers (remove event generation). More...
|
|
void | pmc_cp_set_fast_startup_input (uint32_t ul_inputs) |
|
void | pmc_cp_clr_fast_startup_input (uint32_t ul_inputs) |
|
void | pmc_enable_sleepmode (uint8_t uc_type) |
| Enable Sleep Mode. More...
|
|
void | pmc_enable_waitmode (void) |
| Enable Wait Mode. More...
|
|
void | pmc_enable_backupmode (void) |
|
|
void | pmc_enable_clock_failure_detector (void) |
| Enable Clock Failure Detector. More...
|
|
void | pmc_disable_clock_failure_detector (void) |
| Disable Clock Failure Detector. More...
|
|
|
void | pmc_enable_sclk_osc_freq_monitor (void) |
|
void | pmc_disable_sclk_osc_freq_monitor (void) |
|
|
void | pmc_set_writeprotect (uint32_t ul_enable) |
| Enable or disable write protect of PMC registers. More...
|
|
uint32_t | pmc_get_writeprotect_status (void) |
| Return write protect status. More...
|
|
|
uint32_t | pmc_enable_sleepwalking (uint32_t ul_id) |
|
uint32_t | pmc_disable_sleepwalking (uint32_t ul_id) |
|
uint32_t | pmc_get_sleepwalking_status0 (void) |
|
uint32_t | pmc_get_active_status0 (void) |
|
uint32_t | pmc_get_sleepwalking_status1 (void) |
|
uint32_t | pmc_get_active_status1 (void) |
|