Hi All,
We have changed RTC component from internal RTC to external RTC (RX8010).
The RTC interrupt is normal, but it can't wakeup PM component.
We check IRQ number is 197. We found the number is not in A9 interrupts domain(32~159).
We execute two unit test. (rtctest and rtcwakeup)
(1)We execute unit_tests/rtctest as below: (Interrupts is OK)
root@imx6qsabresd:/unit_tests# ./rtctest.out --full |
RTC Driver Test Example. |
Counting 5 update (1/sec) interrupts from reading /dev/rtc0: 1 2 3 4 5
Again, from using select(2) on /dev/rtc0: 1 2 3 4 5
Current RTC date/time is 3-7-2015, 11:09:42.
Alarm time now set to 11:09:47.
Waiting 5 seconds for alarm... okay. Alarm rang.
Periodic IRQ rate was 1Hz.
Counting 20 interrupts at:
2Hz: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
4Hz: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
8Hz: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
16Hz: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
32Hz: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
64Hz: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
*** Test complete *** |
Typing "cat /proc/interrupts" will show 131 more events on IRQ rtc.
(2)We execute unit_tests/rtcwakup as below: (resume is NG, system can't be wakeup)
root@imx6qsabresd:/unit_tests# ./rtcwakeup.out -d rtc0 -m mem -s 3
rtcwakeup.out: wakeup from "mem" using rtc0 at Sat Jul 4 11:06:56 2015
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)
==================================
The system can't be wakeup and stuck.
If we push any key, the system can be wakeup.
Have any one know what's happen?
Thanks,
Best Regards,
Yao
Hi YaoLin
difference using external RTC is that it should use processor
GPIO interrupt. When using i.MX6 internal RTC, processor uses
other SNVS SRTC interrupt, rtcwakeup.out uses SNVS interrupt.
So for external RTC one needs to add GPIO interrupt, to wake processor
from low power mode, like
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igor,
Thanks for your information.
Do you know where is arch/arm/plat-mxc/include/mach/gpio.h in
imx6qsabresd.
We can not find it.
Thanks,
Best Regards,
Yao
Hi YaoLin
for gpio settings one can look at pinctrl
linux/imx6qdl-sabresd.dtsi at master · torvalds/linux · GitHub
and Documentation/devicetree/bindings/pinctrl
~igor