commit | 4ab865643da0e93fcd91949d13d6190416d382f8 | [log] [tgz] |
---|---|---|
author | Jim Wright <jlwright@us.ibm.com> | Fri Nov 18 14:05:46 2022 -0600 |
committer | Jim Wright <jlwright@us.ibm.com> | Wed Nov 30 17:35:12 2022 -0600 |
tree | 901b0f6effc14ecc25d0688291c24e23d241e673 | |
parent | 1530024a810f1853019b7cff2f9a8c23c8567429 [diff] |
psu-ng: Change detection of brownout errors Brownout errors can occur such that the power supplies are able to recover but the chassis power good is lost and the system powers down. In these cases the power supply application should continue to process the brownout condition so that the brownout error is logged and the auto power restart happens correctly. Use the power state and the chassis pgood properties from the power control service to allow this to happen. The power supply driver or device may not latch the AC fault. Set an expiring indication that the AC fault occurred. A power supply may not indicate the loss of AC and may only indicate the loss of power good. As long as at least one power supply indicates the AC loss, tolerate the pgood failure indications. The net of the changes is that a brownout error will be issued when the chassis power good is lost, and all present power supplies indicate an AC failure or a power good failure, and at least one power supply indicates an AC failure. Signed-off-by: Jim Wright <jlwright@us.ibm.com> Change-Id: I5a11746a036d0a66b11c76ec12784b8870fa306f
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", }