PCIE协议解析 synopsys IP 基本配置空间总结 读书笔记(14)

Posted yijingjing17

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PCIE协议解析 synopsys IP 基本配置空间总结 读书笔记(14)相关的知识,希望对你有一定的参考价值。

1.2    PCI configuration SPACE(256 BYTE)

其 中寄存器的Capability包括:

Ø  PCI Configuration Space

Ø  PM

Ø  MSI

Ø  MSI-X

Ø  PCIE

Ø  VPD

1.2.1     PCI Configuration Space

Byte

Offset

Byte 3

Byte 2

Byte 1

Byte 0

0x00

Device ID(ROS)

Vendor ID(ROS)

0x04

Status Register(ROS)

Command Register(RW)

x08

Class Code(ROS)

Revision ID

0x0C

BIST(0x00)(RO)

Header Type(ROS)

Latency Timer(RO)

Cache Line Size(RW)

0x10

Base Address Register 0

0x14

Base Address Register 1

0x18

Base Address Register 2

0x1C

Base Address Register 3

0x20

Base Address Register 4

0x24

Base Address Register 5

0x28

CardBus CIS Pointer RO(cs)

0x2C

Subsystem ID RO(cs)

Subsystem Vendor ID RO(cs)

0x30

Expansion ROM Base Address (RW)

0x34

Reserved

CapPtr

0x38

Reserved

0x3C

Max_Latency1 RO(cs)

Min_Grant1 RO(cs)

Interrupt Pin RO(cs)

Interrupt Line

该部分的寄存器大部分为 只读寄存器,DBI可以进行设置的为蓝色的部分 寄存器:

其中,用户需要配 置的寄存器主要包括为以下两个:

1、Command Register(RW):

该寄存器为PCI设备的命令寄存 器,该寄存器在初始化时,其值为0,此时这个PCI设备除了能够接收 配置请求总线事务之外,不能接收任何存储器 或者I/O请求。系统软件需要 合理设置该寄存器之后,才能访问该设备的存储器或者I/O空间。在Linux系统中,设备驱动程 序调用pci_enable_device函数,使能该寄存器 的I/O和Memory Space位之后,才能访问该 设备的存储器或者I/O地址空间。

2、Base Address Register:

设置地址段。

1.2.2     1.2.2     PCI Power Management Capability Register

Byte Offset

Byte 3

Byte 2

Byte 1

Byte 0

 

Power Management Capabilities

(PMC)(ROcs

Next Capability

Pointer (RO(cs)

Capability ID (0x01) (RO

+0x4

Data(RO

PMCSR_BSE

Bridge

Extensions(RO

Power Management Control Status Register

(PMCSR)(RW

该部分只有PMCSR可以配置,配置的具体内容为配置PCIe的电源状态,默认为D0状态,可以不配置。

1.2.3     1.2.3     PF MSI Capability Register Details

MSI Capability被所有需要产生中断的PCIe 设备所需要,其Capability的 寄存器结构如下:

Byte Offset

Byte 3

Byte 2

Byte 1

Byte 0

 

Message Control Register

Next Capability

Pointer

Capability ID (0x05)

+0x4

MSI Lower 32-bit Address Register

+0x8

MSI Upper 32-bit Address Register

+0xC

Reserved

MSI Data

+0x10

Mask Bits Register

+0x14

Pending Bits Register

部分是MSI capability,控制PEIe的中断功 能,在Loopback阶段,系统可以不考虑中断的功能,所以该部分可以不使能,而该部分的默认状 态为disable,所以不用配置。

1.2.4     1.2.4     PF MSI-X Capability Register Details

MSI-X Capability作为是一种可选的capability, 与MSI capability一样都是中断控制的capability, 但是MSI-X要比MSI复 杂,对于某个具体的PCIe设备,仅支持一种报文,虽然两种capability可以存在同一个链表中,但是两者仅有一个可以使能。MSI-X Capability中断机制与MSI Capability的 中断机制类似。PCIe总线引出MSI-X机 制的主要目的是为了扩展PCIe设备使用中断向量的个数,同时解决MSI中断机制要求使用中断向量号连续所带来的问题。MSI中断机制最多只能使用32个 中断向量,而MSI-X可以使用更多的中断向量。

Byte Offset

Byte 3

Byte 2

Byte 1

Byte 0

 

MSI-X Control Register

Next Capability

Pointer

Capability ID (0x11)

+0x4

MSI-X Table Offset (31:3) and BIR (2:0)

+0x8

MSI-X PBA Offset (31:3) and BIR (2:0)

MSI情况相同,默认情况下为disable,所以不需要配置。

1.2.5     1.2.5     PF PCI Express Capability Register Details

Core实 现了PCIe 3.0定义的所有Capability Structure,除了Root Port register。

Byte Offset

Byte 3

Byte 2

Byte 1

Byte 0

 

PCI Express Capabilities Register

Next Capability

Pointer

Capability ID (0x10)

+0x4

Device Capabilities

+0x8

Device Status

Device Control

+0xC

Link Capabilities

+0x10

Link Status

Link Control

+0x24

Device Capabilities 2

+0x28

 

Device Control 2

+0x30

Link Status 2

Link Control 2

Device Control :其中14:0的bit位是通过parameter 设置的,DBI只读。唯一能够通过DBI访问的为第15bit,该bit为的功能为:Initiate Function Level Reset 。

Device Contro2 :该部分的寄存器都是通过Parameter设置的,但是部分可以通过DBI访问,但是从loop back的角度来说,不需要改变。

1.3    1.3    总结

对于PCI configuration Space部分, 需要配置的寄存器只有两个:

1、Command Register(RW):

2、Base Address Register:


以上是关于PCIE协议解析 synopsys IP 基本配置空间总结 读书笔记(14)的主要内容,如果未能解决你的问题,请参考以下文章