hwmon: Add driver for fsp-3y PSUs and PDUs
authorVáclav Kubernát <kubernat@cesnet.cz>
Wed, 14 Apr 2021 08:00:17 +0000 (10:00 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Tue, 20 Apr 2021 13:50:14 +0000 (06:50 -0700)
commit1734b4135a62fd2402232346b809e99177ea6b4c
tree7136c7ba0e2fa9e9fa897e333951900a9b8f857d
parent25b000a80bd79f037de56a76d62dbf1cca0db63a
hwmon: Add driver for fsp-3y PSUs and PDUs

This patch adds support for these devices:
- YH-5151E - the PDU
- YM-2151E - the PSU

The device datasheet says that the devices support PMBus 1.2, but in my
testing, a lot of the commands aren't supported and if they are, they
sometimes behave strangely or inconsistently. For example, writes to the
PAGE command requires using PEC, otherwise the write won't work and the
page won't switch, even though, the standard says that PEC is optional.
On the other hand, writes to SMBALERT don't require PEC. Because of
this, the driver is mostly reverse engineered with the help of a tool
called pmbus_peek written by David Brownell (and later adopted by my
colleague Jan Kundrát).

The device also has some sort of a timing issue when switching pages,
which is explained further in the code.

Because of this, the driver support is limited. It exposes only the
values that have been tested to work correctly.

Signed-off-by: Václav Kubernát <kubernat@cesnet.cz>
Link: https://lore.kernel.org/r/20210414080019.3530794-1-kubernat@cesnet.cz
[groeck: Fixed up "missing braces around initializer" from 0-day]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/fsp-3y.rst [new file with mode: 0644]
Documentation/hwmon/index.rst
drivers/hwmon/pmbus/Kconfig
drivers/hwmon/pmbus/Makefile
drivers/hwmon/pmbus/fsp-3y.c [new file with mode: 0644]