xref: /openbmc/entity-manager/schemas/ibm.json (revision 6ef5f71c)
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,fuji",
54                            "ibm,rainier-2u",
55                            "ibm,rainier-1s4u",
56                            "ibm,rainier-4u",
57                            "ibm,rainier"
58                        ]
59                    }
60                }
61            },
62            "required": ["Name", "Type", "Names"]
63        },
64        "PowerModeProperties": {
65            "title": "PowerMode Properties",
66            "description": "The default PowerMode properties for the system",
67            "type": "object",
68            "properties": {
69                "PowerMode": {
70                    "description": "The default PowerMode to use prior to being set by a user.",
71                    "enum": ["Static", "PowerSaving", "MaximumPerformance"]
72                },
73                "IdlePowerSaverEnabled": {
74                    "description": "Default state of idle power saver mode. Setting to true will enable idle power saver.",
75                    "type": "boolean"
76                },
77                "EnterUtilizationPercent": {
78                    "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",
79                    "type": "number",
80                    "minimum": 1,
81                    "maximum": 95
82                },
83                "EnterUtilizationDwellTime": {
84                    "description": "The default duration in seconds that the system is below the EnterUtilizationPercent before idle power save is activated.",
85                    "type": "number",
86                    "minimum": 10,
87                    "maximum": 600
88                },
89                "ExitUtilizationPercent": {
90                    "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",
91                    "type": "number",
92                    "minimum": 5,
93                    "maximum": 95
94                },
95                "ExitUtilizationDwellTime": {
96                    "description": "The default duration in seconds that the system is above the ExitUtilizationPercent before idle power save is deactivated.",
97                    "type": "number",
98                    "minimum": 10,
99                    "maximum": 600
100                }
101            },
102            "required": ["PowerMode", "IdlePowerSaverEnabled"]
103        }
104    }
105}
106