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