PMC
Power Management Channel
6.7.1概述
电源管理通道在ACPI规范中定义,用作主机处理器和嵌入式控制器之间的通信通道。
6.7.2功能
支持五个PM通道
支持通道1的兼容模式
支持所有通道的增强模式
支持共享和专用接口
支持命令/状态和数据端口
支持IRQ/smi#/SCI#生成
6.7.3功能说明
生成对主机的SCI#和SMI#中断
6.7.3.1一般说明
PM通道支持两种操作模式。一种称为兼容模式,仅适用于通道1。另一种称为增强模式。PMC适用于所有渠道。PM通道提供四个寄存器PMDIR,PMDOR,PMCMDR和PMSTR,用于EC和主机端之间的通信。PMDIR寄存器可以由主机写入并由EC读取。PMDOR寄存器可以由EC写入并由主机读取。EC和主机方都可以读取PMCMDR/PMSTR寄存器。
PMC主机接口框图如下所示。
EC中断
两个中断(IBF和OBF)连接到INTC。这些中断分别由PMnCTL寄存器中的OBEIE和IBFIE使能。
通过INTC的INT3/INT25/INT26/INT27/INT64-INT69/INT149/INT150向ECCPU发送PMC中断的示意图如下所示。
主机中断
设置IBF或OBF时,EC可以选择访问不同的地址空间以生成IRQ、SMI#或SCI#中断。
PMC的IRQ号码是可编程的,并使用IRQ11作为下一节的缩写。缩写n表示该寄存器的通道1和/或通道2。
6.7.3.2兼容模式
当主机配置寄存器中的IRQ编号由主机软件分配时,中断可以由硬件通过KBHICR寄存器中的PM1HIE产生,也可以通过对KBIRQR寄存器进行编程来产生。在正常极性模式下(KBIRQR寄存器中的IRQNP清0),IT81202支持PM兼容模式中断的传统电平。当选择电平中断时(KBIRQR寄存器中的IRQM被清除),当OBF标志已被设置时,中断信号被断言,该OBF标志仍被断言,直到输出缓冲器被读取(即,OBF标志被清除)。EC可以控制PM通道产生的中断,如下所示:
当PMnIE寄存器中的IRQEN位被设置时,IRQ信号发送到LPC/SERIRQ。
当PMnIE寄存器中的SMIEN位被设置时,SMI#输出到SWUC。
当PMnIE寄存器中的SCHEN位被设置时,使用SCI#输出的SCI#信号。
PMC兼容模式下的IRQ/SCI#/SMI#控制图如下所示。
6.7.3.3增强型PM模式
当PMnCTL寄存器中的APM设置为1时,将激活增强型PM模式。可以选择生成的IRQ,SMI#或SCI#中断通过软件控制或硬件输出,这是通过在PMnIE寄存器中编程IRQEN位来确定的。当EC写入数据输出缓冲区时,会生成SCI#和SMI#。当EC读取数据输入缓冲区时生成SCI#。不同的数据寄存器产生不同的中断。设置PMnSTS寄存器中的OBF标志,并在将数据写入PMnDO寄存器时取消SMI#和SCI#中断。将PMnDOSMI寄存器写入数据时会生成SMI#的OBF中断。清除OBF标志后,SMI#的内部OBF标志将被清除。当将PMnDOSCI寄存器写入data.OBF_SCI#时,将生成SCI#的OBF中断,当OBF被清除时将其清除。
当PMnDISCI寄存器读出数据时,IBF标志被清除,SCI#中断生成。当PMnDI寄存器读出数据时,IBF标志被清除,SCI#中断不被断言。
PMC增强模式下的IRQ/SCI#/SMI#控制图如下所示。
6.7.3.4 PMC2EX(通道2扩展)
基于PMC通道2有通道2扩展(PMC2EX)邮箱(MBX)功能,该功能由与BRAM共享的16字节邮箱构建。另见第458页的图7-23。
此16字节邮箱可从EC端(名为MBXEC0-15)和主机端(MBXH0-15)访问。在EC侧,MBXEC0-15始终位于PMC模块偏移量F0h-FFh中,并与BRAM中最高的16字节共享。
在主机侧,MBXH0-15地址基于LPC I/O空间内电源管理I/F通道2逻辑器件的描述符2。(参见第97页6.3.11.6和6.3.11.7节)
PMC2EX(通道2扩展)共享相同的中断生成资源和寄存器(偏移量10h-18h)。
对于寄存器,PMC2EX共享相同的寄存器(偏移量10h-18h),并具有专用的MBXCTRL寄存器(偏移量19h)。
对于中断生成,PMC2EX与通道2共享相同的中断逻辑。如果设置MBXEN,则PMC2EX的IBF/OBF中断源将与通道2共享。
EC/主机端应分别在写入MBXEC0/MBXH0后检查是否从内部仲裁器获得授权。
下面介绍典型的PMC2EX邮箱操作。
6.7.3.5 PMC3/4/5
在PM通道3/4/5中仅激活增强PM模式,并且仅生成IRQ中断。生成的IRQ中断可通过软件控制或硬件选择输出,这由PM3IE/PM4IE/PM5IE寄存器中的IRQEN位编程确定。数据写入PM3DO/PM4DO/PM5DO寄存器时,PM3STS/PM4STS/PM5STS寄存器中的OBF标志被设置。当PMnDI寄存器读出数据时,IBF标志被清除。
PMC3/PMC4/PMC5中的IRQ控制图如下所示。
6.7.4主机接口寄存器
PMC的寄存器可分为主机接口寄存器和EC接口寄存器两部分,本节列出了主机接口。主机接口寄存器只能由主机处理器访问。PMC通道1和2位于LPC I/O空间,基址可通过LPC PNPCFG寄存器配置。出于兼容性问题,建议通道1的两个I/O端口基地址分别配置为62h和66h。
下面列出了这些寄存器。
Legacy 62h表示(I/O端口基址0)+(偏移量0h)
Legacy 66h表示(I/O端口基址1)+(偏移量0h)
6.7.4.1 PMC数据输入寄存器(PMDIR)
I/O端口基址0的地址偏移量:00h,通道1的传统地址偏移量62h
Bit | R/W | Default | 描述 |
7-0 | W | 00H | Data Input Register Bit [7:0] (DIRB) 这是主机和EC侧之间电源管理通道数据通信的数据输入寄存器。当主机写入该端口时,数据被写入PMDIR寄存器,EC CPU可以读取该数据。请注意,写入命令/状态寄存器时,数据也会存储到PMDIR寄存器中。用户必须读取A2以决定PMDIR数据是数据还是命令。 |
6.7.4.2 PMC数据输出寄存器(PMDOR)
地址偏移:I/O端口基本地址0为00h,通道1为传统62h
Bit | R/W | Default | 描述 |
7-0 | R | 00H | Data Output Register Bit [7:0] (DORB) 这是主机和EC之间电源管理通道数据通信的数据输出寄存器。当主机读取该端口时,数据从PMDOR寄存器读取,EC CPU可以写入。 |
6.7.4.3 PMC命令寄存器(PMCMDR)
I/O端口基址1的地址偏移量:00h,通道1的传统66h
Bit | R/W | Default | 描述 |
7-0 | W | 00H | Command Register Bit [7:0] (CRB) 当PMSTR寄存器中A2=1时,该端口由主机写入。 |
6.7.4.4状态寄存器(PMSTR)
I/O端口基址1的地址偏移量:00h,通道1的传统66h
Bit | R/W | Default | 描述 |
7-4 | R/W | 0H | Status Register (STS) 对于MBXEN清零的通道1和通道2: 这是一个通用标志,用于主机和EC侧之间的信令。用作ACPI PM通道时,预定义的含义为猝发、SCI#事件和SMI#事件。 对于设置了MBXEN的通道2: bit7:PMC通道2扩展(PMC2EX)的IBF bit6:PMC通道2扩展(PMC2EX)的OBF bit5-4: 00b:PMC2EX邮箱不授予两端。 01B:授予EC端PMC2EX邮箱。 10b:将PMC2EX邮箱授予主机端。 11B:预留 |
3 | R | 0b | A2 (A2) 此位用于指示(由主机)最后写入的地址位A2。如果该位为0,则表示主机写入的是数据。如果此位为1,则表示主机写入的是命令。 |
2 | R/W | 0b | General Purpose flag (GPF) 此位用作通用标志。 |
1 | R | 0b | Input Buffer Full (IBF) 此位用于指示PM通道的PMDIR已由主机写入。该位在主机写入数据输入寄存器或命令寄存器时置1,在EC CPU读取数据输入寄存器时清零。请注意,主机对数据输入寄存器或命令寄存器的写入都会触发此标志,EC必须使用A2来区分写入是命令还是数据。 |
0 | R | 0b | Output Buffer Full (OBF) 此位用于指示PM通道的PMDOR已由EC写入。该位在EC写入数据输出端口时置1,在主机读出数据缓冲器时清0。 |
6.7.5 EC Interface Registers
PMC的寄存器可分为主机接口寄存器和EC接口寄存器两部分。本节列出EC接口。EC接口只能由内部处理器访问。基址是1500h。
下面列出了这些寄存器。
6.7.5.1 PM状态寄存器(PMSTS)
该寄存器与主机侧的状态寄存器相同,见6.7.4.4。
6.7.5.2 PM数据输出端口(PMDO)
该寄存器是PMDOR Buffer。写入该寄存器的数据存储在PMDOR中。
Address Offset: 01h/11h
Bit | R/W | Default | 描述 |
7-0 | R | 00H | PM Data Out (PMDO[7:0]) 这是数据输出缓冲区。 |