相关寄存器
Power Management Capabilities(PMC)寄存器
该可以识别电源管理能力:
寄存器域 |
描述 |
Cap_ID |
01h将链表项标识为PCI Power Management寄存器 |
Next Capability Pointer |
提供Function的 PCI 配置空间的偏移量,指向Function能力列表中下一项的位置。 如果 Capabilities List 中没有其他项目,则该寄存器设置为 00h。 |
Version |
011b表示支持1.2版本PCI Power Management Interface Specification |
PME_Clock |
0:不需要时钟产生PME#; 1:需要PCI时钟产生PME#; |
RsvdP |
保留 |
Device Specific Initialization(DSI) |
1:function转换到D0-uninit状态需要特定初始化流程。 |
AUX Current |
3.3Vaux辅助电源电流要求; 3‘b000:0; 3‘b001:55mA; 3‘b010:100mA;3‘b011:160mA; 3‘b100:220mA;3‘b101:270mA;3‘b110:320mA;3‘b111:375mA; |
D1 Support |
0:不支持D1; 1:支持D1; |
D2 Support |
0:不支持D2; 1:支持D2; |
PME_Support |
bit(27):PME#能够在D0状态内发起; bit(28):PME#能够在D1状态内发起; bit(29):PME#能够在D2状态内发起; bit(30):PME#能够在D3-hot状态内发起; bit(31):PME#能够在D3-cold状态内发起; |
Power Management Control/Status(PMCSR)寄存器
该寄存器控制Function进入特定的工作状态。PMCSR寄存器如下:
寄存器域 |
描述 |
Power State |
决定function当前的功耗状态和设置function要进入的状态。 |
RsvdP |
保留域 |
No_Soft_Reset |
1:指示设备从D3hot转换为D0;配置信息保留; 0:软件控制Power State以完成D3hot到D0转换,配置信息丢失; |
PME Enable |
1:使能PME#; 0:关闭PME# |
Data Select |
指示Data Register和Date Scale上 那个数据; |
Data Scale |
指示解释Date寄存器时的比例因子; |
PME Status |
1:发起PME#; 0:不发起PME#; |
RsvdP |
保留域 |
B2/B3 Support |
1:当bridge被设置为D3hot,将关闭其第二级总线时钟; 0:当bridge被设置为D3hot,将移除其第二级总线时钟; |
Bus Power/Clock Control Enable |
1:使能总线功耗/时钟控制机制; 0:关闭总线功耗/时钟控制机制; |
Data |
上 状态数据,如功耗和散热。 |
功耗管理控制流程
进入L1流程
配置power state为D1,D2,D3,数据链路会进入L1低功耗状态,进入过程如下图所示:
都是进入L1,但是他们的功耗应该有所不同。D1>D2>D3;实际可以通过不同程度的关闭serdes来实现不同的功耗。比如:D1时不关闭Serdes;D2时关闭Serdes的rx_path;D3时关闭Serdes的PLL。
对于RC而言,进入L1不需要累计足够的credit来发送TLP;而EP则需要等到credit能够发送最长的TLP。
退出L1流程
EP和RC都可以发起退出L1。当任意一端需要发送TLP,则需要发起退出L1.
进入L2/L3 Ready流程
在任意D状态,PME_Trun_Off和PME_To_Ack握手完成后,Downstream必须利用PM_Enter_L23 DLLP申请进入L2/L3 Ready。
PME_Trun_Off和PME_To_Ack握手参考PME机制。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!