17#ifndef PLAT_I2C_SLAVE_H
18#define PLAT_I2C_SLAVE_H
20#include <drivers/i2c.h>
23#define TARGET_ENABLE 1
24#define TARGET_DISABLE 0
27#define SENSOR_INIT_DATA_0_REG 0x00
28#define SENSOR_INIT_DATA_1_REG 0x01
29#define SENSOR_READING_0_REG 0x02
30#define SENSOR_READING_1_REG 0x03
31#define SENSOR_READING_2_REG 0x04
32#define SENSOR_READING_3_REG 0x05
33#define INVENTORY_IDS_REG 0x06
34#define STRAP_CAPABILTITY_REG 0x08
35#define WRITE_STRAP_PIN_VALUE_REG 0x09
36#define I2C_BRIDGE_COMMAND_REG 0x40
37#define I2C_BRIDGE_COMMAND_STATUS_REG 0x41
38#define I2C_BRIDGE_COMMAND_RESPONSE_REG 0x42
39#define CONTROL_VOL_VR_ASIC_P0V75_VDDPHY_HBM0246_REG 0x80
40#define CONTROL_VOL_VR_ASIC_P0V75_VDDPHY_HBM1357_REG 0x81
41#define CONTROL_VOL_VR_ASIC_P1V1_VDDQC_HBM0246_REG 0x82
42#define CONTROL_VOL_VR_ASIC_P1V1_VDDQC_HBM1357_REG 0x83
43#define CONTROL_VOL_VR_ASIC_P0V4_VDDQL_HBM0246_REG 0x84
44#define CONTROL_VOL_VR_ASIC_P0V4_VDDQL_HBM1357_REG 0x85
45#define CONTROL_VOL_VR_ASIC_P1V8_VPP_HBM0246_REG 0x86
46#define CONTROL_VOL_VR_ASIC_P1V8_VPP_HBM1357_REG 0x87
47#define CONTROL_VOL_VR_ASIC_P0V85_MEDHA0_VDD_REG 0x88
48#define CONTROL_VOL_VR_ASIC_P0V85_MEDHA1_VDD_REG 0x89
49#define LEVEL_1_2_3_PWR_ALERT_THRESHOLD_REG 0x90
50#define LEVEL_1_2_3_PWR_ALERT_TIME_WINDOW_REG 0x91
51#define VR_POWER_READING_REG 0x93
52#define TRAY_INFO_REG 0x98
54#define SET_SENSOR_POLLING_COMMAND_REG 0xF0
64 uint16_t carrier_board_id;
65 uint32_t bic_fw_version;
66 uint32_t cpld_fw_version;
71 uint8_t register_layout_version;
78 uint8_t sensor_r_len[];
81 uint8_t sensor_index_offset;
82 uint32_t sensor_value;
86 uint8_t register_layout_version;
87 uint16_t sensor_base_index;
139 uint8_t strap_set_index;
140 uint8_t strap_set_value;
141 uint8_t strap_set_type;
146 uint8_t strap_data_length;
162 uint8_t response_data[];
uint8_t data[]
Definition: isl69259.c:2
uint8_t addr
Definition: isl69259.c:0
uint8_t set_value
Definition: pldm_oem.h:1
uint32_t data_length
Definition: pldm_oem.h:1
Definition: pldm_smbios.h:61
Definition: plat_i2c_target.h:56
uint8_t * data
Definition: plat_i2c_target.h:61
uint8_t(* wr_fn)(struct _i2c_target_command_mapping *)
Definition: plat_i2c_target.h:59
uint16_t reg
Definition: plat_i2c_target.h:57
uint8_t addr
Definition: plat_i2c_target.h:58
uint8_t(* rd_fn)(struct _i2c_target_command_mapping *)
Definition: plat_i2c_target.h:60
Definition: plat_i2c_target.h:94
uint8_t data[4]
Definition: plat_i2c_target.h:96
uint8_t sensor_number
Definition: plat_i2c_target.h:95
Definition: plat_i2c_target.h:98
uint16_t data_size
Definition: plat_i2c_target.h:100
uint8_t telemetry_offset
Definition: plat_i2c_target.h:99
bool(* telemetry_table_init)(telemetry_info *, uint8_t *)
Definition: plat_i2c_target.h:101
Definition: plat_i2c_target.c:144
uint8_t vr_rail_e
Definition: plat_i2c_target.c:146
uint8_t control_vol_reg
Definition: plat_i2c_target.c:145
Definition: plat_i2c_target.h:126
Definition: plat_i2c_target.h:117
uint8_t threshold_msb
Definition: plat_i2c_target.h:119
uint8_t time_window_msb
Definition: plat_i2c_target.h:121
uint8_t read_data_lsb
Definition: plat_i2c_target.h:122
uint8_t time_window_lsb
Definition: plat_i2c_target.h:120
uint8_t threshold_lsb
Definition: plat_i2c_target.h:118
uint8_t read_data_msb
Definition: plat_i2c_target.h:123