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