AM623: Thermal shut down sequence

Part Number: AM623

Tool/software:

Hi,

My customer wants to implement thermal shutdown mechanism by themselves.
Please note that they are not using Linux SDK. They uses VxWorks.
I know Linux SDK has such thermal management features.
https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/11_01_05_03/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/VTM.html#voltage-thermal-management-vtm

The customer is asking shut down sequence used in Linux SDK so that they can implement it.
Could you let me know the shut down sequence in details ?

Thanks and regards,
Koichiro Tashiro

  • Hi Tashiro-san,

    There is a hardware and a software component to thermal shutdown. When the device 'enters thermal shutdown', its not completely off so it can execute a reboot when safe to do so.

    Hardware Defined Thermal Shutdown

    Within the AM62x processor, there are two on-die temperature sensors as indicated in this FAQ:  [FAQ] AM625 / AM623 / AM620-Q1 / AM62Ax / AM62D-Q1 / AM62Px / AM62L / AM64x / AM243x (ALV, ALX) Custom board hardware design – Voltage and Thermal Manager (VTM) 

    These sensors will measure the junction temperature and send the data to the VTM module. The software will need to configure the VTM's readings, define the critical temperature point at which temperature thermal shutdown should occur, and a safe temperature to reboot the SoC.

    When the temperature sensors read a value above the critical temperature point, it will put the SoC into thermal reset until the SoC cools down to a safe temperature based on the temperature senor's readings. When the SoC is in thermal reset, the VTMs will remain on to continue read the junction temperature and determine if its safe to reboot the SoC.

    Refer to 6.2.5.5 Voltage and Thermal Manager (VTM) in the AM62x TRM: https://www.ti.com/lit/ug/spruiv7b/spruiv7b.pdf

    Software Configuring the VTM

    The software is responsible for configuring the hardware in this case. Refer to the VTM Linux driver: git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/thermal/k3_j72xx_bandgap.c?h=ti-linux-6.12.y

    You can see in 'k3_j72xx_bandgap_init_hw' that software will need to initialize the VTM module using register writes including configuring the temperature sensors, defining the critical shutdown temperature and the cool down temperature.

    The way the linux driver is defined, critical shutdown will occur at 123C to account for any inaccuracy of the VTM module. Then once the SoC is in thermal reset, it will have to cool to 105C before attempting to reboot.

    There is a bit called 'K3_VTM_ANYMAXT_OUTRG_ALERT_EN' which enable the thermal shutdown mechanism.

    Software Defined thermal shutdown

    In the SDK docs link that you shared, that is the software defined thermal shutdown. The mechanism I described above is for hardware defined thermal shutdown.

    In software defined thermal shutdown, the same VTM temperature values are periodically checked against the temperature ranges defined in the device tree. In the case that the VTM temperature value exceeds the device tree trip point, then thermal_core.c (https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/thermal/thermal_core.c?h=ti-linux-6.12.y) will be called to execute a software based thermal shutdown. When this occurs, Linux will shutdown and will require a reboot afterwards.

    The software defined thermal shutdown and the hardware thermal shutdown typically work cooperatively.

    The software defined thermal shutdown is not required since the Linux driver will just configure the VTM registers to execute the thermal shutdown. So the device tree and themal_core.c portions might not be needed depending on the customer application.

    Please be aware that VXWorks is beyond TI support scope on the E2E forums.

    Thanks,

    Anshu