Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Supply Controller (SUPC)

Driver for the SUPC (Supply Controller).

This driver provides access to the main features of the Supply Controller.

Modules

 

Functions

void supc_disable_brownout_detector (Supc *p_supc)
 Disable the core brownout detector. More...
 
void supc_disable_brownout_reset (Supc *p_supc)
 Disable the assertion of core reset signal when a brownout detection occurs. More...
 
void supc_disable_monitor_interrupt (Supc *p_supc)
 Disable the assertion of SUPC interrupt signal when a supply monitor detection occurs. More...
 
void supc_disable_monitor_reset (Supc *p_supc)
 Disable the assertion of core reset signal when a supply monitor detection occurs. More...
 
void supc_disable_voltage_regulator (Supc *p_supc)
 Disable the internal voltage regulator to supply VDDCORE with an external supply. More...
 
void supc_enable_backup_mode (Supc *p_supc)
 Switch off the voltage regulator to put the device in backup mode. More...
 
void supc_enable_brownout_detector (Supc *p_supc)
 Enable the core brownout detector. More...
 
void supc_enable_brownout_reset (Supc *p_supc)
 Enable the assertion of core reset signal when a brownout detection occurs. More...
 
void supc_enable_monitor_interrupt (Supc *p_supc)
 Enable the assertion of SUPC interrupt signal when a supply monitor detection occurs. More...
 
void supc_enable_monitor_reset (Supc *p_supc)
 Enable the assertion of the core reset signal when a supply monitor detection occurs. More...
 
void supc_enable_voltage_regulator (Supc *p_supc)
 Enable the internal voltage regulator. More...
 
uint32_t supc_get_status (Supc *p_supc)
 Get supply controller status. More...
 
void supc_set_monitor_sampling_period (Supc *p_supc, uint32_t ul_period)
 Set Supply monitor sampling period. More...
 
void supc_set_monitor_threshold (Supc *p_supc, uint32_t ul_threshold)
 Set Supply monitor threshold. More...
 
void supc_set_wakeup_inputs (Supc *p_supc, uint32_t ul_inputs, uint32_t ul_transition)
 Set system controller wake up inputs. More...
 
void supc_set_wakeup_mode (Supc *p_supc, uint32_t ul_mode)
 Set system controller wake up mode. More...
 
void supc_switch_sclk_to_32kxtal (Supc *p_supc, uint32_t ul_bypass)
 Switch slow clock source selection to external 32k (Xtal or Bypass) oscillator. More...
 

void supc_disable_brownout_detector ( Supc *  p_supc)

Disable the core brownout detector.

Parameters
p_supcPointer to a SUPC instance.

References SUPC_MR_KEY_PASSWD.

Referenced by init_chip().

void supc_disable_brownout_reset ( Supc *  p_supc)

Disable the assertion of core reset signal when a brownout detection occurs.

Parameters
p_supcPointer to a SUPC instance.

References SUPC_MR_KEY_PASSWD.

void supc_disable_monitor_interrupt ( Supc *  p_supc)

Disable the assertion of SUPC interrupt signal when a supply monitor detection occurs.

Parameters
p_supcPointer to a SUPC instance.
void supc_disable_monitor_reset ( Supc *  p_supc)

Disable the assertion of core reset signal when a supply monitor detection occurs.

Parameters
p_supcPointer to a SUPC instance.
void supc_disable_voltage_regulator ( Supc *  p_supc)

Disable the internal voltage regulator to supply VDDCORE with an external supply.

Parameters
p_supcPointer to a SUPC instance.

References SUPC_MR_KEY_PASSWD.

void supc_enable_backup_mode ( Supc *  p_supc)

Switch off the voltage regulator to put the device in backup mode.

Parameters
p_supcPointer to a SUPC instance.

References SUPC_CR_KEY_PASSWD, and UNUSED.

Referenced by app_widget_launch_lpm_backup(), and run_gpbr_test().

void supc_enable_brownout_detector ( Supc *  p_supc)

Enable the core brownout detector.

Parameters
p_supcPointer to a SUPC instance.

References SUPC_MR_KEY_PASSWD.

void supc_enable_brownout_reset ( Supc *  p_supc)

Enable the assertion of core reset signal when a brownout detection occurs.

Parameters
p_supcPointer to a SUPC instance.

References SUPC_MR_KEY_PASSWD.

void supc_enable_monitor_interrupt ( Supc *  p_supc)

Enable the assertion of SUPC interrupt signal when a supply monitor detection occurs.

Parameters
p_supcPointer to a SUPC instance.
void supc_enable_monitor_reset ( Supc *  p_supc)

Enable the assertion of the core reset signal when a supply monitor detection occurs.

Parameters
p_supcPointer to a SUPC instance.
void supc_enable_voltage_regulator ( Supc *  p_supc)

Enable the internal voltage regulator.

Parameters
p_supcPointer to a SUPC instance.

References SUPC_MR_KEY_PASSWD.

uint32_t supc_get_status ( Supc *  p_supc)

Get supply controller status.

Parameters
p_supcPointer to a SUPC instance.
Returns
The status of supply controller.

Referenced by run_supc_test().

void supc_set_monitor_sampling_period ( Supc *  p_supc,
uint32_t  ul_period 
)

Set Supply monitor sampling period.

Parameters
p_supcPointer to a SUPC instance.
ul_periodSupply monitor sampling period.
void supc_set_monitor_threshold ( Supc *  p_supc,
uint32_t  ul_threshold 
)

Set Supply monitor threshold.

Parameters
p_supcPointer to a SUPC instance.
ul_thresholdSupply monitor threshold (between 1.9V and 3.4V).
void supc_set_wakeup_inputs ( Supc *  p_supc,
uint32_t  ul_inputs,
uint32_t  ul_transition 
)

Set system controller wake up inputs.

Parameters
p_supcPointer to a SUPC instance.
ul_inputsBitmask of wake-up inputs that can force wake up of the core power supply.
ul_transitionBitmask of level transition of the wake-up inputs. 1 means a high-to-low level transition forces the wake up of core power supply. 0 means a low-to-high level transition forces the wake up of core power supply.

Referenced by app_widget_launch_lpm_backup(), and app_widget_launch_lpm_sleep().

void supc_set_wakeup_mode ( Supc *  p_supc,
uint32_t  ul_mode 
)

Set system controller wake up mode.

Parameters
p_supcPointer to a SUPC instance.
ul_modeBitmask of wake up mode (please refer to datasheet for more details).

Referenced by run_gpbr_test().

void supc_switch_sclk_to_32kxtal ( Supc *  p_supc,
uint32_t  ul_bypass 
)

Switch slow clock source selection to external 32k (Xtal or Bypass) oscillator.

This function disables the PLLs.

Note
Switching sclk back to 32krc is only possible by shutting down the VDDIO power supply.
Parameters
ul_bypass0 for Xtal, 1 for bypass.

References SUPC_CR_KEY_PASSWD, and SUPC_MR_KEY_PASSWD.

Referenced by run_supc_test().