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