diff options
author | John Chung <john.chung@arm.com> | 2024-11-20 17:59:26 -0600 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2024-12-09 19:57:53 +0000 |
commit | 5b760ca087c86b471818f6990bcf0cc2cd1ce6db (patch) | |
tree | 487c68f92e275fe1db19a8b45628b2914cfa8429 /MdePkg | |
parent | e53cf2412a34c9d3a9805fe8dfd2b51f5adfff21 (diff) | |
download | edk2-5b760ca087c86b471818f6990bcf0cc2cd1ce6db.tar.gz |
MdePkg/IndustryStandard: Add definitions for IPMI Serial
Add IPMI Serial 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: John Chung <john.chung@arm.com>
Diffstat (limited to 'MdePkg')
-rw-r--r-- | MdePkg/Include/IndustryStandard/IpmiSerial.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/MdePkg/Include/IndustryStandard/IpmiSerial.h b/MdePkg/Include/IndustryStandard/IpmiSerial.h new file mode 100644 index 0000000000..12595ff733 --- /dev/null +++ b/MdePkg/Include/IndustryStandard/IpmiSerial.h @@ -0,0 +1,66 @@ +/** @file
+ IPMI Serial Definitions
+
+ Copyright (c) 2024, ARM Limited. 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_SERIAL_H_
+#define IPMI_SERIAL_H_
+
+///
+/// IPMI Serial Escaped Character Definition
+/// Section 14.4.1 & 14.4.2
+///
+#define BASIC_MODE_START 0xA0
+#define BASIC_MODE_STOP 0xA5
+#define BASIC_MODE_HANDSHAKE 0xA6
+#define BASIC_MODE_ESCAPE 0xAA
+#define BASIC_MODE_ESC_CHAR 0x1B
+#define BASIC_MODE_START_ENCODED_BYTE 0xB0
+#define BASIC_MODE_STOP_ENCODED_BYTE 0xB5
+#define BASIC_MODE_HANDSHAKE_ENCODED_BYTE 0xB6
+#define BASIC_MODE_ESCAPE_ENCODED_BYTE 0xBA
+#define BASIC_MODE_ESC_CHAR_ENCODED_BYTE 0x3B
+
+///
+/// IPMI Serial State Machine
+///
+#define MSG_IDLE 0
+#define MSG_IN_PROGRESS 1
+
+///
+/// IPMI Serial Message Field Definition
+/// Section 14.4.3
+///
+#define IPMI_MAX_LUN 0x3
+#define IPMI_MAX_NETFUNCTION 0x3F
+#define IPMI_SERIAL_CONNECTION_HEADER_LENGTH 3
+#define IPMI_SERIAL_REQUEST_DATA_HEADER_LENGTH 3
+#define IPMI_SERIAL_MAXIMUM_PACKET_SIZE_IN_BYTES 256
+#define IPMI_SERIAL_MIN_REQUEST_LENGTH 7
+
+#pragma pack (1)
+///
+/// IPMI Serial Message Field
+/// Section 14.4.3
+///
+typedef struct {
+ UINT8 ResponderAddress;
+ UINT8 ResponderNetFnLun;
+ UINT8 CheckSum;
+ UINT8 RequesterAddress;
+ UINT8 RequesterSeqLun;
+ UINT8 Command;
+ UINT8 Data[];
+} IPMI_SERIAL_HEADER;
+
+#pragma pack ()
+
+#endif /* IPMI_SERIAL_H_ */
|