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.ibm.Hardware.Chassis.Model.Rainier4U`
47- `com.ibm.Hardware.Chassis.Model.Rainier`
48
49The `phosphor-power-sequencer` application converts each compatible system type
50into a config file name by adding a `.json` suffix.
51
52Example:
53
54- `com.ibm.Hardware.Chassis.Model.Rainier.json`
55
56The application searches for a config file that exists with one of these file
57names. It searches from most specific to least specific. The first config file
58found, if any, will be used.
59
60## Contents
61
62The config file contains a single JSON [config_file](config_file.md) object at
63the root level. That object contains arrays of other JSON objects.
64
65## Installation
66
67The config file is installed in the `/usr/share/phosphor-power-sequencer`
68directory on the BMC.
69