Wake RT1052 with regular GPIO IRQ

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

Wake RT1052 with regular GPIO IRQ

Jump to solution
1,198 Views
variable_andrew
Senior Contributor I

In the RT1050 power_mode_switch demo - it uses the WAKE pin to wake up from low power modes (sys idle, low power idle, low power suspend, & SNVS), but documentation says the WAKE pin is only REQUIRED for waking from SNVS, so I want to try waking from the non-SNVS low power modes from a different pin.

I tried changing the pin from WAKE to GPIO_B0_10 (GPIO2_IO10) in the power_mode_switch demo.

I can confirm I get regular IRQ interrupts via this pin, (so hardware is connected as expected and GPIO IRQ is working), but the pin doesn't wake the system from any low power mode (sys idle, low power suspend), so the demo just stays stuck in low power mode not responding to the GPIO2_io10 toggling.

Is the WAKE pin really required for waking from all low power modes? or is there some change required beyond the following (see img below - I changed board.h and pin_mux as follows):

Screen Shot 2020-07-13 at 3.19.04 PM.png

The full project is up on github - with this test being on the wake_from_nonwake_gpio branch. (Demo altered to run from SPI NOR FLASH and working aside from this gpio pin wake problem).

Labels (1)
1 Solution
1,103 Views
Sabina_Bruce
NXP Employee
NXP Employee

Hello Andrew,

Hope you are doing well.

I have tried with a different pin, i tested with GPIO1_IO18 which is located in J22 of the arduino headers. I had no problem using this pin to wake up. Apart from where you have made the changes above, also make sure that the actual pin is initialized. You can select the BOARD_InitPins function from the main, to initialize the pin you would like to use.

Please let me know your results. 

Best Regards,

Sabina

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

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

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

View solution in original post

5 Replies
1,104 Views
Sabina_Bruce
NXP Employee
NXP Employee

Hello Andrew,

Hope you are doing well.

I have tried with a different pin, i tested with GPIO1_IO18 which is located in J22 of the arduino headers. I had no problem using this pin to wake up. Apart from where you have made the changes above, also make sure that the actual pin is initialized. You can select the BOARD_InitPins function from the main, to initialize the pin you would like to use.

Please let me know your results. 

Best Regards,

Sabina

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

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

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

1,103 Views
variable_andrew
Senior Contributor I

Thanks sabinabruce‌,

I tried GPIO1_IO20, and this is working fine for me (see diff on commit here, so the problem seems to be specific to the pin I was using before (GPIO2_IO10).

I don't think it's an issue with how this pin is connected, as it has a 1K pullup & 10K pulldown when "ON", and just a 10K pulldown when "OFF", as per the below schematic for pin SW1:1 (GPIO_B0_10).

Screen Shot 2020-07-16 at 3.13.28 PM.png

Could it be that boot_cfg pins are prohibited for WAKE use?

0 Kudos
1,103 Views
Sabina_Bruce
NXP Employee
NXP Employee

Hello Andrew,

Hope you are doing well.

It shouldn't be a problem using this pin as long as you change to the appropriate alternate function. Also, please keep in mind that the switches on the board are used to boot the board. It is important that the pin is returned to its configuration after a reset so that it can boot properly then once in the application you may change its usage. 

Best Regards,

Sabina

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

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

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

1,103 Views
variable_andrew
Senior Contributor I

got it - since we were actually using GPIO1_IO18 on our board - the previous response was exactly what I needed regarding the wake IRQ.

thanks!

0 Kudos
1,103 Views
variable_andrew
Senior Contributor I

Is this related to an errata? tho I don't see how yet...

0 Kudos