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.

[FAQ] TDA4VM: How to read on-die temperatures on J7 family of SoCs using Linux

Part Number: TDA4VM

There are multiple on-die sensors on the j7 family of SoCs. How to read temperature using Linux?

  • Hi,

    J7 Family of SoCs have multiple on-die sensors to read the SoC temperatures on various domains.
    They are part of the VTM module. VTM stands for voltage thermal management module.

    All the sensors are essentially doing the ADC conversions to read out the temperature & give out a digital
    value & we use polynomial equations to generate a look up table for ADC value Vs temperature & vice versa.

    For example on J721e/TDA4VM:

    On the Linux SDK: https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-J721E

    We need add 2 patches on top to get the temperature reading using Linux.

    1. Patch to add device tree nodes for the VTM module.
    2. The VTM temperature sensor driver patch.

    Below is the table with the zip of patches for multiple Linux SDK versions of J721e & J7200. This will updated as and when we have newer SDKs & newer J7 SoC family devices.

    Steps to add the patches, build & copy the updated images to SD card:

    Download the specific SDK/SOC zip file that is required & rename it as vtm.zip
    Unzip the vtm.zip to the $PSDK_Linux/board-support/linux-* folder
    cd $PSDK_PATH/board-support/linux-*
    git am vtm/*
    cd ../..
    make linux
    
    
    Insert the Linux SDK SD card.
    
    Edit the file $PSDK_PATH/Rules.make
    Set DESTDIR=/media/$USER/rootfs
    cd $PSDK_PATH
    sudo make linux_install
    

    SoC Patches on SDK 8.0 Patches on SDK 7.3 Patches on SDK 7.1 Patches on SDK 7.0
    J721e/TDA4VM SDK_8.0.zip SDK_7.3.zip SDK_7.1.zip SDK_7.0.zip
    J7200 SDK8.0.zip NA NA

    NA


    Upon booting Linux with the updated Images We can read temperatures using:

    cat /sys/class/thermal/thermal_zone*/temp


    The temperatures reported will be in milli degree centigrade.

    Best Regards,
    Keerthy