Intel® Processor and Intel® Core™ i3 N-Series

Datasheet, Volume 1 of 2

ID 759603
Date 01/04/2023
Version 001
Document Table of Contents

Channels and Supported Transactions

An eSPI channel provides a means to allow multiple independent flows of traffic to share the same physical bus. Refer to the eSPI specification for more detail.

Each of the channels has its dedicated resources such as queue and flow control. There is no ordering requirement between traffic from different channels.

The number of types of channels supported by a particular eSPI target is discovered through the GET_​CONFIGURATION command issued by the PCH to the eSPI target during initialization.

Table below summarizes the eSPI channels and supported transactions.

eSPI Channels and Supported Transactions

CH #

Channel

Posted Cycles Supported

Non-Posted Cycles Supported

0

Peripheral

Memory Write, Completions

Memory Read, I/O Read/Write

1

Virtual Wire

Virtual Wire GET/PUT

N/A

2

Out-of-Band Message

SMBus Packet GET/PUT

N/A

3

Flash Access

N/A

Flash Read, Write, Erase

N/A

General

Register Accesses

N/A

Peripheral Channel (Channel 0) Overview

The Peripheral channel performs the following functions:

  • Target for PCI Device D31:F0: The eSPI controller duplicates the legacy LPC PCI Configuration space registers. These registers are mostly accessed via the BIOS, though some are accessed via the OS as well.
  • Tunnel all Host to eSPI Target (EC/SIO) Debug Device Accesses: these are the accesses that used to go over the LPC bus. These include various programmable and fixed I/O ranges as well as programmable Memory ranges. The programmable ranges and their enables reside in the PCI Configuration space.
  • Tunnel all Accesses from the eSPI Target to the Host: These include Memory Reads and Writes.

Virtual Wire Channel (Channel 1) Overview

The Virtual Wire channel uses a standard message format to communicate several types of signals between the components on the platform.

  • Sideband and GPIO Pins: System events and other dedicated signals between the PCH and eSPI target. These signals are tunneled between the 2 components over eSPI.
  • Serial IRQ Interrupts: Interrupts are tunneled from the eSPI target to the PCH. Both edge and triggered interrupts are supported.
  • eSPI Virtual Wires (VW)

    Table below summarizes the PCH virtual wires in eSPI mode.

    eSPI Virtual Wires (VW)

    Virtual Wire

    PCH Pin Direction

    Reset Control

    Pin Retained in PCH (For Use by Other Components)

    SUS_​STAT#

    Output

    ESPI_​RESET#

    No

    SUSWARN#

    Output

    ESPI_​RESET#

    No

    SUS_​ACK

    Input

    ESPI_​RESET#

    No

    SUSPWRDNACK

    Output

    ESPI_​RESET#

    No

    PLTRST#

    Output

    ESPI_​RESET#

    Yes

    PME# (eSPI Peripheral PME)

    Input

    ESPI_​RESET#

    N/A

    WAKE#

    Input

    ESPI_​RESET#

    No

    SMI#

    Input

    PLTRST#

    N/A

    SCI#

    Input

    PLTRST#

    N/A

    RCIN#

    Input

    PLTRST#

    No

    SLP_​A#

    Output

    ESPI_​RESET#

    Yes

    SLP_​S4#/SLP_​S5#/SLP_​WLAN#

    Output

    DSW_​PWROK

    Yes

    TARGET_​BOOT_​LOAD_​DONE

    Input

    ESPI_​RESET#

    N/A

    TARGET_​BOOT_​LOAD_​STATUS

    Input

    ESPI_​RESET#

    N/A

    HOST_​RST_​WARN

    Output

    PLTRST#

    N/A

    HOST_​RST_​ACK

    Input

    PLTRST#

    N/A

    OOB_​RST_​WARN

    Output

    ESPI_​RESET#

    N/A

    OOB_​RST_​ACK

    Input

    ESPI_​RESET#

    N/A

    HOST_​C10

    Output

    PLTRST#

    N/A

    ERROR_​NONFATAL

    Input

    ESPI_​RESET#

    N/A

    ERROR_​FATAL

    Input

    ESPI_​RESET#

    N/A

  • Interrupt Events

    eSPI supports both level and edge-triggered interrupts. Refer to the eSPI Specification for details on the theory of operation for interrupts over eSPI.

    The PCH eSPI controller will issue a message to the PCH interrupt controller when it receives an IRQ group in its VW packet, indicating a state change for that IRQ line number.

    The eSPI target can send multiple VW IRQ index groups in a single eSPI packet, up to the Operating Maximum VW Count programmed in its Virtual Wire Capabilities and Configuration Channel.

    The eSPI controller acts only as a transport for all interrupt events generated from the target. It does not maintain interrupt state, polarity or enable for any of the interrupt events.

Out-of-Band Channel (Channel 2) Overview

The Out-of-Band channel performs the following functions:

  • Tunnel MCTP Packets between the Intel® CSE and eSPI Target Device: The Intel® CSE communicates MCTP messages to/from the device by embedding those packets over the eSPI protocol. This eliminates the SMBus connection between the PCH and the target device which was used to communicate the MCTP messages in prior PCH generations. The eSPI controller simply acts as a message transport and forwards the packets between the Intel CSE and eSPI device.
  • Tunnel PCH Temperature Data to the eSPI Target: The eSPI controller stores the PCH temperature data internally and sends it to the target using a posted OOB message when a request is made to a specific destination address.
  • Tunnel PCH RTC Time and Date Bytes to the eSPI Target: the eSPI controller captures this data internally at periodic intervals from the PCH RTC controller and sends it to the target device using a posted OOB message when a request is made to a specific destination address.
  • PCH Temperature Data Over eSPI OOB Channel

    eSPI controller supports the transmitting of PCH thermal data to the eSPI target. The thermal data consists of 1 byte of PCH temperature data that is transmitted periodically (~1 ms) from the thermal sensor unit.

    The packet formats for the temperature request from the eSPI target and the PCH response back are shown in the two figures below.

    eSPI Target Request to PCH for PCH Temperature

    PCH Response to eSPI Target with PCH Temperature

  • PCH RTC Time/Date to EC Over eSPI OOB Channel

    The PCH eSPI controller supports the transmitting of PCH RTC time/date to the eSPI target. This allows the eSPI target to synchronize with the PCH RTC system time. Moreover, using the OOB message channel allows reading of the internal time when the system is in Sx states.

    The RTC time consists of 7 bytes: seconds, minutes, hours, day of week, day of month, month and year. The controller provides all the time/date bytes together in a single OOB message packet. This avoids the boundary condition of possible roll over on the RTC time bytes if each of the hours, minutes, and seconds bytes is read separately.

    The packet formats for the RTC time/date request from the eSPI target and the PCH response back to the device are shown in the two figures below.

    eSPI Target Request to PCH for PCH RTC Time

    PCH Response to eSPI Target with RTC Time

    Notes:
    1. DS: Daylight Savings. A 1 indicates that Daylight Saving has been comprehended in the RTC time bytes. A 0 indicates that the RTC time bytes do not comprehend the Daylight Savings.
    2. HF: Hour Format. A 1 indicates that the Hours byte is in the 24-hr format. A 0 indicates that the Hours byte is in the 12-hr format. In 12-hr format, the seventh bit represents AM when it is a 0 and PM when it is a 1.
    3. DM: Data Mode. A 1 indicates that the time byte are specified in binary. A 0 indicates that the time bytes are in the Binary Coded Decimal (BCD) format.

Flash Access Channel (Channel 3) Overview

The Flash Access channel supports the Initiator Attached Flash (MAF) configuration, where the flash device is directly attached to the PCH. This configuration allows the eSPI device to access the flash device attached to the PCH through a set of flash access commands. These commands are routed to the flash controller and the return data is sent back to the eSPI device.

The Initiator Attached Flash Channel controller (MAFCC) tunnels flash accesses from eSPI target to the PCH flash controller. The MAFCC simply provides Flash Cycle Type, Address, Length, Payload (for writes) to the flash controller. The flash controller is responsible for all the low level flash operations to perform the requested command and provides a return data/status back to the MAFCC, which then tunnels it back to the eSPI target in a separate completion packet.

  • Initiator Attached Flash Channel Controller (MAFCC) Flash Operations and Addressing

    The EC is allocated a dedicated region within the eSPI Initiator-Attached flash device. The EC has default read, write, and erase access to this region.

    The EC can also access any other flash region as permitted by the Flash Descriptor settings. As such, the EC uses linear addresses, valid up to the maximum supported flash size, to access the flash.

    The MAFCC supports flash read, write, and erase operations only.