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:

    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
    Unzip the 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
    J7200 NA NA


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

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

    The temperatures reported will be in milli degree centigrade.

    Best Regards,