How does software select which of the many hardware wake events can wake the chip from Deep Sleep

I got this from l4t document:
Deep Sleep (SC7) offers a small amount of configurability. For example, prior to entering Deep Sleep, software can select which of the many hardware wake events can wake the chip from Deep Sleep.

How can I use software to select which wake events can wake the chip from deep sleep?

hello harry_xiaye,

you should have the system awakened from deep sleep by those common wakeup sources.
for example, please insert or remove SD card to wake from deep sleep.

@JerryChang ,

If I want to diable SD card and USB events to wake up from sleep mode, how should I do? We dont want other wakeup sources (only power key) to wake up chip from sleep mode.

hello harry_xiaye,

you may modify the device tree to remove wakeup pin settings.
taking SD card as an example, there’s nvidia,cd-wakeup-capable device tree property for setting a pin to enable card detect event as wake source.

I found my device will wake up from sleep quickly with below logs. Looks it is waked up by USB device 3610000.xhci. But I can’t find out where I can config USB with NO wakup in dts files.

[ 2554.472001] PM: suspend of devices complete after 218.702 msecs
[ 2554.474183] host1x 13e10000.host1x: suspended
[ 2554.474327] PM: late suspend of devices complete after 2.314 msecs
[ 2554.514948] PM: noirq suspend of devices complete after 40.608 msecs
[ 2554.514953] Disabling non-boot CPUs …
[ 2554.538312] ras_fhi_disable: FHI 470 disabled
[ 2554.539103] CPU1: shutdown
[ 2554.540146] psci: CPU1 killed (polled 0 ms)
[ 2554.578317] ras_fhi_disable: FHI 471 disabled
[ 2554.578887] CPU2: shutdown
[ 2554.579927] psci: CPU2 killed (polled 0 ms)
[ 2554.602296] ras_fhi_disable: FHI 472 disabled
[ 2554.603360] CPU3: shutdown
[ 2554.604417] psci: CPU3 killed (polled 0 ms)
[ 2554.626261] ras_fhi_disable: FHI 473 disabled
[ 2554.626924] CPU4: shutdown
[ 2554.627969] psci: CPU4 killed (polled 0 ms)
[ 2554.654243] ras_fhi_disable: FHI 474 disabled
[ 2554.662109] CPU5: shutdown
[ 2554.662130] psci: CPU5 killed (polled 0 ms)
[ 2554.664610] Entered SC7
[ 2554.664610] Wake[31-0] level=0x0
[ 2554.664610] Wake[63-32] level=0x80000040
[ 2554.664610] Wake[95-64] level=0xff200
[ 2554.664610] Wake[31-0] enable=0x21000000
[ 2554.664610] Wake[63-32] enable=0x20000000
[ 2554.664610] Wake[95-64] enable=0xff200
[ 2554.664610] Wake[31-0] route=0x21000000
[ 2554.664610] Wake[63-32] route=0x20000000
[ 2554.664610] Wake[95-64] route=0xff200
[ 2554.664610] Wake[32:0] status=0x0
[ 2554.664610] Wake[64:32] status=0x0
[ 2554.664610] Wake[96:64] status=0x10000
[ 2554.664610] Resume caused by WAKE80, 3610000.xhci
[ 2554.664610] Exited SC7
[ 2554.664610] bpmp: waiting for handshake
[ 2554.664610] bpmp: synchronizing channels
[ 2554.664610] bpmp: channels synchronized
[ 2554.664610] Suspended for 0.442 seconds
[ 2554.664850] Enabling non-boot CPUs …
[ 2554.665579] CPU1: Booted secondary processor [4e0f0040]
[ 2554.667046] cache: parent cpu1 should not be sleeping
[ 2554.668302] ras_fhi_enable: FHI 470 enabled on CPU1
[ 2554.668437] carmel_ras_enable: RAS enabled on cpu1
[ 2554.668778] CPU1 is up

Hi,

I remember that only specific usb device can wake up the board.

You can try to disable all wakeup in below node or only the hub should be sufficient.

for i in /sys/bus/usb/devices/*/power/wakeup;do echo disabled > $i;done

OK. I can try this.

Can I disable those wakeup in device tree?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.