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: smartreflex not being used

Part Number: AM5708

We are currently measuring power consumption for AM5708 and found out that in the Linux kernel SDK smartreflex code is not getting compiled even though  AVS(Adaptive Voltage Scaling) is enabled in .config .

Does AM5708 have some other implementation of AVS?.

  • Hi Reyaz,

    Few questions:

    • Can you please provide the exact config that you are looking at to determine the AVS is enabled or not?
    • Also, which version of the SDK are you using?
    • Can you check whether this config is enabled by checking the kernel configs enabled on the running target?

    Regards

    Karthik

  • Hi Karthik,

    • Can you please provide the exact config that you are looking at to determine the AVS is enabled or not?

                     I have CONFIG_POWER_AVS=y in my .config file

    • Also, which version of the SDK are you using?

                    I am using 'ti-processor-sdk-linux-am57xx-evm-05.03.00.07'

    • Can you check whether this config is enabled by checking the kernel configs enabled on the running target? 

                    As answered in the first query it is enabled.

                    

    Also can you point us to AVS software related implementation documentation for AM5708?

    Thanks,

    Reyaz

  • HHi Reyaz,

    CONFIG_POWER_AVS is not the way smartreflex is enabled on am5708.

    The am5708 supports AVS class 0 which is static. Where in the smartreflex compensated
    voltage values for each OPP(voltage/Frequency pair) is blown into the efuse and not computed
    dynamically. As and when the OPP is changed the smartreflex compensated voltage value is read
    from the efuse registers and PMIC is programmed accordingly.

    code: drivers/opp/ti-opp-supply.c

    function: _store_optimized_voltages

    ti,efuse-settings property is checked in Device tree:

    ex:                 opp_supply_mpu: opp-supply@4a003b20 {
                            compatible = "ti,omap5-opp-supply";
                            reg = <0x4a003b20 0xc>;
                            ti,efuse-settings = <
                            /* uV   offset */
                            1060000 0x0
                            1160000 0x4
                            1210000 0x8
                            >;
                            ti,absolute-max-voltage-uv = <1500000>;
                    };

    every OPP voltage value has some efuse offset which has the smartreflex compensated voltage value.

    Config option: CONFIG_ARM_TI_CPUFREQ

    If this answers your question please resolve the thread.

    Best Regards,
    Keerthy

  • Keerthy,

    If AM5708 supports only Class 0 (static) voltage scaling on the boot-up, how do we account for die temperature changes & loading? In our system, we see that AM5708's junction temperature is quite high when running Dhrystone benchmark application compared to TI's published numbers for the same application.  This is with a 25mm x 25mm heatsink at room temeperature.

    We would be interested to know the technique (heat sink used) employed to achieve the low temperature numbers published "spracg1" application note.

    Thanks.

  • Hi Vijay,

    As mentioned earlier our smartreflex solution is static. No compensation is achieved with
    varying temperatures. Every OPP has a fixed compensated value blown in the Efuse.

    I will get back to you with details on the heat sync employed in a couple of days.

    Best Regards,
    Keerthy

  • Hi Vijay,

    The part number is:
    
    CTS BDN10-3CB/A01
    
    https://www.digikey.com/product-detail/en/cts-thermal-management-products/BDN10-3CB-A01/294-1098-ND/272736


    Please resolve the query if you do not have any other questions related to topic.


    Best Regards,
    Keerthy