38#include "../scopehal/PacketDecoder.h"
52 TYPE_COMMAND_CRC_GOOD,
57 TYPE_RESPONSE_DATA_32,
58 TYPE_RESPONSE_CRC_GOOD,
59 TYPE_RESPONSE_CRC_BAD,
77 TYPE_FLASH_REQUEST_TYPE,
78 TYPE_FLASH_REQUEST_ADDR,
79 TYPE_FLASH_REQUEST_DATA,
81 TYPE_SMBUS_REQUEST_TYPE,
82 TYPE_SMBUS_REQUEST_ADDR,
83 TYPE_SMBUS_REQUEST_DATA,
100 COMMAND_PUT_PC = 0x00,
101 COMMAND_GET_PC = 0x01,
102 COMMAND_PUT_NP = 0x02,
103 COMMAND_GET_NP = 0x03,
104 COMMAND_PUT_OOB = 0x06,
105 COMMAND_GET_OOB = 0x07,
106 COMMAND_PUT_FLASH_C = 0x08,
107 COMMAND_GET_FLASH_NP = 0x09,
110 COMMAND_PUT_IORD_SHORT_x1 = 0x40,
111 COMMAND_PUT_IORD_SHORT_x2 = 0x41,
112 COMMAND_PUT_IORD_SHORT_x4 = 0x43,
113 COMMAND_PUT_IOWR_SHORT_x1 = 0x44,
114 COMMAND_PUT_IOWR_SHORT_x2 = 0x45,
115 COMMAND_PUT_IOWR_SHORT_x4 = 0x47,
116 COMMAND_PUT_MEMRD32_SHORT_x1 = 0x48,
117 COMMAND_PUT_MEMRD32_SHORT_x2 = 0x49,
118 COMMAND_PUT_MEMRD32_SHORT_x4 = 0x4b,
119 COMMAND_PUT_MEMWR32_SHORT_x1 = 0x4c,
120 COMMAND_PUT_MEMWR32_SHORT_x2 = 0x4d,
121 COMMAND_PUT_MEMWR32_SHORT_x4 = 0x4f,
124 COMMAND_PUT_VWIRE = 0x04,
125 COMMAND_GET_VWIRE = 0x05,
127 COMMAND_GET_STATUS = 0x25,
128 COMMAND_SET_CONFIGURATION = 0x22,
129 COMMAND_GET_CONFIGURATION = 0x21,
130 COMMAND_RESET = 0xff,
138 RESPONSE_DEFER = 0x1,
139 RESPONSE_NONFATAL_ERROR = 0x2,
140 RESPONSE_FATAL_ERROR = 0x3,
141 RESPONSE_ACCEPT = 0x8,
148 COMPLETION_PERIPHERAL = 1,
149 COMPLETION_VWIRE = 2,
163 CYCLE_SUCCESS_NODATA = 0x06,
164 CYCLE_SUCCESS_DATA_MIDDLE = 0x09,
165 CYCLE_SUCCESS_DATA_FIRST = 0x0b,
166 CYCLE_SUCCESS_DATA_LAST = 0x0d,
167 CYCLE_SUCCESS_DATA_ONLY = 0x0f,
169 CYCLE_FAIL_LAST = 0x08,
170 CYCLE_FAIL_ONLY = 0x0e
184 return (m_type == s.m_type) && (m_data == s.m_data);
192 virtual std::string
GetText(
size_t)
override;
193 virtual std::string
GetColor(
size_t)
override;
206 virtual void Refresh()
override;
208 std::vector<std::string> GetHeaders()
override;
210 static std::string GetProtocolName();
220 uint8_t UpdateCRC8(uint8_t crc, uint8_t data);
229 std::string m_busWidthName;
Decoder for Intel Enhanced Serial Peripheral Interface (eSPI)
Definition: ESPIDecoder.h:202
virtual void Refresh() override
Evaluates a filter graph node.
Definition: ESPIDecoder.cpp:97
virtual bool CanMerge(Packet *first, Packet *cur, Packet *next) override
Checks if multiple packets can be merged under a single heading in the protocol analyzer view.
Definition: ESPIDecoder.cpp:2088
virtual Packet * CreateMergedHeader(Packet *pack, size_t i) override
Creates a summary packet for one or more merged packets.
Definition: ESPIDecoder.cpp:2167
Definition: ESPIDecoder.h:41
Definition: PacketDecoder.h:85
Definition: PacketDecoder.h:40
Descriptor for a single stream coming off a channel.
Definition: StreamDescriptor.h:46