器件型号: TDA4VM
尊敬的 TI 团队:
在我们电路板上的耐用性运行期间、发生了一个 ESM 事件、该事件导致连接的 TPS6594x PMIC 将 SoC 复位。
重新启动后、我们需要确定哪个 ESM 事件导致了重置。 但是、我们发现在 U‑Boot 的 K3_ESM 驱动器探测函数内很早就清除了 ESM 故障状态。 因此、在我们有任何机会对其进行检查或记录之前、会清除上一次引导中的所有 ESM 原始状态位。
相关的 U‑引导代码 (drivers/MISC/k3_ESM.c):
writel(ESM_SFT_RST_KEY, base + ESM_SFT_RST);
for (i = 0; i < num_pins; i++) {
esm_intr_prio_set(base, pins[i]);
esm_clear_raw_status(base, pins[i]); // ESM registers cleared
esm_pin_enable(base, pins[i]);
esm_intr_enable(base, pins[i]);
}
writel(ESM_EN_KEY, base + ESM_EN);
问题:
TI 是否提供有关在 PMIC‑触发复位之间记录 ESM 故障的指导或最佳实践?
是否有人成功为 Jacinto 器件实现了持续 ESM 故障记录?
如果有任何关于如何在 U‑Boot 清除 ESM 状态之前可靠地捕获根本原因的建议、我们将不胜感激。
提前感谢!
Peiren