M bitsy/l.s => bitsy/l.s +1 -4
@@ 562,10 562,7 @@ TEXT sa1100_power_resume(SB), $-4
MCR CpMMU, 0, R0, C(CpCacheFlush), C(0xa), 4
/* gotopowerlabel() */
/* svc */
-/* Debug
- MOVW $0x25, R0
- BL _PrChar(SB)
- */
+
MOVW $power_resume+0(SB), R0
MOVW 56(R0), R1 /* R1: SPSR, R2: CPSR */
MOVW 60(R0), R2
M bitsy/power.c => bitsy/power.c +6 -1
@@ 147,6 147,7 @@ deepsleep(void) {
delay(50);
/* Power down */
iprint("entering suspend mode\n");
+ dumpitall();
uartpower(0);
clockpower(0);
irpower(0);
@@ 159,6 160,8 @@ deepsleep(void) {
cacheflush();
delay(50);
if (setpowerlabel()) {
+ /* Turn off memory auto power */
+ memconfregs->mdrefr &= ~0x30000000;
mmurestart();
gpiorestore(gpioregs, &savedgpioregs);
delay(50);
@@ 178,7 181,7 @@ deepsleep(void) {
µcpower(1);
screenpower(1);
iprint("\nresuming execution\n");
-// dumpitall();
+ dumpitall();
delay(800);
splx(power_pl);
return;
@@ 195,7 198,9 @@ powerkproc(void*)
while(powerflag == 0)
sleep(&powerr, powerdown, 0);
+ iprint("call deepsleep\n");
deepsleep();
+ iprint("deepsleep returned\n");
delay(2000);