Astra MCU SDK Peripheral Driver Library

PCSM APIs

int32_t pcsm_set_wakeup (pcsm_instance_en id, uint32_t mask, uint32_t pol)
 Set wakeup event mask and polarity for a PCSM instance.
int32_t pcsm_get_wakeup_mask (pcsm_instance_en id, uint32_t *mask)
 Read the configured wakeup event mask for a PCSM instance.
int32_t is_power_domain_stable (pcsm_instance_en id)
 Check whether the target power domain is stable in ON state.
int32_t pcsm_clear_wakeup_mask (pcsm_instance_en id, uint32_t mask)
 Clear wakeup event mask bits for a PCSM instance.
int32_t get_power_state (pcsm_instance_en id, uint32_t *state)
 Get current power state snapshot from PCSM status registers.
int32_t pcsm_ctrl_config_ds_mode (pcsm_instance_en id, power_state_e ds_mode)
 Configure PCSM CTRL sleep/deep-sleep behavior for the selected mode.

pcsm_set_wakeup()

Set wakeup event mask and polarity for a PCSM instance.

Parameters:

  • id: PCSM instance identifier.
  • mask: Wakeup source bitmask to configure.
  • pol: Wakeup polarity bitmask corresponding to mask bits.

Return: 0 on success, otherwise a pcsm_err_e negative error code.

Return values:

pcsm_get_wakeup_mask()

Get wakeup event mask for a PCSM instance.

Parameters:

  • id: PCSM instance identifier.
  • mask: Pointer to receive current wakeup mask bits.

Return: 0 on success, otherwise a pcsm_err_e negative error code.

Return values:

is_power_domain_stable()

Check whether the power domain is stable-on.

Parameters:

  • id: PCSM instance identifier.

Return: 1 if stable-on, 0 if not stable-on, otherwise a pcsm_err_e negative error code.

Return values:

pcsm_clear_wakeup_mask()

Clear wakeup event mask bits for a PCSM instance.

Parameters:

  • id: PCSM instance identifier.
  • mask: Wakeup mask bits to clear.

Return: 0 on success, otherwise a pcsm_err_e negative error code.

Return values:

get_power_state()

Get current power state from PCSM.

Parameters:

  • id: PCSM instance identifier.
  • state: Pointer to receive current power state value.

Return: 0 on success, otherwise a pcsm_err_e negative error code.

Return values:

pcsm_ctrl_config_ds_mode()

Configure PCSM CTRL register behavior for target deep-sleep mode.

Mode mapping:

  • PM_STATE_ON: sleep and deep-sleep disabled.
  • PM_STATE_MEM_RET: sleep enabled, deep-sleep disabled.
  • PM_STATE_FULL_RET: sleep and deep-sleep enabled.
  • PM_STATE_STANDBY: sleep and deep-sleep enabled.

Parameters:

  • id: PCSM instance identifier.
  • ds_mode: Target power mode to configure.

Return: 0 on success, otherwise a pcsm_err_e negative error code.

Return values: