mirror of https://github.com/acidanthera/audk.git
67 lines
1.8 KiB
C
67 lines
1.8 KiB
C
/** @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_ */
|