commit | 25478fa2258ba98bbe5de74e420fe8557841926c | [log] [tgz] |
---|---|---|
author | Shawn McCarney <shawnmm@us.ibm.com> | Tue Aug 01 17:25:07 2023 -0500 |
committer | Shawn McCarney <shawnmm@us.ibm.com> | Mon Aug 21 19:17:28 2023 +0000 |
tree | d82c5308bb2d4042741ef40a134d9cc4adcc8e72 | |
parent | b0475e7a5688fd9ab5c670adc630ad53d7de8607 [diff] |
pseq: Create Bonnell configuration file Create the power sequencer configuration file for Bonnell systems. This file identifies the PMBus rails and the GPIO lines/pins that should be checked when a pgood failure occurs. On Bonnell systems no GPIO lines need to be checked. Tested: * Configuration file loading * Verified file is found on Bonnell systems using D-Bus property * Verified file is loaded successfully without errors * Verified all rails in file are stored in C++ data structures * Verified having empty pin array does not cause an error * Tested where file contains a syntax error * Verified error message is written to journal * Verified no error log created * pgood detection * Verified system powers on cleanly when no pgood error is present * chassison * Verified chassis is powered on * Verified no error logs created * Verified no error messages written to the journal * poweron * Verified system is powered on * Verified no error logs created * Verified no error messages written to the journal * Verified system powers off cleanly when no pgood error is present * chassisoff * Verified chassis is powered off * Verified no error logs created * Verified no error messages written to the journal * poweroff * Verified system is powered off * Verified no error logs created * Verified no error messages written to the journal * Test where a pgood error is detected in a rail * Verified pgood failure is detected * Verified error message written to the journal * Verified GPIO values written to the journal * Verified error log is created * Tested with a pgood error on each rail in the config file * Test where pgood failure occurs during power on attempt * Test where pgood failure occurs after system was successfully powered on Change-Id: I431d2dd7e99f2a99bbab936d6fad03af5654886f 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 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", }