[PATCH v3 0/7] pmbus: PMBus 1.x framework, CLI, regulator and thermal support
Vincent Jardin
vjardin at free.fr
Mon Jul 6 12:50:51 CEST 2026
This series adds U-Boot's PMBus 1.x support as a small boot-time
layer (not a hwmon clone):
- a decoder + transport library and the pmbus CLI command
- a shared UCLASS_REGULATOR adapter plus a catch-all driver for
compliant chips, add the MPS MPQ8785 per-chip driver
- a generic PMBus die-temperature UCLASS_THERMAL bridge
- migration of the shared NXP VID rail-trim code to this framework
- a sandbox PMBus chip emulator and "ut dm pmbus" unit tests that
exercise most subcommand of the CLI.
The goal is to identify PMBus regulators at boot, print telemetry and
decode chip alerts before the kernel takes over - no polling, no
sysfs, no fan loops. Linux owns the runtime side.
Changes in v3:
- pmbus_read_string(): fix 1 byte stack overflow
- pmbus dump: print MFR_ID/MODEL/REVISION with the proper byte order
- typo: Adaapted -> Adapted
- vid_read_vout_mode(): avoid confusions error vs mode.
Changes in v2:
- Apply Tom Rini's v1 review: drop the local DT binding YAML files
Vincent Jardin (7):
pmbus: add PMBus 1.x framework, CLI, and binding
power: regulator: add generic PMBus UCLASS_REGULATOR adapter
power: regulator: add MPS MPQ8785 PMBus regulator driver
board: nxp: vid: introduce PMBus framework support
thermal: pmbus: add PMBus die-temp driver
test: dm: pmbus: add a sandbox PMBus chip emulator
test: dm: pmbus: test pmbus command and framework
MAINTAINERS | 15 +
arch/Kconfig.nxp | 4 +
arch/sandbox/dts/test.dts | 10 +
board/nxp/common/vid.c | 110 +--
board/nxp/common/vid.h | 15 +-
cmd/Kconfig | 14 +
cmd/Makefile | 1 +
cmd/pmbus.c | 816 ++++++++++++++++++++++
configs/sandbox_defconfig | 6 +
doc/develop/index.rst | 1 +
doc/develop/pmbus.rst | 633 +++++++++++++++++
drivers/power/regulator/Kconfig | 43 ++
drivers/power/regulator/Makefile | 4 +
drivers/power/regulator/mpq8785.c | 494 +++++++++++++
drivers/power/regulator/pmbus_generic.c | 90 +++
drivers/power/regulator/pmbus_helper.c | 315 +++++++++
drivers/power/regulator/pmbus_helper.h | 90 +++
drivers/power/regulator/sandbox_pmbus.c | 160 +++++
drivers/thermal/Kconfig | 8 +
drivers/thermal/Makefile | 1 +
drivers/thermal/pmbus_thermal.c | 33 +
include/pmbus.h | 667 ++++++++++++++++++
lib/Kconfig | 16 +
lib/Makefile | 1 +
lib/pmbus.c | 877 ++++++++++++++++++++++++
test/dm/Makefile | 1 +
test/dm/pmbus.c | 247 +++++++
27 files changed, 4617 insertions(+), 55 deletions(-)
create mode 100644 cmd/pmbus.c
create mode 100644 doc/develop/pmbus.rst
create mode 100644 drivers/power/regulator/mpq8785.c
create mode 100644 drivers/power/regulator/pmbus_generic.c
create mode 100644 drivers/power/regulator/pmbus_helper.c
create mode 100644 drivers/power/regulator/pmbus_helper.h
create mode 100644 drivers/power/regulator/sandbox_pmbus.c
create mode 100644 drivers/thermal/pmbus_thermal.c
create mode 100644 include/pmbus.h
create mode 100644 lib/pmbus.c
create mode 100644 test/dm/pmbus.c
--
2.43.0
base-commit: f605dcee103c897b6f1a8873549a36949bd4e2a1
branch: for-upstream/pmbus-v6
More information about the U-Boot
mailing list