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