xref: /openbmc/phosphor-power/phosphor-power-sequencer/docs/powering_on.md (revision 27ae70b8219cd292f3d8d9b3d5ff2a9ee18b1f37)
1*27ae70b8SShawn McCarney# Powering On
2*27ae70b8SShawn McCarney
3*27ae70b8SShawn McCarney## Initiating a power on
4*27ae70b8SShawn McCarney
5*27ae70b8SShawn McCarneyThe system can be powered on by several methods, such as the `obmcutil` tool, a
6*27ae70b8SShawn McCarneyRedfish command, or a power button on the system enclosure.
7*27ae70b8SShawn McCarney
8*27ae70b8SShawn McCarneyWhichever method is used, it sets the `state` property to 1 on the
9*27ae70b8SShawn McCarney`org.openbmc.control.Power` D-Bus interface. The D-Bus object path is
10*27ae70b8SShawn McCarney`/org/openbmc/control/power0`, which represents the entire system. See
11*27ae70b8SShawn McCarney[Chassis Status](chassis_status.md) for more information.
12*27ae70b8SShawn McCarney
13*27ae70b8SShawn McCarneyThe `phosphor-power-sequencer` application only supports powering on the entire
14*27ae70b8SShawn McCarneysystem. In a multiple chassis system, `phosphor-power-sequencer` does not
15*27ae70b8SShawn McCarneysupport powering on individual chassis independent of the rest of the system.
16*27ae70b8SShawn McCarney
17*27ae70b8SShawn McCarney## Determining which chassis to power on
18*27ae70b8SShawn McCarney
19*27ae70b8SShawn McCarneyIn a single chassis system, `phosphor-power-sequencer` will always attempt to
20*27ae70b8SShawn McCarneypower on the chassis.
21*27ae70b8SShawn McCarney
22*27ae70b8SShawn McCarneyIn a multiple chassis system, `phosphor-power-sequencer` will only attempt to
23*27ae70b8SShawn McCarneypower on chassis with the proper status:
24*27ae70b8SShawn McCarney
25*27ae70b8SShawn McCarney- `Present` property is true
26*27ae70b8SShawn McCarney- `Enabled` property is true (if interface exists)
27*27ae70b8SShawn McCarney- `Available` property is true (if interface exists)
28*27ae70b8SShawn McCarney- `Status` property is `Good` (if interface exists)
29*27ae70b8SShawn McCarney
30*27ae70b8SShawn McCarney`phosphor-power-sequencer` will set the `state` property to 1 for each chassis
31*27ae70b8SShawn McCarneythat is being powered on. It will set `state` to 0 for each chassis not being
32*27ae70b8SShawn McCarneypowered on.
33*27ae70b8SShawn McCarney
34*27ae70b8SShawn McCarneyIf no chassis are in the proper status to power on, `phosphor-power-sequencer`
35*27ae70b8SShawn McCarneywill log an error. `phosphor-chassis-state-manager` will
36*27ae70b8SShawn McCarney[power off](powering_off.md) the system.
37*27ae70b8SShawn McCarney
38*27ae70b8SShawn McCarneySee [Chassis Status](chassis_status.md) for more information on these
39*27ae70b8SShawn McCarneyproperties.
40*27ae70b8SShawn McCarney
41*27ae70b8SShawn McCarney## Powering on the voltage rails
42*27ae70b8SShawn McCarney
43*27ae70b8SShawn McCarney`phosphor-power-sequencer` powers on the main (non-standby) voltage rails in a
44*27ae70b8SShawn McCarneychassis by toggling a named GPIO to the power sequencer device in the chassis.
45*27ae70b8SShawn McCarneyFor more information, see [Named GPIOs](named_gpios.md).
46*27ae70b8SShawn McCarney
47*27ae70b8SShawn McCarneyIn each chassis being powered on, the power sequencer device powers on the
48*27ae70b8SShawn McCarneyindividual voltage rails in the correct order.
49*27ae70b8SShawn McCarney
50*27ae70b8SShawn McCarney## Determining when power on is complete
51*27ae70b8SShawn McCarney
52*27ae70b8SShawn McCarneyWhen all voltage rails have been successfully powered on in a chassis, the power
53*27ae70b8SShawn McCarneysequencer device will set the chassis power good (pgood) signal to true.
54*27ae70b8SShawn McCarney
55*27ae70b8SShawn McCarney`phosphor-power-sequencer` reads the chassis pgood signal from a named GPIO. For
56*27ae70b8SShawn McCarneymore information, see
57*27ae70b8SShawn McCarney[Monitoring Chassis Power Good](monitoring_chassis_pgood.md).
58*27ae70b8SShawn McCarney
59*27ae70b8SShawn McCarneyWhen the chassis power good signal changes to true, `phosphor-power-sequencer`
60*27ae70b8SShawn McCarneywill set the `pgood` property to 1 on the `org.openbmc.control.Power` interface
61*27ae70b8SShawn McCarneyfor the **chassis** object path. The power on has finished for that chassis.
62*27ae70b8SShawn McCarney
63*27ae70b8SShawn McCarneyWhen all chassis that were being powered on have finished,
64*27ae70b8SShawn McCarney`phosphor-power-sequencer` will set the `pgood` property to 1 on the
65*27ae70b8SShawn McCarney`org.openbmc.control.Power` interface for the **system** object path.
66*27ae70b8SShawn McCarney
67*27ae70b8SShawn McCarneySee [Chassis Status](chassis_status.md) for more information on the `pgood`
68*27ae70b8SShawn McCarneyproperty.
69*27ae70b8SShawn McCarney
70*27ae70b8SShawn McCarneyAfter all chassis have powered on, the rest of the boot process continues. The
71*27ae70b8SShawn McCarneyhost operating system will eventually be started.
72*27ae70b8SShawn McCarney
73*27ae70b8SShawn McCarney## Handling errors
74*27ae70b8SShawn McCarney
75*27ae70b8SShawn McCarney### Power good fault
76*27ae70b8SShawn McCarney
77*27ae70b8SShawn McCarneyWhen the power sequencer device is powering on the main voltage rails, one of
78*27ae70b8SShawn McCarneythe rails may fail to power on. Similarly, after the system has powered on, one
79*27ae70b8SShawn McCarneyof the voltage rails that had been providing power to the chassis might suddenly
80*27ae70b8SShawn McCarneypower off.
81*27ae70b8SShawn McCarney
82*27ae70b8SShawn McCarneyIn both cases the result is a pgood fault. See
83*27ae70b8SShawn McCarney[Power Good Faults](pgood_faults.md) for information on how the error is
84*27ae70b8SShawn McCarneyhandled.
85*27ae70b8SShawn McCarney
86*27ae70b8SShawn McCarney### Unable to read chassis power good signal
87*27ae70b8SShawn McCarney
88*27ae70b8SShawn McCarney`phosphor-power-sequencer` may become unable to read the chassis power good
89*27ae70b8SShawn McCarneysignal from the named GPIO due to:
90*27ae70b8SShawn McCarney
91*27ae70b8SShawn McCarney- Hardware communication problems.
92*27ae70b8SShawn McCarney- The `Available` property of the chassis changes to false.
93*27ae70b8SShawn McCarney
94*27ae70b8SShawn McCarneySee [Monitoring Chassis Power Good](monitoring_chassis_pgood.md) for more
95*27ae70b8SShawn McCarneyinformation on how the error is handled.
96