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.

[参考译文] PROCESSOR-SDK-AM437X:I²C TPS65216 控制寄存器 OFFnPFO 设置和`写入程序'

Guru**** 2540720 points
Other Parts Discussed in Thread: AM4378, TPS65216

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1554806/processor-sdk-am437x-confirmation-on-tps65216-control-register-offnpfo-setting-and-i2c-write-procedure

器件型号:PROCESSOR-SDK-AM437X
主题中讨论的其他器件:AM4378TPS65216

工具/软件:

您好、

我们将 AM4378 与 TPS65216 PMIC 一起使用、我们希望在电源电压下降时、按照数据表中所述启用控制寄存器 (0x06) 位 1 (OFFnPFO)、关闭所有电源轨。

我们的理解如下。 能否请您确认是否正确?

  1. 对 OFFnPFO 位进行控制的方法是写入 PMIC 的 μ I²C 寄存器、而不是任何 AM4378 内部寄存器。

  2. 没有用于直接配置 OFFnPFO 的设备树 (DTS) 属性、因此不能只通过 DTS 进行设置。

  3. 要在引导时自动应用此设置、需要在 U-Boot 初始化中添加 I²C 写入、或修改 Linux 驱动程序以在探测期间配置该位。

  4. Linux 引导后、也可以使用i2cset用户空间中的命令动态更改设置。

  5. 控制寄存器在下电上电时复位、因此需要在每次引导时应用该设置。

I²C、我们想问一下确切的 μ T 写入过程:

  • 只需写入0x02寄存器0x06(例如)是否足够,或者是否必须执行读取 — 修改i2cset -y <bus> <addr> 0x06 0x02-写入以保留保留保留位?

  • 我们是否应该采取任何具体的预防措施(例如寄存器解锁序列,时序限制,建议的序列)?

谢谢、

Conor

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

    尊敬的 Conor:

    对延迟深表歉意。 我已将此主题重新分配给 PMIC 团队进行评论。

    关于 I2C 命令、可以读取/写入 PMIC。 我将让 PMIC 团队就正确的寄存器读取/写入过程进行注释。  

    谢谢、

    Anshu

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

    尊敬的 Anshu:

    谢谢你。 我们期待收到 PMIC 团队的回复。

    谢谢、

    Conor

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

    尊敬的 Anshu:

    在结合 AM4378 和 TPS65216 的系统中、我想详细了解启用控制寄存器 (0x06) 的位 1 (OFFnPFO) 的过程、以便在驱动电压下降时关闭 PMIC 侧的所有电源轨。 TPS65216 设置的时序也很重要、但我想知道 AM4378 侧主要需要哪些设置。

    谢谢、

    Conor

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

    尊敬的 Conor:  

    关于 PMIC、  

    是的、您的理解是正确的。
    该  OFFnPFO 位是 PMIC 寄存器的一部分、将通过 I2C 直接写入 PMIC。 下电上电时它将复位为默认值“0"值“值、因此每次引导时都需要将其设置为该值。  

    只需将 0x02 直接写入地址 0x06 就可以了。
    保留位 应保持为 0、因此这不会 影响保留位。  

    0x06 不是受密码保护的寄存器、因此无需任何解锁序列。

    我将让 Anshu 对 AM4378 的任何时序要求发表评论。

    此致、  
    Sarah

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

    您好、Sarah 和 Anshu、

    我想确认另外一件事。 如果通过 I2C 通信进行配置、是否需要在 Linux 启动后执行配置?

    如果正确、Linux 启动之前可能会出现电压降、因此我想在 Linux 启动之前执行配置。

    如果在 Linux 启动之前通过 I2C 通信进行配置、您是否需要将配置写入器件树文件或类似文件?

    谢谢、

    Conor

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

    尊敬的 Conor:
    让我回电话询问软件团队、看看他们能否回答这个问题。  

    此致、  
    Sarah  

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

    您好、Sarah:

    我们期待收到软件团队的更新。

    谢谢、

    Conor

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

    尊敬的 Conor:  

    我与软件团队进行了交谈。

    userspace 命令仅在 Linux 启动后才可用。
    需要开启 PMIC、以便 I2C 通信正常工作、才能写入该寄存器。

    遗憾的是、此位位于光伏存储器中、因此不能硬编程为“1"。“。 每次下电上电后都必须在引导时设置该位。

    此致、  
    Sarah

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

    您好、Sarah:

    感谢您对 TPS65216 中 OFFnPFO 位(控制寄存器 0x06)的阐释。

    总结一下我确认的内容:

    • OFFnPFO 位位于易失性寄存器中、每次下电上电后复位为“0",“,因此、因此在每次引导时必须重写该位。

    • 一旦 PMIC 通电且 μ I²C 通信可用、就可以通过 I²C μ s 写入该位、在典型使用情况下、当 Linux 启动后、诸如之类的用户空间工具i2cset可用时、就是这种情况。

    但是、我们的客户担心 Linux 完全启动之前会出现电压降的情况。 在这种情况下、它们需要在 Linux 初始化之前激活 OFFnPFO 设置。

    考虑到这一点、请你确认以下几点:

    1. 是否可以通过设备树设置 OFFnPFO 位、以便在 Linux 内核引导之前应用该位?

    2. 如果没有、那么适当可靠的方法是在 U-Boot 的初始化代码 (SPL 或 MAIN) 中实现 I²C 写入以确保在 Linux 启动之前设置该位是否正确?

    谢谢、

    Conor

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

    尊敬的 Conor:

    -可以通过 DT 文件和 Linux 代码驱动程序修改设置 OFFnPFO 位。 DT 文件用于描述硬件、 因此如果涉及到驱动程序更改、我不建议使用此选项。

    -我建议在  U-Boot 期间使用 I2C 写入。 您可以使用以下 U-Boot I2C 命令:  

    i2c mw <chip> <register_address>[.<address_length>] <value> <length>
    希望这对您有所帮助!