[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f8ba6a46-bbdb-b8ba-7b27-d43f2e05426d@roeck-us.net>
Date: Thu, 28 Apr 2022 08:21:35 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Adam Wujek <dev_public@...ek.eu>
Cc: Jean Delvare <jdelvare@...e.com>, linux-hwmon@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] hwmon: (pmbus) add missing definitions of pmbus registers
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 ?
Guenter
> Signed-off-by: Adam Wujek <dev_public@...ek.eu>
> ---
> 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
>
>
Powered by blists - more mailing lists