| commit | f5e2bde7072cbdfef400e7c4b1d15151a392925e | [log] [tgz] |
|---|---|---|
| author | Adriana Kobylak <anoo@us.ibm.com> | Mon Oct 20 11:40:47 2025 -0500 |
| committer | Adriana Kobylak <anoo@us.ibm.com> | Mon Nov 10 13:34:07 2025 -0600 |
| tree | bee0f5152a65d42f01ee815682593eafad698a69 | |
| parent | d7a00f54d927c498f99d5a671ca993e4504f09a9 [diff] |
chassis-power: Create initial application
Create the new chassis power monitor application and a service file that
would start it. Make the new application available via a meson option.
Tested: Verified the service and application start with no errors.
```
root@p10bmc:~# systemctl status phosphor-chassis-power.service
● phosphor-chassis-power.service - Chassis Power Monitor
Loaded: loaded
(/usr/lib/systemd/system/phosphor-chassis-power.service; enabled;
preset: enabled)
Active: active (running) since Mon 2025-11-10 19:08:09 UTC; 4min 28s ago
Invocation: 6f0cac0ee4e04066b68ba448aa2d7ccc
Main PID: 549 (phosphor-chassi)
CPU: 29ms
CGroup: /system.slice/phosphor-chassis-power.service
└─549 /usr/libexec/phosphor-power/phosphor-chassis-power
Nov 10 19:08:09 p10bmc systemd[1]: Started Chassis Power Monitor.
root@p10bmc:~# ps |grep chassis
549 root 14928 S /usr/libexec/phosphor-power/phosphor-chassis-power
```
Change-Id: Ia0ab5bc6c578b8203f09feec9b6927059db0f883
Signed-off-by: Adriana Kobylak <anoo@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", }