Hi, * Renju Liu <liu396@xxxxxxxxxx> [151220 15:00]: > Hello all, > > For omap4, I wonder how should emif be handled when suspending the entire SoC. > > In playing with Robert Nelson's 4.2 kernel tree [1], I noticed that > the suspend seems broken: the kernel, in the suspend_noirq phase, > tries to disable the emif hwmod by calling omap_device_idle(); the > board thus hangs. It appears to me that the DDR shouldn't be disabled > at this moment or it needs special treatment -- in comparison, the > AM35xx kernel switches its execution to on-chip SRAM before turning > off the emif. > > I tried to examine earlier kernels (3.2, 3.4) for omap4 to see how > emif is power-managed. However I didn't see much useful information. Hmm am437x is different where it's using a GPIO pin to power the memory. That's not the case on pandaboard or typical omap2/3/4/5 boards and seems to be limited to am33xx/am437x designs. Things should work with current mainline, at least this works for me on omap4430: # rtcwake -m mem -s 5 And wakes up properly five seconds later. And this also works for me with current mainline kernel: #!/bin/bash uarts=$(find /sys/class/tty/tty[SO]*/device/power/ -type d) for uart in $uarts; do echo 3000 > $uart/autosuspend_delay_ms 2>&1 done uarts=$(find /sys/class/tty/tty[SO]*/power/ -type d 2>/dev/null) for uart in $uarts; do echo enabled > $uart/wakeup 2>&1 echo auto > $uart/control 2>&1 done echo 1 > /sys/kernel/debug/pm_debug/enable_off_mode And then echo mem > /sys/power/state will wake up to serial console activity. This is with duovero and the wakeriq patch for it's console UART that I posted last week. AFAIK panda already has that enabled. Regards, Tony > 1. https://eewiki.net/display/linuxonarm/PandaBoard -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html