PM Resume using Touch in i.MX6

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

PM Resume using Touch in i.MX6

1,096 Views
anjalikkrishna
Contributor III

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 ?

Labels (2)
0 Kudos
5 Replies

700 Views
bertrandthelen
Contributor I

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

0 Kudos

700 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

700 Views
anjalikkrishna
Contributor III

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

0 Kudos

700 Views
igorpadykov
NXP Employee
NXP Employee

Hi Anjalik

 

what edge: rising or falling ?

What edge produced when it is intended to wake.

 

Best regards
igor

0 Kudos

700 Views
anjalikkrishna
Contributor III

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

0 Kudos