电源域
Linux PMU 提供者公开七个通用电源域。Linux 显式控制 HP 连接域(HPCNNT)的状态切换;其他域用于描述拓扑和设备归属,并按提供者策略保持开启。无线活动状态所需的 PMU 初始化仍由已链接的载荷执行。
已注册的拓扑与策略
域名称 |
绑定标识符 |
已注册的父域 |
Linux 策略 |
|---|---|---|---|
|
|
无 |
始终开启 |
|
|
|
始终开启 |
|
|
|
始终开启 |
|
|
|
始终开启 |
|
|
|
仅在存在 |
|
|
|
始终开启 |
|
|
未注册父域 |
始终开启 |
项目提供的设备树包含 HPCNNT 自动管理的启用属性。载荷会在普通设备归属机制之外访问该域,因此无线模块活动时会额外持有一项投票。无线投票有效时禁止关闭 HPCNNT。载荷完成 PMU 初始化后,reclaim 钩子会重新应用 Linux 的 HPCNNT 强制状态。参见域策略与拓扑、DTS 启用属性及投票与 reclaim 实现。
读取电源域诊断信息
for file in /sys/bus/platform/devices/*/domains; do
[ -r "$file" ] && cat "$file"
done
字段 |
含义 |
|---|---|
开头的名称 |
上表中的域名称 |
|
根据 genpd 策略标志显示 |
|
提供者跟踪的 |
|
强制控制寄存器的解释:FORCE_PD 置位时为 |
|
低六位强制控制位:复位、隔离、上电、不复位、不隔离、下电 |
|
成功的 genpd 开启 / 关闭回调计数; |
|
载荷初始化 PMU 后尝试重新应用状态的次数 |
|
状态切换期间强制控制寄存器回读失败的次数 |
|
|
尽管字段名为 hardware=,它解释的是强制控制寄存器,并非独立的电源就绪信号、电流读数或保持状态的证明。输出格式定义于 domains_show()。
系统保持配置
OpenSBI 的 APPWR 配置写入电源值 0x0000aa00 和时钟值 0x00000000。源码将它们定义为:四个 HP 内存块进入保持模式、HP 逻辑组进入下电模式,并关闭 HP 各类时钟。LP 固件提供唤醒请求。参见配置常量和进入流程。
当前挂起状态、CPU 空闲、关机与定时深度睡眠见电源管理。
功耗测量
每次测量应同时记录板卡版本、供电点与电压、USB 连接、启用的外设、无线状态、CPU 频率及仪器和采样间隔。板卡输入电流包含稳压器、USB 桥接器和 LED 的消耗,不应将其标为 CPU 电源域电流。