主题中讨论的其他器件:SK-AM62B-P1、
工具与软件:
您好!
我们正试图在使用 SDK 10的定制硬件设计上实现深度睡眠、并且发现除非我们禁用 usbss1
Linux 设备树中的节点、否则电路板无法睡眠。 个性签名 不会 必须禁用usbss0
才能使深度睡眠工作。 我们在多个板上观察到这种情况。
启用 SYSFW 跟踪后、我们可以看到usbss1
、启用后、DM LPM 序列会在启用 USB 复位隔离时失败:
Configuring trace data version to: 0x03007 0x6C000100: Power Management: PM_LPM_SEQ(Low power mode sequence): DM stub started Value: 0 0x6C000200: Power Management: PM_LPM_SEQ(Low power mode sequence): Unlocked MMRs Value: 0 0x6C000400: Power Management: PM_LPM_SEQ(Low power mode sequence): DDR in reset isolation Value: 0 0x6C007700: Power Management: PM_LPM_SEQ(Low power mode sequence): Unknown Sub Message: 0x77 Value: 0 0x7C000500: Power Management/FAIL(Action failed): PM_LPM_SEQ(Low power mode sequence): Enabled USB reset isolation Value: 0
MCU+ SDK 10中包含的 DM 源代码看起来比我们运行的版本略新、但看起来这个步骤是从通过 USB 和 USB ISO 模块的 LPSC 禁用开始的。 附件是 通过 JTAG 收集的 PSC 寄存器的转储;USB0_ISO、USB0和 USB1_ISO 在其 MDSTAT 寄存器中显示为禁用状态、但 USB1具有状态10 (我 在文档中没有看到)、PTSTAT 指示转换正在进行中。 即使在刷新 CCS 中的存储器内容几秒钟后、这些寄存器值也不会改变。 DM 内核的 UART 上的 SYSFW 跟踪停止后一两秒钟(大概是在 LPM 序列已失败之后)才进行 JTAG 连接。
PSC 寄存器:
e2e.ti.com/.../psc_2D00_regs.txt
DM 固件版本:
Sciserver Testapp Built On: Jul 25 2024 06:35:21 Sciserver Version: v2024.07.0.0-REL.MCUSDK.K3.10.00.00.08+ RM_PM_HAL Version: v10.00.08
以下是我们正在测试的修订版中的自定义器件树的链接;USB1节点与 k3-am62x-sk-common.dtsi 中的节点几乎相同、减去了连接器子节点、此外、我们意外将 DRVVBUS 引脚多路复用作为输入。 修复 DRVVBUS 引脚多路复用并移除 连接器子节点不会影响睡眠行为。 两个 USB 接口确实可以在该睡眠问题之外工作。
什么可能导致该状态变化明显挂起? 我们是否可以收集其他调试信息来帮助确定问题?
谢谢!
Zach