I've made some progress that I figured I'd share with the list in case anybody
was having as many problems as I have.
I was misunderstanding how the dm365 entered deepsleep, it doesn't ENTER on the high->low pulse on GPIO0, but actually
an external micro uses this line to drive the sleep state machine internal to the processor (dm365). This was pretty
clearly written in the sub-system guide but somehow i missed it.
The main problem that I ran into was that as soon as I was putting the PLL's into bypass mode the system would freeze
up. This was because I was assigning the davinci_pm_config data incorrectly. The values I was assigning for
cpupll_reg_base and ddrpll_reg_base were flipped. Looking at the peri_clkctl register I figured out which pll the arm
core & ddr were actually using and assigned those base addresses accordingly, voila it worked go figure.
That said, I _think_ I've got the chip into deepsleep now. I say _think_ because I know the kernel gets to the call
'davinci_sram_suspend(pdata)' in pm.c which is generic code that the omap also uses. Now I can't bring the device OUT
of sleep using GPIO0. I have only seen examples using RTC to wakeup a device, and only with the omap at that, so I
don't know if I'm supposed to be registering gpio0 as an interrupt in the device to get it to wakeup properly.
I'm being dumb about something and I'd love for someone to call me out on it so
I can finally move on with this :)
Thanks,
-bj
On 06/12/2012 11:00 AM, BJ Opp wrote:
I've been trying to get deepsleep up and running (dm365/368) and I'm having some problems with it. The only way that
I can start the sleep process is by using the command line:
"echo mem > /sys/power/state"
This gets the process going which opens up an entire new can of worms since the davinci_display driver apparently
makes use of legacy platform registration (at least that's the claim made here:
http://e2e.ti.com/support/embedded/linux/f/354/p/94606/330077.aspx#330077). So the sleep process starts but then I get
a kernel panic because the suspend() function points to some junk location.
My goal is to enter deepsleep by driving GIO0 low externally by a microcontroller but I can't get it to work properly.
Has anybody had any success with this? I've been using the code for the da850 as a base but that uses RTC to
enter/wakeup sleep which is not what I'm trying to do. If my only problem is patching drivers to have the proper
suspend/resume functions assigned that'd be good news. Any help or ideas are greatly appreciated. Thanks!
-bj
On 04/13/2011 07:30 AM, Nori, Sekhar wrote:
Hi Todd,
On Tue, Feb 15, 2011 at 18:11:03, Nori, Sekhar wrote:
Hi Todd,
On Fri, Feb 11, 2011 at 19:15:28, Todd Fischer wrote:
Sekhar,
What is the status for deep sleep support on the DM365? If it is
available, where can I find it? If not available, I was planning on
AFAIK, DeepSleep support is not available on DM365. I am also
not aware of anyone working on it.
starting adding DM365 deep sleep support using the mach-davinci pm.c and
sleep.S code from the latest davinci-linux git repo unless you have
another suggestion.
Yes, that's a good idea. Thanks for taking this up.
If you are working on this can you also please take a look at
the generic CPU suspend support that Russell pushed recently[1]
and see how DaVinci can be converted to use it? The generic
support is already included in 2.6.39.
There is currently a lot of focus on clean-up within the
ARM tree and any migration to generic code will be greatly
appreciated.
Thanks,
Sekhar
[1]
http://lists.infradead.org/pipermail/linux-arm-kernel/2011-February/041678.html
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source