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