Power.Cap: add properties to control Power Limit

Based on the chapter 6.6 - Power management of DCMI specification, BMC
needs more information to control Power Lmit.

This commit adds 3 properties to control Power Limit, the list of
added properties as below:
  1. ExceptionAction: Exception Action
  2. CorrectionTime: Correction time in microseconds
  3. SamplingPeriod: Sampling period in microseconds

Those properties are used to monitor total power consumption, depending
on the user's configuration, BMC can turn off the power/log event only
or do nothing when the total power consumption is greater than the power
limit.

Change-Id: I981f06855d6a55b1207541c84d53d774d0d25491
Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
diff --git a/yaml/xyz/openbmc_project/Control/Power/Cap.interface.yaml b/yaml/xyz/openbmc_project/Control/Power/Cap.interface.yaml
index acbf5e9..6b0ee09 100644
--- a/yaml/xyz/openbmc_project/Control/Power/Cap.interface.yaml
+++ b/yaml/xyz/openbmc_project/Control/Power/Cap.interface.yaml
@@ -42,3 +42,50 @@
           When the PowerCap is set to any value between MinSoftPowerCapValue and
           MinPowerCapValue an attempt will be made to maintain the cap but it
           will not be guaranted.
+
+    - name: ExceptionAction
+      type: enum[self.ExceptionActions]
+      default: NoAction
+      description: >
+          Exception Actions, taken if the Power Limit is exceeded and cannot be
+          controlled within the Correction time limit.
+
+    - name: CorrectionTime
+      type: uint64
+      default: 0
+      description: >
+          Correction Time Limit in microseconds. Maximum time taken to limit the
+          power after the platform power has reached the power limit before the
+          Exception Action will be taken. The Exception Action shall be taken if
+          the system power usage constantly exceeds the specified power limit
+          for more than the Correction Time Limit interval. The Correction Time
+          Limit timeout automatically restarts if the system power meets or
+          drops below the Power Limit.
+
+    - name: SamplingPeriod
+      type: uint64
+      default: 1000000
+      description: >
+          Management application Statistics Sampling period in microseconds.
+
+enumerations:
+    - name: ExceptionActions
+      description: >
+          Exception actions, taken if the Power Limit is exceeded and cannot be
+          controlled within the Correction Time Limit.
+      values:
+          - name: NoAction
+            description: >
+                No action is called.
+
+          - name: HardPowerOff
+            description: >
+                Hard Power Off system and log event.
+
+          - name: LogEventOnly
+            decription: >
+                Log Event Only.
+
+          - name: Oem
+            decription: >
+                OEM defined action.