Hi,
I'm trying to implement a DeepSleep 2 support on my system without the usage of the M3 (not on Linux). The Technical Reference Manual is not clear on this subject and I can't know if the M3 is mandatory to wake up the A8 via a GPIO0 pin.
What I'm doing:
- enabling my GPIO0 pin (GPIO0_22) as wakeup source
- disabling all other wakeup sources
- lauching my suspend routine from SRAM
- setting the DDR in self refresh mode
- bypass the MPU, PER, DISP, DDR and CORE clock
- setting the Master Oscillator to off
- calling the WFI instruction
The M3 is not used.
What happens when the system goes in suspend:
- If I connect my JTAG software (DS-5) to the CPU and break. This seems to generate an interrupt and the A8 Program Counter is located just after the WFI instruction. This tends to show that the A8 was Waiting For an Interrupt correctly.
- When the system is in suspend, if I push the button wired on the wakeup GPIO, nothing happens.
- When the system is in suspend, if I connect my JTAG software to the A8 without breaking, then if I push the wake up button, the platform wakes up correctly.
Is the M3 mandatory in that case?
Thank you for your help.
Olivier.