| commit | 5a8aefe31bff7c0ce23ddee18f7eb2ef74bf624b | [log] [tgz] |
|---|---|---|
| author | Shawn McCarney <shawnmm@us.ibm.com> | Thu Nov 13 14:38:53 2025 -0600 |
| committer | Shawn McCarney <shawnmm@us.ibm.com> | Tue Nov 18 13:33:00 2025 -0600 |
| tree | 633ba64ad952885247176bef7ed892a569add583 | |
| parent | 8b4e2d9acc7b7d42780b8561e110e3f51c9c9d26 [diff] |
pseq: Start using device objects from JSON parser Start using the C++ PowerSequencerDevice objects created by the updated JSON parser in the phosphor-power-sequencer application. The C++ PowerSequencerDevice objects are created based on power_sequencer objects in the new JSON configuration file format. The PowerSequencerDevice objects are currently only used to find the rail that caused a pgood error. So this commit enables the current single-chassis support to work with the new JSON configuration files. Some of the code changes are temporary. Subsequent commits will implement more multi-chassis support based on the new and modified C++ objects returned by the parser. Tested: * Verified config file was successfully found based on compatible system information. * Tested cases where config file parsing succeeded and failed. * Verified normal system power on and power off were successful with no errors logged. * Verified error logged when pgood fault injected before and after powering on the system. * Tested when no config file was found. Verified system could still be powered on/off. Verified general error logged when pgood fault occurred. Change-Id: Id4351693346aa5c372be181dcbf0b7bd567d9c40 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
This repository contains applications for configuring and monitoring devices that deliver power to the system.
Actively-maintained applications:
Legacy applications:
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/<driver>.<instance>//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", }