VR control from the BMC
edtanous at google.com
Wed Oct 28 06:10:59 AEDT 2020
On Tue, Oct 27, 2020 at 11:55 AM Vijay Khemka <vijaykhemka at fb.com> wrote:
> On 10/26/20, 4:04 PM, "openbmc on behalf of Ed Tanous" <openbmc-bounces+vijaykhemka=fb.com at lists.ozlabs.org on behalf of edtanous at google.com> wrote:
> In the near future, I'm going to have some needs for OpenBMC to be
> able to control VRs. These VRs might be on the baseboard itself, or
> on detected PCIe add-in-cards, and controlled over PMBus.
> Additionally, I will need a "hardware safe" way for the host to be
> able to modify the behavior of these VRs (usually different voltage
> settings), and to have that interface be constrained in such a way
> that the host can never set a value that's outside of a predefined
> range that's known to be safe for the hardware, which the BMC will own
> the definition of for security purposes.
> Does anyone else have similar needs? I've been pointed to
> phosphor-regulators which has some similar parallels; As-is, that
> solution won't work for me, because it's relying on fixed, platform
> specific json scripting to accomplish its goals. My hope would be for
> a more generalized linux devicetree based solution,
> Voltage limits can certainly be passed via DTS file to limit user
> application configuration setting.
Anything in the DTS would remove the possibility of controlling VRs
that weren't part of the baseboard, and would be a problem for me.
Also, these limits would likely need to be dynamic, and might rely on
certain calibration constants in the chip. I don't think a hardcoded
DTS limit would meet my needs.
> as well as a
> representation on dbus that could be modified at runtime by
> Redfish/IPMI in band.
> Is there any other work I should look into that's similar? Does
> anyone have any strong opinions on how this should be organized or how
> it could be built?
> I would also like to add VR firmware upgrades as well in this.
I don't have the need to upgrade VR firmware out of band today, but if
you're interested in helping define interfaces that would work for
firmware upgrade or make it easy to add in the future, I'd appreciate
More information about the openbmc