PCIe wiki
PCI Express Port Bus Driver Support for Linux
PCIe driver development for Exynos SoC
DM81xx_AM38xx_PCI_Express_Endpoint_Driver_User_Guide
DWC pcie reference mannual
PCIe tutorial
深入PCI与PCIe之二:软件篇
PCIe设备枚举流程
一、designwarepcie产品:
Dual Mode core
RC core
EP core
Switch core
二、架构:
Common Xpress Port Logic (CXPL)
实现大部分的传输层逻辑,所有的数据链路层逻辑,物理层的MAC部分(包括LTSSM)。这个module就是所说的core。
XADM和RADM都是针对传输应用添加的模块。比如说添加传输队列,仲裁TLP transmmision。Transmit Application-Dependent Module (XADM)
Receive Application-Dependent Module (RADM)
Configuration-Dependent Module (CDM)
Power Management Controller (PMC)
Local Bus Controller (LBC)
Message Generation (MSG_GEN)
Hot Plug Control (hotplug_ctrl)
三、核心(CXPL)操作
3.1DM/RC/EP 模式下的初始化
在reset之后,通过检测device_type输入进入到RC或者EP模式,CDM内部配置寄存器为复位值。
LTSSM前配置:keep the app_ltssm_enable signal deasserted after resetuntil the application is ready to establish a Link and startreceiving and transmitting TLPs,在这个阶段通过DBI配置好配置寄存器。
开始LTSSM:assert app_ltssm_enable to allow the LTSSM to begin Linkestablishment
3.2Link Establishment
PIPE口,和usb3.0一样。建立链路后,Data Link module发起flow controlinitialization,完成后通知transaction layer module可以发送接收TLP。
3.3TLP processing
3.4Interrupt
支持传统中断intr和MSI
3.5Flow Control
分为两个phase:初始化和更新。VC0的初始化跟着Link初始化,在发起正常传输之前完成。
3.6Address Translation
完成AMBA memory space到PCI memory space的转换,包括transmit地址转换和