1# phosphor-power-sequencer Configuration File
2
3## Table of Contents
4
5- [Overview](#overview)
6- [Data Format](#data-format)
7- [Name](#name)
8- [Contents](#contents)
9- [Installation](#installation)
10
11## Overview
12
13The `phosphor-power-sequencer` configuration file (config file) contains
14information about the power sequencer device within a system. This device is
15responsible for enabling the voltage rails in order and monitoring them for
16pgood faults.
17
18The information in the config file is used to determine which voltage rail
19caused a pgood fault.
20
21The config file is optional. If no file is found, the application will log a
22general error when a pgood fault occurs. No specific rail will be identified.
23
24## Data Format
25
26The config file is a text file in the
27[JSON (JavaScript Object Notation)](https://www.json.org/) data format.
28
29## Name
30
31The config file name is based on the system type that it supports.
32
33A config file is normally system-specific. Each system type usually has a
34different set of voltage rails and GPIOs.
35
36The system type is obtained from a D-Bus Chassis object created by the
37[Entity Manager](https://github.com/openbmc/entity-manager) application. The
38object must implement the `xyz.openbmc_project.Inventory.Decorator.Compatible`
39interface.
40
41The `Names` property of this interface contains a list of one or more compatible
42system types. The types are ordered from most specific to least specific.
43
44Example:
45
46- `com.acme.Hardware.Chassis.Model.MegaServer4CPU`
47- `com.acme.Hardware.Chassis.Model.MegaServer`
48- `com.acme.Hardware.Chassis.Model.Server`
49
50The `phosphor-power-sequencer` application searches for a config file name that
51matches one of these compatible system types. It searches from most specific to
52least specific. The first config file found, if any, will be used.
53
54For each compatible system type, the application will look for two config file
55names:
56
57- The complete compatible system type plus a '.json' suffix
58- The last node of the compatible system type plus a '.json' suffix
59
60Example:
61
62- `com.acme.Hardware.Chassis.Model.MegaServer4CPU.json`
63- `MegaServer4CPU.json`
64
65## Contents
66
67The config file contains a single JSON [config_file](config_file.md) object at
68the root level. That object contains arrays of other JSON objects.
69
70## Installation
71
72The config file is installed in the `/usr/share/phosphor-power-sequencer`
73directory on the BMC.
74