CAT2 Peripheral Driver Library

Functions

cy_en_syspm_status_t Cy_SCB_EZI2C_DeepSleepCallback (cy_stc_syspm_callback_params_t *callbackParams, cy_en_syspm_callback_mode_t mode)
 This function handles the transition of the EZI2C SCB into and out of Deep Sleep mode. More...
 
__STATIC_INLINE void Cy_SCB_EZI2C_RegisterDSClockConfig (CySCB_Type const *base, cy_cb_scb_ezi2c_handle_deep_sleep_mode_t callback, cy_stc_scb_ezi2c_context_t *context)
 Registers a callback function that will occur in Cy_SCB_EZI2C_DeepSleepCallback when the EZI2C goes into deepsleep. More...
 

Detailed Description

Function Documentation

◆ Cy_SCB_EZI2C_DeepSleepCallback()

cy_en_syspm_status_t Cy_SCB_EZI2C_DeepSleepCallback ( cy_stc_syspm_callback_params_t callbackParams,
cy_en_syspm_callback_mode_t  mode 
)

This function handles the transition of the EZI2C SCB into and out of Deep Sleep mode.

It prevents the device from entering Deep Sleep mode if the EZI2C slave is actively communicating. The following behavior of the EZI2C depends on whether the SCB block is configured as enable-wakeup or not:

  • enable-wakeup: on the incoming EZI2C slave address, the slave receives the address and stretches the clock until the device is woken from Deep Sleep mode. If the slave address occurs before the device enters Deep Sleep mode, the device will not enter Deep Sleep mode.
  • Not enable-wakeup: the EZI2C is disabled. It is enabled when the device fails to enter Deep Sleep mode or it is woken from Deep Sleep mode. While the EZI2C is disabled, it stops driving the outputs and ignores the input lines. The slave NACKs all incoming addresses.

This function must be called during execution of Cy_SysPm_CpuEnterDeepSleep. To do this, register this function as a callback before calling Cy_SysPm_CpuEnterDeepSleep : specify CY_SYSPM_DEEPSLEEP as the callback type and call Cy_SysPm_RegisterCallback.

Parameters
callbackParamsThe pointer to the callback parameters structure. cy_stc_syspm_callback_params_t.
modeCallback mode, see cy_en_syspm_callback_mode_t
Returns
cy_en_syspm_status_t
Note
For proper operation, when the EZI2C slave is configured to be a wakeup source from Deep Sleep mode, need to register callback function by Cy_SCB_EZI2C_RegisterDSClockConfig. Callback function must disable or enable the clock divider depending on the event EZI2C Deep Sleep Callback. Not applicable for PSoC 4100S Max and PSoC 4000T.

◆ Cy_SCB_EZI2C_RegisterDSClockConfig()

__STATIC_INLINE void Cy_SCB_EZI2C_RegisterDSClockConfig ( CySCB_Type const *  base,
cy_cb_scb_ezi2c_handle_deep_sleep_mode_t  callback,
cy_stc_scb_ezi2c_context_t context 
)

Registers a callback function that will occur in Cy_SCB_EZI2C_DeepSleepCallback when the EZI2C goes into deepsleep.

In the configurator if Deep Sleep Callback is enabled a callback function will be supplied. The function will disable the clock divider when going into deepsleep and enable the clock divider when coming out of deepsleep. If Deep Sleep Callback is not enabled a user defined function must enable and disable the clock dividers.

Parameters
baseThe pointer to the EZI2C SCB instance.
callbackThe pointer to a callback function that will enable and disable the EZI2C clock divider when going into and out of deepsleep.
contextThe pointer to context structure cy_stc_scb_ezi2c_context_t allocated by the user. The structure is used during the EZI2C operation for internal configuration and data retention. The user should not modify anything in this structure.
Note
To remove the callback, pass NULL as the pointer to a callback function.
Not applicable for PSoC 4100S Max and PSoC 4000T.