1description: Implement to provide the chassis power management
2
3properties:
4    - name: RequestedPowerTransition
5      type: enum[self.Transition]
6      default: "Off"
7      description: >
8          The desired power transition to start on this chassis. This will be
9          preserved across AC power cycles of the BMC.
10      errors:
11          - xyz.openbmc_project.State.Chassis.Error.BMCNotReady
12          - xyz.openbmc_project.Common.Error.Unavailable
13
14    - name: CurrentPowerState
15      type: enum[self.PowerState]
16      description: >
17          A read-only property describing the current chassis power state. A
18          user can determine if a chassis is in transition by comparing the
19          CurrentPowerState and RequestedPowerTransition properties.
20
21    - name: CurrentPowerStatus
22      type: enum[self.PowerStatus]
23      description: >
24          A read-only property describing the current chassis power status. This
25          property aggregates all available information about the status of the
26          power coming into the chassis. Note that this is different then the
27          CurrentPowerState in that it provides status of the power coming into
28          the chassis, not the actual state of the chassis power.
29
30    - name: LastStateChangeTime
31      type: uint64
32      description: >
33          The last time at which the chassis power changed state, as tracked by
34          the CurrentPowerState property, in epoch time, in milliseconds.  This
35          can be used to tell when the chassis was last powered on or off.
36
37enumerations:
38    - name: Transition
39      description: >
40          The desired power transition for the chassis
41      values:
42          - name: "Off"
43            description: >
44                Chassis power should be off
45          - name: "On"
46            description: >
47                Chassis power should be on
48          - name: "PowerCycle"
49            description: >
50                Chassis power should be cycled from off to on. There will be a 5
51                second delay between the off and the on.
52
53    - name: PowerState
54      description: >
55          The current state of the chassis power
56      values:
57          - name: "Off"
58            description: >
59                Chassis power is off
60          - name: "TransitioningToOff"
61            description: >
62                Firmware is transitioning the chassis to an Off state
63          - name: "On"
64            description: >
65                Chassis power is on
66          - name: "TransitioningToOn"
67            description: >
68                Firmware is transitioning the chassis to an On state
69
70    - name: PowerStatus
71      description: >
72          The current status of the chassis power
73      values:
74          - name: "Undefined"
75            description: >
76                Chassis power status is unknown
77          - name: "BrownOut"
78            description: >
79                Chassis power status is in a brownout condition.
80          - name: "UninterruptiblePowerSupply"
81            description: >
82                Chassis power is being provided via an uninterruptible power
83                supply. Note that some systems may choose to continue to use
84                this status, even once power has returned to the system, to
85                indicate the uninterruptible power supply is charging or is
86                below a certain threshold of charged. This provides system
87                owners the flexibility on whether their system requires a
88                certain level of charged uninterruptible power supply to be in a
89                'Good' state or not.
90          - name: "Good"
91            description: >
92                Chassis power status is in a good condition
93
94paths:
95    - namespace: /xyz/openbmc_project/state
96      segments:
97          - name: Chassis
98            value: chassis
99