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.

AM5708: Voltage scale function not getting executed

Part Number: AM5708

Hello,

With reference to our earlier question regarding the AM5708 AVS function, since the AM5708 in our board was getting very hot even with a 25mm x 25mm heatsink we tried few options in the code to check if the AVS function is getting called during u-boot.

We found that none of the printf or puts commands that we inserted in the  voltage scale function is getting executed leading us to believe this function is not getting executed in our code.  What could be the possible reason for this? Will this cause large temperature raise in the silicon if the efuse values are not optimized?

Thanks

VS

  • Hi VS,

    1) Can you share the debug prints that you have added?
    2) Can you share the output of:

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies ?

    Data Sheet:

    Only OPP_NOM is supported.

    - Keerthy

  • Keerthy,

    Please see the output of the command.

    root@am57xx-evm:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies -> 1000000

     

    Below are other commands in that folder.

    affected_cpus                  cpuinfo_transition_latency     scaling_cur_freq               scaling_min_freq

    cpuinfo_cur_freq               related_cpus                   scaling_driver                 scaling_setspeed

    cpuinfo_max_freq               scaling_available_frequencies  scaling_governor               stats/

    cpuinfo_min_freq               scaling_available_governors    scaling_max_freq

     

    Some commands outputs that seem to be relevant

    root@am57xx-evm:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  -> 1000000

    root@am57xx-evm:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed  -> <unsupported>

    root@am57xx-evm:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq -> 1000000

    root@am57xx-evm:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors  -> conservative userspace powersave ondemand performance schedutil

    root@am57xx-evm:~# cat /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus  -> 0

    Below are the details of the print commands:

    1.File name :  u-boot/arch/arm/mach-omap2/clocks-common.c

    Line number

    statement

    542

    puts("REMOVE: In scale_vcores funtion");

    587

    printf("PMIC REGISTER ADDRESS:%d \nOPP VALUE:%d \nI2C SLAVE ADDRESS:%d \n",vcores->core.addr, vcores->core.value[opp],

    vcores->core.pmic->i2c_slave_addr);

    603

    printf("PMIC REGISTER ADDRESS:%d \nOPP VALUE:%d \nI2C SLAVE ADDRESS:%d \n",vcores->mpu.addr, vcores->mpu.value[opp],

    vcores->mpu.pmic->i2c_slave_addr);

    631

    printf("PMIC REGISTER ADDRESS:%d \nOPP VALUE:%d \nI2C SLAVE ADDRESS:%d \n",vcores->gpu.addr, vcores->gpu.value[opp],

    vcores->gpu.pmic->i2c_slave_addr);

    646

    printf("PMIC REGISTER ADDRESS:%d \nOPP VALUE:%d \nI2C SLAVE ADDRESS:%d \n",vcores->eve.addr, vcores->eve.value[opp],

    vcores->eve.pmic->i2c_slave_addr);

    661

    printf("PMIC REGISTER ADDRESS:%d \nOPP VALUE:%d \nI2C SLAVE ADDRESS:%d \n",vcores->iva.addr, vcores->iva.value[opp],

    vcores->iva.pmic->i2c_slave_addr);

    671

    puts("REMOVE: exiting scale_vcores funtion");

    909

    printf("REMOVE: In prcm_init function: %d\n",omap_hw_init_context());

    924

    puts("REMOVE: exiting prcm_init function\n");

     

    2.File name :  u-boot/arch/arm/mach-omap2/hwinit-common.c

    Line number

    statement

    206

    puts("REMOVE: early_system_init is calling prcm_init");

    225

    puts("REMOVE: arch_cpu_init_dm is calling early_system_init");

    330

    puts("**REMOVE** CPU  : ");

     

    3.File name :  u-boot/common/board_f.c

    Line number

    statement

    889

    puts("**REMOVE** in board_init_f");

    148

    puts("**REMOVE** DRAM:  ");

     

    4.File name :  u-boot/arch/common/board_info.c

    Line number

    statement

    27

    {

    29

    printf("**REMOVE** MODEL: %s\n", model);

    30

    }

    Thanks

    VS

  • Hi VS,

    Can you also mention the SDK Version that you are using?

    - Keerthy

  • Keerthy,

    ti-processor-sdk-linux-am57xx-evm-05.03.00.07
    Thanks
    VS
  • Hi Sainath,

    That is because all of those prints that you have added are before the uart gets
    enabled. You can try to probe voltages of individual rails. (SMP12, SMPS45, SMPS6, SMPS7).

    I believe AVS class 0 should be working.

    - Keerthy