schema: ibm: add default power mode props. schema

Add PowerModeProperties schema to define the factory default power mode
properties of a system:
- Power Mode
- Idle Power Saver Parameters

All of these parameters are part of the version 2021.2 Redfish Schema
Supplement under the ComputerSystem 1.16.0 schema:
For details on the values and descriptions, see the PowerMode and
IdlePowerSaver schemas in the Redfish documentation:
https://www.dmtf.org/sites/default/files/standards/documents/DSP0268_2021.2.pdf

These are the factory default values as defined by the system architect.
All of these parameters are system-wide parameters and are used to
define the operation of that system as it relates to power.

These are the values will be used the first time a system is powered on.
They can also be used if the customer wants to restore these settings to
their factory defaults.

Signed-off-by: Chris Cain <cjcain@us.ibm.com>
Change-Id: Ie2f3ca74db0c898c6a4f3beed29eda674dfcf5c6
diff --git a/schemas/global.json b/schemas/global.json
index 164a2ed..f939771 100644
--- a/schemas/global.json
+++ b/schemas/global.json
@@ -9,6 +9,9 @@
             ],
             "oneOf": [
                 {
+                    "$ref": "ibm.json#/definitions/PowerModeProperties"
+                },
+                {
                     "$ref": "ibm.json#/definitions/IBMCompatibleSystem"
                 },
                 {
diff --git a/schemas/ibm.json b/schemas/ibm.json
index 37a78e6..840a407 100644
--- a/schemas/ibm.json
+++ b/schemas/ibm.json
@@ -89,6 +89,67 @@
                 }
             },
             "required": ["Name", "Type", "Names"]
+        },
+        "PowerModeProperties": {
+            "title": "PowerMode Properties",
+            "description": ["The default PowerMode properties for the system"],
+            "type": "object",
+            "properties": {
+                "PowerMode": {
+                    "description": [
+                        "The default PowerMode to use prior to being set by a user."
+                    ],
+                    "enum": ["Static", "PowerSaving", "MaximumPerformance"]
+                },
+                "IdlePowerSaverEnabled": {
+                    "description": [
+                        "Default state of idle power saver mode.",
+                        "Setting to true will enable idle power saver."
+                    ],
+                    "type": "boolean"
+                },
+                "EnterUtilizationPercent": {
+                    "description": [
+                        "The default percentage of utilization that the system shall",
+                        "be lower than to enter idle power save.",
+                        "The value is in integer percentage values (10 = 10%).",
+                        "EnterUtilizationPercent must be <= ExitUtilizationPercent"
+                    ],
+                    "type": "number",
+                    "minimum": 1,
+                    "maximum": 95
+                },
+                "EnterUtilizationDwellTime": {
+                    "description": [
+                        "The default duration in seconds that the system is below",
+                        "the EnterUtilizationPercent before idle power save is activated."
+                    ],
+                    "type": "number",
+                    "minimum": 10,
+                    "maximum": 600
+                },
+                "ExitUtilizationPercent": {
+                    "description": [
+                        "The default percentage of utilization that the system shall",
+                        "be above in order to exit idle power save.",
+                        "The value is in integer percentage values (10 = 10%).",
+                        "ExitUtilizationPercent must be >= EnterUtilizationPercent"
+                    ],
+                    "type": "number",
+                    "minimum": 5,
+                    "maximum": 95
+                },
+                "ExitUtilizationDwellTime": {
+                    "description": [
+                        "The default duration in seconds that the system is above",
+                        "the ExitUtilizationPercent before idle power save is deactivated."
+                    ],
+                    "type": "number",
+                    "minimum": 10,
+                    "maximum": 600
+                }
+            },
+            "required": ["PowerMode", "IdlePowerSaverEnabled"]
         }
     }
 }