Microchip® Advanced Software Framework

bpm.c File Reference

BPM driver.

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

#include "compiler.h"
#include "bpm.h"

Functions

void bpm_clear_interrupt (Bpm *bpm, uint32_t sources)
 Clear BPM interrupt. More...
 
void bpm_disable_backup_pin (Bpm *bpm, uint32_t backup_pins)
 Disable backup pin for wakeup. More...
 
void bpm_disable_fast_wakeup (Bpm *bpm)
 Disable fast wakeup for analog modules. More...
 
void bpm_disable_interrupt (Bpm *bpm, uint32_t sources)
 Disable interrupt with given sources mask. More...
 
void bpm_disable_io_retention (Bpm *bpm)
 Disable IO retention for backup mode. More...
 
void bpm_disable_wakeup_source (Bpm *bpm, uint32_t sources)
 Disable wakeup source. More...
 
void bpm_enable_backup_pin (Bpm *bpm, uint32_t backup_pins)
 Enable backup pin for wakeup. More...
 
void bpm_enable_fast_wakeup (Bpm *bpm)
 Enable fast wakeup for analog modules. More...
 
void bpm_enable_interrupt (Bpm *bpm, uint32_t sources)
 Enable interrupt with given sources mask. More...
 
void bpm_enable_io_retention (Bpm *bpm)
 Enable IO retention for backup mode. More...
 
void bpm_enable_wakeup_source (Bpm *bpm, uint32_t sources)
 Enable wakeup source. More...
 
uint32_t bpm_get_backup_wakeup_cause (Bpm *bpm)
 Get wakeup cause from backup mode. More...
 
uint32_t bpm_get_interrupt_mask (Bpm *bpm)
 Get BPM interrupt mask. More...
 
uint32_t bpm_get_interrupt_status (Bpm *bpm)
 Get BPM interrupt status. More...
 
uint32_t bpm_get_status (Bpm *bpm)
 Get BPM status. More...
 
uint32_t bpm_get_version (Bpm *bpm)
 Get version of BPM module. More...
 
void bpm_power_scaling_cpu (Bpm *bpm, uint32_t ps_value)
 Change Power Scaling mode. More...
 
bool bpm_power_scaling_cpu_failsafe (Bpm *bpm, uint32_t ps_value, uint32_t timeout)
 Change Power Scaling mode and check results. More...
 
RAMFUNC bool bpm_ps_no_halt_exec (Bpm *bpm, uint32_t pmcon)
 Execute Power Scaling No Halt with a delay loop. More...
 
void bpm_set_clk32_source (Bpm *bpm, uint32_t source)
 Set clock source for 32KHz clock. More...
 
void bpm_sleep (Bpm *bpm, uint32_t sleep_mode)
 Enter sleep mode. More...
 

RAMFUNC bool bpm_ps_no_halt_exec ( Bpm *  bpm,
uint32_t  pmcon 
)

Execute Power Scaling No Halt with a delay loop.

Note
SysTick is used to check timeout.
Parameters
bpmBPM register base
pmconBPM_PMCON value to write
Returns
PSOK status, true if set.

References BPM_UNLOCK.

Referenced by bpm_power_scaling_cpu_failsafe().