Other Parts Discussed in Thread: SK-AM62B
What is the wake-up time for Linux suspend-to-RAM using a GPIO interrupt?
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.
I was able to make a measurement that shows this resume time is on the order of 320mS with the stock Linux image from SDKv9 running on SK-AM62B EVM. Below are details on how I measured this while referencing this doc: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_00_00_03/exports/docs/linux/Foundational_Components_Kernel_Drivers_Power_Management.html
Below is the terminal output during this test:
root@am62xx-evm:~# devmem2 0x43018080 b 0x15
/dev/mem opened.
Memory mapped at address 0xffffacb45000.
Read at address 0x43018080 (0xffffacb45080): 0x10
Write at address 0x43018080 (0xffffacb45080): 0x15, readback 0x15
root@am62xx-evm:~# devmem2 0x0408403C w 0x28254007
/dev/mem opened.
Memory mapped at address 0xffff9d00a000.
Read at address 0x0408403C (0xffff9d00a03c): 0x28254007
Write at address 0x0408403C (0xffff9d00a03c): 0x28254007, readback 0x28254007
root@am62xx-evm:~# echo mem > /sys/power/state
[ 109.911811] PM: suspend entry (deep)
[ 109.950749] Filesystems sync: 0.035 seconds
[ 109.978649] remoteproc remoteproc0: stopped remote processor 5000000.m4fss
[ 109.986024] Freezing user space processes
[ 109.992083] Freezing user space processes completed (elapsed 0.001 seconds)
[ 109.999128] OOM killer disabled.
[ 110.002350] Freezing remaining freezable tasks
[ 110.008391] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[ 110.016085] printk: Suspending console(s) (use no_console_suspend to debug)
Device is in suspend-to-RAM at this point, as verified by 0 volts measured on TP25. Now toggle MCU_GPIO_15 from low-to-high to trigger resume.
[ 110.038558] omap8250 2800000.serial: PM domain pd:146 will not be powered off
[ 110.271626] Disabling non-boot CPUs ...
[ 110.273801] psci: CPU1 killed (polled 0 ms)
[ 110.276839] psci: CPU2 killed (polled 0 ms)
[ 110.278761] psci: CPU3 killed (polled 0 ms)
[ 110.279570] Enabling non-boot CPUs ...
[ 110.279968] Detected VIPT I-cache on CPU1
[ 110.280063] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[ 110.280129] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 110.281069] CPU1 is up
[ 110.281328] Detected VIPT I-cache on CPU2
[ 110.281373] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
[ 110.281415] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 110.282115] CPU2 is up
[ 110.282380] Detected VIPT I-cache on CPU3
[ 110.282439] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
[ 110.282492] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 110.283315] CPU3 is up
[ 110.283989] ti-sci 44043000.system-controller: ti_sci_resume: wakeup source: 0x82
[ 110.292014] ti-udma 485c0000.dma-controller: PSI-L pairing failed: 0x7506 -> 0x9016
[ 110.292138] ti-udma 485c0000.dma-controller: PM: dpm_run_callback(): udma_pm_resume+0x0/0xb4 returns -22
[ 110.292165] ti-udma 485c0000.dma-controller: PM: failed to resume early: error -22
[ 110.295865] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
[ 110.304898] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
[ 110.304930] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
[ 110.311690] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POLL)
[ 110.311704] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
[ 110.605116] OOM killer enabled.
[ 110.608260] Restarting tasks ... done.
[ 110.614511] random: crng reseeded on system resumption
[ 110.619750] remoteproc remoteproc0: powering up 5000000.m4fss
[ 110.625577] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 54860
[ 110.634784] rproc-virtio rproc-virtio.0.auto: assigned reserved memory node m4f-dma-memory@9cb00000
[ 110.644957] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 110.645956] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
[ 110.650729] rproc-virtio rproc-virtio.0.auto: registered virtio0 (type 7)
[ 110.658702] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
[ 110.665293] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
[ 110.679474] PM: suspend exit
root@am62xx-evm:~#