Defining a Power Supply Configuration Format with the PMBus Standards Working Group

Vivek Gani vivekgani at
Sat Sep 12 07:00:00 AEST 2020


My name is Vivek Gani and I’m representing the Power Management Bus
(PMBus(r)) Forum (, part of the System Management
Interface Forum (SMIF), Inc ( Our group is composed
of both power supply vendors and chip/system manufacturers. Together we
create digital power protocols (PMBus, AVSBus(tm)) supported by a number of
power supplies on the market.

Lately we have been discussing how to define a standard file format for
digital power supplies. Currently each power supply vendor has their own
format. This causes a burden for the system designer and manufacturer using
a mixture of power supplies from different vendors. On the power supply
vendor (and procurement manager) end this has also led to more logistics in
order to ship power supplies 'preconfigured' when in many cases an
'off-the-shelf' product could have been used then configured during system
board manufacture or even in-system.

Our focus is currently around power supply configuration and updates over
PMBus, though we want it to be open-ended to support other usecases too. As
far as stakeholders, initially this started out within the PMBus Standards
Working Group where power supply vendors were focused on board bringup
scenarios but thanks to people like Mike Jones (Analog Devices) and Mariusz
Oriol (Intel) we’re now realizing such an effort will make more sense if
done while keeping in mind the needs of groups like OpenBMC & Redfish.
Specifically we want to try and create a configuration format and toolchain
that will find a balance between:

- Being human editable.
In theory files could be generated in syntactically verbose formats like
XML, but in practice as an applications engineer being able to easily edit
configuration files by hand has proven very helpful in resolving customer

- Protocol generic enough to support minimum data to perform a PMBus
Specifically, one can use just address, command code, data (in hex/binary),
and PMBus transaction type data to configure a device. Additional
specifiers such as numeric format & named bitfields are optional.

- Facilitates conditional/stateful aspects in the configuration process.
While in theory things would be purely declarative in practice most power
supply devices may be in certain states (that change as commands are sent)
that necessitate management of state, dependencies, and ordering.

- Having a verification mechanism with common format for ‘proof of content’.
Format could be something standard like sha1/md5 sum though the
instructions to perform verification may be vendor-specific. May be limited
to RAM-only though some vendors may offer non-volatile memory verification

Here’s a high-level graphic of what we have in mind:

We want to first present the idea here and see what the OpenBMC community
thinks about this effort. Is power supply configuration and updates
something of interest to this community? Have there been any pain points
experienced so far from the system engineering side you could see solved
through collaboration on a common format?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the openbmc mailing list