hwmon: (pmbus/ibm-cffps) Add the VMON property for version 2
authorEddie James <eajames@linux.ibm.com>
Thu, 19 Dec 2019 20:50:06 +0000 (14:50 -0600)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 23 Jan 2020 21:15:10 +0000 (13:15 -0800)
Version 2 of the PSU supports reading an auxiliary voltage. Use the
pmbus VMON property and associated virtual register to read it.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Link: https://lore.kernel.org/r/1576788607-13567-3-git-send-email-eajames@linux.ibm.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/pmbus/ibm-cffps.c

index a564be9b013c1fbf58046d90744277a4f2f910d8..b37faf1440d22c841ebf9587c0f22a3296616e0e 100644 (file)
@@ -28,6 +28,7 @@
 #define CFFPS1_FW_NUM_BYTES                    4
 #define CFFPS2_FW_NUM_WORDS                    3
 #define CFFPS_SYS_CONFIG_CMD                   0xDA
+#define CFFPS_12VCS_VOUT_CMD                   0xDE
 
 #define CFFPS_INPUT_HISTORY_CMD                        0xD6
 #define CFFPS_INPUT_HISTORY_SIZE               100
@@ -350,6 +351,9 @@ static int ibm_cffps_read_word_data(struct i2c_client *client, int page,
                if (mfr & CFFPS_MFR_PS_KILL)
                        rc |= PB_STATUS_OFF;
                break;
+       case PMBUS_VIRT_READ_VMON:
+               rc = pmbus_read_word_data(client, page, CFFPS_12VCS_VOUT_CMD);
+               break;
        default:
                rc = -ENODATA;
                break;
@@ -453,7 +457,7 @@ static struct pmbus_driver_info ibm_cffps_info[] = {
                        PMBUS_HAVE_TEMP2 | PMBUS_HAVE_TEMP3 |
                        PMBUS_HAVE_STATUS_VOUT | PMBUS_HAVE_STATUS_IOUT |
                        PMBUS_HAVE_STATUS_INPUT | PMBUS_HAVE_STATUS_TEMP |
-                       PMBUS_HAVE_STATUS_FAN12,
+                       PMBUS_HAVE_STATUS_FAN12 | PMBUS_HAVE_VMON,
                .func[1] = PMBUS_HAVE_VOUT | PMBUS_HAVE_IOUT |
                        PMBUS_HAVE_TEMP | PMBUS_HAVE_TEMP2 | PMBUS_HAVE_TEMP3 |
                        PMBUS_HAVE_STATUS_VOUT | PMBUS_HAVE_STATUS_IOUT,