1## Overview 2 3The `UCD90xMonitor` class and its subclasses determine the device configuration 4from a JSON configuration file. The configuration file describes the power 5sequencer rails and power good (pgood) pins defined in the system. 6 7## File Name 8 9The expected filename format is `<device>Monitor_<systemType>.json`, where 10`<device>` is the specific power sequencer device type (UCD90320 or UCD90160), 11and `<systemType>` is a `Compatible System` name from a `Chassis` Entity Manager 12configuration file. 13 14Example file name: 15 16``` 17UCD90320Monitor_mysystem.json 18``` 19 20## File Format 21 22The configuration consists of an array of `rails` and an array of `pins`. Both 23`rails` and `pins` use a `name` element. The name element should be mnemonic and 24unique. If the BMC system utilizes the openpower-pels extension, then it will be 25used as an index into the `phosphor-logging` Message Registry. 26 27Example `rails` array with `name` elements: 28 29``` 30"rails": [ 31 { "name": "12.0V" }, 32 { "name": "VDN_DCM0" } 33] 34``` 35 36The `pins` array also uses a `line` element which is the GPIO line number of the 37pgood pin in the power sequencer device. 38 39Example `pins` array with `name` and `line` elements: 40 41``` 42"pins": [ 43 { 44 "name": "5.0V", 45 "line": 67 46 }, 47 { 48 "name": "VCS_DCM0", 49 "line": 74 50 } 51] 52``` 53 54Both `rails` and `pins` can optionally define a `presence` element which is an 55inventory path to a system component which must be present in order for the rail 56or pin to be used in failure isolation. By default, a rail or pin is considered 57to be present, which could mean the necessary parts are always present in the 58system or that a not present part would not cause a pgood failure. 59 60Example `rails` array element including `presence` element: 61 62``` 63{ 64 "name": "VCS1", 65 "presence": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm1" 66} 67``` 68 69Example `pins` array element including `presence` element: 70 71``` 72{ 73 "name": "VPCIE", 74 "line": 61, 75 "presence": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm0" 76} 77``` 78