A newer version of this document is available. Customers should click here to go to the newest version.
7.6. Peripheral Channel Avalon Interface Use Model
Each Avalon read command reads back only 8-bit data. Even though the Avalon® Memory-Mapped Interface read data is 32-bit wide, but only 8-bits (LSB) are used. This behavior applies to Avalon write command too.
When eSPI host sends PUT_IORD_SHORT or PUT_IOWR_SHORT command, these packets are not stored inside the FIFOs. The packet data is directly sent to pc_port**_in port or picked from /pc_port**_out port.
You must use the following format while sending the response packet to PCTXFIFO:
cycletype (SUCCESSFUL_COMPLETION_WITH_DATA/UNSUCCESSFUL_COMPLETION) -> MSB length -> LSB length -> DATA (optional)
After writing a response packet to PCTXFIFO, you must write 1 to Avalon Control Register (0x4h), indicating that the PCTXFIFO has a complete payload available. Once this flag is triggered, the eSPI host is acknowledged (thru espi status information) and fetchs the packet accordingly using the GET_PC command. Each FIFO can only store one packet.
Use Avalon Status Register (0x0h) to verify that the eSPI host sent a complete packet to PCRXFIFO (using PUT_PC/ PUT_MEMWR32_SHORT command) or NPRXFIFO (using PUT_NP/ PUT_MEMRD32_SHORT command).
- Invalid cycle type
- Invalid command
- CRC mismatch
- Put FIFO without FIFO Free asserted
- Get FIFO without FIFO Available asserted