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.

[参考译文] AM67A:从 Linux 到 PMIC 的断电序列

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1502423/am67a-power-off-sequence-from-linux-to-pmic

器件型号:AM67A

工具/软件:

从"poweroff"命令开始断电 PMIC 电压断电的断电顺序是怎样的?

这是我认为正在发生的事情:

  1. Linux 内核将向 TF-A 中的实现发出 PSCI system off 命令
  2. TF-A 将向 sci 服务器发送消息。  
  3. ??

开放式问题:

  • 在哪里可以找到此 sci 服务器(适用于 J722S/AM67A)的源代码
  • 由于二进制文件是从 ti-linux-firmware 存储库(I 假定)获取的、因此该实现可能只是一些通用的。 但是、OTOH 的断电实际上是特定于电路板的(即取决于 PMIC、其配置等) 因此、我进一步认为、这不能是通用固件的一部分。 因此、它存储在哪里?
  • 是否存在所有相关组件的消息序列流?

谢谢、
-迈克尔

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

    您好、

    我们的专家本周正在度假。 敬请期待回复延迟。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    Linux 内核将在 TF-A 中的实现中发出 PSCI 系统关闭命令。

    正确。  

    Unknown 说:
    TF-A 将向 sci 服务器发送消息。  [/报价]

    这也是正确的。

    Linux --> ATF-->TIFS --> DM。

    Unknown 说:
    在哪里可以找到此 sci 服务器(适用于 J722S/AM67A)的源代码

    这是 j722s RTOS SDK 的一部分。

    [引述 userid="624125" url="~/support/processors-group/processors/f/processors-forum/1502423/am67a-power-off-sequence-from-linux-to-pmic
    • 它存储在哪里?
    • 是否存在所有相关组件的消息序列流?
    [/报价]

    源代码是 RTOS SDK 的一部分。 如果电路板原理图相同、则可以重复使用。

    此致、

    Keerthy  

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

    您好、

    感谢您的回答。

    源代码是 RTOS SDK 的一部分。 如果电路板原理图相同、则可以重复使用。

    您能给我指一下断电序列最终在 RTOS SDK 内部运行的代码吗?

    谢谢、
    -迈克尔

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

    您好、Michael、

    https://git.ti.com/cgit/processor-sdk/pdk/tree/packages/ti/drv/sciclient/soc sciclient_pmic.c

    J7200的实现示例。 我在内部与团队进行了检查、并且 J722s 仍未执行此操作。

    请留出一些时间来检查此问题、并在启用此功能时重新开始。

    - Keerthy

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

    尊敬的 Keerthy:

    这只是客户端、我正在寻找实际关闭电路板电源的代码。

    谢谢、
    -迈克尔

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

    您好、Michael:

    https://git.ti.com/cgit/processor-sdk/pdk/tree/packages/ti/board/src j721s2_evm/board_power.c#n60

    如上所示。 需要实施一系列 I2C 命令来关闭 PMIC 电源。

    目前它不适用于 J722s。

    - Keerthy

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

    尊敬的 Keerthy:

    谢谢。 它将是 RTOS SDK 的一部分(而不是 PDK 的一部分)? RTOS SDK 是否使用 PDK?

    此外、如果 Linux (或丰富的操作系统)和固件都使用 PMIC、这不会是资源冲突吗?

    此外、这也意味着我们必须交付自己的 PDK (货叉)、对吧? 因为我相信断电序列不能与我们的电路板搭配使用。

    -迈克尔

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

    Michael、

    另外、如果 Linux (或丰富的操作系统)和固件都使用 PMIC、这是否不是资源冲突?

    HLOS 控制 PMIC 是否有任何用例? 否则、运行 DM 的 R5F 应控制 PMIC。  

    ermore、这也意味着我们必须交付自己的 PDK (fork)、对吗? 因为我确定断电序列不适用于我们的电路板。

    是的、实现是 EVM 的参考、根据您的 PMIC 解决方案、最后一组 i2c 写入将因自定义解决方案而异。

    此致、

    Keerthy  

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

    尊敬的 Keerthy:

    HLOS 控制 PMIC 是否有任何用例? 否则、运行 DM 的 R5F 应控制 PMIC。  [/报价]

    是的、因为 HLOS 可能需要控制 PMIC 的电压。 例如、参阅 beagly-ai 板、在 Linux 中使用 PMIC:
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/ti/k3-am67a-beagley-ai.dts?h=v6.15-rc3#n357

    是的、实现可用作 EVM 的参考、根据您的 PMIC 解决方案、最后一组 i2c 写入将因自定义解决方案而异。

    这是非常糟糕的 IMHO、尤其是 Yocto 和 buildroot 使用的是 ti-linux-firmware 存储库中的固件 Blob (因此仅支持您的 EVM)。 例如,我们如何在 buildroot 中添加对我们的电路板的支持?

    是否有任何计划从特定于电路板的固件转向特定于 SoC 的固件?

    谢谢、
    -迈克尔

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

    Michael、

    以下是基本原理。 我们需要每个内核都确认 SOC 正在断电。

    Linux --> ATF (A72)--> TIFS (M3/M4)并最后 DM (R5F)获取消息以最终关闭系统。

    [引述 userid="624125" url="~/support/processors-group/processors/f/processors-forum/1502423/am67a-power-off-sequence-from-linux-to-pmic/5787101 #5787101"]

    是否有任何计划从特定于电路板的固件转向特定于 SoC 的固件?

    [/报价]

    任何解决方案(无论是 Linux 解决方案还是某些 R5F fimrware 解决方案)都将特定于电路板。 可以推导出向 SOC 输送电力的"n"种组合。 我们支持可以在 EVM 上测试的内容。

    - Keerthy

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

    尊敬的 Keerthy:

    任何解决方案、无论是 Linux 还是某些 R5F fimrware、都将特定于电路板。

    当然、区别在于、例如在构建 u-boot 时、Linux 不是固件、并且预编译的二进制文件取自 ti-linux-firmware。 因此、我可以更改 Linux 的行为(并只修改器件树)、而在不重新压缩并对构建系统投入大量精力的情况下无法更改固件的行为、因为 ti-linux-firmware 的固件完全无用。

    BR、
    -迈克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当然、不同之处在于 Linux 不是固件、而预编译的二进制文件是从 ti-linux-firmware 中获取的。 因此、我可以更改 Linux 的行为(并只修改器件树)、而在不重新压缩并投入大量精力构建系统的情况下无法更改固件的行为、因为 ti-linux-firmware 的固件完全无用。[/报价]

    使用 DM 二进制文件可以实现完全相同的效果。 预构建的一个适用于 EVM、但始终可以从 RTOS SDK 构建自定义 DM 二进制文件、并将其替换到 tispl.bin 中。

    - Keerthy

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

    尊敬的 Keerthy:

    是的、这当然是可行的、但您的所有 Linux 开发和构建基础设施都是围绕带有预编译二进制文件(如前所述仅支持 EVM)的 ti-linux-firmware 存储库发展的。 此外,你把暗灯跟随开发(和发布!) DM 二进制文件的可用性。

    谢谢、
    -迈克尔

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

    Michael、

    这是所有 J7 SoC 上的断电设计。 我可以向内部团队提供此反馈、但这就是我们支持此功能的方式。
    多个客户申请了此类设计、最终使用 MCU R5F 断电。 从 TI 的角度来看、HLOS 也可能是非 Linux 的、但 DM 是在 MCU R5F 上运行的强制软件。 因此这个设计。

    - Keerthy

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

    尊敬的 Keerthy:

    是的、请将其作为反馈。 同样、DM 进行断电也不错、但硬编码非常适合电路板、这很糟糕。 TI 在支持上游领域非常强大、因此我们选择了 TI。 想象一下、电路板支持会上传到 Linux ( 目前仅视为 HLOS)和 u-boot。 突然间、我们仍然需要发布和跟踪您的固件的开发、只是为了提供微小的细节。 因此、是的、TI 应该考虑让 DM 指定给 SoC、并使其他所有内容都可配置。

    作为一种权变措施、我们只需跳过 DM 的断电过程、让 Linux 通过 PMIC (而不是通过 PSCI)关闭电源。

    谢谢、
    -迈克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid="624125" url="~/support/processors-group/processors/f/processors-forum/1502423/am67a-power-off-sequence-from-linux-to-pmic/5794548 #5794548"]

    作为一种权变措施、我们只需跳过 DM 的断电过程、让 Linux 通过 PMIC (而不是通过 PSCI)关闭电源。

    [/报价]

    是的。 PMIC MFD 驱动器需要实现断电序列、然后应将 PMIC 节点定义为电源控制器。
    感谢您的反馈。 我将在内部分享反馈。

    - Keerthy