This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Sleep / Wake etc. on AM3517

Other Parts Discussed in Thread: AM3517

Hello,

We are using the AM3517 SOM within a system we are building.  We are running Linux and developing on the eXperimenter kit evm.

Once built the system needs to wake up run code and then go back to sleep.  Wake up will be  triggered by one of three things:

1) an interval timer (e.g. once every hour)

2) request for data over RS232

3) request for data over Ethernet

Will I be able to perform these wake-up/sleep operations via Linux drivers, or will I have to dig around in registers?   Can someone point me to a good starting point.  I have seen pages discussing controls via the debugfs. ( http://processors.wiki.ti.com/index.php/UserGuidePowerMgmtAM35xx )  I don't seem to have all the files when I mount the debugfs.  Does that mean I need to rebuild the kernel?  I am using the kernel shipped on the am3517-evm

 

root@am3517-evm:~# uname -a
Linux am3517-evm 2.6.32-rc5 #1 Mon Dec 14 15:46:28 CST 2009 armv7l unknown

 

Thanks!

Keith

  • I did rebuild the kernel and was able to get the /debug/pm_debug/* files in place.  These seem to allow me to set up the wake/sleep timer  (my 1) above).  Still not sure how to wake up through RS232 or ethernet attention.  Any suggestions?

     

    Keith

  • The sound of crickets got so loud, I had to come back. 

    Wondering what to make of the lack of discussion here.  Is it so simple, it's a stupid question, or so esoteric that no one wants to respond?  I have seen a couple similar questions asked these forums and those had no response either. 

    I did find some info on OMAP processor forums, but Ive read things to say that Power management is different on the AM35x??

    The UserGuidePowerMgmtAM35xx (http://processors.wiki.ti.com/index.php/UserGuidePowerMgmtAM35xx) sound great by title, but really does not contain enough info to help me.  Am I missing some resource?   Can someone get me started?

    Thanks!!!

  • By default the system will wake up from input on the mapped UARTs (0-2).  You can check the wakeup status of UART1 (S0)  with this command:

    cat /sys/devices/platform/serial8250.0/power/wakeup

    It should say "enabled"

    Exchange .0 with .1 or .2 for ports S1 and S2.  You can also navigate around the /sys/ directory and check what the power/wakeup status is for many other devices.

  • Great! Thanks!.  This gives me more to investigate.  It seems that the use of the sysfs for this processor would be documented somewhere more obvious.  I am new to sysfs, so this gves me a place to start.  The file(s) you mention did contain "enabled" and the wakeup on serial does work.  I'm trying to do wakeup on LAN also. I tried

    echo -n "enabled" > /sys/devices/platform/davinci_emac/power/wakeup 

    But this did not cause the evm to wakeup on ethernet  (by issuing ping and telnet commands from another computer)

    I also note that if I tehn display the contents of /sys/devices/platform/davinci_emac/power/wakeup it does not retain the "enabled", it is blank again.

    I also tried

    echo -n "enabled" > /sys/devices/platform/davinci_emac/power/wakeup

    which gave the same result.  ie file apparently unchanged, no wakeup with ping, telnet. 

     

    I do now have a lot more to look into.  If you can see what I might be doing wrong for LAN wakeup above, let me know.

     

    Thanks,

    Keith

     

     

  • Hello Keith,

    Waking up the device by a command over Ethernet from the suspend status is not supported in AM35x. Ethernet MAC module in the device is in idle and can't decode packets or issue an interrupt to ARM.