On our board, we have a CPLD that manages the power payload in the case of an unexpected power failure, so we would like to send a FRU state change event from M4 to M6 with the cause “Surprise State Change due to power failure” (i.e., cause of state change value: 0xA).
the PigeonPoint IPMC software framework does indeed support this, however we have never used or tested this feature, and it is not (yet) supported in the XML. It relies on having a signal (active-high or active-low) indicating the power fault connected from your CPLD to one of IPMC USR_IO or IPM_IO pins.
If you already have the hardware and want to test it, I can provide instructions on how to enable the feature.
The I/O pin numbers are just examples, these will need to be adapted to your specific hardware configuration as follows: CFG_PMON_FAULT_SIGNAL defines the signal from the CPLD that indicates a power fault. This can be any IPM_IO or USER_IO pin. The suffix (ACTH or ACTL) indicates if this signal is active high or low. The CFG_PMON_LOWER/UPPER_ENABLE_SIGNAL defines should reference any two IPM_IO or USER_IO pins that are not connected on your board.