The system can be powered off by several methods, such as the obmcutil
tool, a Redfish command, or a power button on the system enclosure.
Whichever method is used, it sets the state
property to 0 on the org.openbmc.control.Power
D-Bus interface. The D-Bus object path is /org/openbmc/control/power0
, which represents the entire system. See Chassis Status for more information.
The phosphor-power-sequencer
application only supports powering off the entire system. In a multiple chassis system, phosphor-power-sequencer
does not support powering off individual chassis independent of the rest of the system.
In a single chassis system, phosphor-power-sequencer
will always attempt to power off the chassis.
In a multiple chassis system, phosphor-power-sequencer
will only attempt to power off chassis with the proper status:
Present
property is trueAvailable
property is true (if interface exists)phosphor-power-sequencer
will set the state
property to 0 for all chassis.
phosphor-power-sequencer
will set the pgood
property to 0 for all chassis where Present
or Available
are false.
See Chassis Status for more information on these properties.
phosphor-power-sequencer
powers off the main (non-standby) voltage rails in a chassis by toggling a named GPIO to the power sequencer device in the chassis. For more information, see Named GPIOs.
In each chassis being powered off, the power sequencer device powers off the individual voltage rails in the correct order.
When the voltage rails have been powered off in a chassis, the power sequencer device will set the chassis power good (pgood) signal to false.
phosphor-power-sequencer
reads the chassis pgood signal from a named GPIO. For more information, see Monitoring Chassis Power Good.
When the chassis power good signal changes to false, phosphor-power-sequencer
will set the pgood
property to 0 on the org.openbmc.control.Power
interface for the chassis object path. The power off has finished for that chassis.
When all chassis that were being powered off have finished, phosphor-power-sequencer
will set the pgood
property to 0 on the org.openbmc.control.Power
interface for the system object path.
See Chassis Status for more information on the pgood
property.