commit | 2cf46945e354a96e8216ed8d9c774cb5963f7705 | [log] [tgz] |
---|---|---|
author | Brandon Wyman <bjwyman@gmail.com> | Thu Oct 28 19:09:16 2021 +0000 |
committer | Shawn McCarney <shawnmm@us.ibm.com> | Tue Nov 23 17:56:45 2021 +0000 |
tree | 016396ed4cac1d28e583b9f8a92b0c7b4823dcde | |
parent | b10b3be0da7284082afab79881d9e015c9ae4728 [diff] |
psu-ng: Add code to detect VOUT_UV_FAULT If the output voltage hits an undervoltage condition, the VOUT fault/warn bit in STATUS_WORD will be on, but the VOUT_OV_FAULT bit will be off. Check for VOUT_UV_FAULT after check for VOUT_OV_FAULT, create error, call out the power supply indicating that fault. Tested: Verify no fault detected or error logged in normal conditions on real hardware. Simulate VOUT_UV fault: VOUT_UV_FAULT fault: STATUS_WORD = 0x8000, STATUS_MFR_SPECIFIC = 0x0, STATUS_VOUT = 0x0 and VOUT_UV_FAULT fault: STATUS_WORD = 0x8000, STATUS_MFR_SPECIFIC = 0x0, STATUS_VOUT = 0x30 Change-Id: I2605a197634616c4c2ad49f0275eaccaef7cc5f0 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", }