We are using i.Mx7D for one of our custom project. We are trying to achieve the power management. We have 2 wakeup source. One is PIR interrupt (GPIO2_25) and another is WIFI interrupt (GPIO2_IO0).
We have configured both the interrupt as a wakeupsource from dts file. But we are observing "timeout waiting for hardware interrupt." error after system resumes from suspend. I have followed the below scenario
1. Put the system into sleep using "echo mem > /sys/power/state" command.
2. Wakeup the system from wifi interrupt. ----> No issue
3. Put the system into sleep
4. Wakeup the system using PIR ( sensor) interrupt. --->observed sdhci dump logs in the dmesg and system becomes unstable.
We are using Broadcom chipset for wifi.
I have attached my logs.
Please help me to resolve this issue
Which kernel version are you working with?
Also, if wake up trough WiFi interrupt is working we can discard a hardware issue but just to be sure could you check with an oscilloscope when attempting wakeup from sensor interrupt?
Now I am successfully able to put the device into suspend mode and wakeup from gpio interrupt. My next concern is current consumption. In suspend mode my device is not reducing much current . And I could see pm-imx7.c and suspend-imx7.S file is not present in my arch/arm/mach-imx folder. Does these files are required for power management (suspend mode )? I am using kernel 5.10 version.
Glad to hear that you were successful with that, regarding consumption it would be difficult to say if its ok or not if I do not see the values for reference.
But you may take as reference based in the measurement we did back in the days for our EVK (AN5383), for “Suspend-To-RAM” in the Linux BSP. This is the lowest possible power state where the external supplies are still on.
Chapter 4.1.1 Deep-sleep mode (DSM)
Also, please refer to this same App note chapter 5 Reducing Power Consumption for optimization on low power mode.