-
Notifications
You must be signed in to change notification settings - Fork 7.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ULP wakeup (IDFGH-3261) #5254
Comments
@fpgamaster Thanks for reporting this feature request, we will evaluate. |
Hi @fpgamaster, It seems that there is a (yet undocumented) bit in the same |
Hi @igrr , Thanks! This is exactly I was looking for. It looks like this is the same bit as in s2 RTC_CNTL_MAIN_STATE_IS_IDLE found in header files. |
@igrr |
I have an ULP code which runs from normal mode and from deep sleep.
To generate an interrupt (wake up) the following code is used:
.global wake_up
wake_up:
/* Check if the system can be woken up */
READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_RDY_FOR_WAKEUP)
and r0, r0, 1
jump wake_up, eq
BUT if the ULP code is started from normal mode the following code runs forever:
wake_up:
/* Check if the system can be woken up */
READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_RDY_FOR_WAKEUP)
and r0, r0, 1
jump wake_up, eq
So, is there a way to detect whether the ULP code is running from a deep sleep or normal mode and to wake up properly?
The text was updated successfully, but these errors were encountered: