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)的主要内容,如果未能解决你的问题,请参考以下文章

PCIE协议解析 synopsys IP Power Management Capability 读书笔记(10)

PCIE协议解析 synopsys IP loopback 读书笔记

PCIE协议解析 synopsys IP MSI Capability 读书笔记(11)

PCIE协议解析 synopsys IP PCI Express Capability 读书笔记(13)

PCIE协议解析 synopsys IP Configuration Space Header 读书笔记

PCIE协议解析 synopsys IP MSI-X Capability 读书笔记(12)