跳到主要内容

14.1 PCIe 3.0 (IOMMU)

14.1.1 Overview

The K3 SoC integrates five PCIe ports — PCIeA, PCIeB, PCIeC, PCIeD, and PCIeE — each supporting PCIe Gen3 operation at 8 GT/s per lane.

  • Lane configuration:
    • PCIeA provides eight lanes
    • PCIeB and PCIeC provide two lanes each
    • PCIeD and PCIeE provide one lane each
  • Mode support:
    • PCIeA supports dual-mode operation (Root Complex / Endpoint)
    • PCIeB, PCIeC, PCIeD, and PCIeE support Root Complex (RC) mode only
  • Virtual channels: PCIeB, PCIeC, PCIeD, and PCIeE support VC0 and VC1
  • IOMMU support: PCIeA, PCIeB, and PCIeE support IOMMU for device virtualization
  • PHY configuration:
    • A total of six PHYs are integrated, providing eight lanes
    • PHY0 and PHY1 are dual-lane PHYs
    • PHY2, PHY3, PHY4, and PHY5 are single-lane PHYs
    • PHY2, PHY3, and PHY4 are shared between PCIe and USB

14.1.2 Features

  • Supports dual-mode operation, programmable as either Root Complex (RC) or Endpoint (EP)
  • Integrated Internal Address Translation Unit (iATU) with 8 outbound and 8 inbound entries
  • Integrated DMA engine with hardware flow control, including 4 write and 4 read channels
  • Supports ECRC generation and checking
  • Supports Maximum Payload Size up to 256 bytes
  • Supports automatic lane flip and reversal
  • Supports Active State Link Power Management (ASPM) with L0 and L1 power states
  • Supports Latency Tolerance Reporting (LTR)
  • Supports Virtual Channel 0 (VC0) and Virtual Channel 1 (VC1)
  • Supports Precision Time Measurement (PTM)
  • Supports ID-Based Ordering (IDO)
  • Supports Completion timeout range configuration
  • Supports Separate Reference Clock with Independent Spread (SRIS)
  • Supports up to 64 outbound non-posted requests
  • Supports up to 32 outstanding AXI slave non-posted requests
  • In Endpoint (EP) mode:
    • Supports Function 0 with 6 size-programmable BARs
    • Supports MSI capability
  • In Root Complex (RC) mode:
    • Integrates MSI and MSI-X reception module

14.1.3 Block Diagram

Feature/FunctionPort APort B/CPort D/E
Device TypeDMRC onlyRC only
AMBA EnableAXI4AXI4AXI4
AXI slave non-contiguous Byte Enables supportTrueTrueTrue
DMA EnableSynopsys HDMASynopsys HDMASynopsys HDMA
Number of Functions111
Support ARITrueTrueTrue
Max PCIe SpeedGen3Gen3Gen3
Maximum Link WidthX8X2X1
PCIe Max Payload Supported256256256
Max Outbound NP Requests256256256
Number of Outbound Address Translation Regions321616
Number of Inbound Address Translation Regions321616
Minimum size of an Address Translation Region64KB64KB64KB
Maximum size of an Address Translation Region4GB4GB4GB
Number of DMA Write Channels888
Number of DMA Read Channels888
DMA tags128128128
Enable Auto Lane Flip and ReversalTrueTrueN/A
UNROLL Function0N/AN/A
UNROLL BARBAR2N/AN/A
Offset BAR address for DMA UNROLL Registers0x1000N/AN/A
Offset BAR address for ATU UNROLL Registers0x5000N/AN/A
MSI CapabilityTrueTrue
(But RC mode controller can't send MSI to local CPU cores)
True
(But RC mode controller can't send MSI to local CPU cores)
MSI vectors32N/AN/A
MSI-X CapabilityTrueFalseFalse
MSI-X Table offsetBAR2, 0x600N/AN/A
MSI-X PBA offsetBAR2, 0x700N/AN/A
InterruptINTAN/AN/A
Active State Link PM SupportL0s and L1 SupportedL0s and L1 SupportedL0s and L1 Supported
Latency Tolerance Reporting (LTR)TrueFalseFalse
Number of Virtual Channels122
ID Based OrderingTrueTrueTrue
Completion Timeout Ranges EnableTrueTrueTrue
SRIS SupportTrueTrueTrue
L1 Substates SupportTrueTrueTrue
Precision Time MeasurementTrueTrueTrue
Base Class Code0x70x70x7
Sub Class Code0x800x800x80
Default Vendor ID0x1e5d0x1e5d0x1e5d
Default Device ID0x70210x70210x7021
BAR0Memory / 32bit / default size=0x7FFFFFF(128MB) / Programmable MaskN/AN/A
BAR1Memory / 32bit /default size=0x7FFFFFF(128MB) / Programmable MaskN/AN/A
BAR2UNROLL / 32bit /default size=0xFFFFF(64KB) / Programmable MaskN/AN/A
BAR3Memory / 32bit /default size=0xFFFFFF(1MB) / Programmable MaskN/AN/A
BAR4Memory / 32bit /default size=0xFFFFFF(1MB) / Programmable MaskN/AN/A
BAR5Memory / 32bit /default size=0xFFFFFF(1MB) / Programmable MaskN/AN/A
Address Translation Service support
(RC mode)
TrueTrueFalse
DTIM Enable
(connected to IOMMU)
True,
DTI-ATSv1
True,
DTI-ATSv1
False
Hot PlugFully SupportedPartially supportedPartially supported
DPC/eDPC supportedTrueTrueTrue

14.1.4 PHY Configuration Block Diagram

14.1.4.1 PHY Architecture

  • 6 PCIe PHYs (phy0-phy5), total of 8 lanes
  • phy2, phy3, and phy4 are shared between PCIe and USB
  • phy0, phy1, and phy5 are dedicated PCIe PHYs

14.1.4.2 Three Configuration Modes

  • Mode 1: PCIeA ×8

    • Single 8-lane PCIe port configuration
    • All 8 lanes allocated to PCIeA controller
  • Mode 2: PCIeA ×4 + PCIeC ×2 + PCIeD ×1 + PCIeE ×1

    • 4-port configuration
    • Lane distribution: 4+2+1+1
  • Mode 3: PCIeA ×2 + PCIeB ×2 + PCIeC ×2 + PCIeD ×1 + PCIeE ×1

    • 5-port configuration
    • Lane distribution: 2+2+2+1+1