xref: /openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/power_sequencer.md (revision d1312fca296a458b0bb7e7d44c650285ee01bec6)
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".                                   |
29| i2c_interface           |   yes    | [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                   |   yes    | 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## Example
35
36```json
37{
38  "type": "UCD90320",
39  "i2c_interface": { "bus": 3, "address": "0x11" },
40  "power_control_gpio_name": "power-chassis-control",
41  "power_good_gpio_name": "power-chassis-good",
42  "rails": [
43    {
44      "name": "VDD_CPU0",
45      "page": 11,
46      "check_status_vout": true
47    },
48    {
49      "name": "VCS_CPU1",
50      "presence": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
51      "gpio": { "line": 60 }
52    }
53  ]
54}
55```
56