The Voltage and Thermal Management (VTM) controls the temperature monitors in the die. The VTM provides interrupt and event generation for overtemperature through the Error Signaling Module (ESM). It supports 3 different alerts:
- an early alert so that firmware/software can start doing high-temperature thermal management,
- a follow-up interrupt for reporting to firmware/software that the temperature has dropped to a safe level,
- and a late interrupt whose high level can be used to trigger a hardware-voltage domain reset
SDL supports configuration of the VTM voltage domain and temperature warning. The 3 different alerts are also supported via the SDL ESM Handler, like all other ESM events. The SDL API can also be used to configure the VTM Maximum temperature threshold.
The VTM module provides the following functionality for the application
- Ability to initialize VTM
- Ability to check the status of the temperature sensor based on alert temperature
- Ability to clear and contorl the VTM event inerrupts
SysConfig Features
Features NOT Supported
Important Usage Guidelines
Example Usage
The following shows an example of SDL VTM API usage by the application to set up the VTM for monitoring for events. Events can be monitored by enabling the events in the associated ESM instance.
Configure the VTM Thresholds and enable events
int32_t retValue;
uint32_t temp0, temp1, temp2, temp3;
int32_t alert_th_hot, alert_th_cold;
void (*pTSenseHInterruptHandler)(void *);
void (*pTSenseLInterruptHandler)(void *);
pTSenseHInterruptHandler = &SDL_TS_hiInterruptHandler;
pTSenseLInterruptHandler = &SDL_TS_loInterruptHandler;
intrParams.
intNum = SDL_R5FSS0_CORE0_INTR_TSENSE_H;
intrParams.
callback = (*pTSenseHInterruptHandler);
intrParams.
intNum = SDL_R5FSS0_CORE0_INTR_TSENSE_L;
intrParams.
callback = (*pTSenseLInterruptHandler);
alert_th_hot = 58000;
alert_th_cold = 72000;
Convert from Temperature to ADC Code
int32_t temp_val = 64000;
Convert from ADC Code to Temperature
int32_t temp_val;
SDL_VTM_tsConvAdcToTemp(adc_code, &temp_val);
Get Current Temperature Value
Acknowledge and Disable an interrupt
API
APIs for VTM