1*4fe996c2SAndrew Jeffery /* SPDX-License-Identifier: Apache-2.0 */ 2*4fe996c2SAndrew Jeffery /* Copyright (C) 2018 IBM Corp. */ 3e39c9163SSuraj Jitindar Singh 4e39c9163SSuraj Jitindar Singh #ifndef MBOX_DBUS_H 5e39c9163SSuraj Jitindar Singh #define MBOX_DBUS_H 6e39c9163SSuraj Jitindar Singh 7e39c9163SSuraj Jitindar Singh #define DBUS_NAME "org.openbmc.mboxd" 8e39c9163SSuraj Jitindar Singh #define DOBJ_NAME "/org/openbmc/mboxd" 9e39c9163SSuraj Jitindar Singh 10e39c9163SSuraj Jitindar Singh /* Commands */ 11e39c9163SSuraj Jitindar Singh #define DBUS_C_PING 0x00 12e39c9163SSuraj Jitindar Singh #define DBUS_C_DAEMON_STATE 0x01 13e39c9163SSuraj Jitindar Singh #define DBUS_C_RESET 0x02 14e39c9163SSuraj Jitindar Singh #define DBUS_C_SUSPEND 0x03 15e39c9163SSuraj Jitindar Singh #define DBUS_C_RESUME 0x04 16e39c9163SSuraj Jitindar Singh #define DBUS_C_MODIFIED 0x05 17e39c9163SSuraj Jitindar Singh #define DBUS_C_KILL 0x06 18e39c9163SSuraj Jitindar Singh #define DBUS_C_LPC_STATE 0x07 19e39c9163SSuraj Jitindar Singh #define NUM_DBUS_CMDS (DBUS_C_LPC_STATE + 1) 20e39c9163SSuraj Jitindar Singh 21e39c9163SSuraj Jitindar Singh /* Command Args */ 22e39c9163SSuraj Jitindar Singh /* Resume */ 23e39c9163SSuraj Jitindar Singh #define RESUME_NUM_ARGS 1 24e39c9163SSuraj Jitindar Singh #define RESUME_NOT_MODIFIED 0x00 25e39c9163SSuraj Jitindar Singh #define RESUME_FLASH_MODIFIED 0x01 26e39c9163SSuraj Jitindar Singh 27e39c9163SSuraj Jitindar Singh /* Return Values */ 28e39c9163SSuraj Jitindar Singh #define DBUS_SUCCESS 0x00 /* Command Succeded */ 29e39c9163SSuraj Jitindar Singh #define E_DBUS_INTERNAL 0x01 /* Internal DBUS Error */ 30e39c9163SSuraj Jitindar Singh #define E_DBUS_INVAL 0x02 /* Invalid Command */ 31e39c9163SSuraj Jitindar Singh #define E_DBUS_REJECTED 0x03 /* Daemon Rejected Request */ 32e39c9163SSuraj Jitindar Singh #define E_DBUS_HARDWARE 0x04 /* BMC Hardware Error */ 33ddf0edbfSSuraj Jitindar Singh #define E_DBUS_NO_MEM 0x05 /* Failed Memory Allocation */ 34e39c9163SSuraj Jitindar Singh 35e39c9163SSuraj Jitindar Singh /* Response Args */ 36e39c9163SSuraj Jitindar Singh /* Status */ 37e39c9163SSuraj Jitindar Singh #define DAEMON_STATE_NUM_ARGS 1 38e39c9163SSuraj Jitindar Singh #define DAEMON_STATE_ACTIVE 0x00 /* Daemon Active */ 39e39c9163SSuraj Jitindar Singh #define DAEMON_STATE_SUSPENDED 0x01 /* Daemon Suspended */ 40e39c9163SSuraj Jitindar Singh /* LPC State */ 41e39c9163SSuraj Jitindar Singh #define LPC_STATE_NUM_ARGS 1 42e39c9163SSuraj Jitindar Singh #define LPC_STATE_INVALID 0x00 /* Invalid State */ 43e39c9163SSuraj Jitindar Singh #define LPC_STATE_FLASH 0x01 /* LPC Maps Flash Directly */ 44e39c9163SSuraj Jitindar Singh #define LPC_STATE_MEM 0x02 /* LPC Maps Memory */ 45e39c9163SSuraj Jitindar Singh 46e39c9163SSuraj Jitindar Singh struct mbox_dbus_msg { 47e39c9163SSuraj Jitindar Singh uint8_t cmd; 48e39c9163SSuraj Jitindar Singh size_t num_args; 49e39c9163SSuraj Jitindar Singh uint8_t *args; 50e39c9163SSuraj Jitindar Singh }; 51e39c9163SSuraj Jitindar Singh 52e39c9163SSuraj Jitindar Singh #endif /* MBOX_DBUS_H */ 53