7#ifndef INCLUDE_TENSTORRENT_LIB_BH_ARC_H_
8#define INCLUDE_TENSTORRENT_LIB_BH_ARC_H_
94#define BH_ARC_INIT(n) \
95 {.smbus = SMBUS_DT_SPEC_GET(n), \
96 .i2c_dev = DEVICE_DT_GET(DT_PHANDLE(DT_BUS(n), i2c)), \
97 .enable = COND_CODE_1(DT_PROP_HAS_IDX(n, gpios, 0), ({ \
98 .port = DEVICE_DT_GET(DT_GPIO_CTLR_BY_IDX(n, gpios, 0)), \
99 .pin = DT_GPIO_PIN_BY_IDX(n, gpios, 0), \
100 .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:72
const struct smbus_dt_spec smbus
Definition bh_arc.h:71
const struct device * i2c_dev
Definition bh_arc.h:73
uint8_t seq_num
Definition bh_arc.h:62
uint8_t msg_id
Definition bh_arc.h:61
int ack_ret
Definition bh_arc.h:81
cm2dmMessage msg
Definition bh_arc.h:77
int ret
Definition bh_arc.h:78
cm2dmAck ack
Definition bh_arc.h:80
uint8_t msg_id
Definition bh_arc.h:55
uint32_t data
Definition bh_arc.h:57
uint8_t seq_num
Definition bh_arc.h:56
uint32_t arc_start_time
Definition bh_arc.h:49
uint32_t dm_init_duration
Definition bh_arc.h:50
uint32_t app_version
Definition bh_arc.h:48
uint32_t arc_hang_pc
Definition bh_arc.h:51
uint32_t version
Definition bh_arc.h:46
uint32_t bl_version
Definition bh_arc.h:47
struct fw_bundle_manifest __packed
cm2dmAck f
Definition bh_arc.h:66
uint16_t val
Definition bh_arc.h:67