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

Derek Howard derekh at linux.vnet.ibm.com
Tue Sep 15 08:00:15 AEST 2020


On 9/11/2020 4:00 PM, Vivek Gani wrote:
> Hello,
>
> My name is Vivek Gani and I’m representing the Power Management Bus 
> (PMBus(r)) Forum (https://PMBus.org), part of the System Management 
> Interface Forum (SMIF), Inc (http://smiforum.org/). 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 issues.
>
> 
- Protocol generic enough to support minimum data to perform a PMBus 
> transaction.
> 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 methods.
>
> Here’s a high-level graphic of what we have in mind: 
> https://www.dropbox.com/s/8ey0errn7fe9gc0/2020-09-11%20-%20standard%20config%20groups%20and%20collateral.png
>
> 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?
>
> Regards,
>
> Vivek

Hello, yes this is something we struggle with quite a bit at IBM - not 
only in the different configurations and firmware update procedures of 
specific power supplies, but also in differences between what pmbus 
commands are supported, data formats, unspecified behavior, etc.  
Definitely adds to the complexity required in the device driver and app 
code.

Please include me in future discussions, thanks!



More information about the openbmc mailing list