The phosphor-power-sequencer application is controlled by a configuration file (config file). The config file contains information about the chassis, power sequencer devices, GPIOs, and voltage rails within the system.
This information is used to power the system on/off, detect pgood faults, and identify the voltage rail that caused a pgood fault.
The config file is optional. If no file is found, the application will do the following:
The config file is a text file in the JSON (JavaScript Object Notation) data format.
The config file name is based on the system type that it supports.
A config file is normally system-specific. Each system type usually has a different set of chassis, power sequencer devices, GPIOs, and voltage rails.
The system type is obtained from a D-Bus Chassis object created by the Entity Manager application. The object must implement the xyz.openbmc_project.Inventory.Decorator.Compatible interface.
The Names property of this interface contains a list of one or more compatible system types. The types are ordered from most specific to least specific.
Example:
com.acme.Hardware.Chassis.Model.MegaServer4CPUcom.acme.Hardware.Chassis.Model.MegaServercom.acme.Hardware.Chassis.Model.ServerThe phosphor-power-sequencer application searches for a config file name that matches one of these compatible system types. It searches from most specific to least specific. The first config file found, if any, will be used.
For each compatible system type, the application will look for two config file names:
Example:
com.acme.Hardware.Chassis.Model.MegaServer4CPU.jsonMegaServer4CPU.jsonThe config file contains a single JSON config_file object at the root level. That object contains arrays of other JSON objects.
The JSON data format does not support comments. However, some of the JSON objects in the config file provide an optional "comments" property. The value of this property is an array of strings. Use this property to annotate the config file. The "comments" properties are ignored when the config file is read by the phosphor-power-sequencer application.
Examples:
"comments": ["Chassis 2: Standard hardware layout"],
"comments": ["The first of two UCD90320 power sequencers in the chassis.", "Controls/monitors rails 0-15."]
The JSON number data type does not support the hexadecimal format. For this reason, properties with hexadecimal values use the string data type.
Example:
"address": "0x70"
The config file is installed in the /usr/share/phosphor-power-sequencer directory on the BMC.