PSOC E8XXGP Device Support Library
Loading...
Searching...
No Matches

General Description

Functions

__STATIC_INLINE bool Cy_SysPm_IoIsFrozen (void)
 Checks whether IOs are frozen.
 
void Cy_SysPm_IoUnfreeze (void)
 This function unfreezes the I/O cells that are automatically frozen when Hibernate is entered with the call to Cy_SysPm_SystemEnterHibernate().
 
bool Cy_SysPm_DeepSleepIoIsFrozen (void)
 Checks whether IOs are frozen during DEEPSLEEP-RAM/OFF.
 
void Cy_SysPm_DeepSleepIoUnfreeze (void)
 This function unfreezes the I/O cells that are automatically frozen when DEEPSLEEP-RAM/OFF is entered.
 
cy_en_syspm_status_t Cy_SysPm_SystemTransitionInitiate (void)
 Initiates a system power mode transition by disabling the Secure Enclave (SE).
 
cy_en_syspm_status_t Cy_SysPm_SystemTransitionFinalize (void)
 Finalizes a system power mode transition by re-enabling the Secure Enclave (SE).
 

Function Documentation

◆ Cy_SysPm_IoIsFrozen()

__STATIC_INLINE bool Cy_SysPm_IoIsFrozen ( void  )

Checks whether IOs are frozen.

Returns
  • True if IOs are frozen.
  • False if IOs are unfrozen.
Function Usage
/* Scenario: There is a need to use Hibernate power mode and retain the
* the I/O state after the a wake-up from Hibernate
*/
/* Check the I/O freeze status after the boot.
* If the I/O is frozen it means we have returned from Hibernate.
*/
{
/* Restore the I/O configuration before unfreezing.
* Use configuration data programmed into firmware stored in
* SRSS->PWR_HIB_DATA[] or BACKUP->BREG[]
* before the Hibernate was entered.The most common use case is to
* restore from GPIO driver the firmware initialization structures.
*/
}
/* Save the I/O before entering Hibernate. You can store the
* the I/O configuration into SRSS->PWR_HIB_DATA[] or
* BACKUP->BREG[] registers.
*/
/* Enter Hibernate mode */
__STATIC_INLINE bool Cy_SysPm_IoIsFrozen(void)
Checks whether IOs are frozen.
Definition: cy_syspm.h:4593
void Cy_SysPm_IoUnfreeze(void)
This function unfreezes the I/O cells that are automatically frozen when Hibernate is entered with th...
Definition: cy_syspm_v4.c:2293
cy_en_syspm_status_t Cy_SysPm_SystemEnterHibernate(void)
Sets the device into system Hibernate mode.
Definition: cy_syspm_v4.c:1508

◆ Cy_SysPm_IoUnfreeze()

void Cy_SysPm_IoUnfreeze ( void  )

This function unfreezes the I/O cells that are automatically frozen when Hibernate is entered with the call to Cy_SysPm_SystemEnterHibernate().

I/O cells remain frozen after a wakeup from Hibernate mode until the firmware unfreezes them by calling this function.

If the firmware must retain the data value on the pin, then the value must be read and re-written to the pin's port data register before calling this function. Furthermore, the drive mode must be re-programmed before the pins are unfrozen. If this is not done, the pin will change to the default state the moment the freeze is removed.

Note that I/O cell configuration can be changed while frozen. The new configuration becomes effective only after the pins are unfrozen.

Function Usage
/* Scenario: There is a need to use Hibernate power mode and retain the
* the I/O state after the a wake-up from Hibernate
*/
/* Check the I/O freeze status after the boot.
* If the I/O is frozen it means we have returned from Hibernate.
*/
{
/* Restore the I/O configuration before unfreezing.
* Use configuration data programmed into firmware stored in
* SRSS->PWR_HIB_DATA[] or BACKUP->BREG[]
* before the Hibernate was entered.The most common use case is to
* restore from GPIO driver the firmware initialization structures.
*/
}
/* Save the I/O before entering Hibernate. You can store the
* the I/O configuration into SRSS->PWR_HIB_DATA[] or
* BACKUP->BREG[] registers.
*/
/* Enter Hibernate mode */

◆ Cy_SysPm_DeepSleepIoIsFrozen()

bool Cy_SysPm_DeepSleepIoIsFrozen ( void  )

Checks whether IOs are frozen during DEEPSLEEP-RAM/OFF.

Returns
  • True if IOs are frozen.
  • False if IOs are unfrozen.

◆ Cy_SysPm_DeepSleepIoUnfreeze()

void Cy_SysPm_DeepSleepIoUnfreeze ( void  )

This function unfreezes the I/O cells that are automatically frozen when DEEPSLEEP-RAM/OFF is entered.

I/O cells remain frozen after a wakeup from DEEPSLEEP_RAM/OFF mode until the firmware unfreezes them by calling this function.

If the firmware must retain the data value on the pin, then the value must be read and re-written to the pin's port data register before calling this function. Furthermore, the drive mode must be re-programmed before the pins are unfrozen. If this is not done, the pin will change to the default state the moment the freeze is removed.

Note that I/O cell configuration can be changed while frozen. The new configuration becomes effective only after the pins are unfrozen.

◆ Cy_SysPm_SystemTransitionInitiate()

cy_en_syspm_status_t Cy_SysPm_SystemTransitionInitiate ( void  )

Initiates a system power mode transition by disabling the Secure Enclave (SE).

This function is called at the beginning of system power transitions to prepare the system by disabling security-sensitive components like the Secure Enclave. It must be paired with Cy_SysPm_SystemTransitionFinalize() to complete the transition process.

The function handles the operation differently based on the system configuration:

  • In secure enclave enabled device configurations : if called from secure core, it directly disables the SE else if SRF-integrated configurations, it uses the Secure Runtime Framework else returns fail
  • In secure enclave disabled device configurations it returns success as SE is disbaled at boot up time
Returns
  • CY_SYSPM_SUCCESS - SE disabled successfully or operation not required
  • CY_SYSPM_FAIL - Failed to disable SE or resource allocation failed
Note
This function is typically called by the power management framework and should be used with caution in application code. Ensure proper pairing with Cy_SysPm_SystemTransitionFinalize().

◆ Cy_SysPm_SystemTransitionFinalize()

cy_en_syspm_status_t Cy_SysPm_SystemTransitionFinalize ( void  )

Finalizes a system power mode transition by re-enabling the Secure Enclave (SE).

This function is called at the end of system power transitions to restore security-sensitive components like the Secure Enclave after the transition is complete. It must be paired with Cy_SysPm_SystemTransitionInitiate() for proper system transition handling.

The function handles the operation differently based on the system configuration:

  • In secure enclave enabled device configurations : if called from secure core, it directly enables the SE else if SRF-integrated configurations, it uses the Secure Runtime Framework else returns fail
  • In secure enclave disabled device configurations it returns success as disbaling SE is not applicable
Returns
  • CY_SYSPM_SUCCESS - SE enabled successfully or operation not required
  • CY_SYSPM_FAIL - Failed to enable SE or resource allocation failed
Note
This function is typically called by the power management framework and should be used with caution in application code. Must be paired with Cy_SysPm_SystemTransitionInitiate() for proper operation.