summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/rp2/modmachine.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ports/rp2/modmachine.c b/ports/rp2/modmachine.c
index 3229aed27..954ea2164 100644
--- a/ports/rp2/modmachine.c
+++ b/ports/rp2/modmachine.c
@@ -196,6 +196,8 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
#endif
xosc_dormant();
} else {
+ uint32_t save_sleep_en0 = clocks_hw->sleep_en0;
+ uint32_t save_sleep_en1 = clocks_hw->sleep_en1;
bool timer3_enabled = irq_is_enabled(3);
const uint32_t alarm_num = 3;
@@ -251,8 +253,8 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
if (!timer3_enabled) {
irq_set_enabled(irq_num, false);
}
- clocks_hw->sleep_en0 |= ~(0u);
- clocks_hw->sleep_en1 |= ~(0u);
+ clocks_hw->sleep_en0 = save_sleep_en0;
+ clocks_hw->sleep_en1 = save_sleep_en1;
}
// Enable ROSC.