TT Zephyr Platforms 18.11.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
tt_smbus_regs.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Tenstorrent AI ULC
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6#ifndef TT_SMBUS_MSGS_H_
7#define TT_SMBUS_MSGS_H_
8
9/*
10 * This header file contains the definitions for the SMBus registers used to
11 * communicate with the CMFW over the SMBus interface. It is also used by
12 * the DMFW, as that FW is the SMBus master on PCIe cards.
13 * All SMBus registers used by the CMFW should be defined here.
14 */
15
17 /* RW, 8 bits in, 56 bits out. Get telemetry data */
19 /* RW, 264 bits in, 160 bits out. Write telem data and relay ctl data */
21 /* W0, 24 bits. Update the Arc State */
23 /* RO, 48 bits. Read cm2dmMessage struct describing request from CMFW */
25 /* WO, 16 bits. Write with sequence number and message ID to ack cm2dmMessage */
27 /* WO, 160 bits. Write with dmStaticInfo struct including DMFW version */
29 /* WO, 16 bits. Write with 0xA5A5 to respond to CMFW request `kCm2DmMsgIdPing` */
31 /* WO, 16 bits. Write with target fan speed percentage (0-100). Used by DMFW to broadcast
32 * forced fan speed to every CMFW so that each chip's telemetry reflects the board-level
33 * setting.
34 */
36 /* WO, 16 bits. Write with fan speed to responsd to CMFW request
37 * `kCm2DmMsgIdFanSpeedUpdate` or `kCm2DmMsgIdForcedFanSpeedUpdate`
38 */
40 /* WO, 16 bits. Write with input power limit for board */
42 /* WO, 16 bits. Write with current input power for board */
44 /* WO, 16 bits. Write with therm trip count */
46 /* WO, Up to 32 bytes. Write with data to log from DMC side */
48 /* RO, 8 bits. Issue a test read from CMFW scratch register */
50 /* WO, 8 bits. Write to CMFW scratch register */
52 /* RO, 16 bits. Issue a test read from CMFW scratch register */
54 /* WO, 16 bits. Write to CMFW scratch register */
56 /* RO, 32 bits. Issue a test read from CMFW scratch register */
58 /* WO, 32 bits. Write to CMFW scratch register */
60 /* WR, 32 bits I/O. Write to CMFW scratch register and read it back. */
63};
64
65/* Request IDs that the CMFW can issue within the */
66
67#endif /* TT_SMBUS_MSGS_H_ */
CMFWSMBusReg
Definition tt_smbus_regs.h:16
@ CMFW_SMBUS_FAN_SPEED
Definition tt_smbus_regs.h:35
@ CMFW_SMBUS_TEST_READ_WORD
Definition tt_smbus_regs.h:53
@ CMFW_SMBUS_ACK
Definition tt_smbus_regs.h:26
@ CMFW_SMBUS_FAN_RPM
Definition tt_smbus_regs.h:39
@ CMFW_SMBUS_DM_STATIC_INFO
Definition tt_smbus_regs.h:28
@ CMFW_SMBUS_TEST_WRITE_WORD
Definition tt_smbus_regs.h:55
@ CMFW_SMBUS_TELEMETRY_READ
Definition tt_smbus_regs.h:18
@ CMFW_SMBUS_THERM_TRIP_COUNT
Definition tt_smbus_regs.h:45
@ CMFW_SMBUS_REQ
Definition tt_smbus_regs.h:24
@ CMFW_SMBUS_UPDATE_ARC_STATE
Definition tt_smbus_regs.h:22
@ CMFW_SMBUS_POWER_INSTANT
Definition tt_smbus_regs.h:43
@ CMFW_SMBUS_TEST_WRITE_BLOCK_READ_BLOCK
Definition tt_smbus_regs.h:61
@ CMFW_SMBUS_TELEMETRY_WRITE
Definition tt_smbus_regs.h:20
@ CMFW_SMBUS_TEST_WRITE
Definition tt_smbus_regs.h:51
@ CMFW_SMBUS_DMC_LOG
Definition tt_smbus_regs.h:47
@ CMFW_SMBUS_TEST_READ
Definition tt_smbus_regs.h:49
@ CMFW_SMBUS_POWER_LIMIT
Definition tt_smbus_regs.h:41
@ CMFW_SMBUS_PING
Definition tt_smbus_regs.h:30
@ CMFW_SMBUS_MSG_MAX
Definition tt_smbus_regs.h:62
@ CMFW_SMBUS_TEST_WRITE_BLOCK
Definition tt_smbus_regs.h:59
@ CMFW_SMBUS_TEST_READ_BLOCK
Definition tt_smbus_regs.h:57