xref: /openbmc/phosphor-power/phosphor-power-sequencer/docs/monitoring_chassis_pgood.md (revision 27ae70b8219cd292f3d8d9b3d5ff2a9ee18b1f37)
1# Monitoring Chassis Power Good
2
3## Overview
4
5The power sequencer device provides a chassis power good (pgood) signal. This
6indicates that all of the main (non-standby) voltage rails are powered on.
7
8The `phosphor-power-sequencer` application periodically reads (polls) the
9chassis pgood signal from a named GPIO. For more information, see
10[Named GPIOs](named_gpios.md).
11
12The resulting chassis pgood value is used to set the `pgood` property for the
13chassis. See [Chassis Status](chassis_status.md) for more information on this
14property.
15
16If the chassis pgood state is false when it should be true, a chassis power good
17(pgood) fault has occurred. See [Power Good Faults](pgood_faults.md) for more
18information.
19
20## Unable to read chassis power good signal
21
22`phosphor-power-sequencer` may become unable to read the chassis power good
23signal from the named GPIO due to:
24
25- Hardware communication problems
26  - Unable to read from named GPIO after multiple retries.
27- The `Available` property of the chassis changes to false.
28
29### During power on
30
31If `phosphor-power-sequencer` is unable to read the chassis power good signal
32during a power on attempt, the application will do the following:
33
34- If this is a single chassis system:
35  - Log an error specifying the power on attempt failed due to an inability to
36    read the chassis power good status.
37  - `phosphor-chassis-state-manager` will [power off](powering_off.md) the
38    system.
39- If this is a multiple chassis system:
40  - If the chassis is experiencing a blackout:
41    - Log an error specifying an input power problem.
42  - If the chassis is not experiencing a blackout:
43    - Log an error specifying the power on attempt failed due to an inability to
44      read the chassis power good status.
45    - If the read failure was due to hardware communication problems, add the
46      inventory path of the chassis to the error log. This may result in
47      hardware isolation, which will cause the `Enabled` property of the chassis
48      to be false.
49  - `phosphor-chassis-state-manager` will power the system
50    [off](powering_off.md) and then [on](powering_on.md) again. If the chassis's
51    `Available` or `Enabled` property is false, the chassis will not be powered
52    on.
53
54### After power on
55
56If `phosphor-power-sequencer` is unable to read the chassis power good signal
57after the chassis powered on, the application will do the following:
58
59- If this is a single chassis system:
60  - Log an error specifying an inability to read the chassis power good status.
61  - Do **not** power off the system.
62  - Leave the `pgood` property set to the value 1.
63- If this is a multiple chassis system:
64  - If the chassis is experiencing a blackout:
65    - Set `pgood` value to 0.
66    - Log an error specifying an input power problem.
67    - Power the system off and then on again. If the chassis's `Available`
68      property is false, the chassis will not be powered on.
69  - If the chassis is not experiencing a blackout:
70    - Log an error specifying an inability to read the chassis power good
71      status.
72    - Do **not** power off the system.
73    - Leave the `pgood` property set to the value 1.
74