PCI-E Core

The Backplane always contains one core responsible for interacting with the computer. In the newer PCI-E cards, it is connected via the PCI-E Core. This core has a Core ID of 0x820.

Registers

Offset

Size

Meaning

0x000C

4

BIST Status

0x0028

4

Backplane to PCI-E Mailbox

0x0100

4

Backplane to PCI-E Translation 0 (sbtopcie0)

0x0104

4

Backplane to PCI-E Translation 1 (sbtopcie1)

0x0108

4

Backplane to PCI-E Translation 2 (sbtopcie2)

0x0120

4

PCI-E Configuration Space: Address

0x0124

4

PCI-E Configuration Space: Data

0x0128

4

MDIO Access: Control

0x012C

4

MDIO Access: Data

0x0130

4

PCI-E PHY/DLLP/TLP Register Access: Address

0x0134

4

PCI-E PHY/DLLP/TLP Register Access: Data

Reading and writing PCI-E Configuration Space or PCI-E Registers

First, write the register offset to the control register (0x120 for PCI-E Configuration Registers or 0x130 for PCI-E Registers), then either read or write the the associated data register.

PCI-E Configuration Space Registers

PCI-E Registers

Offset

Size

Usage

TLP Diagnostic Registers

0x0000

4

Configuration Register

0x0004

4

TLP Workarounds Register

0x0010

4

Write DMA Upper Address

0x0014

4

Write DMA Lower Address

0x0018

4

Write DMA Request Lenth / Byte Encoding

0x001C

4

Read DMA Upper Address

0x0020

4

Read DMA Lower Address

0x0024

4

Read DMA Request Length

0x0028

4

MSI DMA Upper Address

0x002C

4

MSI DMA Lower Address

0x0030

4

MSI DMA Request Length

0x0034

4

Slave Request Length

0x0038

4

Flow Control Inputs

0x003C

4

TX State Machine and Gated Request

0x0040

4

Address ACK, Transfer Count and ARB Length

0x0044

4

DMA Completion Header 0

0x0048

4

DMA Completion Header 1

0x004C

4

DMA Completion Header 2

0x0050

4

DMA Completion Misc 0

0x0054

4

DMA Completion Misc 1

0x0058

4

DMA Completion Misc 2

0x005C

4

Split Controller Request Length

0x0060

4

Splig Controller Misc 0

0x0064

4

Splig Controller Misc 1

0x0068

4

Bus / Device Function

0x006C

4

Reset Counter

0x0070

4

Retry Buffer Value

0x0074

4

Target Debug Register 1

0x0078

4

Target Debug Register 2

0x007C

4

Target Debug Register 3

0x0080

4

Target Debug Register 4

DLLP Diagnostic Registers

0x0100

4

Link Control Register

0x0104

4

Link Status

0x0108

4

Link Attention

0x010C

4

Link Attention Mask

0x0110

4

Next TX Sequence Number

0x0114

4

ACK'd TX Sequence Number

0x0118

4

Purged TX Sequence Number

0x011C

4

RX Sequence Number

0x0120

4

Link Replay

0x0124

4

Link ACK Timeout

0x0128

4

Power Management Threshold

0x012C

4

Retry Buffer Write Pointer

0x0130

4

Retry Buffer Read Pointer

0x0134

4

Retry Buffer Purged Pointer

0x0138

4

Retry Buffer Read / Write

0x013C

4

Error Count Threshold

0x0140

4

TLP Error Counter

0x0144

4

Error Counter

0x0148

4

NAK Received Counter

0x014C

4

Test Register

0x0150

4

Packet BIST

PHY Diagnostic Registers

0x0200

4

Mode

0x0204

4

Status

0x0208

4

LTSSM Control

0x020C

4

Link Training Link Number

0x0210

4

Link Training Lane Number

0x0214

4

Link Training N FTS

0x0218

4

Attention

0x021C

4

Attention Mask

0x0220

4

RX Error Counter

0x0224

4

RX Framing Error Counter

0x0228

4

RX Error Threshold

0x022C

4

Test Control Register

0x0230

4

SERDES Control Override

0x0234

4

Timing Parameters Override

0x0238

4

RX/TX State Machine Diag

0x023C

4

LTSSM State Machine Diag

MDIO Access

MDIO Control Register Usage

Bitmask

Usage

0x007F

MDIO Clock Divsor

0x0080

Enable/Disable Preamble Sequence

0x0100

MDIO Transaction Complete

MDIO SERDES Devices

Address

Device

0x1F

SERDES RX Device

SERDES RX Device Registers

Offset

Usage

2

RX Timer

6

CDR

7

CDR BW

Write to MDIO Slaves

  1. Write 0x82 (Enable Preamble Sequence bitwise OR'd with a divisor value of 2) to the MDIO Control Register
  2. Prepare the MDIO data packet with the Start of Transaction bit set, the Write Transaction bit set and the Turnaround bit set, finally, fill in the addresses and data as needed
  3. Write the MDIO data packet to the MDIO Data Register
  4. Delay for 10 uSec
  5. Check every 1 mSec for 10 mSec to see if the MDIO Transaction Complete bit is set in the MDIO Control Register
  6. Once the transaction is completed or fails, write 0 to the MDIO Control register

MDIO Data Packet Format

Mask

Function

0x40000000

Start of Transaction

0x20000000

Read Transaction

0x10000000

Write Transaction

0x0FC00000

Device Address

0x003C0000

Register

0x00020000

Turnaround

0x0000FFFF

Data

PCI-E (last edited 2007-10-28 22:49:16 by localhost)