xref: /openbmc/entity-manager/schemas/ibm.json (revision a3ca14a6)
1{
2    "$schema": "http://json-schema.org/draft-07/schema#",
3    "definitions": {
4        "IBMCFFPSConnector": {
5            "title": "IBM Common Form Factor (CFF) Power Supply connectors",
6            "description": "A schema associating an I2C endpoint and a GPIO for IBM CFF power supplies.  In the entity-manager detector-configuration-reactor architecture, the daemon that supports IBM CFFPS is both a detector and reactor.  It probes the endpoints described by this schema (reactor) and publishes the CFFPS FRU information (detector).",
7            "type": "object",
8            "properties": {
9                "Name": {
10                    "type": "string"
11                },
12                "Type": {
13                    "enum": ["IBMCFFPSConnector"]
14                },
15                "I2CBus": {
16                    "description": "The I2C address on which to probe for a CFFPS.",
17                    "type": "number"
18                },
19                "I2CAddress": {
20                    "description": "The I2C bus number on which to probe for a CFFPS.",
21                    "type": "number"
22                },
23                "NamedPresenceGpio": {
24                    "description": "The name of the GPIO to monitor that indicates CFFPS plug state.",
25                    "type": "string"
26                }
27            },
28            "required": [
29                "Name",
30                "Type",
31                "I2CBus",
32                "I2CAddress",
33                "NamedPresenceGpio"
34            ]
35        },
36        "IBMCompatibleSystem": {
37            "title": "System compatibility",
38            "description": "Devicetree-like compatibility strings for systems, where a 'system' is roughly defined as the combination of a chassis and a mainboard. The strings should be used by applications to match the entity with entries or configuration in a hardware database. Strings appear in the list from most specific to most general.  This allows an entity to express compatibility with a family of similar systems, in turn allowing an application to match a variety of systems with a single IBMCompatibleSystem entry. The recommended entry format is 'manufacturer,model' where the manufacturer is a string describing the name of the manufacturer and model specifies the model number.",
39            "type": "object",
40            "properties": {
41                "Name": {
42                    "type": "string"
43                },
44                "Type": {
45                    "enum": ["IBMCompatibleSystem"]
46                },
47                "Names": {
48                    "type": "array",
49                    "items": {
50                        "enum": [
51                            "ibm,bonnell",
52                            "ibm,everest",
53                            "ibm,rainier-2u",
54                            "ibm,rainier-1s4u",
55                            "ibm,rainier-4u",
56                            "ibm,rainier"
57                        ]
58                    }
59                }
60            },
61            "required": ["Name", "Type", "Names"]
62        },
63        "PowerModeProperties": {
64            "title": "PowerMode Properties",
65            "description": "The default PowerMode properties for the system",
66            "type": "object",
67            "properties": {
68                "PowerMode": {
69                    "description": "The default PowerMode to use prior to being set by a user.",
70                    "enum": ["Static", "PowerSaving", "MaximumPerformance"]
71                },
72                "IdlePowerSaverEnabled": {
73                    "description": "Default state of idle power saver mode. Setting to true will enable idle power saver.",
74                    "type": "boolean"
75                },
76                "EnterUtilizationPercent": {
77                    "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",
78                    "type": "number",
79                    "minimum": 1,
80                    "maximum": 95
81                },
82                "EnterUtilizationDwellTime": {
83                    "description": "The default duration in seconds that the system is below the EnterUtilizationPercent before idle power save is activated.",
84                    "type": "number",
85                    "minimum": 10,
86                    "maximum": 600
87                },
88                "ExitUtilizationPercent": {
89                    "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",
90                    "type": "number",
91                    "minimum": 5,
92                    "maximum": 95
93                },
94                "ExitUtilizationDwellTime": {
95                    "description": "The default duration in seconds that the system is above the ExitUtilizationPercent before idle power save is deactivated.",
96                    "type": "number",
97                    "minimum": 10,
98                    "maximum": 600
99                }
100            },
101            "required": ["PowerMode", "IdlePowerSaverEnabled"]
102        }
103    }
104}
105