7#ifndef INCLUDE_TENSTORRENT_LIB_BH_ARC_H_
8#define INCLUDE_TENSTORRENT_LIB_BH_ARC_H_
42#define GDDR_THERM_TRIP_TEMP 95
43#define GDDR_THERM_TRIP_CRITICAL_TEMP 110
44#define GDDR_THERM_TRIP_DURATION_MIN 1
99#define BH_ARC_INIT(n) \
100 {.smbus = SMBUS_DT_SPEC_GET(n), \
101 .i2c_dev = DEVICE_DT_GET(DT_PHANDLE(DT_BUS(n), i2c)), \
102 .enable = COND_CODE_1(DT_PROP_HAS_IDX(n, gpios, 0), ({ \
103 .port = DEVICE_DT_GET(DT_GPIO_CTLR_BY_IDX(n, gpios, 0)), \
104 .pin = DT_GPIO_PIN_BY_IDX(n, gpios, 0), \
105 .dt_flags = DT_GPIO_FLAGS_BY_IDX(n, gpios, 0), \
int bharc_enable_i2cbus(const struct bh_arc *dev)
Definition bh_arc.c:10
int bharc_smbus_byte_data_write(const struct bh_arc *dev, uint8_t cmd, uint8_t word)
Definition bh_arc.c:59
int bharc_smbus_word_data_write(const struct bh_arc *dev, uint16_t cmd, uint16_t word)
Definition bh_arc.c:49
int bharc_smbus_word_data_read(const struct bh_arc *dev, uint16_t cmd, uint16_t *word)
Definition bh_arc.c:54
int bharc_disable_i2cbus(const struct bh_arc *dev)
Definition bh_arc.c:21
int bharc_smbus_block_read(const struct bh_arc *dev, uint8_t cmd, uint8_t *count, uint8_t *output)
Definition bh_arc.c:32
Cm2DmResetLevel
Definition bh_arc.h:30
@ kCm2DmResetLevelAsic
Definition bh_arc.h:31
@ kCm2DmResetLevelDmc
Definition bh_arc.h:32
Cm2DmMsgId
Definition bh_arc.h:15
@ kCm2DmMsgIdFanSpeedUpdate
Definition bh_arc.h:19
@ kCm2DmMsgIdResetReq
Definition bh_arc.h:17
@ kCm2DmMsgIdAutoResetTimeoutUpdate
Definition bh_arc.h:21
@ kCm2DmMsgIdPing
Definition bh_arc.h:18
@ kCm2DmMsgTelemHeartbeatUpdate
Definition bh_arc.h:22
@ kCm2DmMsgIdForcedFanSpeedUpdate
Definition bh_arc.h:23
@ kCm2DmMsgIdGddrThermTrip
Definition bh_arc.h:25
@ kCm2DmMsgCount
Definition bh_arc.h:26
@ kCm2DmMsgIdReady
Definition bh_arc.h:20
@ kCm2DmMsgIdNull
Definition bh_arc.h:16
@ kCm2DmMsgIdLedBlink
Definition bh_arc.h:24
GddrThermTripReason
Definition bh_arc.h:36
@ kGddrThermTripReasonSustained
Definition bh_arc.h:37
@ kGddrThermTripReasonInstantaneous
Definition bh_arc.h:38
int bharc_smbus_block_write_block_read(const struct bh_arc *dev, uint8_t cmd, uint8_t snd_count, uint8_t *send_buf, uint8_t *rcv_count, uint8_t *rcv_buf)
Definition bh_arc.c:42
int bharc_smbus_block_write(const struct bh_arc *dev, uint8_t cmd, uint8_t count, uint8_t *input)
Definition bh_arc.c:37
static void cmd(uint32_t command)
const struct gpio_dt_spec enable
Definition bh_arc.h:77
const struct smbus_dt_spec smbus
Definition bh_arc.h:76
const struct device * i2c_dev
Definition bh_arc.h:78
uint8_t seq_num
Definition bh_arc.h:67
uint8_t msg_id
Definition bh_arc.h:66
int ack_ret
Definition bh_arc.h:86
cm2dmMessage msg
Definition bh_arc.h:82
int ret
Definition bh_arc.h:83
cm2dmAck ack
Definition bh_arc.h:85
uint8_t msg_id
Definition bh_arc.h:60
uint32_t data
Definition bh_arc.h:62
uint8_t seq_num
Definition bh_arc.h:61
uint32_t arc_start_time
Definition bh_arc.h:54
uint32_t dm_init_duration
Definition bh_arc.h:55
uint32_t app_version
Definition bh_arc.h:53
uint32_t arc_hang_pc
Definition bh_arc.h:56
uint32_t version
Definition bh_arc.h:51
uint32_t bl_version
Definition bh_arc.h:52
struct fw_log_entry_header __packed
cm2dmAck f
Definition bh_arc.h:71
uint16_t val
Definition bh_arc.h:72