Calling "HibernateRequest()" after "HibernateWakeSet (HIBERNATE_WAKE_GPIO)" results in a REBOOT of the device.
When the firmware initializes, necessary configurations are set as below.
// Enable the hibernate module.
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE);
// Configure Hibernate module clock.
MAP_HibernateEnableExpClk(g_ui32SysClock);
// Configure the module clock source.
MAP_HibernateClockConfig(HIBERNATE_OUT_SYSCLK);
// Enable RTC mode.
MAP_HibernateRTCSet(0);
MAP_HibernateRTCEnable();
MAP_GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_INT_PIN_2, GPIO_STRENGTH_2MA, (GPIO_PIN_TYPE_WAKE_LOW | GPIO_PIN_TYPE_WAKE_HIGH));
****************
Using "HibernateWakeSet (HIBERNATE_WAKE_RTC)" works GOOD as expected.
****************
Problem is only when using "HibernateWakeSet (HIBERNATE_WAKE_GPIO)". Calling "HibernateRequest()" after "HibernateWakeSet (HIBERNATE_WAKE_GPIO)" results in a REBOOT of the device.
I read through multiple answers in this forum and sample code. Added SysCtlDelay() for 1/2 seconds in multiple steps and still no improvement.
Any help is appreciated.