Name Date Size #Lines LOC

..--

config_file/H--1,7841,322

README.mdH A D24-Sep-20252.8 KiB7751

configuration.mdH A D24-Sep-20251.9 KiB5538

internal_design.mdH A D24-Sep-20251.1 KiB2926

monitoring.mdH A D24-Sep-20251.9 KiB5538

multiple_chassis.mdH A D24-Sep-20252.3 KiB6241

phase_fault_monitoring.mdH A D23-Sep-20251.5 KiB4027

sensor_monitoring.mdH A D24-Sep-20252.7 KiB7049

testing.mdH A D23-Sep-20251.8 KiB5438

README.md

1# phosphor-regulators
2
3## Overview
4
5The `phosphor-regulators` application configures and monitors voltage
6regulators. The application is controlled by a JSON configuration file.
7
8The application does not control how voltage regulators are enabled or how to
9monitor their Power Good (pgood) status. Those operations are typically
10performed by power sequencer hardware and the
11[`phosphor-power-sequencer`](../../phosphor-power-sequencer/docs/README.md)
12application.
13
14**Note:** Many changes have been made to this documentation to define
15enhancements to the multiple chassis support. These enhancements are not yet
16implemented in this application. The enhancements are also dependent on the
17planned new `phosphor-chassis-power` application. This disclaimer will be
18removed when this support is fully implemented.
19
20## Application
21
22`phosphor-regulators` is a single-threaded C++ executable. It is a 'daemon'
23process that runs continually. The application is launched by systemd when the
24BMC reaches the Ready state and before the system is powered on.
25
26The application is driven by a system-specific JSON configuration file. The JSON
27file is found and parsed at runtime. The parsing process creates a collection of
28C++ objects. These objects implement the regulator configuration and monitoring
29behavior that was specified in the JSON file.
30
31See [Internal Design](internal_design.md) for more information.
32
33## Configuring voltage regulators
34
35`phosphor-regulators` can modify the configuration of voltage regulators, such
36as modifying the output voltage or overcurrent limits.
37
38See [Regulator Configuration](configuration.md) for more information.
39
40## Monitoring voltage regulators
41
42`phosphor-regulators` supports two types of regulator monitoring:
43
44- Sensor monitoring
45  - Reading sensor values such as voltage output and temperature
46- Phase fault monitoring
47  - Checking if a redundant regulator phase has failed
48
49See [Regulator Monitoring](monitoring.md) for more information.
50
51## JSON configuration file
52
53The JSON configuration file defines the following:
54
55- Voltage regulators in the system.
56- Operations to perform on those regulators, such as configuration or sensor
57  monitoring.
58
59Configuration files are stored in the [`config_files`](../config_files)
60directory.
61
62See the [configuration file documentation](docs/config_file/README.md) for
63information on the file format, validation tool, and installation directories.
64
65## Multiple chassis systems
66
67A BMC-based system can contain one or more chassis. A chassis is typically a
68physical enclosure that contains system components such as CPUs, fans, power
69supplies, and PCIe cards.
70
71See [Multiple Chassis](multiple_chassis.md) for more information.
72
73## Testing
74
75Automated test cases exist for most of the code in this application. See
76[Testing](testing.md) for more information.
77