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.

Linux/AM5728: OPP configuration issue

Part Number: AM5728

Tool/software: Linux

Hi all,

We made a 5728 custom board and want evaluate its power.We did a test compare with EVM board.When I set the cpu governor as powersave,the opp mode is opp_nom,cpu run at 1GHz,The VDD_MPU should be 0.92v according to the AM572x_Power_Spreadsheet

But when I cat /sys/class/regulator/regulator.5/microvolts,the value is 1070000 on our board and 980000 on EVM board.The value is stable at powersave mode,I want to low down the volts of our board,I've checked the DTS file,“opp-microvolt = <1060000 850000 1150000>“,Did that mean the left value is typical,middle one is min and the right one is the max of opp-microvolt?

cpu0_opp_table: opp_table0 {
compatible = "operating-points-v2-ti-cpu";
ti,syscon-efuse = <&scm_wkup 0x20c 0xf80000 19>;
ti,syscon-rev = <&scm_wkup 0x204>;

opp_nom@1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <1060000 850000 1150000>, 
<1060000 850000 1150000>;
opp-supported-hw = <0xFF 0x01>;
opp-suspend;
};

opp_od@1176000000 {
opp-hz = /bits/ 64 <1176000000>;
opp-microvolt = <1160000 885000 1160000>,
<1160000 885000 1160000>;

opp-supported-hw = <0xFF 0x02>;
};

opp_high@1500000000 {
opp-hz = /bits/ 64 <1500000000>;
opp-microvolt = <1210000 950000 1250000>,
<1210000 950000 1250000>;
opp-supported-hw = <0xFF 0x04>;
};
};

 

I 've tried to config this property but failed,changing the value of thie property will cause some error.Could u tell me how to low down the VDD_MPU and the rule to config the opp-microvolt property. 

Another question is that after i disable one cpu core during the running,the power of our custom board didn't reduce at all.Is reducing cpu core has no effect on power saving? 

Any insight on this is welcome.

Thanks

  • Hi,

    The short answer to your question is this: the voltage value you are seeing cannot be changed and will vary device-to-device, as you see on your board versus the EVM.

    The longer explanation is the voltage you are measuring comes from values that are burned into the device during manufacture, and are based on process.  This is called Adaptive Voltage Scaling (AVS).  You will see some variation from device-to-device.

    The values in the device tree present the acceptable range per OPP, over the range of process:   <Nominal Vmin Vmax>

    This page describes the opp-microvolt property: https://www.kernel.org/doc/Documentation/devicetree/bindings/opp/opp.txt

    Regards,
    Mike

  • Thanks for your reply
    Can I low down the voltage if I update opp_table with lower cpu frequency like 800M with custom opp-microvolt propertr?Or did u mean the value I am seeing is the lowest voltage I can achieve?And another question is whether shutdown one cpu core will reduce the power or not
  • Hi,

    The voltage you are seeing is the lowest voltage you can achieve with the part you're looking at. Others can be lower or higher.

    With AVS enabled you cannot lower the voltage through the opp_table. The AVS voltage set at the factory is derived from extensive characterization, and as I said, is process dependent, so some devices will be "hotter" than others.

    Defining your own OPPs is up to you, however TI only tests and validates for the three frequencies in the OPP table. If you did create a lower frequency OPP, you must use the OPP_NOM voltage, i.e., 1.06V.

    You should be able to programmatically disable a core through the sysfs:

    echo 0 > /sys/devices/system/cpu/cpu1/online

    Regards,
    Mike

  • Thanks,
    I know how to disable the core but the power didn't reduced after I disable one core.Is it right that one core cost less power than two core?
  • And what did u mean others can be lower or higher?Is there any other voltage I can config?All i want to do is reducing our board's power
  • Optimal supply voltage on the AVS rails varies based on silicon process.

    When you measured power with a core disabled, was your system idle, or were you running a load? Was it a multithreaded load?

    Have you measured the power consumption of the ARM core? During idle periods the ARM core automatically enters idle and should not be consuming significant power to the overall system power consumption.

    What is the power budget of your system allocated to the processor?
  • Thanks for your help,
    According to your words the voltage I am measuring comes from values that are burned into the device during manufacture, and are based on process.Is there any AM5728 processor with lower voltage,in other word,any low voltage version AM5728 processor?If so,how can I get them?
    Regards,
    Boycchi