[PATCH] hwmon: (ucd9000) Add voltage monitor types

Guenter Roeck linux at roeck-us.net
Wed Jun 8 11:13:31 AEST 2022


On 6/7/22 13:53, Jim Wright wrote:
> The UCD90240 and UCD90320 devices support monitor types "Input Voltage",
> "Voltage With AVS", and "Input Voltage With AVS", add support to driver
> to recognize these types as voltage monitors.
> 
> Signed-off-by: Jim Wright <wrightj at linux.ibm.com>
> ---
>   drivers/hwmon/pmbus/ucd9000.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/hwmon/pmbus/ucd9000.c b/drivers/hwmon/pmbus/ucd9000.c
> index 75fc770c9e40..28cc214d4d6b 100644
> --- a/drivers/hwmon/pmbus/ucd9000.c
> +++ b/drivers/hwmon/pmbus/ucd9000.c
> @@ -45,6 +45,9 @@ enum chips { ucd9000, ucd90120, ucd90124, ucd90160, ucd90320, ucd9090,
>   #define UCD9000_MON_TEMPERATURE	2
>   #define UCD9000_MON_CURRENT	3
>   #define UCD9000_MON_VOLTAGE_HW	4
> +#define UCD9000_MON_INPUT_VOLTAGE	5
> +#define UCD9000_MON_VOLTAGE_AVS	6
> +#define UCD9000_MON_INPUT_VOLTAGE_AVS	7
>   
>   #define UCD9000_NUM_FAN		4
>   
> @@ -566,6 +569,9 @@ static int ucd9000_probe(struct i2c_client *client)
>   		switch (UCD9000_MON_TYPE(block_buffer[i])) {
>   		case UCD9000_MON_VOLTAGE:
>   		case UCD9000_MON_VOLTAGE_HW:
> +		case UCD9000_MON_INPUT_VOLTAGE:
> +		case UCD9000_MON_VOLTAGE_AVS:
> +		case UCD9000_MON_INPUT_VOLTAGE_AVS:
>   			info->func[page] |= PMBUS_HAVE_VOUT
>   			  | PMBUS_HAVE_STATUS_VOUT;
>   			break;

I don't think it makes sense to claim VOUT support if the chip is
configured to monitor input voltages. This should probably be something
like

...
 > +		case UCD9000_MON_VOLTAGE_AVS:
 >   			info->func[page] |= PMBUS_HAVE_VOUT
 >   			  | PMBUS_HAVE_STATUS_VOUT;
 >   			break;
		case UCD9000_MON_INPUT_VOLTAGE:
		case UCD9000_MON_INPUT_VOLTAGE_AVS:
			info->func[page] |= PMBUS_HAVE_VIN;
  			break;

with appropriate mapping code to map the READ_VIN command for the
affected pages to READ_VOUT. Question is if the limit registers on
those pages are also reporting the limits using the vout limit
commands; if so, those should be mapped as well.

Guenter


More information about the openbmc mailing list