I'm working on i.MX6 Quad sabre-SD platform and build my image for Android 6.0.
Since my hardware design has no PMIC on it, I do a lot of work on uboot and kernel driver.
So far my machine can start server now but I face a new problem now.
After my machine booting success and get into system, my machine will auto suspend and cannot wake up again.
Below is log for suspend.
PM: suspend entry 1970-01-01 00:01:44.146406678 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ...
PM: Wakeup pending, aborting suspend
active wakeup source: PowerManagerService.Broadcasts
Freezing of tasks aborted after 0.009 seconds
Restarting tasks ... done.
PM: suspend exit 1970-01-01 00:01:44.188327678 UTC
PM: suspend entry 1970-01-01 00:01:44.293293345 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PM: suspend of devices complete after 90.926 msecs
PM: suspend devices took 0.090 seconds
PM: late suspend of devices complete after 0.948 msecs
PM: noirq suspend of devices complete after 1.016 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
CPU2: shutdown
CPU3: shutdown
Resume caused by IRQ 51
Suspended for 0.000 seconds
Enabling non-boot CPUs ...
CPU1 is up
CPU2 is up
CPU3 is up
PM: noirq resume of devices complete after 0.825 msecs
PM: early resume of devices complete after 0.512 msecs
usb 1-1: reset high-speed USB device number 5 using ci_hdrc
usb 1-1: device descriptor read/all, error -71
usb 1-1: reset high-speed USB device number 5 using ci_hdrc
dpm_run_callback(): usb_dev_resume+0x0/0x10 returns -71
PM: Device 1-1 failed to resume async: error -71
PM: resume of devices complete after 632.085 msecs
PM: resume devices took 0.630 seconds
Restarting tasks ...
usb 1-1: USB disconnect, device number 5
done.
PM: suspend exit 1970-01-01 00:01:47.708025334 UTC
PM: suspend entry 1970-01-01 00:01:47.808199334 UTC
PM: Syncing filesystems ...
usb 1-1: new high-speed USB device number 6 using ci_hdrc
done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ...
usb 1-1: New USB device found, idVendor=0424, idProduct=2514
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
PM: Wakeup pending, aborting suspend
active wakeup source: NETLINK
Freezing of tasks aborted after 0.157 secondshub 1-1:1.0: config failed, can't read hub descriptor (err -22)
Restarting kernel threads ... done.
Restarting tasks ... done.
PM: suspend exit 1970-01-01 00:01:48.017854000 UTC
PM: suspend entry 1970-01-01 00:01:48.123030334 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ...
usb 1-1: reset high-speed USB device number 6 using ci_hdrc
usb 1-1: device firmware changed
usb 1-1: USB disconnect, device number 6
(elapsed 0.228 seconds) done.
Freezing remaining freezable tasks ...
PM: Wakeup pending, aborting suspend
active wakeup source: NETLINK
Freezing of tasks aborted after 0.006 seconds
Restarting kernel threads ... done.
Restarting tasks ... done.
PM: suspend exit 1970-01-01 00:01:48.404555667 UTC
usb 1-1: new high-speed USB device number 7 using ci_hdrc
PM: suspend entry 1970-01-01 00:01:48.509662334 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ...
usb 1-1: New USB device found, idVendor=0424, idProduct=2514
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
PM: Wakeup pending, aborting suspend
active wakeup source: NETLINK
Freezing of tasks aborted after 0.143 secondshub 1-1:1.0: config failed, can't read hub descriptor (err -22)
Restarting kernel threads ... done.
Restarting tasks ... done.
PM: suspend exit 1970-01-01 00:01:48.699621001 UTC
PM: suspend entry 1970-01-01 00:01:48.804633001 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PM: suspend of devices complete after 86.780 msecs
PM: suspend devices took 0.090 seconds
PM: late suspend of devices complete after 0.958 msecs
PM: noirq suspend of devices complete after 1.057 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
CPU2: shutdown
CPU3: shutdown
Resume caused by IRQ 51
Suspended for 0.000 seconds
Enabling non-boot CPUs ...
CPU1 is up
CPU2 is up
CPU3 is up
PM: noirq resume of devices complete after 0.903 msecs
PM: early resume of devices complete after 0.533 msecs
usb 1-1: reset high-speed USB device number 7 using ci_hdrc
usb 1-1: device firmware changed
PM: resume of devices complete after 347.815 msecs
PM: resume devices took 0.350 seconds
Restarting tasks ...
usb 1-1: USB disconnect, device number 7
done.
PM: suspend exit 1970-01-01 00:01:53.407441666 UTC
PM: suspend entry 1970-01-01 00:01:53.512178666 UTC
PM: Syncing filesystems ...
usb 1-1: new high-speed USB device number 8 using ci_hdrc
done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ...
usb 1-1: unable to read config index 0 descriptor/start: -32
usb 1-1: chopping to 0 config(s)
usb 1-1: New USB device found, idVendor=0424, idProduct=2514
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb 1-1: no configuration chosen from 0 choices
(elapsed 0.158 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PM: Wakeup pending, aborting suspend
active wakeup source: NETLINK
device_prepare(): pm_genpd_prepare+0x0/0x1f0 returns -16
PM: Device 2040000.vpu_fsl not prepared for power transition: code -16
PM: Some devices failed to suspend, or early wake event detected
PM: resume of devices complete after 0.002 msecs
cpufreq: cpufreq_resume: Failed to start governor for policy: d2716800
PM: resume devices took 0.000 seconds
Restarting tasks ... done.
PM: suspend exit 1970-01-01 00:01:53.753755333 UTC
PM: suspend entry 1970-01-01 00:01:53.858500666 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PM: suspend of devices complete after 77.453 msecs
PM: suspend devices took 0.070 seconds
PM: late suspend of devices complete after 0.946 msecs
PM: noirq suspend of devices complete after 1.031 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
CPU2: shutdown
CPU3: shutdown
Resume caused by IRQ 51
Resume caused by IRQ 58
Suspended for 0.000 seconds
Enabling non-boot CPUs ...
CPU1 is up
CPU2 is up
CPU3 is up
PM: noirq resume of devices complete after 0.463 msecs
PM: early resume of devices complete after 0.494 msecs
usb 1-1: reset high-speed USB device number 8 using ci_hdrc
usb 1-1: device descriptor read/all, error -71
usb 1-1: reset high-speed USB device number 8 using ci_hdrc
usb 1-1: device firmware changed
PM: resume of devices complete after 617.675 msecs
PM: resume devices took 0.620 seconds
Restarting tasks ...
usb 1-1: USB disconnect, device number 8
done.
PM: suspend exit 1970-01-01 00:06:45.688142667 UTC
PM: suspend entry 1970-01-01 00:06:45.792953000 UTC
PM: Syncing filesystems ...
usb 1-1: new high-speed USB device number 9 using ci_hdrc
done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ...
usb 1-1: New USB device found, idVendor=0424, idProduct=2514
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
PM: Wakeup pending, aborting suspend
active wakeup source: NETLINK
Freezing of tasks aborted after 0.147 seconds
Restarting kernel threads ... done.
Restarting tasks ... done.
PM: suspend exit 1970-01-01 00:06:45.989388334 UTC
hub 1-1:1.0: config failed, can't read hub descriptor (err -22)
PM: suspend entry 1970-01-01 00:06:46.094411667 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
Why my machine cannot use debug port to send command after suspend and how can I wake it up?