This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TPS65994AD:TPS65994BH:Re 计时器 FW 故障、具有 F909.12.30

Guru**** 2496895 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1460857/tps65994ad-tps65994bh-re-timer-fw-failure-with-f909-12-30

器件型号:TPS65994AD
主题中讨论的其他器件:TPS65994BH

工具与软件:

尊敬的 TI

对于英特尔在 BIOS 中重新定时固件封装更新、我遇到固件更新问题。

我的环境:  

CPU:Intel Meteor Lake

操作系统:  Win11 24H2

重定时器固件: HBR_MTLARL_MPS_A0_6.23.1V3_Rel_ALL_Prod_PV1_External_SEC1_sign.bin

尝试更新至: HBR_MTLARL_ALL_ALL_6.24.2V2_Rel_ALL_SEC1_PROD_external_sign.bin

1.使用 F909.12.06基础版,我可以成功执行重定时器封装更新(安装驱动程序后,WIN11重启,BIOS 可以更新重定时器固件,BIOS 中的进度条在60秒内完成)

2. 在 F909.12.30基础上,我无法成功执行重定时器封装更新(安装驱动程序后,WIN11重启,BIOS 可以更新重定时器固件,BIOS 中的进度条在7秒内完成)

3.缩小问题范围:WIN11设备管理器>设备固件>固件版本

在 F909.12.06基础版中、设备固件版本可以将固件版本显示为26F (623)

在 F909.12.30基础版中、设备固件版本始终显示为0

4. 下面是我强制 BIOS 获取 固件 版本的步骤: 在 UEFI shell 中,删除变量 TbtRetimer1Version

5.是否需要将 pjt 文件发送给您,如果是,发送到哪里?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我们的团队成员将很快回复此问题。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、帕特里克!  

    UEFI 胶囊更新通过将重定时器设置为重定时器固件更新模式来完成、通常通过 EC 的 I2C1接口来控制 PD 控制器。 然后、PD 控制器将通过 I2C3接口来格式化重定时器。  

    F909.12.30似乎出现闪烁问题。 我想问是什么促使需要从 F909.12.06迁移至 F090.12.30?  

    谢谢!

    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Chis

    1.因为如果我们不使用  F909.12.30、我们不能通过 PD 化(USB4.USB4.EUSB.05 tEnterUSBWait 检查是否符合 PD DFP)

    2.但要让重定时器胶囊成功更新,我们必须使用  F909.12.06作为基础。

    3.一些问题,我是库里乌斯。

    UEFI 胶囊更新通过将重定时器设置为重定时器固件更新模式来完成、通常通过 EC 的 I2C1接口来控制 PD 控制器。 然后、PD 控制器将通过 I2C3接口来格式化重定时器。  

    -->只是好奇、我可以通过使用海登大桥的哪个寄存器来知道吗(0x04? 0x05? 0x07?)、PD 格式重定时器?

    ----我猜 BIOS 会使用 LSX 信号来告诉重定时器做一些 Flash 工作。(我参考 Hayden Bridge 1.28.pdf、重定时器日期表)  

    Thansk

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很好奇、我可以通过使用海登大桥的哪一个注册表(0x04? 0x05? 0x07?)、PD 格式重定时器?[/QUOT]

    0x07。 我将继续进行与 TPS65994BH 器件相关的讨论、以避免进行 NDA 讨论。 这是我认为失败的过程、需要您的帮助进行确认。  

    • BIOS 将设置 TPS65994BH 的0x52寄存器中的位15。 这启用了重定时器合规性支持。 这是通过 I2C1完成的  
    • 接下来、EC 将驱动 GPIO 或发送4CC 'Trig'命令。 如果您的 PJT 有一个分配给'I2C_OVR_Force_PWR_Event (42)的 Retimer_So、则 I2C1不应发送4CC 命令。
      • GPIO 选项:系统(EC 或某些其他器件)会将分配给 GPIO_387OVR_Force_PWR_Event 的 Retimer_So 驱动至高电平。 这将导致启用重定时器信号。
      • 4CC 选项:I2C1将发送4CC 'Trig'命令、其中 EdgeType =上升沿(0x01)、GPIO 事件='RIRQIN_Context_PWR_Event Etimer_So (0x2A)
    • 当 GPIO/4CC 将此事件驱动为高电平时、PD 将向重定时器的0x07寄存器发送写入数据。 然后读回0x07寄存器。

    我怀疑您看到的问题是、I2C3写入0x07的操作在启动时达到重定时器的峰值。 下面是需要您帮助进行进一步调试的内容:  

    • 您可以探测 I2C1 + I2C3吗? 重定时器使能信号(RESET_N 和 LS_EN)也不错、但不需要)。 理想情况下、应在 Ellisys 或 Saleae 逻辑分析仪上捕获这些电流。  
    • 请分享您的 PJT、以便在我的系统上试用

    后续问题:

    • 如果我们找到需要修改 EC 代码的解决方案/修复、这将是适合您的解决方案? 此修改可能与时序相关、也可能是重新发送4CC 命令。  

    谢谢!

    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Chris

    很抱歉迟到了。

    这里是从胶囊更新中捕获的故障、您可以看到来自 PD -> Re 计时器的0x07命令。

    这里也尝试这个 pjt i 使用(基于  F909.12.30 )。 当您下载它时、请删除它、或让我知道、然后我可以删除它。

    BTW、我们使用 EC Less、我们的 BIOS 不会 在0x52中设置位15。

    但 BIOS 已设置0x29中的位11、并检查0x59中的位2。

    并使 发生 Retimer_So 4.12.4_OVR_Force_PWR_Event (将 GPP_B21设置为高电平)。

    它可以使用 F909.12.06成功进行胶囊更新。

    但 无法 使用 F909.12.30成功更新

    e2e.ti.com/.../TITANIUM_5F00_TPS65994BH_5F00_v2.1.0.pjt

     e2e.ti.com/.../After_5F00_del_5F00_TbtRetimer1Version.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已下载文件。  

    存在一个导致此故障的时序问题。  

    F909.12.30发生了变化、其中 PD 将不再重试5次0x07写入。 现在可以通过以下时序调整来缓解这种问题:

    • 强制 GPIO 需要在写入0x29位11之前很好地发送。 (100+ms)
      • P3V3_HBR 看起来是重定时器的电源轨。 上电后、重定时器需要~120ms 才能从 SPI 加载固件。 预计每当启动重定时器固件更新过程时、重定时器都将退出复位状态、并已完成从 SPI 的初始加载。  

      因此、建议的更改:

      • 在将强制 GPIO 置为有效之前、确保从 SPI 加载重定时器具有120ms 的时间
      • 在发送强制 GPIO 后超过100ms 之前、请勿设置0x29中的位11
    • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      你好、 Chris。

      感谢分析、我将尝试一下并告知您。^^(在发送强制 GPIO 后超过100ms 之前、请勿设置0x29中的位11)

    • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      感谢 Patrick 的更新! 如果可能、请在测试期间捕获任何 Saleae 日志并提供通过/失败更新!