hwmon: (pmbus) Add documentation for new flags
authorErik Rosen <erik.rosen@metormote.com>
Fri, 7 May 2021 19:40:22 +0000 (21:40 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 17 Jun 2021 11:21:45 +0000 (04:21 -0700)
Add documentation for the new pmbus flags PMBUS_WRITE_PROTECTED,
PMBUS_NO_CAPABILITY and PMBUS_READ_STATUS_AFTER_FAILED_CHECK

Signed-off-by: Erik Rosen <erik.rosen@metormote.com>
Link: https://lore.kernel.org/r/20210507194023.61138-3-erik.rosen@metormote.com
[groeck: Added newline at end of file]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/pmbus-core.rst

index 73e23ab42cc3ae536437fcf4d0d4387d2c849dea..e7e0c9ef10bec461bf6d9dd2f1f00c8dee59ecdc 100644 (file)
@@ -289,12 +289,22 @@ PMBus driver platform data
 ==========================
 
 PMBus platform data is defined in include/linux/pmbus.h. Platform data
-currently only provides a flag field with a single bit used::
+currently provides a flags field with four bits used::
 
-       #define PMBUS_SKIP_STATUS_CHECK (1 << 0)
+       #define PMBUS_SKIP_STATUS_CHECK                 BIT(0)
+
+       #define PMBUS_WRITE_PROTECTED                   BIT(1)
+
+       #define PMBUS_NO_CAPABILITY                     BIT(2)
+
+       #define PMBUS_READ_STATUS_AFTER_FAILED_CHECK    BIT(3)
 
        struct pmbus_platform_data {
                u32 flags;              /* Device specific flags */
+
+               /* regulator support */
+               int num_regulators;
+               struct regulator_init_data *reg_init_data;
        };
 
 
@@ -302,8 +312,9 @@ Flags
 -----
 
 PMBUS_SKIP_STATUS_CHECK
-       During register detection, skip checking the status register for
-       communication or command errors.
+
+During register detection, skip checking the status register for
+communication or command errors.
 
 Some PMBus chips respond with valid data when trying to read an unsupported
 register. For such chips, checking the status register is mandatory when
@@ -315,3 +326,26 @@ status register must be disabled.
 Some i2c controllers do not support single-byte commands (write commands with
 no data, i2c_smbus_write_byte()). With such controllers, clearing the status
 register is impossible, and the PMBUS_SKIP_STATUS_CHECK flag must be set.
+
+PMBUS_WRITE_PROTECTED
+
+Set if the chip is write protected and write protection is not determined
+by the standard WRITE_PROTECT command.
+
+PMBUS_NO_CAPABILITY
+
+Some PMBus chips don't respond with valid data when reading the CAPABILITY
+register. For such chips, this flag should be set so that the PMBus core
+driver doesn't use CAPABILITY to determine it's behavior.
+
+PMBUS_READ_STATUS_AFTER_FAILED_CHECK
+
+Read the STATUS register after each failed register check.
+
+Some PMBus chips end up in an undefined state when trying to read an
+unsupported register. For such chips, it is necessary to reset the
+chip pmbus controller to a known state after a failed register check.
+This can be done by reading a known register. By setting this flag the
+driver will try to read the STATUS register after each failed
+register check. This read may fail, but it will put the chip into a
+known state.