Hi All,
I am doing Power Management in my Linux code where the wakeup source is keypad and resistive touch. The touch driver is STMPE811 and basically the touch is working fine. Its a 4-wire touch controller with an interrupt line and no dedicated wakeup line . When I issue the command for suspend, the stmpe suspend function is called and the irq is enabled . The irq number is 275 and the touch interrupt number is also same. I tried adding wakeup-source property under stmpe node in dts file but the touch wakeup is not working and the system is under suspend mode.
When we probed the interrupt line using a multimeter probe, the moment the positive terminal of the multimeter is touched on the interrupt line, the system is resumed . That looked little strange and confusing.
Could anyone help me to find out the solution to configure the touch as wakeup source ?
Hi Anjalik,
I hope you managed to get everything working.
I have the exact same requirements (wake up from a touch event) but I never did PM before so don't really know where to start looking for information.
Do you have some good resources about the subject or can you write us a short summary of the different steps required to make the touch screen a source of wake event and how to go in and out of sleep on the Linux side?
Thanks in advance,
Bertrand
Hi Anjalik
if it is waking with interrupt line using a multimeter probe, then probably wake procedure
is working fine, but resistive touch is not properly configured using low/high/edge interrupt
source.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thanks for the reply.
I am afraid I didnt get what u actually meant by "but resistive touch is not properly configured using low/high/edge interrupt
source" . Sorry for that.
Basically the touch is configured using edge interrupt in the dts file.
interrupts = <19 2>; //edge triggered
interrupt-parent = <&gpio4>;
interrupt-controller;
In normal condition touch is working only if it is edge triggered which is working fine too. Any further configuration is required .? Did u mean that?
Thanks & Regards,
Anjali
Hi Anjalik
what edge: rising or falling ?
What edge produced when it is intended to wake.
Best regards
igor
Hi Igor,
Interrupt is falling edge triggered.
Unfortunately , we could not find any stable waveforms using CRO for the interrupt signal. Also clock signal[I2C1_SCL_Touch] was not being generated. Is it normal during suspend mode clock signal will not be produced?
Thanks & Regards,
Anjali