summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-utilities/lpc-cmds/files/lpc_cmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-utilities/lpc-cmds/files/lpc_cmds.c')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-utilities/lpc-cmds/files/lpc_cmds.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-utilities/lpc-cmds/files/lpc_cmds.c b/meta-openbmc-mods/meta-common/recipes-utilities/lpc-cmds/files/lpc_cmds.c
index 2cdf66d88..467231372 100644
--- a/meta-openbmc-mods/meta-common/recipes-utilities/lpc-cmds/files/lpc_cmds.c
+++ b/meta-openbmc-mods/meta-common/recipes-utilities/lpc-cmds/files/lpc_cmds.c
@@ -302,6 +302,25 @@ static void SIOGetPWRBTNOverride(unsigned short clear)
close(fd);
}
+static void SIOGetPFailStatus()
+{
+ int fd;
+ struct sio_ioctl_data sio_data;
+
+ fd = open(SIO_DEVICE_NAME, O_RDWR | O_CLOEXEC);
+ if (fd < 0) {
+ printf("Error open %s\n", SIO_DEVICE_NAME);
+ exit(1);
+ }
+
+ sio_data.sio_cmd = SIO_GET_PFAIL_STATUS;
+
+ if (ioctl(fd, SIO_IOC_COMMAND, &sio_data) == 0)
+ printf("PFail status : %u\n", sio_data.data);
+
+ close(fd);
+}
+
/*********************************************************************************/
#if SUPPORT_MAILBOX
@@ -370,6 +389,7 @@ static void usage(void)
"\tlpc_cmds sio set_onctl_gpio_low\n"
"\tlpc_cmds sio get_pwrbtn_override_status\n"
"\tlpc_cmds sio get_pwrbtn_override_status_clear\n"
+ "\tlpc_cmds sio get_pfail_status\n"
"\n"
#if SUPPORT_KCS_ADDR_CMD
"\tlpc_cmds kcs [1 ~ 4] (getaddr / setaddr / quiet)\n"
@@ -423,6 +443,8 @@ int main(int argc, char** argv)
SIOGetPWRBTNOverride(0);
else if (strcmp(argv[2], "get_pwrbtn_override_status_clear") == 0)
SIOGetPWRBTNOverride(1);
+ else if (strcmp(argv[2], "get_pfail_status") == 0)
+ SIOGetPFailStatus();
} else if (strcmp(cmd, "kcs") == 0) {
int ifc;