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.

[参考译文] AM5728:电源管理

Guru**** 2553800 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/616990/am5728-power-management

器件型号:AM5728

您好!

AM5728需要移除两个 DSP、移除两个 PRU、保留3D 加速器和两个 ARM、以便实现降低功耗的目的。  

将器件树中的 DSP 和 PRU 设置为不启用。  如下所示:

但是、功耗并未降低。  

是否有办法关闭 DSP 和 PRU 模块?  或其他降低功耗的方法。

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已通知 PM 专家。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Andre、

    您是否使用 AM572x TI EVM 或定制板? 您是否使用 AM572x TI PSDK 4.00.00.04?

    在移除 DSP1内核之前和之后、应监控以下两个寄存器值:

    PM_DSP1_PWRSTCTRL
    PM_DSP1_PWRSTST

    在删除 DSP1之前和之后、这两个寄存器中是否有相同的值?

    另请参阅以下 e2e 线程是否将提供帮助:

    e2e.ti.com/.../532489

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

    使用的 AM572x 版本为03.00.04。

    在删除 DSP1内核之前和之后、两个寄存器是相同的。

    PM_DSP1_PWRSTCTRL 的值为0x003F0000;
    PM_DSP1_PWRSTST 的值为0x00000000;

    遵循链接中方法寄存器的值、如下所示:
    devmem2 0x4A005400 w 0x3
    devmem2 0x4AE06400 w 0x003F0000
    devmem2 0x4A005420 w 0x0
    devmem2 0x4AE06410 w 0x3

    读回 SET 寄存器:

    CM_DSP1_CLKSTCTRL 的值为0x00000003;
    PM_DSP1_PWRSTCTRL 的值为0x003F0000;
    CM_DSP1_DSP1_CLKCTRL 的值为0x00070000;
    RM_DSP1_RSTCTRL 的值为0x00000003;


    基于上述情况、如何关闭 DSP 模块和 PRU 模块。

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

    根据以下寄存器值、我可以声明 DSP1已禁用(断电)

    CM_DSP1_CLKSTCTRL = 0x00000003
    CM_DSP1_DSP1_CLKCTRL = 0x00070000

    PM_DSP1_PWRSTCTRL = 0x003F0000
    PM_DSP1_PWRSTST = 0x00000000

    默认情况下、这些寄存器中有哪些值(无需进行任何修改)?

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

    默认情况下、寄存器的值为以下值、我刚刚使用 devmem2再次写入它。 默认值与我写入的值相同。

    CM_DSP1_CLKSTCTRL = 0x00000003
    CM_DSP1_DSP1_CLKCTRL = 0x00070000

    PM_DSP1_PWRSTCTRL = 0x003F0000
    PM_DSP1_PWRSTST = 0x00000000

    我们的目标是关闭两个 DSP 并关闭两个 PRU、从而降低功耗。

    如何关闭两个 DSP 和两个 PRU?
    如何降低 CPU 的功耗?

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

    [引用 user="Andre fenge">默认情况下、寄存器的值为以下值、我刚刚使用 devmem2再次写入该值。 默认值与我写入的值相同。

    CM_DSP1_CLKSTCTRL = 0x00000003
    CM_DSP1_DSP1_CLKCTRL = 0x00070000

    PM_DSP1_PWRSTCTRL = 0x003F0000
    PM_DSP1_PWRSTST = 0x00000000
    [/报价]

    这意味着 DSP1内核默认处于禁用状态(关闭电源)、您无需再禁用/关闭/关闭 DSP1一次。

    请向我提供您需要关闭的其他内核(DSP2、PRU)的默认值

    对于 DSP2内核:

    CM_DSP2_CLKSTCTRL
    CM_DSP2_DSP2_CLKCTRL
    PM_DSP2_PWRSTCTRL
    PM_DSP2_PWRSTST

    对于 PRU1:

    CM_L4PER2_PRUSS1_CLKCTRL

    对于 PRU2:

    CM_L4PER2_PRUSS2_CLKCTRL


    有关低功耗、请参阅以下链接:

    processors.wiki.ti.com/.../Linux_Core_Power_Management_User's_Guide_(v4.4)

     

     

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

    DSP2 PRU 的默认值如下所示:

    对于 DSP2内核:
    CM_DSP2_CLKSTCTRL = 0x00000003
    CM_DSP2_DSP2_CLKCTRL = 0x00070000
    PM_DSP2_PWRSTCTRL = 0x003F0000
    PM_DSP2_PWRST= 0x00000000

    对于 PRU1:
    CM_L4PER2_PRUSS1_CLKCTRL = 0x00070000

    对于 PRU2:
    CM_L4PER2_PRUSS2_CLKCTRL = 0x00070000

    通过上述寄存器,DSP PRU 是否已关闭?

    MPU 的时钟频率为1000000。

    AM5728采用了 cat /sys/devices/virtual/thermal/thermal_zone0/temp 结果是58500。

    当执行 while 程序时、温度为67000。

    如何降低 CPU 功耗?

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

    [引用 USER="ANDRE Feng)] DSP2 PRU 的默认值如下所示:

    对于 DSP2内核:
    CM_DSP2_CLKSTCTRL = 0x00000003
    CM_DSP2_DSP2_CLKCTRL = 0x00070000
    PM_DSP2_PWRSTCTRL = 0x003F0000
    PM_DSP2_PWRST= 0x00000000

    对于 PRU1:
    CM_L4PER2_PRUSS1_CLKCTRL = 0x00070000

    对于 PRU2:
    CM_L4PER2_PRUSS2_CLKCTRL = 0x00070000

    通过上述寄存器,DSP PRU 已关闭?

    是的、根据上述寄存器值、禁用 DSP2、PRU-ICSS1和 PRU-ICSS2、不应产生功耗。

    [引述 USER="ANDRE Fenge)] MPU 的时钟频率为1000000。 [/报价]

    这是什么? 您是指1000000Hz (1MHz)吗?

    [引用用户="Andre feng]AM5728 采用 cat /sys/devices/virtual/thermal/thermal_zone0/temp、结果为58500。

    当执行 while 程序时、温度为67000。 [/报价]

    有关温度处理、请参阅以下 wiki:

    processors.wiki.ti.com/.../AM57x_Thermal_Considerations

    [引用用户="Andre feng"]如何降低 CPU 功耗?

    您是否需要在工作模式期间降低 CPU (Cortex-A15)功耗? 或者您需要知道如何进入低功耗模式?

    另请参阅以下 wiki 页面是否将位于 Help 中:

    www.ti.com/.../sprac74a.pdf