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: Power management

Part Number: AM5728

Hi,

AM5728 need to remove the two DSP, remove the two PRU, retain the 3D accelerator and two ARM, so as to achieve the purpose of reducing power consumption. 

Set the DSP and PRU in the device tree to not be enabled.  As shown below:

However, power consumption has not decreased. 

Is there a way to shut down the DSP and PRU modules?  Or other ways to reduce power consumption.

Thank you.

  • The PM experts have been notified. They will respond here.
  • Hi Andre,

    Do you use AM572x TI EVM or custom board? Do you use AM572x TI PSDK 4.00.00.04?

    You should monitor the below two register values before and after removing the DSP1 core:

    PM_DSP1_PWRSTCTRL
    PM_DSP1_PWRSTST

    Do you have the same value in these two registers before and after removing DSP1?

    See also if the below e2e thread will be in help:

    e2e.ti.com/.../532489

    Regards,
    Pavel
  • Hi Pavel,

    The AM572x version used is 03.00.00.04.

    Two registers are the same before and after removing the DSP1 kernel.

    PM_DSP1_PWRSTCTRL has a value of 0x003F0000;
    PM_DSP1_PWRSTST has a value of 0x00000000;

    Follow the values of the method registers in the link as follows:
    devmem2 0x4A005400 w 0x3
    devmem2 0x4AE06400 w 0x003F0000
    devmem2 0x4A005420 w 0x0
    devmem2 0x4AE06410 w 0x3

    Read back the set register:

    CM_DSP1_CLKSTCTRL has a value 0x00000003;
    PM_DSP1_PWRSTCTRL has a value of 0x003F0000;
    CM_DSP1_DSP1_CLKCTRL has a value 0x00070000;
    RM_DSP1_RSTCTRL has a value 0x00000003;


    Based on the above situation how to close the DSP module and PRU module.

    Regards,
    Andre
  • Hi Andre,

    Based on the below registers values, I can state that DSP1 is disabled (powered off)

    CM_DSP1_CLKSTCTRL = 0x00000003
    CM_DSP1_DSP1_CLKCTRL = 0x00070000

    PM_DSP1_PWRSTCTRL = 0x003F0000
    PM_DSP1_PWRSTST = 0x00000000

    What values you have in these registers by default (without any of your modifications)?

    Regards,
    Pavel
  • Hi Pavel,

    By default, the value of the register is the following value, and I just wrote it again with devmem2. The default value is the same as the value I wrote.

    CM_DSP1_CLKSTCTRL = 0x00000003
    CM_DSP1_DSP1_CLKCTRL = 0x00070000

    PM_DSP1_PWRSTCTRL = 0x003F0000
    PM_DSP1_PWRSTST = 0x00000000

    Our goal is to turn off two DSP and turn off two PRU, thus reducing power consumption.

    How do you close two DSP and two PRU ?
    How to reduce the power consumption of CPU ?

    Regards,
    Andre
  • andre feng said:
    By default, the value of the register is the following value, and I just wrote it again with devmem2. The default value is the same as the value I wrote.

    CM_DSP1_CLKSTCTRL = 0x00000003
    CM_DSP1_DSP1_CLKCTRL = 0x00070000

    PM_DSP1_PWRSTCTRL = 0x003F0000
    PM_DSP1_PWRSTST = 0x00000000

    This means that DSP1 core is disabled by default (power off), and you do not need to disable/close/power off DSP1 one more time.

    Please provide me the default values of your other cores that you need to power off (DSP2, PRU)

    For DSP2 core:

    CM_DSP2_CLKSTCTRL
    CM_DSP2_DSP2_CLKCTRL
    PM_DSP2_PWRSTCTRL
    PM_DSP2_PWRSTST

    For PRU1:

    CM_L4PER2_PRUSS1_CLKCTRL

    For PRU2:

    CM_L4PER2_PRUSS2_CLKCTRL


    Regarding low power consumption, refer to the below links:

    http://processors.wiki.ti.com/index.php/Linux_Core_Power_Management_User's_Guide_%28v4.4%29

     

     

  • Hi pavel,

    The default values for the DSP2 PRU are as follows:

    For DSP2 core:
    CM_DSP2_CLKSTCTRL = 0x00000003
    CM_DSP2_DSP2_CLKCTRL = 0x00070000
    PM_DSP2_PWRSTCTRL = 0x003F0000
    PM_DSP2_PWRSTST = 0x00000000

    For PRU1:
    CM_L4PER2_PRUSS1_CLKCTRL = 0x00070000

    For PRU2:
    CM_L4PER2_PRUSS2_CLKCTRL = 0x00070000

    Through the above register DSP PRU has been closed ?

    The clock frequency of the MPU is 1000000.

    AM5728 powered on cat /sys/devices/virtual/thermal/thermal_zone0/temp The result is 58500.

    When the while program is executed, the temperature is 67000.

    How to reduce CPU power consumption ?

    Regards,
    Andre
  • andre feng said:
    The default values for the DSP2 PRU are as follows:

    For DSP2 core:
    CM_DSP2_CLKSTCTRL = 0x00000003
    CM_DSP2_DSP2_CLKCTRL = 0x00070000
    PM_DSP2_PWRSTCTRL = 0x003F0000
    PM_DSP2_PWRSTST = 0x00000000

    For PRU1:
    CM_L4PER2_PRUSS1_CLKCTRL = 0x00070000

    For PRU2:
    CM_L4PER2_PRUSS2_CLKCTRL = 0x00070000

    Through the above register DSP PRU has been closed ?

    Yes, based on above registers values, DSP2, PRU-ICSS1 and PRU-ICSS2 are disabled and should not generate power consumption.

    andre feng said:
    The clock frequency of the MPU is 1000000.

    What is this? Do you mean 1000000Hz (1MHz)?

    andre feng said:
    AM5728 powered on cat /sys/devices/virtual/thermal/thermal_zone0/temp The result is 58500.

    When the while program is executed, the temperature is 67000.

    Regarding temperature handling, refer to the below wiki:

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

    andre feng said:
    How to reduce CPU power consumption ?

    Do you need to reduce CPU (Cortex-A15) power consumption during active mode? Or you need to know how to enter into low power mode?

    See also if the below wiki page will be in help:

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