xref: /openbmc/phosphor-mboxd/dbus.h (revision acdbdd14)
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