1description: >
2    Implement to specify the power consumption cap and bounds
3
4properties:
5    - name: PowerCap
6      type: uint32
7      description: >
8          Power cap value. This is the user specified power cap.  When enabled
9          the power usage of the system will be limited to keep the power at or
10          below this cap.  This value is in Watts.
11
12    - name: PowerCapEnable
13      type: boolean
14      description: >
15          Power cap enable.  Set to true to enable the PowerCap, false to
16          disable it.
17
18    #TODO: These following bounds are currently owned by Settings but need to be
19    #      written by OCC.Control service so must be writable for now.
20    - name: MinPowerCapValue
21      type: uint32
22      #flags:
23      #    - readonly
24      default: 0
25      description: The Minimum supported PowerCap setting.
26
27    - name: MaxPowerCapValue
28      type: uint32
29      #flags:
30      #    - readonly
31      default: maxint
32      description: The Maximum supported PowerCap setting.
33
34    - name: MinSoftPowerCapValue
35      type: uint32
36      #flags:
37      #    - readonly
38      default: 0
39      description: >
40          Minimum supported soft user PowerCap setting. The min soft user
41          PowerCap value is normally less than or equal to the MinPowerCapValue.
42          When the PowerCap is set to any value between MinSoftPowerCapValue and
43          MinPowerCapValue an attempt will be made to maintain the cap but it
44          will not be guaranted.
45
46    - name: ExceptionAction
47      type: enum[self.ExceptionActions]
48      default: NoAction
49      description: >
50          Exception Actions, taken if the Power Limit is exceeded and cannot be
51          controlled within the Correction time limit.
52
53    - name: CorrectionTime
54      type: uint64
55      default: 0
56      description: >
57          Correction Time Limit in microseconds. Maximum time taken to limit the
58          power after the platform power has reached the power limit before the
59          Exception Action will be taken. The Exception Action shall be taken if
60          the system power usage constantly exceeds the specified power limit
61          for more than the Correction Time Limit interval. The Correction Time
62          Limit timeout automatically restarts if the system power meets or
63          drops below the Power Limit.
64
65    - name: SamplingPeriod
66      type: uint64
67      default: 1000000
68      description: >
69          Management application Statistics Sampling period in microseconds.
70
71enumerations:
72    - name: ExceptionActions
73      description: >
74          Exception actions, taken if the Power Limit is exceeded and cannot be
75          controlled within the Correction Time Limit.
76      values:
77          - name: NoAction
78            description: >
79                No action is called.
80
81          - name: HardPowerOff
82            description: >
83                Hard Power Off system and log event.
84
85          - name: LogEventOnly
86            decription: >
87                Log Event Only.
88
89          - name: Oem
90            decription: >
91                OEM defined action.
92