/* * Initialize the MBR as default settings which is referred to LTC4286 datasheet * (March 22, 2022 version) table 3 page 16
*/ staticstruct pmbus_driver_info ltc4286_info = {
.pages = 1,
.format[PSC_VOLTAGE_IN] = direct,
.format[PSC_VOLTAGE_OUT] = direct,
.format[PSC_CURRENT_OUT] = direct,
.format[PSC_POWER] = direct,
.format[PSC_TEMPERATURE] = direct,
.m[PSC_VOLTAGE_IN] = 32,
.b[PSC_VOLTAGE_IN] = 0,
.R[PSC_VOLTAGE_IN] = 1,
.m[PSC_VOLTAGE_OUT] = 32,
.b[PSC_VOLTAGE_OUT] = 0,
.R[PSC_VOLTAGE_OUT] = 1,
.m[PSC_CURRENT_OUT] = 1024,
.b[PSC_CURRENT_OUT] = 0, /* * The rsense value used in MBR formula in LTC4286 datasheet should be ohm unit. * However, the rsense value that user input is micro ohm. * Thus, the MBR setting which involves rsense should be shifted by 6 digits.
*/
.R[PSC_CURRENT_OUT] = 3 - 6,
.m[PSC_POWER] = 1,
.b[PSC_POWER] = 0, /* * The rsense value used in MBR formula in LTC4286 datasheet should be ohm unit. * However, the rsense value that user input is micro ohm. * Thus, the MBR setting which involves rsense should be shifted by 6 digits.
*/
.R[PSC_POWER] = 4 - 6,
.m[PSC_TEMPERATURE] = 1,
.b[PSC_TEMPERATURE] = 273,
.R[PSC_TEMPERATURE] = 0,
.func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_VOUT | PMBUS_HAVE_IOUT |
PMBUS_HAVE_PIN | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_VOUT |
PMBUS_HAVE_STATUS_IOUT | PMBUS_HAVE_STATUS_TEMP,
};
info->m[PSC_POWER] = rsense;
} if (vrange_nval != vrange_oval) { /* Set MFR1 CONFIG register bit 1 VRANGE_SELECT */
ret = i2c_smbus_write_word_data(client, LTC4286_MFR_CONFIG1,
vrange_nval); if (ret < 0) return dev_err_probe(&client->dev, ret, "Failed to set vrange\n");
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.