I have evaluated power_manager_lpc example and it seems to me I should execute full PINTx interrupt initialization
after PowerDown mode !
Even multiplexing of the pin and PINT interrupt controller. Just Mux or PINT dosn't recover interrupt back.
// Minimal sequence
static void APP_InitWakeupPin(void)
/* Set SW pin as GPIO input. */
gpioPinConfigStruct.pinDirection = kGPIO_DigitalInput;
GPIO_PinInit(APP_USER_WAKEUP_KEY_GPIO, APP_USER_WAKEUP_KEY_PORT, APP_USER_WAKEUP_KEY_PIN, &gpioPinConfigStruct); // port 1, pin 9
/* Configure the Input Mux block and connect the trigger source to PinInt channel. */
INPUTMUX_AttachSignal(INPUTMUX, kPINT_PinInt0, APP_USER_WAKEUP_KEY_INPUTMUX_SEL); /* Using channel 0. */
INPUTMUX_Deinit(INPUTMUX); /* Turnoff clock to inputmux to save power. Clock is only needed to make changes */
/* Configure the interrupt for SW pin. */
PINT_PinInterruptConfig(PINT, kPINT_PinInt0, kPINT_PinIntEnableFallEdge, pint_intr_callback);
PINT_EnableCallback(PINT); /* Enable callbacks for PINT */
Does this is some feature or bug in power library/pint controller ?
PowerLib version 0x10000
As you mention in the example after entering power down the Initialization is done again of this pin, I've tried commenting this function and the MCU can wake up the MCU. I will suggest to check this example and try to comment this function.
Looks like after wakeup from PowerDown mode a lot of peripherals need reinitialization.
Only SPI3 and other what can wakeup MCU continue to work.
Other needs reinitialization. May be PINT also need reinitialization ?