mirror of https://github.com/acidanthera/audk.git
MdePkg/IndustryStandard: Add definitions for IPMI SSIF
BZ#: 4434 - Add IPMI SSIF definitions. Specification reference: https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html Signed-off-by: Tinh Nguyen <tinhnguyen@os.amperecomputing.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Abner Chang <abner.chang@amd.com> Reviewed-by: Abner Chang <abner.chang@amd.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
parent
0a0e60caf2
commit
dea6c7dc2a
|
@ -0,0 +1,98 @@
|
||||||
|
/** @file
|
||||||
|
IPMI SSIF Definitions
|
||||||
|
|
||||||
|
Copyright (c) 2023, Ampere Computing LLC. All rights reserved.<BR>
|
||||||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
@par Revision Reference:
|
||||||
|
- IPMI Specification
|
||||||
|
Version 2.0, Rev. 1.1
|
||||||
|
|
||||||
|
https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef IPMI_SSIF_H_
|
||||||
|
#define IPMI_SSIF_H_
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Definitions for SMBUS Commands for SSIF
|
||||||
|
/// Table 12 - Summary of SMBUS Commands for SSIF
|
||||||
|
///
|
||||||
|
|
||||||
|
/// Write block
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_SINGLE_PART_WRITE 0x02
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_START 0x06
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_MIDDLE 0x07
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_END 0x08
|
||||||
|
|
||||||
|
/// Read block
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_SINGLE_PART_READ 0x03
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_START 0x03
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_MIDDLE 0x09
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_END 0x09
|
||||||
|
#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_RETRY 0x0A
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Definitions for Multi-Part Read Transactions
|
||||||
|
/// Section 12.5
|
||||||
|
///
|
||||||
|
#define IPMI_SSIF_MULTI_PART_READ_START_SIZE 0x1E
|
||||||
|
#define IPMI_SSIF_MULTI_PART_READ_START_PATTERN1 0x00
|
||||||
|
#define IPMI_SSIF_MULTI_PART_READ_START_PATTERN2 0x01
|
||||||
|
#define IPMI_SSIF_MULTI_PART_READ_END_PATTERN 0xFF
|
||||||
|
|
||||||
|
///
|
||||||
|
/// IPMI SSIF maximum message size
|
||||||
|
///
|
||||||
|
#define IPMI_SSIF_INPUT_MESSAGE_SIZE_MAX 0xFF
|
||||||
|
#define IPMI_SSIF_OUTPUT_MESSAGE_SIZE_MAX 0xFF
|
||||||
|
|
||||||
|
///
|
||||||
|
/// IPMI SMBus system interface maximum packet size in byte
|
||||||
|
///
|
||||||
|
#define IPMI_SSIF_MAXIMUM_PACKET_SIZE_IN_BYTES 0x20
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
IpmiSsifPacketStart = 0,
|
||||||
|
IpmiSsifPacketMiddle,
|
||||||
|
IpmiSsifPacketEnd,
|
||||||
|
IpmiSsifPacketSingle,
|
||||||
|
IpmiSsifPacketMax
|
||||||
|
} IPMI_SSIF_PACKET_ATTRIBUTE;
|
||||||
|
|
||||||
|
#pragma pack (1)
|
||||||
|
///
|
||||||
|
/// IPMI SSIF Interface Request Format
|
||||||
|
/// Section 12.2 and 12.3
|
||||||
|
///
|
||||||
|
typedef struct {
|
||||||
|
UINT8 NetFunc;
|
||||||
|
UINT8 Command;
|
||||||
|
} IPMI_SSIF_REQUEST_HEADER;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// IPMI SSIF Interface Response Format
|
||||||
|
/// Section 12.4 and 12.5
|
||||||
|
///
|
||||||
|
typedef struct {
|
||||||
|
UINT8 StartPattern[2];
|
||||||
|
UINT8 NetFunc;
|
||||||
|
UINT8 Command;
|
||||||
|
} IPMI_SSIF_RESPONSE_PACKET_START;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 BlockNumber;
|
||||||
|
} IPMI_SSIF_RESPONSE_PACKET_MIDDLE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 EndPattern;
|
||||||
|
} IPMI_SSIF_RESPONSE_PACKET_END;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 NetFunc;
|
||||||
|
UINT8 Command;
|
||||||
|
} IPMI_SSIF_RESPONSE_SINGLE_PACKET;
|
||||||
|
|
||||||
|
#pragma pack ()
|
||||||
|
|
||||||
|
#endif /* IPMI_SSIF_H_ */
|
Loading…
Reference in New Issue