I found a bug while attempting to use the HibernateTamperIOEnable function. After calling the function with HIBERNATE_TAMPER_IO_TRIGGER_HIGH, it is not possible to clear this bit with a subsequent call.
The bug is located at line 2069 in hibernate.c (Tivaware 2.1.1.71) where ui32Temp should be assigned to the right-hand value, not ORed with it, or else the first bit mask operation has no effect.
//
// Read the current tamper I/O configuration.
//
ui32Temp = HWREG(HIB_TPIO);
//
// Mask out configuration options for the requested input.
//
ui32Mask = (ui32Temp & (~((HIB_TPIO_GFLTR0 | HIB_TPIO_PUEN0 |
HIB_TPIO_LEV0 | HIB_TPIO_EN0) <<
(ui32Input << 3))));
//
// Set tamper I/O configuration for the requested input.
//
ui32Temp |= (ui32Mask | ((ui32Config | HIB_TPIO_EN0) << (ui32Input << 3)));
//
// Unlock the tamper registers.
//
HWREG(HIB_LOCK) = HIB_LOCK_HIBLOCK_KEY;
_HibernateWriteComplete();
//
// Write to the register.
//
HWREG(HIB_TPIO) = ui32Temp;
Kind regards Per