How to wake-up/resume after calling SetSystemPowerState

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

How to wake-up/resume after calling SetSystemPowerState

Jump to solution
852 Views
mdlopez
Contributor I

Hi,

We are currently using WINCE 7 and VS 2008. Our processor is an iMX53.

We are currently changing the state of our device to suspend using SetSystemPowerState(NULL, POWER_STATE_SUSPEND, POWER_FORCE) so we can save power when the system is not acquiring any readings. The problem is that after suspending the device using SetSystemPowerState in our application, we are not able to wake it up with a touch in screen, home key or interrupt signal. How we can set a GPIO/interrupt as a wake-up source or configure the i.MX53 to wake of on an interrupt event (E.X. touch screen)? Do we have to modify the registers?

Thanks,

MLopez

Labels (4)
0 Kudos
1 Solution
648 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Miguel,

Plase note that any enabled interrupt from any module can wake-up i.MX53 from low power mode. General considerations are as following : Please note that any GPIO line can be used as interrupt source, please refer to Chapter 37 "General Purpose Input/Output (GPIO)" of i.MX53 Reference Manual and, particularly, section 37.5.3 "Interrupt Control Unit". Interrupt numbers (IRQ) are given in Table 3-2 "ARM Domain Interrupt Summary". Interrupts are enabled using TZIC, please refer to Chapter 74 "TrustZone Interrupt Controller (TZIC)". Let?s consider Your questions : 1.1. Configure a GPIO line as input ; 1.2. Configure GPIOx_ICR1 or GPIOx_ICR2 as needed (see point 2.) ; 1.3. Configure the TZIC ; 1.4. Enable ARM core interrupts (ISR (service routine) should be provided too). As an example ? section 37.4.4 (GPIO interrupt configuration register1): ?Bits ICRn[1:0] determine the interrupt condition for signal n as follows: 00 Interrupt n is low-level sensitive. 01 Interrupt n is high-level sensitive. 10 Interrupt n is rising-edge sensitive. 11 Interrupt n is falling-edge sensitive. ? All events for GPIO1[0:15] port will be mapped to single IRQ number. In general, one can look at the i.MX53 System Development Users Guide, where GPIO using is described. Please pay attention on sections 10.2.7 (LED Test), 13.2.3 (Example Setting a GPIO), 15.2.4 (Setting Up Card Detection). < http://cache.freescale.com/files/32bit/doc/user_guide/MX53UG.pdf >

Hope this helps

View solution in original post

0 Kudos
1 Reply
649 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Miguel,

Plase note that any enabled interrupt from any module can wake-up i.MX53 from low power mode. General considerations are as following : Please note that any GPIO line can be used as interrupt source, please refer to Chapter 37 "General Purpose Input/Output (GPIO)" of i.MX53 Reference Manual and, particularly, section 37.5.3 "Interrupt Control Unit". Interrupt numbers (IRQ) are given in Table 3-2 "ARM Domain Interrupt Summary". Interrupts are enabled using TZIC, please refer to Chapter 74 "TrustZone Interrupt Controller (TZIC)". Let?s consider Your questions : 1.1. Configure a GPIO line as input ; 1.2. Configure GPIOx_ICR1 or GPIOx_ICR2 as needed (see point 2.) ; 1.3. Configure the TZIC ; 1.4. Enable ARM core interrupts (ISR (service routine) should be provided too). As an example ? section 37.4.4 (GPIO interrupt configuration register1): ?Bits ICRn[1:0] determine the interrupt condition for signal n as follows: 00 Interrupt n is low-level sensitive. 01 Interrupt n is high-level sensitive. 10 Interrupt n is rising-edge sensitive. 11 Interrupt n is falling-edge sensitive. ? All events for GPIO1[0:15] port will be mapped to single IRQ number. In general, one can look at the i.MX53 System Development Users Guide, where GPIO using is described. Please pay attention on sections 10.2.7 (LED Test), 13.2.3 (Example Setting a GPIO), 15.2.4 (Setting Up Card Detection). < http://cache.freescale.com/files/32bit/doc/user_guide/MX53UG.pdf >

Hope this helps

0 Kudos