commit | 4175ffb76eac53d94de7c2c6397cb03ce5ea0e99 | [log] [tgz] |
---|---|---|
author | Adriana Kobylak <anoo@us.ibm.com> | Mon Aug 02 14:51:05 2021 +0000 |
committer | Shawn McCarney <shawnmm@us.ibm.com> | Thu Aug 19 19:09:14 2021 +0000 |
tree | dce756037f71e09e6ba3e201d2273b4bfde1a380 | |
parent | 4dc9a30029916f21f12e8433ee82e35858247f86 [diff] |
psu-ng: Read and validate input voltage Read the input voltage reported by pmbus for each PSU. Determine the actual voltage based on predefined thresholds. Then validate the actual voltage is supported for the PSU model. Tested: Verified in Rainier 2U that the 2 present PSUs had a pmbus voltage value of 208000 mV, which is then translated to a 220V PSU, and that value is validated against the supported configuration. Verified the additional data strings by printing them with debug statements: Aug 05 18:50:15 p10bmc phosphor-psu-monitor[3615]: ACTUAL_VOLTAGE: 208.000000 Aug 05 18:50:15 p10bmc phosphor-psu-monitor[3615]: CALLOUT_INVENTORY_PATH: /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 Aug 05 18:50:15 p10bmc phosphor-psu-monitor[3615]: EXPECTED_VOLTAGE: 220 Change-Id: Ic8c3b567c8265e90bce420f98ac6f1e131ff713b Signed-off-by: Adriana Kobylak <anoo@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 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", }