AnsweredAssumed Answered

Why is wakeup from external rtc not working?

Question asked by Martin Uschmann on Feb 22, 2018
Latest reply on Apr 9, 2018 by Martin Uschmann

I'm trying to get a IMX6UL to wakeup using an external rtc.

 

The board I'm using is a customized Version of an Engicam C.Touch Carrierboard (Link). The cpu-modul is an Engicam GEAM6UL. The Linux-kernel is 3.14.38.

We don't want to utilize the internal rtc because of the high power consumption in sleep and use a pcf8563 connected through i2c instead. The pcf8563 is working, I can get/set the time and it keeps it even after shutting down and cutting the power.

 

The problem is that the board does not wake up from sleepmode after the rtc sends an interrupt.

I configured the rtc in the devie tree as wakeup-source, connected the INT-output with a pull-up resistor to gpio5_1 and configured the gpio as a key. With this configuration, I can set a time with wakealarm, like "echo +120 > /sys/class/rtc/rtc0/wakealarm", and see the interrupt occuring in /proc/interrupts. But after sending my board to sleep with rtcwake (mem or standby) it remains in this sleepstate until I cut the power and reboot.

 

Using an oscillator I can see the interrupt signal from the pcf8563 changing from high to low after the proper amount of time passed.

 

At this point I have no idea where to go from here.

Outcomes