commit | 39ea02bc9458f3d5a7fdd317cb546ed046eaff78 | [log] [tgz] |
---|---|---|
author | Brandon Wyman <bjwyman@gmail.com> | Tue Nov 23 23:22:23 2021 +0000 |
committer | Brandon Wyman <bjwyman@gmail.com> | Fri Dec 10 19:15:13 2021 +0000 |
tree | a10405685897c1b71f754df09157c059907bda2b | |
parent | a169b0f9d2d5114729e149c158d518176556b892 [diff] |
psu-ng: Add in handling of specific MFR faults Add in a function to determine what the various bits in statusMFR may be indicating for a fault, based on the type of power supply (device driver bound). Add in PS_Kill, 12Vcs, and 12V CS faults for IBM power supply types. Add in creating error logs for PS_Kill, 12Vcs, and 12V CS faults. The 12Vcs and 12V CS faults can essentially be treated the same as VOUT_UV faults (same error type, same call out). Tested: Verified no PS_Kill, 12Vcs, or 12V CS fault on normal Rainier 2S4U Simulated PS_Kill fault: MFR fault: STATUS_WORD = 0x1840 STATUS_MFR_SPECIFIC = 0x10 Simulated 12Vcs fault: PGOOD fault: STATUS_WORD = 0x1840, STATUS_MFR_SPECIFIC = 0x40 MFR fault: STATUS_WORD = 0x1840 STATUS_MFR_SPECIFIC = 0x40 Simulated 12V CS fault/warning: MFR fault: STATUS_WORD = 0x1000 STATUS_MFR_SPECIFIC = 0x80 Change-Id: Ie89a58836ecec86dfa2e124eb6ab03e9dccce929 Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
This repository contains applications for configuring and monitoring devices that deliver power to the system.
To build all applications in this repository:
meson build ninja -C build
To clean the repository and remove all build output:
rm -rf build
You can specify meson options to customize the build process. For example, you can specify:
Several applications in this repository require a PSU JSON config to run. The JSON config file provides information for:
There is an example psu.json to describe the necessary configurations.
inventoryPMBusAccessType
defines the pmbus access type, which tells the service which sysfs type to use to read the attributes. The possible values are:/sys/bus/i2c/devices/3-0069/
/sys/bus/i2c/devices/3-0069/hwmon/hwmonX/
/sys/kernel/debug/pmbus/hwmonX/
/sys/kernel/debug/pmbus/hwmonX/cffps1/
fruConfigs
defines the mapping between the attribute file and the FRU inventory interface and property. The configuration example below indicates that the service will read part_number
attribute file from a directory specified by the above pmbus access type, and assign to PartNumber
property in xyz.openbmc_project.Inventory.Decorator.Asset
interface."fruConfigs": [ { "propertyName": "PartNumber", "fileName": "part_number", "interface": "xyz.openbmc_project.Inventory.Decorator.Asset" } ]
psuDevices
defines the kernel device dir for each PSU in inventory. The configuration example below indicates that powersupply0
's device is located in /sys/bus/i2c/devices/3-0069
."psuDevices": { "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0" : "/sys/bus/i2c/devices/3-0069", }