Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
pmbus.h File Reference

Go to the source code of this file.

Data Structures

struct  pmbus_driver_info
 

Macros

#define PMBUS_PAGE   0x00
 
#define PMBUS_OPERATION   0x01
 
#define PMBUS_ON_OFF_CONFIG   0x02
 
#define PMBUS_CLEAR_FAULTS   0x03
 
#define PMBUS_PHASE   0x04
 
#define PMBUS_CAPABILITY   0x19
 
#define PMBUS_QUERY   0x1A
 
#define PMBUS_VOUT_MODE   0x20
 
#define PMBUS_VOUT_COMMAND   0x21
 
#define PMBUS_VOUT_TRIM   0x22
 
#define PMBUS_VOUT_CAL_OFFSET   0x23
 
#define PMBUS_VOUT_MAX   0x24
 
#define PMBUS_VOUT_MARGIN_HIGH   0x25
 
#define PMBUS_VOUT_MARGIN_LOW   0x26
 
#define PMBUS_VOUT_TRANSITION_RATE   0x27
 
#define PMBUS_VOUT_DROOP   0x28
 
#define PMBUS_VOUT_SCALE_LOOP   0x29
 
#define PMBUS_VOUT_SCALE_MONITOR   0x2A
 
#define PMBUS_COEFFICIENTS   0x30
 
#define PMBUS_POUT_MAX   0x31
 
#define PMBUS_FAN_CONFIG_12   0x3A
 
#define PMBUS_FAN_COMMAND_1   0x3B
 
#define PMBUS_FAN_COMMAND_2   0x3C
 
#define PMBUS_FAN_CONFIG_34   0x3D
 
#define PMBUS_FAN_COMMAND_3   0x3E
 
#define PMBUS_FAN_COMMAND_4   0x3F
 
#define PMBUS_VOUT_OV_FAULT_LIMIT   0x40
 
#define PMBUS_VOUT_OV_FAULT_RESPONSE   0x41
 
#define PMBUS_VOUT_OV_WARN_LIMIT   0x42
 
#define PMBUS_VOUT_UV_WARN_LIMIT   0x43
 
#define PMBUS_VOUT_UV_FAULT_LIMIT   0x44
 
#define PMBUS_VOUT_UV_FAULT_RESPONSE   0x45
 
#define PMBUS_IOUT_OC_FAULT_LIMIT   0x46
 
#define PMBUS_IOUT_OC_FAULT_RESPONSE   0x47
 
#define PMBUS_IOUT_OC_LV_FAULT_LIMIT   0x48
 
#define PMBUS_IOUT_OC_LV_FAULT_RESPONSE   0x49
 
#define PMBUS_IOUT_OC_WARN_LIMIT   0x4A
 
#define PMBUS_IOUT_UC_FAULT_LIMIT   0x4B
 
#define PMBUS_IOUT_UC_FAULT_RESPONSE   0x4C
 
#define PMBUS_OT_FAULT_LIMIT   0x4F
 
#define PMBUS_OT_FAULT_RESPONSE   0x50
 
#define PMBUS_OT_WARN_LIMIT   0x51
 
#define PMBUS_UT_WARN_LIMIT   0x52
 
#define PMBUS_UT_FAULT_LIMIT   0x53
 
#define PMBUS_UT_FAULT_RESPONSE   0x54
 
#define PMBUS_VIN_OV_FAULT_LIMIT   0x55
 
#define PMBUS_VIN_OV_FAULT_RESPONSE   0x56
 
#define PMBUS_VIN_OV_WARN_LIMIT   0x57
 
#define PMBUS_VIN_UV_WARN_LIMIT   0x58
 
#define PMBUS_VIN_UV_FAULT_LIMIT   0x59
 
#define PMBUS_IIN_OC_FAULT_LIMIT   0x5B
 
#define PMBUS_IIN_OC_WARN_LIMIT   0x5D
 
#define PMBUS_POUT_OP_FAULT_LIMIT   0x68
 
#define PMBUS_POUT_OP_WARN_LIMIT   0x6A
 
#define PMBUS_PIN_OP_WARN_LIMIT   0x6B
 
#define PMBUS_STATUS_BYTE   0x78
 
#define PMBUS_STATUS_WORD   0x79
 
#define PMBUS_STATUS_VOUT   0x7A
 
#define PMBUS_STATUS_IOUT   0x7B
 
#define PMBUS_STATUS_INPUT   0x7C
 
#define PMBUS_STATUS_TEMPERATURE   0x7D
 
#define PMBUS_STATUS_CML   0x7E
 
#define PMBUS_STATUS_OTHER   0x7F
 
#define PMBUS_STATUS_MFR_SPECIFIC   0x80
 
#define PMBUS_STATUS_FAN_12   0x81
 
#define PMBUS_STATUS_FAN_34   0x82
 
#define PMBUS_READ_VIN   0x88
 
#define PMBUS_READ_IIN   0x89
 
#define PMBUS_READ_VCAP   0x8A
 
#define PMBUS_READ_VOUT   0x8B
 
#define PMBUS_READ_IOUT   0x8C
 
#define PMBUS_READ_TEMPERATURE_1   0x8D
 
#define PMBUS_READ_TEMPERATURE_2   0x8E
 
#define PMBUS_READ_TEMPERATURE_3   0x8F
 
#define PMBUS_READ_FAN_SPEED_1   0x90
 
#define PMBUS_READ_FAN_SPEED_2   0x91
 
#define PMBUS_READ_FAN_SPEED_3   0x92
 
#define PMBUS_READ_FAN_SPEED_4   0x93
 
#define PMBUS_READ_DUTY_CYCLE   0x94
 
#define PMBUS_READ_FREQUENCY   0x95
 
#define PMBUS_READ_POUT   0x96
 
#define PMBUS_READ_PIN   0x97
 
#define PMBUS_REVISION   0x98
 
#define PMBUS_MFR_ID   0x99
 
#define PMBUS_MFR_MODEL   0x9A
 
#define PMBUS_MFR_REVISION   0x9B
 
#define PMBUS_MFR_LOCATION   0x9C
 
#define PMBUS_MFR_DATE   0x9D
 
#define PMBUS_MFR_SERIAL   0x9E
 
#define PMBUS_VIRT_BASE   0x100
 
#define PMBUS_VIRT_READ_TEMP_AVG   (PMBUS_VIRT_BASE + 0)
 
#define PMBUS_VIRT_READ_TEMP_MIN   (PMBUS_VIRT_BASE + 1)
 
#define PMBUS_VIRT_READ_TEMP_MAX   (PMBUS_VIRT_BASE + 2)
 
#define PMBUS_VIRT_RESET_TEMP_HISTORY   (PMBUS_VIRT_BASE + 3)
 
#define PMBUS_VIRT_READ_VIN_AVG   (PMBUS_VIRT_BASE + 4)
 
#define PMBUS_VIRT_READ_VIN_MIN   (PMBUS_VIRT_BASE + 5)
 
#define PMBUS_VIRT_READ_VIN_MAX   (PMBUS_VIRT_BASE + 6)
 
#define PMBUS_VIRT_RESET_VIN_HISTORY   (PMBUS_VIRT_BASE + 7)
 
#define PMBUS_VIRT_READ_IIN_AVG   (PMBUS_VIRT_BASE + 8)
 
#define PMBUS_VIRT_READ_IIN_MIN   (PMBUS_VIRT_BASE + 9)
 
#define PMBUS_VIRT_READ_IIN_MAX   (PMBUS_VIRT_BASE + 10)
 
#define PMBUS_VIRT_RESET_IIN_HISTORY   (PMBUS_VIRT_BASE + 11)
 
#define PMBUS_VIRT_READ_PIN_AVG   (PMBUS_VIRT_BASE + 12)
 
#define PMBUS_VIRT_READ_PIN_MAX   (PMBUS_VIRT_BASE + 13)
 
#define PMBUS_VIRT_RESET_PIN_HISTORY   (PMBUS_VIRT_BASE + 14)
 
#define PMBUS_VIRT_READ_POUT_AVG   (PMBUS_VIRT_BASE + 15)
 
#define PMBUS_VIRT_READ_POUT_MAX   (PMBUS_VIRT_BASE + 16)
 
#define PMBUS_VIRT_RESET_POUT_HISTORY   (PMBUS_VIRT_BASE + 17)
 
#define PMBUS_VIRT_READ_VOUT_AVG   (PMBUS_VIRT_BASE + 18)
 
#define PMBUS_VIRT_READ_VOUT_MIN   (PMBUS_VIRT_BASE + 19)
 
#define PMBUS_VIRT_READ_VOUT_MAX   (PMBUS_VIRT_BASE + 20)
 
#define PMBUS_VIRT_RESET_VOUT_HISTORY   (PMBUS_VIRT_BASE + 21)
 
#define PMBUS_VIRT_READ_IOUT_AVG   (PMBUS_VIRT_BASE + 22)
 
#define PMBUS_VIRT_READ_IOUT_MIN   (PMBUS_VIRT_BASE + 23)
 
#define PMBUS_VIRT_READ_IOUT_MAX   (PMBUS_VIRT_BASE + 24)
 
#define PMBUS_VIRT_RESET_IOUT_HISTORY   (PMBUS_VIRT_BASE + 25)
 
#define PMBUS_VIRT_READ_TEMP2_AVG   (PMBUS_VIRT_BASE + 26)
 
#define PMBUS_VIRT_READ_TEMP2_MIN   (PMBUS_VIRT_BASE + 27)
 
#define PMBUS_VIRT_READ_TEMP2_MAX   (PMBUS_VIRT_BASE + 28)
 
#define PMBUS_VIRT_RESET_TEMP2_HISTORY   (PMBUS_VIRT_BASE + 29)
 
#define PB_CAPABILITY_SMBALERT   (1<<4)
 
#define PB_CAPABILITY_ERROR_CHECK   (1<<7)
 
#define PB_VOUT_MODE_MODE_MASK   0xe0
 
#define PB_VOUT_MODE_PARAM_MASK   0x1f
 
#define PB_VOUT_MODE_LINEAR   0x00
 
#define PB_VOUT_MODE_VID   0x20
 
#define PB_VOUT_MODE_DIRECT   0x40
 
#define PB_FAN_2_PULSE_MASK   ((1 << 0) | (1 << 1))
 
#define PB_FAN_2_RPM   (1 << 2)
 
#define PB_FAN_2_INSTALLED   (1 << 3)
 
#define PB_FAN_1_PULSE_MASK   ((1 << 4) | (1 << 5))
 
#define PB_FAN_1_RPM   (1 << 6)
 
#define PB_FAN_1_INSTALLED   (1 << 7)
 
#define PB_STATUS_NONE_ABOVE   (1<<0)
 
#define PB_STATUS_CML   (1<<1)
 
#define PB_STATUS_TEMPERATURE   (1<<2)
 
#define PB_STATUS_VIN_UV   (1<<3)
 
#define PB_STATUS_IOUT_OC   (1<<4)
 
#define PB_STATUS_VOUT_OV   (1<<5)
 
#define PB_STATUS_OFF   (1<<6)
 
#define PB_STATUS_BUSY   (1<<7)
 
#define PB_STATUS_UNKNOWN   (1<<8)
 
#define PB_STATUS_OTHER   (1<<9)
 
#define PB_STATUS_FANS   (1<<10)
 
#define PB_STATUS_POWER_GOOD_N   (1<<11)
 
#define PB_STATUS_WORD_MFR   (1<<12)
 
#define PB_STATUS_INPUT   (1<<13)
 
#define PB_STATUS_IOUT_POUT   (1<<14)
 
#define PB_STATUS_VOUT   (1<<15)
 
#define PB_POUT_OP_WARNING   (1<<0)
 
#define PB_POUT_OP_FAULT   (1<<1)
 
#define PB_POWER_LIMITING   (1<<2)
 
#define PB_CURRENT_SHARE_FAULT   (1<<3)
 
#define PB_IOUT_UC_FAULT   (1<<4)
 
#define PB_IOUT_OC_WARNING   (1<<5)
 
#define PB_IOUT_OC_LV_FAULT   (1<<6)
 
#define PB_IOUT_OC_FAULT   (1<<7)
 
#define PB_VOLTAGE_UV_FAULT   (1<<4)
 
#define PB_VOLTAGE_UV_WARNING   (1<<5)
 
#define PB_VOLTAGE_OV_WARNING   (1<<6)
 
#define PB_VOLTAGE_OV_FAULT   (1<<7)
 
#define PB_PIN_OP_WARNING   (1<<0)
 
#define PB_IIN_OC_WARNING   (1<<1)
 
#define PB_IIN_OC_FAULT   (1<<2)
 
#define PB_TEMP_UT_FAULT   (1<<4)
 
#define PB_TEMP_UT_WARNING   (1<<5)
 
#define PB_TEMP_OT_WARNING   (1<<6)
 
#define PB_TEMP_OT_FAULT   (1<<7)
 
#define PB_FAN_AIRFLOW_WARNING   (1<<0)
 
#define PB_FAN_AIRFLOW_FAULT   (1<<1)
 
#define PB_FAN_FAN2_SPEED_OVERRIDE   (1<<2)
 
#define PB_FAN_FAN1_SPEED_OVERRIDE   (1<<3)
 
#define PB_FAN_FAN2_WARNING   (1<<4)
 
#define PB_FAN_FAN1_WARNING   (1<<5)
 
#define PB_FAN_FAN2_FAULT   (1<<6)
 
#define PB_FAN_FAN1_FAULT   (1<<7)
 
#define PB_CML_FAULT_OTHER_MEM_LOGIC   (1<<0)
 
#define PB_CML_FAULT_OTHER_COMM   (1<<1)
 
#define PB_CML_FAULT_PROCESSOR   (1<<3)
 
#define PB_CML_FAULT_MEMORY   (1<<4)
 
#define PB_CML_FAULT_PACKET_ERROR   (1<<5)
 
#define PB_CML_FAULT_INVALID_DATA   (1<<6)
 
#define PB_CML_FAULT_INVALID_COMMAND   (1<<7)
 
#define PMBUS_PAGES   32 /* Per PMBus specification */
 
#define PMBUS_HAVE_VIN   (1 << 0)
 
#define PMBUS_HAVE_VCAP   (1 << 1)
 
#define PMBUS_HAVE_VOUT   (1 << 2)
 
#define PMBUS_HAVE_IIN   (1 << 3)
 
#define PMBUS_HAVE_IOUT   (1 << 4)
 
#define PMBUS_HAVE_PIN   (1 << 5)
 
#define PMBUS_HAVE_POUT   (1 << 6)
 
#define PMBUS_HAVE_FAN12   (1 << 7)
 
#define PMBUS_HAVE_FAN34   (1 << 8)
 
#define PMBUS_HAVE_TEMP   (1 << 9)
 
#define PMBUS_HAVE_TEMP2   (1 << 10)
 
#define PMBUS_HAVE_TEMP3   (1 << 11)
 
#define PMBUS_HAVE_STATUS_VOUT   (1 << 12)
 
#define PMBUS_HAVE_STATUS_IOUT   (1 << 13)
 
#define PMBUS_HAVE_STATUS_INPUT   (1 << 14)
 
#define PMBUS_HAVE_STATUS_TEMP   (1 << 15)
 
#define PMBUS_HAVE_STATUS_FAN12   (1 << 16)
 
#define PMBUS_HAVE_STATUS_FAN34   (1 << 17)
 

Enumerations

enum  pmbus_sensor_classes {
  PSC_VOLTAGE_IN = 0, PSC_VOLTAGE_OUT, PSC_CURRENT_IN, PSC_CURRENT_OUT,
  PSC_POWER, PSC_TEMPERATURE, PSC_FAN, PSC_NUM_CLASSES
}
 
enum  pmbus_data_format { linear = 0, direct, vid }
 

Functions

int pmbus_set_page (struct i2c_client *client, u8 page)
 
int pmbus_read_word_data (struct i2c_client *client, u8 page, u8 reg)
 
int pmbus_write_word_data (struct i2c_client *client, u8 page, u8 reg, u16 word)
 
int pmbus_read_byte_data (struct i2c_client *client, int page, u8 reg)
 
int pmbus_write_byte (struct i2c_client *client, int page, u8 value)
 
void pmbus_clear_faults (struct i2c_client *client)
 
bool pmbus_check_byte_register (struct i2c_client *client, int page, int reg)
 
bool pmbus_check_word_register (struct i2c_client *client, int page, int reg)
 
int pmbus_do_probe (struct i2c_client *client, const struct i2c_device_id *id, struct pmbus_driver_info *info)
 
int pmbus_do_remove (struct i2c_client *client)
 
struct pmbus_driver_infopmbus_get_driver_info (struct i2c_client *client)
 

Macro Definition Documentation

#define PB_CAPABILITY_ERROR_CHECK   (1<<7)

Definition at line 184 of file pmbus.h.

#define PB_CAPABILITY_SMBALERT   (1<<4)

Definition at line 183 of file pmbus.h.

#define PB_CML_FAULT_INVALID_COMMAND   (1<<7)

Definition at line 286 of file pmbus.h.

#define PB_CML_FAULT_INVALID_DATA   (1<<6)

Definition at line 285 of file pmbus.h.

#define PB_CML_FAULT_MEMORY   (1<<4)

Definition at line 283 of file pmbus.h.

#define PB_CML_FAULT_OTHER_COMM   (1<<1)

Definition at line 281 of file pmbus.h.

#define PB_CML_FAULT_OTHER_MEM_LOGIC   (1<<0)

Definition at line 280 of file pmbus.h.

#define PB_CML_FAULT_PACKET_ERROR   (1<<5)

Definition at line 284 of file pmbus.h.

#define PB_CML_FAULT_PROCESSOR   (1<<3)

Definition at line 282 of file pmbus.h.

#define PB_CURRENT_SHARE_FAULT   (1<<3)

Definition at line 236 of file pmbus.h.

#define PB_FAN_1_INSTALLED   (1 << 7)

Definition at line 204 of file pmbus.h.

#define PB_FAN_1_PULSE_MASK   ((1 << 4) | (1 << 5))

Definition at line 202 of file pmbus.h.

#define PB_FAN_1_RPM   (1 << 6)

Definition at line 203 of file pmbus.h.

#define PB_FAN_2_INSTALLED   (1 << 3)

Definition at line 201 of file pmbus.h.

#define PB_FAN_2_PULSE_MASK   ((1 << 0) | (1 << 1))

Definition at line 199 of file pmbus.h.

#define PB_FAN_2_RPM   (1 << 2)

Definition at line 200 of file pmbus.h.

#define PB_FAN_AIRFLOW_FAULT   (1<<1)

Definition at line 269 of file pmbus.h.

#define PB_FAN_AIRFLOW_WARNING   (1<<0)

Definition at line 268 of file pmbus.h.

#define PB_FAN_FAN1_FAULT   (1<<7)

Definition at line 275 of file pmbus.h.

#define PB_FAN_FAN1_SPEED_OVERRIDE   (1<<3)

Definition at line 271 of file pmbus.h.

#define PB_FAN_FAN1_WARNING   (1<<5)

Definition at line 273 of file pmbus.h.

#define PB_FAN_FAN2_FAULT   (1<<6)

Definition at line 274 of file pmbus.h.

#define PB_FAN_FAN2_SPEED_OVERRIDE   (1<<2)

Definition at line 270 of file pmbus.h.

#define PB_FAN_FAN2_WARNING   (1<<4)

Definition at line 272 of file pmbus.h.

#define PB_IIN_OC_FAULT   (1<<2)

Definition at line 255 of file pmbus.h.

#define PB_IIN_OC_WARNING   (1<<1)

Definition at line 254 of file pmbus.h.

#define PB_IOUT_OC_FAULT   (1<<7)

Definition at line 240 of file pmbus.h.

#define PB_IOUT_OC_LV_FAULT   (1<<6)

Definition at line 239 of file pmbus.h.

#define PB_IOUT_OC_WARNING   (1<<5)

Definition at line 238 of file pmbus.h.

#define PB_IOUT_UC_FAULT   (1<<4)

Definition at line 237 of file pmbus.h.

#define PB_PIN_OP_WARNING   (1<<0)

Definition at line 253 of file pmbus.h.

#define PB_POUT_OP_FAULT   (1<<1)

Definition at line 234 of file pmbus.h.

#define PB_POUT_OP_WARNING   (1<<0)

Definition at line 233 of file pmbus.h.

#define PB_POWER_LIMITING   (1<<2)

Definition at line 235 of file pmbus.h.

#define PB_STATUS_BUSY   (1<<7)

Definition at line 216 of file pmbus.h.

#define PB_STATUS_CML   (1<<1)

Definition at line 210 of file pmbus.h.

#define PB_STATUS_FANS   (1<<10)

Definition at line 223 of file pmbus.h.

#define PB_STATUS_INPUT   (1<<13)

Definition at line 226 of file pmbus.h.

#define PB_STATUS_IOUT_OC   (1<<4)

Definition at line 213 of file pmbus.h.

#define PB_STATUS_IOUT_POUT   (1<<14)

Definition at line 227 of file pmbus.h.

#define PB_STATUS_NONE_ABOVE   (1<<0)

Definition at line 209 of file pmbus.h.

#define PB_STATUS_OFF   (1<<6)

Definition at line 215 of file pmbus.h.

#define PB_STATUS_OTHER   (1<<9)

Definition at line 222 of file pmbus.h.

#define PB_STATUS_POWER_GOOD_N   (1<<11)

Definition at line 224 of file pmbus.h.

#define PB_STATUS_TEMPERATURE   (1<<2)

Definition at line 211 of file pmbus.h.

#define PB_STATUS_UNKNOWN   (1<<8)

Definition at line 221 of file pmbus.h.

#define PB_STATUS_VIN_UV   (1<<3)

Definition at line 212 of file pmbus.h.

#define PB_STATUS_VOUT   (1<<15)

Definition at line 228 of file pmbus.h.

#define PB_STATUS_VOUT_OV   (1<<5)

Definition at line 214 of file pmbus.h.

#define PB_STATUS_WORD_MFR   (1<<12)

Definition at line 225 of file pmbus.h.

#define PB_TEMP_OT_FAULT   (1<<7)

Definition at line 263 of file pmbus.h.

#define PB_TEMP_OT_WARNING   (1<<6)

Definition at line 262 of file pmbus.h.

#define PB_TEMP_UT_FAULT   (1<<4)

Definition at line 260 of file pmbus.h.

#define PB_TEMP_UT_WARNING   (1<<5)

Definition at line 261 of file pmbus.h.

#define PB_VOLTAGE_OV_FAULT   (1<<7)

Definition at line 248 of file pmbus.h.

#define PB_VOLTAGE_OV_WARNING   (1<<6)

Definition at line 247 of file pmbus.h.

#define PB_VOLTAGE_UV_FAULT   (1<<4)

Definition at line 245 of file pmbus.h.

#define PB_VOLTAGE_UV_WARNING   (1<<5)

Definition at line 246 of file pmbus.h.

#define PB_VOUT_MODE_DIRECT   0x40

Definition at line 194 of file pmbus.h.

#define PB_VOUT_MODE_LINEAR   0x00

Definition at line 192 of file pmbus.h.

#define PB_VOUT_MODE_MODE_MASK   0xe0

Definition at line 189 of file pmbus.h.

#define PB_VOUT_MODE_PARAM_MASK   0x1f

Definition at line 190 of file pmbus.h.

#define PB_VOUT_MODE_VID   0x20

Definition at line 193 of file pmbus.h.

#define PMBUS_CAPABILITY   0x19

Definition at line 33 of file pmbus.h.

#define PMBUS_CLEAR_FAULTS   0x03

Definition at line 30 of file pmbus.h.

#define PMBUS_COEFFICIENTS   0x30

Definition at line 48 of file pmbus.h.

#define PMBUS_FAN_COMMAND_1   0x3B

Definition at line 52 of file pmbus.h.

#define PMBUS_FAN_COMMAND_2   0x3C

Definition at line 53 of file pmbus.h.

#define PMBUS_FAN_COMMAND_3   0x3E

Definition at line 55 of file pmbus.h.

#define PMBUS_FAN_COMMAND_4   0x3F

Definition at line 56 of file pmbus.h.

#define PMBUS_FAN_CONFIG_12   0x3A

Definition at line 51 of file pmbus.h.

#define PMBUS_FAN_CONFIG_34   0x3D

Definition at line 54 of file pmbus.h.

#define PMBUS_HAVE_FAN12   (1 << 7)

Definition at line 309 of file pmbus.h.

#define PMBUS_HAVE_FAN34   (1 << 8)

Definition at line 310 of file pmbus.h.

#define PMBUS_HAVE_IIN   (1 << 3)

Definition at line 305 of file pmbus.h.

#define PMBUS_HAVE_IOUT   (1 << 4)

Definition at line 306 of file pmbus.h.

#define PMBUS_HAVE_PIN   (1 << 5)

Definition at line 307 of file pmbus.h.

#define PMBUS_HAVE_POUT   (1 << 6)

Definition at line 308 of file pmbus.h.

#define PMBUS_HAVE_STATUS_FAN12   (1 << 16)

Definition at line 318 of file pmbus.h.

#define PMBUS_HAVE_STATUS_FAN34   (1 << 17)

Definition at line 319 of file pmbus.h.

#define PMBUS_HAVE_STATUS_INPUT   (1 << 14)

Definition at line 316 of file pmbus.h.

#define PMBUS_HAVE_STATUS_IOUT   (1 << 13)

Definition at line 315 of file pmbus.h.

#define PMBUS_HAVE_STATUS_TEMP   (1 << 15)

Definition at line 317 of file pmbus.h.

#define PMBUS_HAVE_STATUS_VOUT   (1 << 12)

Definition at line 314 of file pmbus.h.

#define PMBUS_HAVE_TEMP   (1 << 9)

Definition at line 311 of file pmbus.h.

#define PMBUS_HAVE_TEMP2   (1 << 10)

Definition at line 312 of file pmbus.h.

#define PMBUS_HAVE_TEMP3   (1 << 11)

Definition at line 313 of file pmbus.h.

#define PMBUS_HAVE_VCAP   (1 << 1)

Definition at line 303 of file pmbus.h.

#define PMBUS_HAVE_VIN   (1 << 0)

Definition at line 302 of file pmbus.h.

#define PMBUS_HAVE_VOUT   (1 << 2)

Definition at line 304 of file pmbus.h.

#define PMBUS_IIN_OC_FAULT_LIMIT   0x5B

Definition at line 84 of file pmbus.h.

#define PMBUS_IIN_OC_WARN_LIMIT   0x5D

Definition at line 85 of file pmbus.h.

#define PMBUS_IOUT_OC_FAULT_LIMIT   0x46

Definition at line 64 of file pmbus.h.

#define PMBUS_IOUT_OC_FAULT_RESPONSE   0x47

Definition at line 65 of file pmbus.h.

#define PMBUS_IOUT_OC_LV_FAULT_LIMIT   0x48

Definition at line 66 of file pmbus.h.

#define PMBUS_IOUT_OC_LV_FAULT_RESPONSE   0x49

Definition at line 67 of file pmbus.h.

#define PMBUS_IOUT_OC_WARN_LIMIT   0x4A

Definition at line 68 of file pmbus.h.

#define PMBUS_IOUT_UC_FAULT_LIMIT   0x4B

Definition at line 69 of file pmbus.h.

#define PMBUS_IOUT_UC_FAULT_RESPONSE   0x4C

Definition at line 70 of file pmbus.h.

#define PMBUS_MFR_DATE   0x9D

Definition at line 125 of file pmbus.h.

#define PMBUS_MFR_ID   0x99

Definition at line 121 of file pmbus.h.

#define PMBUS_MFR_LOCATION   0x9C

Definition at line 124 of file pmbus.h.

#define PMBUS_MFR_MODEL   0x9A

Definition at line 122 of file pmbus.h.

#define PMBUS_MFR_REVISION   0x9B

Definition at line 123 of file pmbus.h.

#define PMBUS_MFR_SERIAL   0x9E

Definition at line 126 of file pmbus.h.

#define PMBUS_ON_OFF_CONFIG   0x02

Definition at line 29 of file pmbus.h.

#define PMBUS_OPERATION   0x01

Definition at line 28 of file pmbus.h.

#define PMBUS_OT_FAULT_LIMIT   0x4F

Definition at line 72 of file pmbus.h.

#define PMBUS_OT_FAULT_RESPONSE   0x50

Definition at line 73 of file pmbus.h.

#define PMBUS_OT_WARN_LIMIT   0x51

Definition at line 74 of file pmbus.h.

#define PMBUS_PAGE   0x00

Definition at line 27 of file pmbus.h.

#define PMBUS_PAGES   32 /* Per PMBus specification */

Definition at line 299 of file pmbus.h.

#define PMBUS_PHASE   0x04

Definition at line 31 of file pmbus.h.

#define PMBUS_PIN_OP_WARN_LIMIT   0x6B

Definition at line 89 of file pmbus.h.

#define PMBUS_POUT_MAX   0x31

Definition at line 49 of file pmbus.h.

#define PMBUS_POUT_OP_FAULT_LIMIT   0x68

Definition at line 87 of file pmbus.h.

#define PMBUS_POUT_OP_WARN_LIMIT   0x6A

Definition at line 88 of file pmbus.h.

#define PMBUS_QUERY   0x1A

Definition at line 34 of file pmbus.h.

#define PMBUS_READ_DUTY_CYCLE   0x94

Definition at line 115 of file pmbus.h.

#define PMBUS_READ_FAN_SPEED_1   0x90

Definition at line 111 of file pmbus.h.

#define PMBUS_READ_FAN_SPEED_2   0x91

Definition at line 112 of file pmbus.h.

#define PMBUS_READ_FAN_SPEED_3   0x92

Definition at line 113 of file pmbus.h.

#define PMBUS_READ_FAN_SPEED_4   0x93

Definition at line 114 of file pmbus.h.

#define PMBUS_READ_FREQUENCY   0x95

Definition at line 116 of file pmbus.h.

#define PMBUS_READ_IIN   0x89

Definition at line 104 of file pmbus.h.

#define PMBUS_READ_IOUT   0x8C

Definition at line 107 of file pmbus.h.

#define PMBUS_READ_PIN   0x97

Definition at line 118 of file pmbus.h.

#define PMBUS_READ_POUT   0x96

Definition at line 117 of file pmbus.h.

#define PMBUS_READ_TEMPERATURE_1   0x8D

Definition at line 108 of file pmbus.h.

#define PMBUS_READ_TEMPERATURE_2   0x8E

Definition at line 109 of file pmbus.h.

#define PMBUS_READ_TEMPERATURE_3   0x8F

Definition at line 110 of file pmbus.h.

#define PMBUS_READ_VCAP   0x8A

Definition at line 105 of file pmbus.h.

#define PMBUS_READ_VIN   0x88

Definition at line 103 of file pmbus.h.

#define PMBUS_READ_VOUT   0x8B

Definition at line 106 of file pmbus.h.

#define PMBUS_REVISION   0x98

Definition at line 120 of file pmbus.h.

#define PMBUS_STATUS_BYTE   0x78

Definition at line 91 of file pmbus.h.

#define PMBUS_STATUS_CML   0x7E

Definition at line 97 of file pmbus.h.

#define PMBUS_STATUS_FAN_12   0x81

Definition at line 100 of file pmbus.h.

#define PMBUS_STATUS_FAN_34   0x82

Definition at line 101 of file pmbus.h.

#define PMBUS_STATUS_INPUT   0x7C

Definition at line 95 of file pmbus.h.

#define PMBUS_STATUS_IOUT   0x7B

Definition at line 94 of file pmbus.h.

#define PMBUS_STATUS_MFR_SPECIFIC   0x80

Definition at line 99 of file pmbus.h.

#define PMBUS_STATUS_OTHER   0x7F

Definition at line 98 of file pmbus.h.

#define PMBUS_STATUS_TEMPERATURE   0x7D

Definition at line 96 of file pmbus.h.

#define PMBUS_STATUS_VOUT   0x7A

Definition at line 93 of file pmbus.h.

#define PMBUS_STATUS_WORD   0x79

Definition at line 92 of file pmbus.h.

#define PMBUS_UT_FAULT_LIMIT   0x53

Definition at line 76 of file pmbus.h.

#define PMBUS_UT_FAULT_RESPONSE   0x54

Definition at line 77 of file pmbus.h.

#define PMBUS_UT_WARN_LIMIT   0x52

Definition at line 75 of file pmbus.h.

#define PMBUS_VIN_OV_FAULT_LIMIT   0x55

Definition at line 78 of file pmbus.h.

#define PMBUS_VIN_OV_FAULT_RESPONSE   0x56

Definition at line 79 of file pmbus.h.

#define PMBUS_VIN_OV_WARN_LIMIT   0x57

Definition at line 80 of file pmbus.h.

#define PMBUS_VIN_UV_FAULT_LIMIT   0x59

Definition at line 82 of file pmbus.h.

#define PMBUS_VIN_UV_WARN_LIMIT   0x58

Definition at line 81 of file pmbus.h.

#define PMBUS_VIRT_BASE   0x100

Definition at line 148 of file pmbus.h.

#define PMBUS_VIRT_READ_IIN_AVG   (PMBUS_VIRT_BASE + 8)

Definition at line 157 of file pmbus.h.

#define PMBUS_VIRT_READ_IIN_MAX   (PMBUS_VIRT_BASE + 10)

Definition at line 159 of file pmbus.h.

#define PMBUS_VIRT_READ_IIN_MIN   (PMBUS_VIRT_BASE + 9)

Definition at line 158 of file pmbus.h.

#define PMBUS_VIRT_READ_IOUT_AVG   (PMBUS_VIRT_BASE + 22)

Definition at line 171 of file pmbus.h.

#define PMBUS_VIRT_READ_IOUT_MAX   (PMBUS_VIRT_BASE + 24)

Definition at line 173 of file pmbus.h.

#define PMBUS_VIRT_READ_IOUT_MIN   (PMBUS_VIRT_BASE + 23)

Definition at line 172 of file pmbus.h.

#define PMBUS_VIRT_READ_PIN_AVG   (PMBUS_VIRT_BASE + 12)

Definition at line 161 of file pmbus.h.

#define PMBUS_VIRT_READ_PIN_MAX   (PMBUS_VIRT_BASE + 13)

Definition at line 162 of file pmbus.h.

#define PMBUS_VIRT_READ_POUT_AVG   (PMBUS_VIRT_BASE + 15)

Definition at line 164 of file pmbus.h.

#define PMBUS_VIRT_READ_POUT_MAX   (PMBUS_VIRT_BASE + 16)

Definition at line 165 of file pmbus.h.

#define PMBUS_VIRT_READ_TEMP2_AVG   (PMBUS_VIRT_BASE + 26)

Definition at line 175 of file pmbus.h.

#define PMBUS_VIRT_READ_TEMP2_MAX   (PMBUS_VIRT_BASE + 28)

Definition at line 177 of file pmbus.h.

#define PMBUS_VIRT_READ_TEMP2_MIN   (PMBUS_VIRT_BASE + 27)

Definition at line 176 of file pmbus.h.

#define PMBUS_VIRT_READ_TEMP_AVG   (PMBUS_VIRT_BASE + 0)

Definition at line 149 of file pmbus.h.

#define PMBUS_VIRT_READ_TEMP_MAX   (PMBUS_VIRT_BASE + 2)

Definition at line 151 of file pmbus.h.

#define PMBUS_VIRT_READ_TEMP_MIN   (PMBUS_VIRT_BASE + 1)

Definition at line 150 of file pmbus.h.

#define PMBUS_VIRT_READ_VIN_AVG   (PMBUS_VIRT_BASE + 4)

Definition at line 153 of file pmbus.h.

#define PMBUS_VIRT_READ_VIN_MAX   (PMBUS_VIRT_BASE + 6)

Definition at line 155 of file pmbus.h.

#define PMBUS_VIRT_READ_VIN_MIN   (PMBUS_VIRT_BASE + 5)

Definition at line 154 of file pmbus.h.

#define PMBUS_VIRT_READ_VOUT_AVG   (PMBUS_VIRT_BASE + 18)

Definition at line 167 of file pmbus.h.

#define PMBUS_VIRT_READ_VOUT_MAX   (PMBUS_VIRT_BASE + 20)

Definition at line 169 of file pmbus.h.

#define PMBUS_VIRT_READ_VOUT_MIN   (PMBUS_VIRT_BASE + 19)

Definition at line 168 of file pmbus.h.

#define PMBUS_VIRT_RESET_IIN_HISTORY   (PMBUS_VIRT_BASE + 11)

Definition at line 160 of file pmbus.h.

#define PMBUS_VIRT_RESET_IOUT_HISTORY   (PMBUS_VIRT_BASE + 25)

Definition at line 174 of file pmbus.h.

#define PMBUS_VIRT_RESET_PIN_HISTORY   (PMBUS_VIRT_BASE + 14)

Definition at line 163 of file pmbus.h.

#define PMBUS_VIRT_RESET_POUT_HISTORY   (PMBUS_VIRT_BASE + 17)

Definition at line 166 of file pmbus.h.

#define PMBUS_VIRT_RESET_TEMP2_HISTORY   (PMBUS_VIRT_BASE + 29)

Definition at line 178 of file pmbus.h.

#define PMBUS_VIRT_RESET_TEMP_HISTORY   (PMBUS_VIRT_BASE + 3)

Definition at line 152 of file pmbus.h.

#define PMBUS_VIRT_RESET_VIN_HISTORY   (PMBUS_VIRT_BASE + 7)

Definition at line 156 of file pmbus.h.

#define PMBUS_VIRT_RESET_VOUT_HISTORY   (PMBUS_VIRT_BASE + 21)

Definition at line 170 of file pmbus.h.

#define PMBUS_VOUT_CAL_OFFSET   0x23

Definition at line 39 of file pmbus.h.

#define PMBUS_VOUT_COMMAND   0x21

Definition at line 37 of file pmbus.h.

#define PMBUS_VOUT_DROOP   0x28

Definition at line 44 of file pmbus.h.

#define PMBUS_VOUT_MARGIN_HIGH   0x25

Definition at line 41 of file pmbus.h.

#define PMBUS_VOUT_MARGIN_LOW   0x26

Definition at line 42 of file pmbus.h.

#define PMBUS_VOUT_MAX   0x24

Definition at line 40 of file pmbus.h.

#define PMBUS_VOUT_MODE   0x20

Definition at line 36 of file pmbus.h.

#define PMBUS_VOUT_OV_FAULT_LIMIT   0x40

Definition at line 58 of file pmbus.h.

#define PMBUS_VOUT_OV_FAULT_RESPONSE   0x41

Definition at line 59 of file pmbus.h.

#define PMBUS_VOUT_OV_WARN_LIMIT   0x42

Definition at line 60 of file pmbus.h.

#define PMBUS_VOUT_SCALE_LOOP   0x29

Definition at line 45 of file pmbus.h.

#define PMBUS_VOUT_SCALE_MONITOR   0x2A

Definition at line 46 of file pmbus.h.

#define PMBUS_VOUT_TRANSITION_RATE   0x27

Definition at line 43 of file pmbus.h.

#define PMBUS_VOUT_TRIM   0x22

Definition at line 38 of file pmbus.h.

#define PMBUS_VOUT_UV_FAULT_LIMIT   0x44

Definition at line 62 of file pmbus.h.

#define PMBUS_VOUT_UV_FAULT_RESPONSE   0x45

Definition at line 63 of file pmbus.h.

#define PMBUS_VOUT_UV_WARN_LIMIT   0x43

Definition at line 61 of file pmbus.h.

Enumeration Type Documentation

Enumerator:
linear 
direct 
vid 

Definition at line 321 of file pmbus.h.

Enumerator:
PSC_VOLTAGE_IN 
PSC_VOLTAGE_OUT 
PSC_CURRENT_IN 
PSC_CURRENT_OUT 
PSC_POWER 
PSC_TEMPERATURE 
PSC_FAN 
PSC_NUM_CLASSES 

Definition at line 288 of file pmbus.h.

Function Documentation

bool pmbus_check_byte_register ( struct i2c_client client,
int  page,
int  reg 
)

Definition at line 316 of file pmbus_core.c.

bool pmbus_check_word_register ( struct i2c_client client,
int  page,
int  reg 
)

Definition at line 329 of file pmbus_core.c.

void pmbus_clear_faults ( struct i2c_client client)

Definition at line 293 of file pmbus_core.c.

int pmbus_do_probe ( struct i2c_client client,
const struct i2c_device_id id,
struct pmbus_driver_info info 
)

Definition at line 1665 of file pmbus_core.c.

int pmbus_do_remove ( struct i2c_client client)

Definition at line 1784 of file pmbus_core.c.

struct pmbus_driver_info* pmbus_get_driver_info ( struct i2c_client client)
read

Definition at line 342 of file pmbus_core.c.

int pmbus_read_byte_data ( struct i2c_client client,
int  page,
u8  reg 
)

Definition at line 256 of file pmbus_core.c.

int pmbus_read_word_data ( struct i2c_client client,
u8  page,
u8  reg 
)

Definition at line 224 of file pmbus_core.c.

int pmbus_set_page ( struct i2c_client client,
u8  page 
)

Definition at line 141 of file pmbus_core.c.

int pmbus_write_byte ( struct i2c_client client,
int  page,
u8  value 
)

Definition at line 159 of file pmbus_core.c.

int pmbus_write_word_data ( struct i2c_client client,
u8  page,
u8  reg,
u16  word 
)

Definition at line 191 of file pmbus_core.c.