I'm working on trying to get DeepSleep working on a DM365 running the Linux Kernel 2.6.34. It seems that I'm only able to get to the part of sleep.S where PLL1 is shut off and then I'm no longer able to communicate with my JTAG debugger and I'm no longer able to push characters out on UART. I've seen this comment in sram.c that worries me a bit:
/*
* REVISIT This supports CPU and DMA access to/from SRAM, but it
* doesn't (yet?) support some other notable uses of SRAM: as TCM
* for data and/or instructions; and holding code needed to enter
* and exit suspend states (while DRAM can't be used).
*/
I've seen a patch for DM6446 Suspend that uses a tcm_alloc funtion. It seem that maybe I need some similar TCM allocator on the DM365. I don't know if anything already exists or not.
Has anyone successfully used DeepSleep on the DM355/DM365 in Linux? So far I have found no one.
Thanks!