PSoC5LP : USB component settings when transitioning to hibernate mode

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Hi,

We are using the PSoC LP USB component.

When using the hibernate mode of PSoC5LP, What should we do with USB components?

The data sheet has the following description.

Since PSoC4L has Link Power Management (LPM), an example of hibernation mode is provided.

However, there is no description about PSoC5LP.

Should PSoC5LP only use the "Suspend" and "Resume" APIs not only in sleep mode but also in hibernate mode?

pastedImage_1.png

Regards,

0 Likes
1 Solution

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.

View solution in original post

0 Likes
7 Replies
AikoO_51
Moderator
Moderator
Moderator
100 sign-ins First question asked 50 solutions authored

Please take a look at this thread, USBFS Component and Hibernate

For a way to use these API, refer to this KBA, USBFS Suspend and Resume Functionality - KBA210675

Aiko Ohtaka
Infineon Technologies
0 Likes
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Well...

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?

Regards,

0 Likes

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.

0 Likes
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Rodolfo-san,

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?

Regards,

0 Likes

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.

0 Likes
AikoO_51
Moderator
Moderator
Moderator
100 sign-ins First question asked 50 solutions authored

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.

note.jpg

Aiko Ohtaka
Infineon Technologies
0 Likes
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

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.

Regards,

0 Likes