xref: /openbmc/entity-manager/schemas/ibm.json (revision 7e11982f)
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": [
7                "A schema associating an I2C endpoint and a GPIO for IBM CFF",
8                "power supplies.  In the entity-manager",
9                "detector-configuration-reactor architecture, the daemon that",
10                "supports IBM CFFPS is both a detector and reactor.  It probes",
11                "the endpoints described by this schema (reactor) and publishes",
12                "the CFFPS FRU information (detector)."
13            ],
14            "type": "object",
15            "properties": {
16                "Name": {
17                    "type": "string"
18                },
19                "Type": {
20                    "enum": ["IBMCFFPSConnector"]
21                },
22                "I2CBus": {
23                    "description": [
24                        "The I2C address on which to probe for a CFFPS."
25                    ],
26                    "type": "number"
27                },
28                "I2CAddress": {
29                    "description": [
30                        "The I2C bus number on which to probe for a CFFPS."
31                    ],
32                    "type": "number"
33                },
34                "NamedPresenceGpio": {
35                    "description": [
36                        "The name of the GPIO to monitor that indicates CFFPS",
37                        "plug state."
38                    ],
39                    "type": "string"
40                }
41            },
42            "required": [
43                "Name",
44                "Type",
45                "I2CBus",
46                "I2CAddress",
47                "NamedPresenceGpio"
48            ]
49        },
50        "IBMCompatibleSystem": {
51            "title": "System compatibility",
52            "description": [
53                "Devicetree-like compatibility strings for systems, where a",
54                "'system' is roughly defined as the combination of a chassis and a",
55                "mainboard.",
56                "",
57                "The strings should be used by applications to match the",
58                "entity with entries or configuration in a hardware database.",
59                "Strings appear in the list from most specific to most",
60                "general.  This allows an entity to express compatibility with",
61                "a family of similar systems, in turn allowing an application",
62                "to match a variety of systems with a single",
63                "IBMCompatibleSystem entry.",
64                "",
65                "The recommended entry format is 'manufacturer,model' where",
66                "the manufacturer is a string describing the name of the",
67                "manufacturer and model specifies the model number."
68            ],
69            "type": "object",
70            "properties": {
71                "Name": {
72                    "type": "string"
73                },
74                "Type": {
75                    "enum": ["IBMCompatibleSystem"]
76                },
77                "Names": {
78                    "type": "array",
79                    "items": {
80                        "enum": [
81                            "ibm,bonnell",
82                            "ibm,everest",
83                            "ibm,rainier-2u",
84                            "ibm,rainier-1s4u",
85                            "ibm,rainier-4u",
86                            "ibm,rainier"
87                        ]
88                    }
89                }
90            },
91            "required": ["Name", "Type", "Names"]
92        },
93        "PowerModeProperties": {
94            "title": "PowerMode Properties",
95            "description": ["The default PowerMode properties for the system"],
96            "type": "object",
97            "properties": {
98                "PowerMode": {
99                    "description": [
100                        "The default PowerMode to use prior to being set by a user."
101                    ],
102                    "enum": ["Static", "PowerSaving", "MaximumPerformance"]
103                },
104                "IdlePowerSaverEnabled": {
105                    "description": [
106                        "Default state of idle power saver mode.",
107                        "Setting to true will enable idle power saver."
108                    ],
109                    "type": "boolean"
110                },
111                "EnterUtilizationPercent": {
112                    "description": [
113                        "The default percentage of utilization that the system shall",
114                        "be lower than to enter idle power save.",
115                        "The value is in integer percentage values (10 = 10%).",
116                        "EnterUtilizationPercent must be <= ExitUtilizationPercent"
117                    ],
118                    "type": "number",
119                    "minimum": 1,
120                    "maximum": 95
121                },
122                "EnterUtilizationDwellTime": {
123                    "description": [
124                        "The default duration in seconds that the system is below",
125                        "the EnterUtilizationPercent before idle power save is activated."
126                    ],
127                    "type": "number",
128                    "minimum": 10,
129                    "maximum": 600
130                },
131                "ExitUtilizationPercent": {
132                    "description": [
133                        "The default percentage of utilization that the system shall",
134                        "be above in order to exit idle power save.",
135                        "The value is in integer percentage values (10 = 10%).",
136                        "ExitUtilizationPercent must be >= EnterUtilizationPercent"
137                    ],
138                    "type": "number",
139                    "minimum": 5,
140                    "maximum": 95
141                },
142                "ExitUtilizationDwellTime": {
143                    "description": [
144                        "The default duration in seconds that the system is above",
145                        "the ExitUtilizationPercent before idle power save is deactivated."
146                    ],
147                    "type": "number",
148                    "minimum": 10,
149                    "maximum": 600
150                }
151            },
152            "required": ["PowerMode", "IdlePowerSaverEnabled"]
153        }
154    }
155}
156