1# Powering Off 2 3## Initiating a power off 4 5The system can be powered off by several methods, such as the `obmcutil` tool, a 6Redfish command, or a power button on the system enclosure. 7 8Whichever method is used, it sets the `state` property to 0 on the 9`org.openbmc.control.Power` D-Bus interface. The D-Bus object path is 10`/org/openbmc/control/power0`, which represents the entire system. See 11[Chassis Status](chassis_status.md) for more information. 12 13The `phosphor-power-sequencer` application only supports powering off the entire 14system. In a multiple chassis system, `phosphor-power-sequencer` does not 15support powering off individual chassis independent of the rest of the system. 16 17## Determining which chassis to power off 18 19In a single chassis system, `phosphor-power-sequencer` will always attempt to 20power off the chassis. 21 22In a multiple chassis system, `phosphor-power-sequencer` will only attempt to 23power off chassis with the proper status: 24 25- `Present` property is true 26- `Available` property is true (if interface exists) 27 28`phosphor-power-sequencer` will set the `state` property to 0 for all chassis. 29 30`phosphor-power-sequencer` will set the `pgood` property to 0 for all chassis 31where `Present` or `Available` are false. 32 33See [Chassis Status](chassis_status.md) for more information on these 34properties. 35 36## Powering off the voltage rails 37 38`phosphor-power-sequencer` powers off the main (non-standby) voltage rails in a 39chassis by toggling a named GPIO to the power sequencer device in the chassis. 40For more information, see [Named GPIOs](named_gpios.md). 41 42In each chassis being powered off, the power sequencer device powers off the 43individual voltage rails in the correct order. 44 45## Determining when power off is complete 46 47When the voltage rails have been powered off in a chassis, the power sequencer 48device will set the chassis power good (pgood) signal to false. 49 50`phosphor-power-sequencer` reads the chassis pgood signal from a named GPIO. For 51more information, see 52[Monitoring Chassis Power Good](monitoring_chassis_pgood.md). 53 54When the chassis power good signal changes to false, `phosphor-power-sequencer` 55will set the `pgood` property to 0 on the `org.openbmc.control.Power` interface 56for the **chassis** object path. The power off has finished for that chassis. 57 58When all chassis that were being powered off have finished, 59`phosphor-power-sequencer` will set the `pgood` property to 0 on the 60`org.openbmc.control.Power` interface for the **system** object path. 61 62See [Chassis Status](chassis_status.md) for more information on the `pgood` 63property. 64