imx-keypad wakeup registering on 6sl using linux 3.0.35

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx-keypad wakeup registering on 6sl using linux 3.0.35

661 Views
jayakumar2
Contributor V

Hi,

I'm still a bit stuck with trying to get button based resume to work on 6sl with 3.0.35. I had previously asked a related question here: imx-keypad wakeup from suspend on 6sl using linux 3.0.35

I have implemented the changes to make sure the imx-keypad row/col pins are kept as non-gpio pins when entering suspend. I can also see that after waking up from suspend, an interrupt was indeed generated and processed from the keypad pins. But it did not cause wakeup. I see during resume (using uart):

wl1271: down

udc suspend begins

USB Gadget suspend ends

add wake up source irq 58

add wake up source irq 51

PM: suspend of devices complete after 9.865 msecs

PM: late suspend of devices complete after 0.500 msecs

PM: early resume of devices complete after 0.343 msecs

remove wake up source irq 51

remove wake up source irq 58

From /proc/interrupts after resume:

114:          2       GIC  imx-keypad

I believe the root cause for the problem is the wake up source irq 114 (for keypad) was not added during the suspend so even though the interrupt was generated, it was ignored.

I can see that mx6_gic_irq_set_wake is what generates that message about "add wake up source". But I haven't figured out what registers that irq and why that's missing for imx-keypad. imx-keypad.c calls device_init_wakeup so it seems like registration should work.

I would appreciate any suggestions/ideas.

Thanks!

Labels (2)
Tags (1)
0 Kudos
2 Replies

386 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jaya

one can look at patch below where keypad is implemented

ENGR00213749: imx6sl: Add keypad support on EINK-DC3 board (662c7826) · Commits · ARM / qmx6_kernel ...

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

386 Views
jayakumar2
Contributor V

Hi Igor,

Thanks for your reply. However, as you may know, that patchset is already included in the fsl 3.0.35 kernel.

/home/lucid/6sl/ltib/rpm/BUILD/linux-3.0.35/patches/1617-ENGR00213749-imx6sl-Add-keypad-support-on-EINK-DC3-b.patch

lucid@ubuntu:~/6sl/ltib/rpm/BUILD/linux-3.0.35$ egrep KEYBOARD_IMX .config

CONFIG_KEYBOARD_IMX=y

lucid@ubuntu:~/6sl/ltib/rpm/BUILD/linux-3.0.35$ egrep IMX_KEYPAD .config

CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD=y

The problem I'm encountering is different and is specific to failure to resume because the imx-keypad doesn't get registered as a wakeup source. I'll have to figure out why that's happening.

Thanks.

0 Kudos