|
| enum | max17616_chip_id {
ID_MAX17616
,
ID_MAX17616A
,
ID_MAX17616_CHIP_COUNT
} |
| |
| enum | max17616_current_limit_mode {
MAX17616_CLMODE_LATCH_OFF = 0x00
,
MAX17616_CLMODE_CONTINUOUS = 0x40
,
MAX17616_CLMODE_AUTO_RETRY = 0x80
} |
| |
| enum | max17616_istart_ratio {
MAX17616_ISTART_FULL
,
MAX17616_ISTART_HALF
,
MAX17616_ISTART_QUARTER
,
MAX17616_ISTART_EIGHTH
,
MAX17616_ISTART_SIXTEENTH
} |
| |
| enum | max17616_overcurrent_timeout {
MAX17616_TIMEOUT_400US
,
MAX17616_TIMEOUT_1MS
,
MAX17616_TIMEOUT_4MS
,
MAX17616_TIMEOUT_24MS
} |
| |
| enum | max17616_overcurrent_limit {
MAX17616_OC_LIMIT_1_25
,
MAX17616_OC_LIMIT_1_50
,
MAX17616_OC_LIMIT_1_75
,
MAX17616_OC_LIMIT_2_00
} |
| |
| enum | max17616_nominal_voltage {
MAX17616_NOMINAL_5V
,
MAX17616_NOMINAL_9V
,
MAX17616_NOMINAL_12V
,
MAX17616_NOMINAL_24V
,
MAX17616_NOMINAL_36V
,
MAX17616_NOMINAL_48V
,
MAX17616_NOMINAL_60V
,
MAX17616_NOMINAL_72V
} |
| |
| enum | max17616_pgood_threshold {
MAX17616_PGOOD_MINUS_10_PERCENT = 0x00
,
MAX17616_PGOOD_MINUS_20_PERCENT = 0x01
,
MAX17616_PGOOD_MINUS_30_PERCENT = 0x02
} |
| |
| enum | max17616_value_type {
MAX17616_VIN
,
MAX17616_VOUT
,
MAX17616_IOUT
,
MAX17616_TEMP
,
MAX17616_POWER
} |
| |
| enum | max17616_status_byte {
MAX17616_STATUS_BIT_GENERAL
,
MAX17616_STATUS_BIT_CML
,
MAX17616_STATUS_BIT_TEMPERATURE
,
MAX17616_STATUS_BIT_VIN_UV
,
MAX17616_STATUS_BIT_IOUT_OC
,
MAX17616_STATUS_BIT_VOUT_OV
,
MAX17616_STATUS_BIT_OFF
,
MAX17616_STATUS_BIT_BUSY
} |
| |
| enum | max17616_status_word_byte_high {
MAX17616_STATUS_BIT_STARTUP
,
MAX17616_STATUS_BIT_OTHER
,
MAX17616_STATUS_BIT_FANS
,
MAX17616_STATUS_BIT_POWER_GOOD
,
MAX17616_STATUS_BIT_MFR
,
MAX17616_STATUS_BIT_INPUT
,
MAX17616_STATUS_BIT_IOUT_POUT
,
MAX17616_STATUS_BIT_VOUT
} |
| |
| enum | max17616_general_bit_fault_byte {
MAX17616_GENERAL_FAULT_NS_BIT0
,
MAX17616_GENERAL_FAULT_NS_BIT1
,
MAX17616_GENERAL_FAULT_NS_BIT2
,
MAX17616_GENERAL_FAULT_NS_BIT3
,
MAX17616_GENERAL_FAULT_NS_BIT4
,
MAX17616_GENERAL_FAULT_NS_BIT5
,
MAX17616_GENERAL_FAULT_NS_BIT6
,
MAX17616_GENERAL_FAULT_NS_BIT7
} |
| |
| enum | max17616_cml_bit_fault_byte {
MAX17616_CML_FAULT_NS_BIT0
,
MAX17616_CML_FAULT_OTHER
,
MAX17616_CML_FAULT_NS_BIT2
,
MAX17616_CML_FAULT_NS_BIT3
,
MAX17616_CML_FAULT_MEM_ERROR
,
MAX17616_CML_FAULT_PEC_FAIL
,
MAX17616_CML_FAULT_DATA
,
MAX17616_CML_FAULT_CMD
} |
| |
| enum | max17616_temperature_bit_fault_byte {
MAX17616_TEMPERATURE_FAULT_NS_BIT0
,
MAX17616_TEMPERATURE_FAULT_NS_BIT1
,
MAX17616_TEMPERATURE_FAULT_NS_BIT2
,
MAX17616_TEMPERATURE_FAULT_NS_BIT3
,
MAX17616_TEMPERATURE_FAULT_UT_FAULT
,
MAX17616_TEMPERATURE_FAULT_UT_WARNING
,
MAX17616_TEMPERATURE_FAULT_OT_WARNING
,
MAX17616_TEMPERATURE_FAULT_OT_FAULT
} |
| |
| enum | max17616_input_fault_bit {
MAX17616_INPUT_FAULT_PIN_OP_WARNING
,
MAX17616_INPUT_FAULT_IIN_OC_WARNING
,
MAX17616_INPUT_FAULT_IIN_OC_FAULT
,
MAX17616_INPUT_FAULT_UNIT_OFF
,
MAX17616_INPUT_FAULT_VIN_UV_FAULT
,
MAX17616_INPUT_FAULT_VIN_UV_WARNING
,
MAX17616_INPUT_FAULT_VIN_OV_WARNING
,
MAX17616_INPUT_FAULT_VIN_OV_FAULT
} |
| |
| enum | max17616_iout_fault_bit {
MAX17616_IOUT_FAULT_NS_BIT0
,
MAX17616_IOUT_FAULT_NS_BIT1
,
MAX17616_IOUT_FAULT_NS_BIT2
,
MAX17616_IOUT_FAULT_NS_BIT3
,
MAX17616_IOUT_FAULT_NS_BIT4
,
MAX17616_IOUT_FAULT_OUT_OC_WARNING
,
MAX17616_IOUT_FAULT_OUT_OC_UV_LO
,
MAX17616_IOUT_FAULT_OUT_OC_FAULT
} |
| |
| enum | max17616_vout_fault_bit {
MAX17616_VOUT_FAULT_VOUT_TRACKING_ERROR
,
MAX17616_VOUT_FAULT_TOFF_MAX_WARNING
,
MAX17616_VOUT_FAULT_TON_MAX_FAULT
,
MAX17616_VOUT_FAULT_VOUT_MAX_WARNING
,
MAX17616_VOUT_FAULT_VOUT_UV_FAULT
,
MAX17616_VOUT_FAULT_VOUT_UV_WARNING
,
MAX17616_VOUT_FAULT_VOUT_OV_WARNING
,
MAX17616_VOUT_FAULT_VOUT_OV_FAULT
} |
| |
| enum | max17616_mfr_specific_fault_bit {
MAX17616_MFR_FAULT_NS_BIT0
,
MAX17616_MFR_FAULT_NS_BIT1
,
MAX17616_MFR_FAULT_REVERSE_CURRENT
,
MAX17616_MFR_FAULT_OUTPUT_SHORT_CIRCUIT
,
MAX17616_MFR_FAULT_NS_BIT4
,
MAX17616_MFR_FAULT_SOFT_START
,
MAX17616_MFR_FAULT_IMON_PIN
,
MAX17616_MFR_FAULT_SETI_PIN
} |
| |
| enum | max17616_fault_group {
MAX17616_FAULT_GRP_NONE = 0x00
,
MAX17616_FAULT_GRP_CML = 0x01
,
MAX17616_FAULT_GRP_TEMPERATURE = 0x02
,
MAX17616_FAULT_GRP_VIN_UV = 0x04
,
MAX17616_FAULT_GRP_IOUT_OC = 0x08
,
MAX17616_FAULT_GRP_VOUT_OV = 0x10
,
MAX17616_FAULT_GRP_INPUT = 0x20
,
MAX17616_FAULT_GRP_IOUT_POUT = 0x40
,
MAX17616_FAULT_GRP_VOUT = 0x80
,
MAX17616_FAULT_GRP_MFR_SPECIFIC = 0x100
,
MAX17616_FAULT_GRP_ALL = 0xFFFF
} |
| |
|
| int | max17616_init (struct max17616_dev **dev, struct max17616_init_param *init_param) |
| | Initialize the device structure.
|
| |
| int | max17616_remove (struct max17616_dev *dev) |
| | Free or remove device instance.
|
| |
| int | max17616_clear_faults (struct max17616_dev *dev) |
| | Clear all asserted faults.
|
| |
| int | max17616_write_byte (struct max17616_dev *dev, uint8_t cmd, uint8_t value) |
| | Perform a raw PMBus write byte operation.
|
| |
| int | max17616_read_block_data (struct max17616_dev *dev, uint8_t cmd, uint8_t *data, size_t nbytes) |
| | Perform a PMBus read block operation.
|
| |
| int | max17616_read_word (struct max17616_dev *dev, uint8_t cmd, uint16_t *word) |
| | Perform a raw PMBus read word operation.
|
| |
| int | max17616_send_byte (struct max17616_dev *dev, uint8_t cmd) |
| | Send a PMBus command to the device.
|
| |
| int | max17616_read_byte (struct max17616_dev *dev, uint8_t cmd, uint8_t *data) |
| | Perform a raw PMBus read byte operation.
|
| |
| int | max17616_read_status (struct max17616_dev *dev, struct max17616_status *status) |
| | Read MAX17616 device status.
|
| |
| const char * | max17616_get_fault_description (uint16_t group, uint8_t bit) |
| | Get human-readable description for a specific fault.
|
| |
| int | max17616_read_value (struct max17616_dev *dev, enum max17616_value_type value_type, int32_t *value_milliunit) |
| | Read a specific value with automatic data conversion.
|
| |
| int | max17616_set_operation_state (struct max17616_dev *dev, bool enable) |
| | Set device operation state.
|
| |
| int | max17616_get_operation_state (struct max17616_dev *dev, bool *enabled) |
| | Get device operation state.
|
| |
| int | max17616_set_current_limit_mode (struct max17616_dev *dev, enum max17616_current_limit_mode clmode) |
| | Set current limit mode.
|
| |
| int | max17616_get_current_limit_mode (struct max17616_dev *dev, enum max17616_current_limit_mode *clmode) |
| | Get current limit mode.
|
| |
| int | max17616_set_istart_ratio (struct max17616_dev *dev, enum max17616_istart_ratio ratio) |
| | Set current start ratio.
|
| |
| int | max17616_get_istart_ratio (struct max17616_dev *dev, enum max17616_istart_ratio *istart_ratio) |
| | Get current start ratio.
|
| |
| int | max17616_set_overcurrent_timeout (struct max17616_dev *dev, enum max17616_overcurrent_timeout timeout) |
| | Set short-term overcurrent duration.
|
| |
| int | max17616_get_overcurrent_timeout (struct max17616_dev *dev, enum max17616_overcurrent_timeout *timeout) |
| | Get short-term overcurrent duration.
|
| |
| int | max17616_set_overcurrent_limit (struct max17616_dev *dev, enum max17616_overcurrent_limit limit) |
| | Set the short-term overcurrent limit ratio.
|
| |
| int | max17616_get_overcurrent_limit (struct max17616_dev *dev, enum max17616_overcurrent_limit *istlim) |
| | Get the short-term overcurrent limit ratio.
|
| |
| int | max17616_set_vout_uv_fault_limit_config (struct max17616_dev *dev, enum max17616_nominal_voltage voltage, enum max17616_pgood_threshold threshold) |
| | Set VOUT UV fault limit configuration using enums.
|
| |
| int | max17616_get_vout_uv_fault_limit_config (struct max17616_dev *dev, enum max17616_nominal_voltage *voltage, enum max17616_pgood_threshold *threshold) |
| | Get VOUT UV fault limit configuration using enums.
|
| |
| int | max17616_read_capability (struct max17616_dev *dev, uint8_t *capability) |
| | Read device capability register.
|
| |
| int | max17616_read_telemetry_all (struct max17616_dev *dev, struct max17616_telemetry *telemetry) |
| | Read comprehensive telemetry data.
|
| |
| int | max17616_read_status_byte (struct max17616_dev *dev, uint8_t *status_byte) |
| | Read STATUS_BYTE register.
|
| |
| int | max17616_read_status_vout (struct max17616_dev *dev, uint8_t *status_vout) |
| | Read STATUS_VOUT register.
|
| |
| int | max17616_read_status_iout (struct max17616_dev *dev, uint8_t *status_iout) |
| | Read STATUS_IOUT register.
|
| |
| int | max17616_read_status_input (struct max17616_dev *dev, uint8_t *status_input) |
| | Read STATUS_INPUT register.
|
| |
| int | max17616_read_status_temperature (struct max17616_dev *dev, uint8_t *status_temperature) |
| | Read STATUS_TEMPERATURE register.
|
| |
| int | max17616_read_status_cml (struct max17616_dev *dev, uint8_t *status_cml) |
| | Read STATUS_CML register.
|
| |
| int | max17616_read_status_mfr_specific (struct max17616_dev *dev, uint8_t *status_mfr) |
| | Read STATUS_MFR_SPECIFIC register.
|
| |
| int | max17616_verify_manufacturer_id (struct max17616_dev *dev) |
| | Read and verify manufacturer ID.
|
| |
| int | max17616_identify_chip_variant (struct max17616_dev *dev) |
| | Read device ID and identify chip variant.
|
| |
| int | max17616_verify_pmbus_revision (struct max17616_dev *dev) |
| | Verify PMBus revision.
|
| |
Header file of the MAX17616 Driver.
- Author
- Carlos Jones (carlo.nosp@m.sjr..nosp@m.jones.nosp@m.@ana.nosp@m.log.c.nosp@m.om)
Copyright 2025(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause