I'm going to confirm and understand the thread in deep sleep mode and sleep mode.
What we would like to know is the processing of hibernation mode.
It can be read that the data sheet only supports Deep Sleep(PSoC4L) and Sleep(PSoC3/5LP).
Can suspend API be used even in hibernate mode? we have to?
Or should we call storp API?
The suspend/resume APIs do not work with hibernate. You don't actually need to call any API to stop the USB on hibernate, but the USB block would stop during this time and the PC will need to enumerate the device all over again after waking up.
Certainly PSoC5LP cannot hold the state in hibernate mode, so I don't think it needs to be suspended,
Is it not necessary to stop the USBFS component with the Stop API before hibernation mode?
For example, isn't it a problem to get a USBFS interrupt while entering hibernation mode?
Maybe, depending how the firmware is designed. In any case, it is good practice to stop all your peripherals before going to a power state that they can't run.
You would need to call the USB initialization APIs all over again after wake-up.
Also since the Endpoints will be reset after reinitialization, it is better to store the data present in the OUT Endpoint in SRAM. Also, the Host should complete reading the data present in the IN Endpoint otherwise the data in the Endpoints will be lost.
This is what was mentioned in the USBFS datasheet as well.
Thank you for the information.
We confirmed the data sheet for information on how to wake up from hibernation mode.
We will try to call Stop API as much as possible before hibernate mode from the information we receive.