请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:PROCESSOR-SDK-J784S4 工具/软件:
目标:
将 SoC 动态转换为挂起模式(深度睡眠/保留)、但 R5F 内核由于处于运行状态而显示为阻止挂起模式。
问题摘要:
我们当前无法使用 remoteproc 或 k3conf 停止 J784S4平台上的 R5F 内核、这会阻止系统进入暂停模式。 我们需要将 SoC 置于低功耗挂起状态、但活动的 R5F 内核会阻止此状态。
详细观察结果:
- 暂停目标:
- 目标是使用标准电源管理基础设施实现从 Linux 状态暂停 SoC。
- 电源域转换被阻止、可能是由于 R5F 内核处于活动状态。
- Remoteproc 行为:
- 尝试通过以下命令从 Linux 停止 R5F 内核:
echo stop > /sys/class/remoteproc/remoteproc4/state
- 得出:
[ 43.851683] platform 5e00000.r5f: k3_r5_rproc_stop: timeout waiting for rprot [ 43.860304] remoteproc remoteproc4: can't stop rproc: -16 -sh: echo: write error: Device or resource busy
- k3conf 行为:
- 发出 k3conf proc stop r5f0_0 (或其他 R5F)不会停止处理器;状态保持运行。
- 环境:
-
为每个 R5F 正确加载固件。
-
存储器分割由 Linux 正确定义并拥有。
-
没有明显的外围设备所有权冲突。
-
请求:
- 停止或空闲 R5F 内核(例如、通过固件或安全代理)以便 SoC 进入暂停状态的正确过程是什么?
- R5F 固件中是否需要关闭挂钩来允许 remoteproc 或 k3conf 成功停止运行?
- 是否有已知的方法来分离 R5F 内核或将它们标记为未使用/空闲、以便挂起逻辑可以继续?