The UCD90xMonitor
class and its subclasses determine the device configuration from a JSON configuration file. The configuration file describes the power sequencer rails and power good (pgood) pins defined in the system.
The expected filename format is <device>Monitor_<systemType>.json
, where <device>
is the specific power sequencer device type (UCD90320 or UCD90160), and <systemType>
is a Compatible System
name from a Chassis
Entity Manager configuration file.
Example file name:
UCD90320Monitor_mysystem.json
The configuration consists of an array of rails
and an array of pins
. Both rails
and pins
use a name
element. The name element should be mnemonic and unique. If the BMC system utilizes the openpower-pels extension, then it will be used as an index into the phosphor-logging
Message Registry.
Example rails
array with name
elements:
"rails": [ { "name": "12.0V" }, { "name": "VDN_DCM0" } ]
The pins
array also uses a line
element which is the GPIO line number of the pgood pin in the power sequencer device.
Example pins
array with name
and line
elements:
"pins": [ { "name": "5.0V", "line": 67 }, { "name": "VCS_DCM0", "line": 74 } ]
Both rails
and pins
can optionally define a presence
element which is an inventory path to a system component which must be present in order for the rail or pin to be used in failure isolation. By default, a rail or pin is considered to be present, which could mean the necessary parts are always present in the system or that a not present part would not cause a pgood failure.
Example rails
array element including presence
element:
{ "name": "VCS1", "presence": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm1" }
Example pins
array element including presence
element:
{ "name": "VPCIE", "line": 61, "presence": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm0" }