|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| cold-redundancy/ | H | - | - | 572 | 341 |
| example/ | H | - | - | 35 | 34 |
| org/open_power/Witherspoon/ | H | - | - | 402 | 298 |
| phosphor-chassis-power/ | H | - | - | | |
| phosphor-power-sequencer/ | H | - | - | 11,775 | 8,127 |
| phosphor-power-supply/ | H | - | - | 11,641 | 7,593 |
| phosphor-regulators/ | H | - | - | 43,407 | 29,323 |
| power-sequencer/ | H | - | - | 2,542 | 1,481 |
| power-supply/ | H | - | - | 2,058 | 1,128 |
| services/ | H | - | - | 127 | 102 |
| subprojects/ | H | - | - | 85 | 60 |
| test/ | H | - | - | 1,016 | 592 |
| tools/ | H | - | - | 4,404 | 2,667 |
| .clang-format | H A D | 01-Feb-2025 | 3.7 KiB | 137 | 135 |
| .clang-tidy | H A D | 06-Dec-2024 | 125 | 10 | 6 |
| .clang-tidy-ignore | H A D | 21-Jul-2025 | 230 | 7 | 6 |
| .gitignore | H A D | 01-Apr-2024 | 79 | 7 | 6 |
| .shellcheck | HD | 13-Apr-2021 | 0 | | |
| LICENSE | H A D | 17-Jul-2017 | 11.1 KiB | 202 | 169 |
| OWNERS | H A D | 09-Jan-2024 | 1.7 KiB | 53 | 48 |
| README.md | H A D | 20-Oct-2025 | 3.3 KiB | 95 | 73 |
| compatible_system_types_finder.cpp | H A D | 16-Aug-2024 | 2.8 KiB | 89 | 60 |
| compatible_system_types_finder.hpp | H A D | 01-Feb-2025 | 4.3 KiB | 128 | 37 |
| dbus_interfaces_finder.cpp | H A D | 01-Feb-2025 | 3.2 KiB | 108 | 74 |
| dbus_interfaces_finder.hpp | H A D | 16-Aug-2024 | 4.8 KiB | 150 | 38 |
| device.hpp | H A D | 10-May-2023 | 1.5 KiB | 82 | 34 |
| device_monitor.hpp | H A D | 05-Jun-2025 | 1.8 KiB | 79 | 39 |
| elog-errors.hpp | H A D | 05-Jun-2025 | 60.8 KiB | 2,394 | 1,935 |
| file_descriptor.hpp | H A D | 10-May-2023 | 2.8 KiB | 135 | 55 |
| format_utils.hpp | H A D | 07-Aug-2024 | 1.6 KiB | 60 | 23 |
| gpio.cpp | H A D | 20-May-2025 | 3.1 KiB | 124 | 80 |
| gpio.hpp | H A D | 13-Sep-2021 | 2.1 KiB | 117 | 46 |
| meson.build | H A D | 20-Oct-2025 | 6.4 KiB | 224 | 200 |
| meson.options | H A D | 20-Oct-2025 | 2.6 KiB | 105 | 100 |
| names_values.hpp | H A D | 31-May-2023 | 2.2 KiB | 112 | 51 |
| pmbus.cpp | H A D | 16-Sep-2025 | 11.1 KiB | 403 | 306 |
| pmbus.hpp | H A D | 01-Feb-2025 | 13 KiB | 429 | 134 |
| temporary_file.cpp | H A D | 16-Aug-2024 | 2.6 KiB | 96 | 49 |
| temporary_file.hpp | H A D | 04-Jan-2024 | 3.1 KiB | 127 | 35 |
| temporary_subdirectory.cpp | H A D | 01-Feb-2025 | 2.3 KiB | 82 | 42 |
| temporary_subdirectory.hpp | H A D | 22-May-2024 | 3.6 KiB | 132 | 36 |
| types.hpp | H A D | 01-May-2023 | 1.7 KiB | 40 | 33 |
| utility.cpp | H A D | 04-Nov-2025 | 7 KiB | 250 | 196 |
| utility.hpp | H A D | 18-Jul-2025 | 8.7 KiB | 274 | 91 |
README.md
1# phosphor-power
2
3## Overview
4
5This repository contains applications for configuring and monitoring devices
6that deliver power to the system.
7
8Actively-maintained applications:
9
10- cold-redundancy: Application that makes power supplies work in Cold Redundancy
11 mode and rotates them at intervals.
12- [phosphor-chassis-power](phosphor-chassis-power/README.md): JSON-driven
13 application that monitors chassis power on multi-chassis systems.
14- [phosphor-power-sequencer](phosphor-power-sequencer/README.md): JSON-driven
15 application that powers the chassis on/off and monitors the power sequencer
16 device.
17- [phosphor-power-supply](phosphor-power-supply/README.md): Next generation
18 power supply monitoring application.
19- [phosphor-regulators](phosphor-regulators/README.md): JSON-driven application
20 that configures and monitors voltage regulators.
21- tools/power-utils: Power supply utilities.
22
23Legacy applications:
24
25- power-sequencer: Original power sequencer monitoring application.
26- power-supply: Original power supply monitoring application.
27
28## Build
29
30To build all applications in this repository:
31
32```sh
33 meson setup build
34 ninja -C build
35```
36
37To clean the repository and remove all build output:
38
39```sh
40 rm -rf build
41```
42
43You can specify [meson options](meson.options) to customize the build process.
44For example, you can specify:
45
46- Which applications to build and install.
47- Application-specific configuration data, such as power sequencer type.
48- Whether to build tests.
49
50## Power Supply Monitor and Util JSON config
51
52Several applications in this repository require a PSU JSON config to run. The
53JSON config file provides information for:
54
55- Where to access the pmbus attributes
56- Which attribute file in pmbus maps to which property and interface in D-Bus
57- Which kernel device directory is used on which PSU
58
59There is an example [psu.json](example/psu.json) to describe the necessary
60configurations.
61
62- `inventoryPMBusAccessType` defines the pmbus access type, which tells the
63 service which sysfs type to use to read the attributes. The possible values
64 are:
65 - Base: The base dir, e.g. `/sys/bus/i2c/devices/3-0069/`
66 - Hwmon: The hwmon dir, e.g. `/sys/bus/i2c/devices/3-0069/hwmon/hwmonX/`
67 - Debug: The pmbus debug dir, e.g. `/sys/kernel/debug/pmbus/hwmonX/`
68 - DeviceDebug: The device debug dir, e.g.
69 `/sys/kernel/debug/<driver>.<instance>/`
70 - HwmonDeviceDebug: The hwmon device debug dir, e.g.
71 `/sys/kernel/debug/pmbus/hwmonX/cffps1/`
72- `fruConfigs` defines the mapping between the attribute file and the FRU
73 inventory interface and property. The configuration example below indicates
74 that the service will read `part_number` attribute file from a directory
75 specified by the above pmbus access type, and assign to `PartNumber` property
76 in `xyz.openbmc_project.Inventory.Decorator.Asset` interface.
77
78 ```json
79 "fruConfigs": [
80 {
81 "propertyName": "PartNumber",
82 "fileName": "part_number",
83 "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
84 }
85 ]
86 ```
87
88- `psuDevices` defines the kernel device dir for each PSU in inventory. The
89 configuration example below indicates that `powersupply0`'s device is located
90 in `/sys/bus/i2c/devices/3-0069`.
91
92 ```json
93 "psuDevices": {
94 "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0" : "/sys/bus/i2c/devices/3-0069",
95 }
96 ```
97