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.

tps65910: tps65910_rtc_interrupt handler is not calling and not able to wake up the board using RTC wakeup.

Other Parts Discussed in Thread: TPS65910, USB2ANY, IPG-UI

Hi,

I am using a customised imx6sl board with pmic tps65910. I am able to register all the drivers of tps65910. Now I am working on RTC wakeup.

I am able to set the alarm time for wake up but not able to wakeup the board from the sleep.

This is the procedure:

root@imx6sltixu:~# date -s "2016-06-23 11:00:09"
Thu Jun 23 11:00:09 UTC 2016

root@imx6sltixu:~# hwclock --systohc

root@imx6sltixu:~# hwclock
Thu Jun 23 11:00:49 2016  0.000000 seconds


root@imx6sltixu:~# cat /proc/driver/rtc
rtc_time        : 11:01:34
rtc_date        : 2016-06-23
alrm_time       : 00:00:00
alrm_date       : 1999-12-01
alarm_IRQ       : no
alrm_pending    : no
update IRQ enabled      : no
periodic IRQ enabled    : no
periodic IRQ frequency  : 1
max user IRQ frequency  : 64
24hr            : yes

root@imx6sltixu:~# cat /proc/interrupts

326:          0  tps65910   6  tps65910-rtc

root@imx6sltixu:~# echo +120 > /sys/class/rtc/rtc0/wakealarm

root@imx6sltixu:~# cat /proc/driver/rtc
rtc_time        : 11:04:16
rtc_date        : 2016-06-23
alrm_time       : 11:05:22
alrm_date       : 2016-06-23
alarm_IRQ       : yes
alrm_pending    : no
update IRQ enabled      : no
periodic IRQ enabled    : no
periodic IRQ frequency  : 1
max user IRQ frequency  : 64
24hr            : yes

root@imx6sltixu:~# echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.010 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.007 seconds) done.
Suspending console(s) (use no_console_suspend to debug)

 
After this is gone into sleep mode and does not wake up.

 



  • Hi Vip,

    Are you seeing INT1 fire on the PMIC?

    If you can connect the USB2ANY i2c lines to the board, can you use the IPG-UI to ensure the registers are being set correctly on the TPS65910?
  • Hi,

    The interrupt line was going from high to low when the alarm time reached and the RTC_ALARM_IT  bit in INT_STS_REG (address 0x50) was setting to 1 once the alarm time reached.

    This is the entry in dts file:

    &i2c1 {
            clock-frequency = <100000>;
            pinctrl-names = "default";
            pinctrl-0 = <&pinctrl_i2c1>;
            status = "okay";

            tps: tps@2d {
                    compatible = "ti,tps65910";
                    reg = <0x2d>;
                    interrupt-parent = <&intc>;
                    interrupts = <3 21 IRQ_TYPE_LEVEL_LOW>;
                    ti,en-ck32k-xtal;
                    #interrupt-cells = <2>;

  • Hi Vipul,

    Rick is out of office, so I will try to provide assistance.

    Is the PMIC or the IMX6 not waking up? The INT changing from high to low should trigger PMIC SLP2ACT transition.

  • Hi Kevin,

    i.Mx6 is not waking up.
  • Hi Vip,

    To clarify, are you seeing the regulators on the PMIC perform the desired sleep-to-active state transitions once the INT1 pin toggles?

    If so, it sounds like the PMIC is behaving properly and instead there is an issue with how the i.MX6 handles external interrupts during sleep mode, which unfortunately would be outside of the scope of this forum.