How to send state change event with the cause "Surprise State Change due to power failure"

Hi,

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).

How should this be implemented?

Best regards,

Fatih

Hello Fatih,

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.

cheers,

Stefan

Hi Stefan,

We have the hardware to test it. We are interested to have the instructions to enable this feature.

Thanks,

Fatih

Hi Stefan,

Could you, please, provide instructions on how to enable the feature.

Thanks,

Fatih

Hello Fatih,

please add the following lines to the user_defs.h file in the ipmc-user directory of the project:

#define CFG_PMON_ENABLE
#define CFG_PMON_FAULT_SIGNAL IPM_IO_15_ACTL
#define CFG_PMON_LOWER_ENABLE_SIGNAL USER_IO_33
#define CFG_PMON_UPPER_ENABLE_SIGNAL USER_IO_34

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.

Please let me know if you have any issues.

cheers,

Stefan