commit | 2495659850aa5b501b38ca8f6b715e03fe779e85 | [log] [tgz] |
---|---|---|
author | Shawn McCarney <shawnmm@us.ibm.com> | Mon Feb 19 18:58:57 2024 -0600 |
committer | Shawn McCarney <shawnmm@us.ibm.com> | Mon Apr 15 18:52:31 2024 +0000 |
tree | b5e214b8e0c22e0dec4b03b90e0b6a4fe06c999f | |
parent | 98a2a7224d24af98825d2299939cc89ad552890b [diff] |
pseq: Add pgood fault detection to Rail class Add power good (pgood) fault detection to the Rail class in the phosphor-power-sequencer application. Implement the checking defined in the JSON configuration file: * Check for fault bits set in STATUS_VOUT * Check for a GPIO with the wrong value * Check if the output voltage (READ_VOUT) is below the undervoltage limit (VOUT_UV_FAULT_LIMIT) If a pgood fault is detected, capture the relevant debug information such as the rail name and STATUS_WORD value. Tested: * Added gtests for the new code * Ran all gtests and verified they passed Change-Id: I09c3ed6c504fe907a7854a4ac462a2bc4a8b806f Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
This repository contains applications for configuring and monitoring devices that deliver power to the system.
To build all applications in this repository:
meson setup 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", }