The phosphor-regulators
application configures and monitors voltage regulators. The application is controlled by a JSON configuration file.
The application does not control how voltage regulators are enabled or how to monitor their Power Good (pgood) status. Those operations are typically performed by power sequencer hardware and the phosphor-power-sequencer
application.
phosphor-regulators
is a single-threaded C++ executable. It is a 'daemon' process that runs continually. The application is launched by systemd when the BMC reaches the Ready state and before the chassis is powered on.
The application is driven by a system-specific JSON configuration file. The JSON file is found and parsed at runtime. The parsing process creates a collection of C++ objects. These objects implement the regulator configuration and monitoring behavior that was specified in the JSON file.
See Internal Design for more information.
phosphor-regulators
can modify the configuration of voltage regulators, such as modifying the output voltage or overcurrent limits.
See Regulator Configuration for more information.
phosphor-regulators
supports two types of regulator monitoring:
See Regulator Monitoring for more information.
The JSON configuration file defines the following:
Configuration files are stored in the config_files
directory.
See the configuration file documentation for information on the file format, validation tool, and installation directories.
Automated test cases exist for most of the code in this application. See Testing for more information.