|
|
@@ -758,6 +758,29 @@ void rtc_sleep_set_wakeup_time(uint64_t t);
|
|
|
*/
|
|
|
uint32_t rtc_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt, uint32_t lslp_mem_inf_fpu);
|
|
|
|
|
|
+/**
|
|
|
+ * @brief Enter deep sleep mode
|
|
|
+ *
|
|
|
+ * Similar to rtc_sleep_start(), but additionally uses hardware to calculate the CRC value
|
|
|
+ * of RTC FAST memory. On wake, this CRC is used to determine if a deep sleep wake
|
|
|
+ * stub is valid to execute (if a wake address is set).
|
|
|
+ *
|
|
|
+ * No RAM is accessed while calculating the CRC and going into deep sleep, which makes
|
|
|
+ * this function safe to use even if the caller's stack is in RTC FAST memory.
|
|
|
+ *
|
|
|
+ * @note If no deep sleep wake stub address is set then calling rtc_sleep_start() will
|
|
|
+ * have the same effect and takes less time as CRC calculation is skipped.
|
|
|
+ *
|
|
|
+ * @note This function should only be called after rtc_sleep_init() has been called to
|
|
|
+ * configure the system for deep sleep.
|
|
|
+ *
|
|
|
+ * @param wakeup_opt - same as for rtc_sleep_start
|
|
|
+ * @param reject_opt - same as for rtc_sleep_start
|
|
|
+ *
|
|
|
+ * @return non-zero if sleep was rejected by hardware
|
|
|
+ */
|
|
|
+uint32_t rtc_deep_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt);
|
|
|
+
|
|
|
/**
|
|
|
* RTC power and clock control initialization settings
|
|
|
*/
|