xref: /openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/power_sequencer.md (revision 7b7a5632c594d60f4620ca14379a766a56faf846)
1# power_sequencer
2
3## Description
4
5A power sequencer device within a chassis.
6
7The power sequencer is responsible for performing the following tasks on a set
8of [voltage rails](rail.md):
9
10- Power the rails on in the correct order
11- Monitor the rails for a [pgood fault](../pgood_faults.md)
12- Power off the rails in the correct order
13
14Note that some voltage rails may automatically power on/off without the power
15sequencer, but they might still be monitored for pgood faults.
16
17[Named GPIOs](../named_gpios.md) are used for the following:
18
19- Power the sequencer on and off
20- Monitor the power good signal from the sequencer. This signal is true when all
21  rails are providing the expected voltage level.
22
23## Properties
24
25| Name                    |      Required       | Type                              | Description                                                                                                                   |
26| :---------------------- | :-----------------: | :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------- |
27| comments                |         no          | array of strings                  | One or more comment lines describing this power sequencer.                                                                    |
28| type                    |         yes         | string                            | Power sequencer type. Specify one of the following supported types: "UCD90160", "UCD90320", "gpios_only_device".              |
29| i2c_interface           | see [notes](#notes) | [i2c_interface](i2c_interface.md) | I2C interface to this power sequencer.                                                                                        |
30| power_control_gpio_name |         yes         | string                            | Named GPIO for turning this power sequencer on and off.                                                                       |
31| power_good_gpio_name    |         yes         | string                            | Named GPIO for reading the power good signal from this power sequencer.                                                       |
32| rails                   | see [notes](#notes) | array of [rails](rail.md)         | One or more voltage rails powered on/off and monitored by this power sequencer. The rails must be in power on sequence order. |
33
34### Notes
35
36- The "i2c_interface" and "rails" properties are required if the "type" is
37  "UCD90160" or "UCD90320". They are ignored if the "type" is
38  "gpios_only_device".
39
40## Example
41
42```json
43{
44  "type": "UCD90320",
45  "i2c_interface": { "bus": 3, "address": "0x11" },
46  "power_control_gpio_name": "power-chassis-control",
47  "power_good_gpio_name": "power-chassis-good",
48  "rails": [
49    {
50      "name": "VDD_CPU0",
51      "page": 11,
52      "check_status_vout": true
53    },
54    {
55      "name": "VCS_CPU1",
56      "presence": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
57      "gpio": { "line": 60 }
58    }
59  ]
60}
61```
62