您好!
我们一直在查看 e2e 上的答案、例如下面的答案、并正在寻找确认是否可以在不执行 POR 的情况下重置 C6678。 我们正在寻找一 种经实践检验的机制、通过 PCIe 从外部 PCIe RC 主机进行重置。
热启动期间、复位 来自平台复位、通过执行 Windows 10重新启动、整个平台的电源保持开启状态。 Windows 10将执行 PCIe 总线复位、这会导致典型的 PCIe 卡执行其自身的复位操作、并进入与 冷复位相同的一致状态。 遗憾的是、C6678目前不以任何方式响应 PCIe 总线复位。 因此、在重新启动 Windows 10并重新加载 C6678 Windows 驱动程序时、它会发现 C6678处于未知状态。
在这种情况下、我们需要将 C6678置于一致的状态、这将通过 PCIe 对其执行复位操作。 这是 Windows 10驱动程序与外围设备通信的常见做法。 我们 所了解的是一种通过 PCIe 重置 C6678的100%可靠方法。 如果可能、请告知如何完成。
请注意、以下是当前的冷启动流程:
在冷启动期间、复位 来自断电状态、Windows 10启动并枚举 PCIe 总线。 届时 C6678完成其自身的 POR 复位并运行其引导 ROM 代码、从而支持 PCIe (因此 Windows 可以将 C6678视为 PCIe 类型器件)。 然后、用于 C6678的 Windows 10设备驱动程序将设置入站和出站转换、并使用通过 PCIe 访问其寄存器来配置 C6678。 然后、驱动程序将初始化 C6678 PLL、MSMC、DDR 并对 IBL 进行编程、指示 C6678跳转到 IBL、然后对应用程序进行编程、并指示 C6678跳转到应用程序以开始执行它。 最后、用于 C6678的 Windows 10驱动程序将会声明它已准备就绪。
以上序列运行良好。
您能否评论一下如何通过 PCIe 总线复位实现可靠的复位?
谢谢、
-Gunter
