xref: /openbmc/linux/drivers/misc/mei/mkhi.h (revision 45cc35e8)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (c) 2003-2022, Intel Corporation. All rights reserved.
4  * Intel Management Engine Interface (Intel MEI) Linux driver
5  */
6 
7 #ifndef _MEI_MKHI_H_
8 #define _MEI_MKHI_H_
9 
10 #include <linux/types.h>
11 
12 #define MKHI_FEATURE_PTT 0x10
13 
14 #define MKHI_FWCAPS_GROUP_ID 0x3
15 #define MKHI_FWCAPS_SET_OS_VER_APP_RULE_CMD 6
16 #define MKHI_GEN_GROUP_ID 0xFF
17 #define MKHI_GEN_GET_FW_VERSION_CMD 0x2
18 
19 #define MKHI_GROUP_ID_GFX              0x30
20 #define MKHI_GFX_RESET_WARN_CMD_REQ    0x0
21 #define MKHI_GFX_MEMORY_READY_CMD_REQ  0x1
22 
23 /* Allow transition to PXP mode without approval */
24 #define MKHI_GFX_MEM_READY_PXP_ALLOWED  0x1
25 
26 struct mkhi_rule_id {
27 	__le16 rule_type;
28 	u8 feature_id;
29 	u8 reserved;
30 } __packed;
31 
32 struct mkhi_fwcaps {
33 	struct mkhi_rule_id id;
34 	u8 len;
35 	u8 data[];
36 } __packed;
37 
38 struct mkhi_msg_hdr {
39 	u8  group_id;
40 	u8  command;
41 	u8  reserved;
42 	u8  result;
43 } __packed;
44 
45 struct mkhi_msg {
46 	struct mkhi_msg_hdr hdr;
47 	u8 data[];
48 } __packed;
49 
50 struct mkhi_gfx_mem_ready {
51 	struct mkhi_msg_hdr hdr;
52 	u32    flags;
53 } __packed;
54 
55 #endif /* _MEI_MKHI_H_ */
56