Projects describing Sleep Mode in PSoC 3 with various wake-up sources have been shown. A document is also attached describing the same.
For PSoC 5 architectures (both PSoC 5 and PSoC 5LP devices), an interrupt is required for the CPU to wake up, so interrupt is disabled for PSoC3 only.
If your application ( PSoC 3 Based) requires RTC interrupt even in sleep, then you should not disable the interrupt before sleep , however you may have to have to compromise for larger current consumption.
When I2C is used as a wake-up source, there is no need to need not use I2C_SaveConfig() and I2C_RestoreConfig().
The Sleep and Wakeup APIs will call SaveConfig()and RestoreConfig() respectively. So there is no need to explicitly call these APIs.
I2C_Wakeup() would actually call I2C_RestoreConfig(). You can refer the implementation of I2C_Wakeup() in the I2C_PM.c file. So if we are again calling the I2C_RestoreConfig() after I2C_Wakeup(), there can be issues since you are trying to reconfigure I2C while it performs transaction. The device would wake-up only once after an I2C Address Match. I2C Operation fails on subsequent sending of data.
So there is no need to need not use I2C_SaveConfig() and I2C_RestoreConfig() before sleep and wake-up respectively.