TT Zephyr Platforms 18.11.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
telemetry.h File Reference
#include <stdbool.h>
#include <stdint.h>

Go to the source code of this file.

Macros

#define TELEMETRY_VERSION
#define TAG_BOARD_ID_HIGH   1
#define TAG_BOARD_ID_LOW   2
#define TAG_ASIC_ID   3
#define TAG_HARVESTING_STATE   4
#define TAG_UPDATE_TELEM_SPEED   5
#define TAG_VCORE   6
#define TAG_TDP   7
#define TAG_TDC   8
#define TAG_VDD_LIMITS   9
#define TAG_THM_LIMIT_SHUTDOWN   10
#define TAG_ASIC_TEMPERATURE   11
#define TAG_VREG_TEMPERATURE   12
#define TAG_BOARD_TEMPERATURE   13
#define TAG_AICLK   14
#define TAG_AXICLK   15
#define TAG_ARCCLK   16
#define TAG_L2CPUCLK0   17
#define TAG_L2CPUCLK1   18
#define TAG_L2CPUCLK2   19
#define TAG_L2CPUCLK3   20
#define TAG_ETH_LIVE_STATUS   21
#define TAG_GDDR_STATUS   22
#define TAG_GDDR_SPEED   23
#define TAG_ETH_FW_VERSION   24
#define TAG_GDDR_FW_VERSION   25
#define TAG_DM_APP_FW_VERSION   26
#define TAG_DM_BL_FW_VERSION   27
#define TAG_FLASH_BUNDLE_VERSION   28
#define TAG_CM_FW_VERSION   29
#define TAG_L2CPU_FW_VERSION   30
#define TAG_FAN_SPEED   31
#define TAG_TIMER_HEARTBEAT   32
#define TAG_TELEM_ENUM_COUNT   33
#define TAG_ENABLED_TENSIX_COL   34
#define TAG_ENABLED_ETH   35
#define TAG_ENABLED_GDDR   36
#define TAG_ENABLED_L2CPU   37
#define TAG_PCIE_USAGE   38
#define TAG_INPUT_CURRENT   39
#define TAG_NOC_TRANSLATION   40
#define TAG_FAN_RPM   41
#define TAG_GDDR_0_1_TEMP   42
#define TAG_GDDR_2_3_TEMP   43
#define TAG_GDDR_4_5_TEMP   44
#define TAG_GDDR_6_7_TEMP   45
#define TAG_GDDR_0_1_CORR_ERRS   46
#define TAG_GDDR_2_3_CORR_ERRS   47
#define TAG_GDDR_4_5_CORR_ERRS   48
#define TAG_GDDR_6_7_CORR_ERRS   49
#define TAG_GDDR_UNCORR_ERRS   50
#define TAG_MAX_GDDR_TEMP   51
#define TAG_ASIC_LOCATION   52
#define TAG_BOARD_POWER_LIMIT   53
#define TAG_INPUT_POWER   54
#define TAG_TDC_LIMIT_MAX   55
#define TAG_THM_LIMIT_THROTTLE   56
#define TAG_FW_BUILD_DATE   57
#define TAG_TT_FLASH_VERSION   58
#define TAG_ENABLED_TENSIX_ROW   59
#define TAG_THERM_TRIP_COUNT   60
#define TAG_ASIC_ID_HIGH   61
#define TAG_ASIC_ID_LOW   62
#define TAG_AICLK_LIMIT_MAX   63
#define TAG_TDP_LIMIT_MAX   64
#define TAG_COUNT   65
#define TELEM_OFFSET(tag)

Functions

void init_telemetry (uint32_t app_version)
uint32_t ConvertFloatToTelemetry (float value)
float ConvertTelemetryToFloat (int32_t value)
int GetMaxGDDRTemp (void)
void StartTelemetryTimer (void)
void UpdateDmFwVersion (uint32_t bl_version, uint32_t app_version)
void UpdateTelemetryNocTranslation (bool translation_enabled)
void UpdateTelemetryBoardPowerLimit (uint32_t power_limit)
void UpdateTelemetryThermTripCount (uint16_t therm_trip_count)
bool GetTelemetryTagValid (uint16_t tag)
uint32_t GetTelemetryTag (uint16_t tag)

Macro Definition Documentation

◆ TAG_AICLK

#define TAG_AICLK   14

◆ TAG_AICLK_LIMIT_MAX

#define TAG_AICLK_LIMIT_MAX   63

◆ TAG_ARCCLK

#define TAG_ARCCLK   16

◆ TAG_ASIC_ID

#define TAG_ASIC_ID   3

◆ TAG_ASIC_ID_HIGH

#define TAG_ASIC_ID_HIGH   61

◆ TAG_ASIC_ID_LOW

#define TAG_ASIC_ID_LOW   62

◆ TAG_ASIC_LOCATION

#define TAG_ASIC_LOCATION   52

◆ TAG_ASIC_TEMPERATURE

#define TAG_ASIC_TEMPERATURE   11

◆ TAG_AXICLK

#define TAG_AXICLK   15

◆ TAG_BOARD_ID_HIGH

#define TAG_BOARD_ID_HIGH   1

◆ TAG_BOARD_ID_LOW

#define TAG_BOARD_ID_LOW   2

◆ TAG_BOARD_POWER_LIMIT

#define TAG_BOARD_POWER_LIMIT   53

◆ TAG_BOARD_TEMPERATURE

#define TAG_BOARD_TEMPERATURE   13

◆ TAG_CM_FW_VERSION

#define TAG_CM_FW_VERSION   29

◆ TAG_COUNT

#define TAG_COUNT   65

◆ TAG_DM_APP_FW_VERSION

#define TAG_DM_APP_FW_VERSION   26

◆ TAG_DM_BL_FW_VERSION

#define TAG_DM_BL_FW_VERSION   27

◆ TAG_ENABLED_ETH

#define TAG_ENABLED_ETH   35

◆ TAG_ENABLED_GDDR

#define TAG_ENABLED_GDDR   36

◆ TAG_ENABLED_L2CPU

#define TAG_ENABLED_L2CPU   37

◆ TAG_ENABLED_TENSIX_COL

#define TAG_ENABLED_TENSIX_COL   34

◆ TAG_ENABLED_TENSIX_ROW

#define TAG_ENABLED_TENSIX_ROW   59

◆ TAG_ETH_FW_VERSION

#define TAG_ETH_FW_VERSION   24

◆ TAG_ETH_LIVE_STATUS

#define TAG_ETH_LIVE_STATUS   21

◆ TAG_FAN_RPM

#define TAG_FAN_RPM   41

◆ TAG_FAN_SPEED

#define TAG_FAN_SPEED   31

◆ TAG_FLASH_BUNDLE_VERSION

#define TAG_FLASH_BUNDLE_VERSION   28

◆ TAG_FW_BUILD_DATE

#define TAG_FW_BUILD_DATE   57

◆ TAG_GDDR_0_1_CORR_ERRS

#define TAG_GDDR_0_1_CORR_ERRS   46

◆ TAG_GDDR_0_1_TEMP

#define TAG_GDDR_0_1_TEMP   42

◆ TAG_GDDR_2_3_CORR_ERRS

#define TAG_GDDR_2_3_CORR_ERRS   47

◆ TAG_GDDR_2_3_TEMP

#define TAG_GDDR_2_3_TEMP   43

◆ TAG_GDDR_4_5_CORR_ERRS

#define TAG_GDDR_4_5_CORR_ERRS   48

◆ TAG_GDDR_4_5_TEMP

#define TAG_GDDR_4_5_TEMP   44

◆ TAG_GDDR_6_7_CORR_ERRS

#define TAG_GDDR_6_7_CORR_ERRS   49

◆ TAG_GDDR_6_7_TEMP

#define TAG_GDDR_6_7_TEMP   45

◆ TAG_GDDR_FW_VERSION

#define TAG_GDDR_FW_VERSION   25

◆ TAG_GDDR_SPEED

#define TAG_GDDR_SPEED   23

◆ TAG_GDDR_STATUS

#define TAG_GDDR_STATUS   22

◆ TAG_GDDR_UNCORR_ERRS

#define TAG_GDDR_UNCORR_ERRS   50

◆ TAG_HARVESTING_STATE

#define TAG_HARVESTING_STATE   4

◆ TAG_INPUT_CURRENT

#define TAG_INPUT_CURRENT   39

◆ TAG_INPUT_POWER

#define TAG_INPUT_POWER   54

◆ TAG_L2CPU_FW_VERSION

#define TAG_L2CPU_FW_VERSION   30

◆ TAG_L2CPUCLK0

#define TAG_L2CPUCLK0   17

◆ TAG_L2CPUCLK1

#define TAG_L2CPUCLK1   18

◆ TAG_L2CPUCLK2

#define TAG_L2CPUCLK2   19

◆ TAG_L2CPUCLK3

#define TAG_L2CPUCLK3   20

◆ TAG_MAX_GDDR_TEMP

#define TAG_MAX_GDDR_TEMP   51

◆ TAG_NOC_TRANSLATION

#define TAG_NOC_TRANSLATION   40

◆ TAG_PCIE_USAGE

#define TAG_PCIE_USAGE   38

◆ TAG_TDC

#define TAG_TDC   8

◆ TAG_TDC_LIMIT_MAX

#define TAG_TDC_LIMIT_MAX   55

◆ TAG_TDP

#define TAG_TDP   7

◆ TAG_TDP_LIMIT_MAX

#define TAG_TDP_LIMIT_MAX   64

◆ TAG_TELEM_ENUM_COUNT

#define TAG_TELEM_ENUM_COUNT   33

◆ TAG_THERM_TRIP_COUNT

#define TAG_THERM_TRIP_COUNT   60

◆ TAG_THM_LIMIT_SHUTDOWN

#define TAG_THM_LIMIT_SHUTDOWN   10

◆ TAG_THM_LIMIT_THROTTLE

#define TAG_THM_LIMIT_THROTTLE   56

◆ TAG_TIMER_HEARTBEAT

#define TAG_TIMER_HEARTBEAT   32

◆ TAG_TT_FLASH_VERSION

#define TAG_TT_FLASH_VERSION   58

◆ TAG_UPDATE_TELEM_SPEED

#define TAG_UPDATE_TELEM_SPEED   5

◆ TAG_VCORE

#define TAG_VCORE   6

◆ TAG_VDD_LIMITS

#define TAG_VDD_LIMITS   9

◆ TAG_VREG_TEMPERATURE

#define TAG_VREG_TEMPERATURE   12

◆ TELEM_OFFSET

#define TELEM_OFFSET ( tag)
Value:
(tag)

◆ TELEMETRY_VERSION

#define TELEMETRY_VERSION
Value:
0x00000100 /* v0.1.0 - Only update when redefining the
* meaning of an existing tag
* Semver format: 0 x 00 Major Minor Patch
*/

Function Documentation

◆ ConvertFloatToTelemetry()

uint32_t ConvertFloatToTelemetry ( float value)

◆ ConvertTelemetryToFloat()

float ConvertTelemetryToFloat ( int32_t value)

◆ GetMaxGDDRTemp()

int GetMaxGDDRTemp ( void )

◆ GetTelemetryTag()

uint32_t GetTelemetryTag ( uint16_t tag)

◆ GetTelemetryTagValid()

bool GetTelemetryTagValid ( uint16_t tag)

◆ init_telemetry()

void init_telemetry ( uint32_t app_version)

◆ StartTelemetryTimer()

void StartTelemetryTimer ( void )

◆ UpdateDmFwVersion()

void UpdateDmFwVersion ( uint32_t bl_version,
uint32_t app_version )

◆ UpdateTelemetryBoardPowerLimit()

void UpdateTelemetryBoardPowerLimit ( uint32_t power_limit)

◆ UpdateTelemetryNocTranslation()

void UpdateTelemetryNocTranslation ( bool translation_enabled)

◆ UpdateTelemetryThermTripCount()

void UpdateTelemetryThermTripCount ( uint16_t therm_trip_count)