mtb-pmbus 1.4.0.2051
 
Loading...
Searching...
No Matches
Command capabilities macro

General Description

Command Capabilities setting rules:

Valid combinations of capabilities:

Not valid combination of capabilities:

Note
Known limitation: cmd_cap assigns a single, fixed capability value to a command in the general command table (mtb_pmbus_stc_config_t::cmd_table), so it cannot express a command whose write and read directions use two different wire protocols (for example, Write Word for the write direction combined with Block Write-Block Read Process Call for the read direction). Within the PMBus Specification (revisions 1.4 and 1.5), SMBALERT_MASK (0x1B) is the only standard command with this write/read protocol asymmetry. Because of this, SMBALERT_MASK cannot be added to the general command table; it is instead handled by the dedicated pre-implemented command. See MTB_PMBUS_IMPL_CMD_SMBALERT_MASK_EN and mtb_pmbus_smbalert_apply_mask.

Macros

#define MTB_PMBUS_CMD_CAP_DIR_WR   (0x1U)
 The command supports write direction.
 
#define MTB_PMBUS_CMD_CAP_DIR_RD   (0x2U)
 The command supports read direction.
 
#define MTB_PMBUS_CMD_CAP_DIR_PROCESS_CALL   (0x4U)
 The command supports Process Call.
 
#define MTB_PMBUS_CMD_CAP_BLOCK   (0x8U)
 The command supports Block Write/Read protocols.
 
#define MTB_PMBUS_CMD_CAP_PAGE   (0x10U)
 The command is paged.
 
#define MTB_PMBUS_CMD_CAP_PHASE   (0x20U)
 The command is phased.
 
#define MTB_PMBUS_CMD_CAP_FORMAT_LIN_11_16   (0U << MTB_PMBUS_CMD_CAP_FORMAT_POS)
 The command uses LINEAR11 or ULINEAR16 numeric format.
 
#define MTB_PMBUS_CMD_CAP_FORMAT_16_BIT   (1U << MTB_PMBUS_CMD_CAP_FORMAT_POS)
 The command uses 16 bit signed number.
 
#define MTB_PMBUS_CMD_CAP_FORMAT_IEEE   (2U << MTB_PMBUS_CMD_CAP_FORMAT_POS)
 The command uses IEEE Half Precision Floating Point Format.
 
#define MTB_PMBUS_CMD_CAP_FORMAT_DIR_MODE   (3U << MTB_PMBUS_CMD_CAP_FORMAT_POS)
 The command uses Direct Mode Format.
 
#define MTB_PMBUS_CMD_CAP_FORMAT_8_BIT   (4U << MTB_PMBUS_CMD_CAP_FORMAT_POS)
 The command uses 8 bit unsigned.
 
#define MTB_PMBUS_CMD_CAP_FORMAT_VID_MODE   (5U << MTB_PMBUS_CMD_CAP_FORMAT_POS)
 The command uses VID Mode Format.
 
#define MTB_PMBUS_CMD_CAP_FORMAT_MFC_SPEC   (6U << MTB_PMBUS_CMD_CAP_FORMAT_POS)
 The command uses Manufacturer specific format.
 
#define MTB_PMBUS_CMD_CAP_FORMAT_NO_NUM   (7U << MTB_PMBUS_CMD_CAP_FORMAT_POS)
 The command does not use any numeric data.