commit | e4b76830eda5337c2ab5168d05c78737f7e0b3ac | [log] [tgz] |
---|---|---|
author | Shawn McCarney <shawnmm@us.ibm.com> | Fri Dec 15 08:17:39 2023 -0600 |
committer | Shawn McCarney <shawnmm@us.ibm.com> | Fri Dec 15 09:44:30 2023 -0600 |
tree | 3fe50c810f8c15161918972b030a1636232b5d6e | |
parent | 3a492527fd18be317e257a58c772c2fb7775376c [diff] |
pseq: Document enhanced JSON config file format The JSON config file format is being enhanced for the phosphor-power-sequencer application. The enhancements are intended to provide the following benefits: * Generalize the format so it can be used for any power sequencer device. The current format is intended only for UCD90XXX devices. * Remove the "pins" array. Move the GPIO pin information to an optional property of a rail object. This will eliminate some duplication and make pgood isolation more flexible. * Change the meaning of the rail order within the array of rails. * In the current format, the array index implies the PMBus PAGE. This causes problems because it is impossible to ignore a PAGE that is not a valid voltage rail. It also does not provide information on the power on sequence, which is often different than the PAGE order. * In the new format, the rails in the array will be in power on sequence order. The PMBus page will be explicitly defined using a new property. * Add rail property that specifies the PMBus PAGE. * Add rail property that specifies the pgood status should be obtained using the PMBus STATUS_VOUT command. * Add rail property that specifies the pgood status should be obtained by comparing the output voltage (READ_VOUT) to the undervoltage (VOUT_UV_FAULT_LIMIT) and overvoltage (VOUT_OV_FAULT_LIMIT) limits. * Add rail property that specifies the pgood status should be obtained from a GPIO. Note: This commit contains only the new JSON file format documentation. Subsequent commits will contain the new C++ implementation and new versions of the existing JSON files. The current documentation, C++, and JSON files will be retained and will remain active until all of the new support has been merged. Change-Id: I358a885f1675a9dd8f9ae0115e560abb3c0828fe 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", }