1. MHI 状态管理
MHI 状态控制设备中 MHI 的运行,包括:
- MHI 的初始化和配置
- MHI 电源管理、挂起、恢复、低功耗模式
- MHI 系统错误条件
- MHI 复位
下图展示了 MHI 状态以及有效的状态转换。

MHI 初始化在
ready 状态中执行。
M0 表示 MHI 在设备上运行,并且处理门铃(doorbells)和传输。
MHI 状态控制设备进入低功耗模式的转换:
- 在 PCIe D0 状态下由设备发起的电源管理使用 M1 和 M2 状态
- 主机发起的电源管理使用 M3 状态,以在切换到 PCIe D3 之前暂停 MHI 运行
- 在 M2 和 D3cold 状态下,设备可以选择进入系统休眠模式(TCXO 关闭)
- 设备负责维持 MHI 状态,该状态值记录在 MMIO 寄存器中的 MHISTS.MHISTATE 字段中。
1.1 MHI states
下表描述了支持的 MHI 状态(LPM 表示低功耗模式)。

1.2 MHI 状态转换
下表描述了 MHI 状态之间的有效转换。
1.3 MHI status fields
下表列出了位于 MHISTATUS 寄存器中、用于指示当前接口状态的 MHI 状态字段。
1.4 MHI control fields
下表列出了位于 MHICTRL 寄存器中、用于发起状态转换的 MHI 控制字段。
1.5 DEVICE_WAKE signal
除了 MHI 控制字段外,主机还可使用 DEVICE_WAKE 信号来阻止设备进入低功耗状态。
- 当主机断言(assert)该信号时:设备不得挂起 MHI 操作,也不得进入低功耗状态。
- 当主机取消断言(deassert)该信号时:若有需要,设备可挂起 MHI 操作并进入更低的功耗状态。
1.6 MHI state change notification
在 MHI 状态从或切换到 M0 以及从 M1 切换到 M3 之后,设备会向主事件环(primary event ring)发送一个 MHI 状态变更事件。同时,设备会触发与主事件环相关联的中断(MSI)。