Add D-Bus interface for Cold Redundancy.

Add D-Bus interface for PowerSupply Cold Redundancy. Phosphor-settings will
provide these properties so that BMC reset will not change these properties.
Cold Redundancy service will check these properties and use it for rank order
rotation.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I7fcb91936e0214305c23487e7f741a72889c2a84
diff --git a/xyz/openbmc_project/Control/PowerSupplyRedundancy.interface.yaml b/xyz/openbmc_project/Control/PowerSupplyRedundancy.interface.yaml
index bf36a77..e02e0aa 100644
--- a/xyz/openbmc_project/Control/PowerSupplyRedundancy.interface.yaml
+++ b/xyz/openbmc_project/Control/PowerSupplyRedundancy.interface.yaml
@@ -7,3 +7,61 @@
         - const
       description: >
           When true, the power supplies are redundant.
+    - name: RotationEnabled
+      type: boolean
+      description: >
+        Cold redundancy rotation enabled or not.
+    - name: RotationAlgorithm
+      type: enum[self.Algo]
+      description: >
+        Rotation algorithm use for cold redundancy. 0 is BMC Specific, 1 is User
+        Specific.
+    - name: RotationRankOrder
+      type: array[byte]
+      description: >
+        The rank order for each PSU, 0 means will not go into cold standby
+        state.
+    - name: PeriodOfRotation
+      type: uint32
+      description: >
+        Rotation Period for cold redundancy. If rotation algorithm is BMC
+        Specific, and rotation is enabled, BMC will change PSU rank order after
+        this time. The unit of this PeriodOfRotation is in seconds.
+    - name: ColdRedundancyStatus
+      type: enum[self.Status]
+      description: >
+        Cold redundancy setting status, set in progress or set completed.
+    - name: PSUNumber
+      type: byte
+      description: >
+        Number of PSUs are currently on system.
+
+enumerations:
+    - name: Algo
+      description: >
+        Rotation algorithm use for cold redundancy.
+      values:
+        - name: bmcSpecific
+          description: >
+            With BMC Specific algorithm, when rotation happen, BMC will add 1 to
+            the rank order in each PSU and change the last rank order to the
+            first rank order.
+        - name: userSpecific
+          description: >
+            With User Specific algorithm, user need to set the RotationRankOrder
+            every time before rotation happen, then BMC will update the rank
+            order to PSU.
+    - name: Status
+      description: >
+        Cold redundancy setting status.
+      values:
+        - name: inProgress
+          description: >
+            This status is only use for multi-node system, after any of the
+            property setting on one node, before all the nodes sync to same
+            value, the status will show in progress.
+        - name: completed
+          description: >
+            For single ndoe system, the status always keep show completed. For
+            multi-node system, only after all the nodes sync to same value of
+            the properties, the status will be completed.