| 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",
}