xref: /openbmc/linux/drivers/misc/mei/mkhi.h (revision 7d88a25819ad2400aa4377c3b9fe72b66d3c5c90)
1*7d88a258SVitaly Lubart /* SPDX-License-Identifier: GPL-2.0 */
2*7d88a258SVitaly Lubart /*
3*7d88a258SVitaly Lubart  * Copyright (c) 2003-2022, Intel Corporation. All rights reserved.
4*7d88a258SVitaly Lubart  * Intel Management Engine Interface (Intel MEI) Linux driver
5*7d88a258SVitaly Lubart  */
6*7d88a258SVitaly Lubart 
7*7d88a258SVitaly Lubart #ifndef _MEI_MKHI_H_
8*7d88a258SVitaly Lubart #define _MEI_MKHI_H_
9*7d88a258SVitaly Lubart 
10*7d88a258SVitaly Lubart #include <linux/types.h>
11*7d88a258SVitaly Lubart 
12*7d88a258SVitaly Lubart #define MKHI_FEATURE_PTT 0x10
13*7d88a258SVitaly Lubart 
14*7d88a258SVitaly Lubart #define MKHI_FWCAPS_GROUP_ID 0x3
15*7d88a258SVitaly Lubart #define MKHI_FWCAPS_SET_OS_VER_APP_RULE_CMD 6
16*7d88a258SVitaly Lubart #define MKHI_GEN_GROUP_ID 0xFF
17*7d88a258SVitaly Lubart #define MKHI_GEN_GET_FW_VERSION_CMD 0x2
18*7d88a258SVitaly Lubart 
19*7d88a258SVitaly Lubart struct mkhi_rule_id {
20*7d88a258SVitaly Lubart 	__le16 rule_type;
21*7d88a258SVitaly Lubart 	u8 feature_id;
22*7d88a258SVitaly Lubart 	u8 reserved;
23*7d88a258SVitaly Lubart } __packed;
24*7d88a258SVitaly Lubart 
25*7d88a258SVitaly Lubart struct mkhi_fwcaps {
26*7d88a258SVitaly Lubart 	struct mkhi_rule_id id;
27*7d88a258SVitaly Lubart 	u8 len;
28*7d88a258SVitaly Lubart 	u8 data[];
29*7d88a258SVitaly Lubart } __packed;
30*7d88a258SVitaly Lubart 
31*7d88a258SVitaly Lubart struct mkhi_msg_hdr {
32*7d88a258SVitaly Lubart 	u8  group_id;
33*7d88a258SVitaly Lubart 	u8  command;
34*7d88a258SVitaly Lubart 	u8  reserved;
35*7d88a258SVitaly Lubart 	u8  result;
36*7d88a258SVitaly Lubart } __packed;
37*7d88a258SVitaly Lubart 
38*7d88a258SVitaly Lubart struct mkhi_msg {
39*7d88a258SVitaly Lubart 	struct mkhi_msg_hdr hdr;
40*7d88a258SVitaly Lubart 	u8 data[];
41*7d88a258SVitaly Lubart } __packed;
42*7d88a258SVitaly Lubart 
43*7d88a258SVitaly Lubart #endif /* _MEI_MKHI_H_ */
44