> > > On 4/28/22 06:46, Adam Wujek wrote: > > > Definitions are taken from the table 31 of the PMBUS specification > > revision 1.3.1, 13 March 2015. > > > Do you plan to do anything with those registers, or a subset of it ? yes, some of PMBUS_MFR_SPECIFIC_*, but in a driver that will not be published in the near future. Adam > > Guenter > > > Signed-off-by: Adam Wujek dev_public@xxxxxxxx > > --- > > drivers/hwmon/pmbus/pmbus.h | 145 ++++++++++++++++++++++++++++++++++++ > > 1 file changed, 145 insertions(+) > > > > diff --git a/drivers/hwmon/pmbus/pmbus.h b/drivers/hwmon/pmbus/pmbus.h > > index e74b6ef070f3..902bb9cce950 100644 > > --- a/drivers/hwmon/pmbus/pmbus.h > > +++ b/drivers/hwmon/pmbus/pmbus.h > > @@ -21,11 +21,29 @@ enum pmbus_regs { > > PMBUS_ON_OFF_CONFIG = 0x02, > > PMBUS_CLEAR_FAULTS = 0x03, > > PMBUS_PHASE = 0x04, > > + PMBUS_PAGE_PLUS_WRITE = 0x05, > > + PMBUS_PAGE_PLUS_READ = 0x06, > > + PMBUS_ZONE_CONFIG = 0x07, > > + PMBUS_ZONE_ACTIVE = 0x08, > > + > > + /* 0x09 - 0x0F are reserved */ > > > > PMBUS_WRITE_PROTECT = 0x10, > > + PMBUS_STORE_DEFAULT_ALL = 0x11, > > + PMBUS_RESTORE_DEFAULT_ALL = 0x12, > > + PMBUS_STORE_DEFAULT_CODE = 0x13, > > + PMBUS_RESTORE_DEFAULT_CODE = 0x14, > > + PMBUS_STORE_USER_ALL = 0x15, > > + PMBUS_RESTORE_USER_ALL = 0x16, > > + PMBUS_STORE_USER_CODE = 0x17, > > + PMBUS_RESTORE_USER_CODE = 0x18, > > > > PMBUS_CAPABILITY = 0x19, > > + > > PMBUS_QUERY = 0x1A, > > + PMBUS_SMBALERT_MASK = 0x1B, > > + > > + /* 0x1C - 0x1F are reserved */ > > > > PMBUS_VOUT_MODE = 0x20, > > PMBUS_VOUT_COMMAND = 0x21, > > @@ -38,10 +56,22 @@ enum pmbus_regs { > > PMBUS_VOUT_DROOP = 0x28, > > PMBUS_VOUT_SCALE_LOOP = 0x29, > > PMBUS_VOUT_SCALE_MONITOR = 0x2A, > > + PMBUS_VOUT_MIN = 0x2B, > > + > > + /* 0x2C - 0x2F are reserved */ > > > > PMBUS_COEFFICIENTS = 0x30, > > PMBUS_POUT_MAX = 0x31, > > > > + PMBUS_MAX_DUTY = 0x32, > > + PMBUS_FREQUENCY_SWITCH = 0x33, > > + PMBUS_POWER_MODE = 0x34, > > + PMBUS_VIN_ON = 0x35, > > + PMBUS_VIN_OFF = 0x36, > > + PMBUS_INTERLEAVE = 0x37, > > + PMBUS_IOUT_CAL_GAIN = 0x38, > > + PMBUS_IOUT_CAL_OFFSET = 0x39, > > + > > PMBUS_FAN_CONFIG_12 = 0x3A, > > PMBUS_FAN_COMMAND_1 = 0x3B, > > PMBUS_FAN_COMMAND_2 = 0x3C, > > @@ -63,6 +93,9 @@ enum pmbus_regs { > > PMBUS_IOUT_UC_FAULT_LIMIT = 0x4B, > > PMBUS_IOUT_UC_FAULT_RESPONSE = 0x4C, > > > > + /* 0x4D is reserved / > > + / 0x4E is reserved */ > > + > > PMBUS_OT_FAULT_LIMIT = 0x4F, > > PMBUS_OT_FAULT_RESPONSE = 0x50, > > PMBUS_OT_WARN_LIMIT = 0x51, > > @@ -74,14 +107,28 @@ enum pmbus_regs { > > PMBUS_VIN_OV_WARN_LIMIT = 0x57, > > PMBUS_VIN_UV_WARN_LIMIT = 0x58, > > PMBUS_VIN_UV_FAULT_LIMIT = 0x59, > > + PMBUS_VIN_UV_FAULT_RESPONSE = 0x5A, > > > > PMBUS_IIN_OC_FAULT_LIMIT = 0x5B, > > PMBUS_IIN_OC_WARN_LIMIT = 0x5D, > > > > + PMBUS_POWER_GOOD_ON = 0x5E, > > + PMBUS_POWER_GOOD_OFF = 0x5F, > > + PMBUS_TON_DELAY = 0x60, > > + PMBUS_TON_RISE = 0x61, > > + PMBUS_TON_MAX_FAULT_LIMIT = 0x62, > > + PMBUS_TON_MAX_FAULT_RESPONSE = 0x63, > > + PMBUS_TOFF_DELAY = 0x64, > > + PMBUS_TOFF_FALL = 0x65, > > + PMBUS_TOFF_MAX_WARN_LIMIT = 0x66, > > + /* 0x67 is reserved (Was Used In PMBUS Revision 1.0) */ > > PMBUS_POUT_OP_FAULT_LIMIT = 0x68, > > + PMBUS_POUT_OP_FAULT_RESPONSE = 0x69, > > PMBUS_POUT_OP_WARN_LIMIT = 0x6A, > > PMBUS_PIN_OP_WARN_LIMIT = 0x6B, > > > > + /* 0x6C - 0x77 are reserved */ > > + > > PMBUS_STATUS_BYTE = 0x78, > > PMBUS_STATUS_WORD = 0x79, > > PMBUS_STATUS_VOUT = 0x7A, > > @@ -94,6 +141,11 @@ enum pmbus_regs { > > PMBUS_STATUS_FAN_12 = 0x81, > > PMBUS_STATUS_FAN_34 = 0x82, > > > > + PMBUS_READ_KWH_IN = 0x83, > > + PMBUS_READ_KWH_OUT = 0x84, > > + PMBUS_READ_KWH_CONFIG = 0x85, > > + PMBUS_READ_EIN = 0x86, > > + PMBUS_READ_EOUT = 0x87, > > PMBUS_READ_VIN = 0x88, > > PMBUS_READ_IIN = 0x89, > > PMBUS_READ_VCAP = 0x8A, > > @@ -118,6 +170,7 @@ enum pmbus_regs { > > PMBUS_MFR_LOCATION = 0x9C, > > PMBUS_MFR_DATE = 0x9D, > > PMBUS_MFR_SERIAL = 0x9E, > > + PMBUS_APP_PROFILE_SUPPORT = 0x9F, > > > > PMBUS_MFR_VIN_MIN = 0xA0, > > PMBUS_MFR_VIN_MAX = 0xA1, > > @@ -128,13 +181,105 @@ enum pmbus_regs { > > PMBUS_MFR_IOUT_MAX = 0xA6, > > PMBUS_MFR_POUT_MAX = 0xA7, > > > > + PMBUS_MFR_TAMBIENT_MAX = 0xA8, > > + PMBUS_MFR_TAMBIENT_MIN = 0xA9, > > + PMBUS_MFR_EFFICIENCY_LL = 0xAA, > > + PMBUS_MFR_EFFICIENCY_HL = 0xAB, > > + PMBUS_MFR_PIN_ACCURACY = 0xAC, > > + > > PMBUS_IC_DEVICE_ID = 0xAD, > > PMBUS_IC_DEVICE_REV = 0xAE, > > > > + /* 0xAF is reserved */ > > + > > + PMBUS_USER_DATA_00 = 0xB0, > > + PMBUS_USER_DATA_01 = 0xB1, > > + PMBUS_USER_DATA_02 = 0xB2, > > + PMBUS_USER_DATA_03 = 0xB3, > > + PMBUS_USER_DATA_04 = 0xB4, > > + PMBUS_USER_DATA_05 = 0xB5, > > + PMBUS_USER_DATA_06 = 0xB6, > > + PMBUS_USER_DATA_07 = 0xB7, > > + PMBUS_USER_DATA_08 = 0xB8, > > + PMBUS_USER_DATA_09 = 0xB9, > > + PMBUS_USER_DATA_10 = 0xBA, > > + PMBUS_USER_DATA_11 = 0xBB, > > + PMBUS_USER_DATA_12 = 0xBC, > > + PMBUS_USER_DATA_13 = 0xBD, > > + PMBUS_USER_DATA_14 = 0xBE, > > + PMBUS_USER_DATA_15 = 0xBF, > > + > > PMBUS_MFR_MAX_TEMP_1 = 0xC0, > > PMBUS_MFR_MAX_TEMP_2 = 0xC1, > > PMBUS_MFR_MAX_TEMP_3 = 0xC2, > > > > + /* 0xC3 is reserved / > > + > > + PMBUS_MFR_SPECIFIC_C4 = 0xC4, > > + PMBUS_MFR_SPECIFIC_C5 = 0xC5, > > + PMBUS_MFR_SPECIFIC_C6 = 0xC6, > > + PMBUS_MFR_SPECIFIC_C7 = 0xC7, > > + PMBUS_MFR_SPECIFIC_C8 = 0xC8, > > + PMBUS_MFR_SPECIFIC_C9 = 0xC9, > > + PMBUS_MFR_SPECIFIC_CA = 0xCA, > > + PMBUS_MFR_SPECIFIC_CB = 0xCB, > > + PMBUS_MFR_SPECIFIC_CC = 0xCC, > > + PMBUS_MFR_SPECIFIC_CD = 0xCD, > > + PMBUS_MFR_SPECIFIC_CE = 0xCE, > > + PMBUS_MFR_SPECIFIC_CF = 0xCF, > > + > > + PMBUS_MFR_SPECIFIC_D0 = 0xD0, > > + PMBUS_MFR_SPECIFIC_D1 = 0xD1, > > + PMBUS_MFR_SPECIFIC_D2 = 0xD2, > > + PMBUS_MFR_SPECIFIC_D3 = 0xD3, > > + PMBUS_MFR_SPECIFIC_D4 = 0xD4, > > + PMBUS_MFR_SPECIFIC_D5 = 0xD5, > > + PMBUS_MFR_SPECIFIC_D6 = 0xD6, > > + PMBUS_MFR_SPECIFIC_D7 = 0xD7, > > + PMBUS_MFR_SPECIFIC_D8 = 0xD8, > > + PMBUS_MFR_SPECIFIC_D9 = 0xD9, > > + PMBUS_MFR_SPECIFIC_DA = 0xDA, > > + PMBUS_MFR_SPECIFIC_DB = 0xDB, > > + PMBUS_MFR_SPECIFIC_DC = 0xDC, > > + PMBUS_MFR_SPECIFIC_DD = 0xDD, > > + PMBUS_MFR_SPECIFIC_DE = 0xDE, > > + PMBUS_MFR_SPECIFIC_DF = 0xDF, > > + > > + PMBUS_MFR_SPECIFIC_E0 = 0xE0, > > + PMBUS_MFR_SPECIFIC_E1 = 0xE1, > > + PMBUS_MFR_SPECIFIC_E2 = 0xE2, > > + PMBUS_MFR_SPECIFIC_E3 = 0xE3, > > + PMBUS_MFR_SPECIFIC_E4 = 0xE4, > > + PMBUS_MFR_SPECIFIC_E5 = 0xE5, > > + PMBUS_MFR_SPECIFIC_E6 = 0xE6, > > + PMBUS_MFR_SPECIFIC_E7 = 0xE7, > > + PMBUS_MFR_SPECIFIC_E8 = 0xE8, > > + PMBUS_MFR_SPECIFIC_E9 = 0xE9, > > + PMBUS_MFR_SPECIFIC_EA = 0xEA, > > + PMBUS_MFR_SPECIFIC_EB = 0xEB, > > + PMBUS_MFR_SPECIFIC_EC = 0xEC, > > + PMBUS_MFR_SPECIFIC_ED = 0xED, > > + PMBUS_MFR_SPECIFIC_EE = 0xEE, > > + PMBUS_MFR_SPECIFIC_EF = 0xEF, > > + > > + PMBUS_MFR_SPECIFIC_F0 = 0xF0, > > + PMBUS_MFR_SPECIFIC_F1 = 0xF1, > > + PMBUS_MFR_SPECIFIC_F2 = 0xF2, > > + PMBUS_MFR_SPECIFIC_F3 = 0xF3, > > + PMBUS_MFR_SPECIFIC_F4 = 0xF4, > > + PMBUS_MFR_SPECIFIC_F5 = 0xF5, > > + PMBUS_MFR_SPECIFIC_F6 = 0xF6, > > + PMBUS_MFR_SPECIFIC_F7 = 0xF7, > > + PMBUS_MFR_SPECIFIC_F8 = 0xF8, > > + PMBUS_MFR_SPECIFIC_F9 = 0xF9, > > + PMBUS_MFR_SPECIFIC_FA = 0xFA, > > + PMBUS_MFR_SPECIFIC_FB = 0xFB, > > + PMBUS_MFR_SPECIFIC_FC = 0xFC, > > + PMBUS_MFR_SPECIFIC_FD = 0xFD, > > + > > + PMBUS_MFR_SPECIFIC_COMMAND_EXT = 0xFE, > > + PMBUS_COMMAND_EXT = 0xFF, > > + > > / > > * Virtual registers. > > * Useful to support attributes which are not supported by standard PMBus > > -- > > 2.25.1