xref: /openbmc/entity-manager/schemas/legacy.json (revision 0671d3cebc799ea5f20208b033daefe53e54092f)
1{
2    "$schema": "http://json-schema.org/draft-07/schema#",
3    "$defs": {
4        "ExitAirTempSensor": {
5            "description": "implemented in dbus-sensors: ExitAirTempSensor",
6            "additionalProperties": false,
7            "properties": {
8                "AlphaF": {
9                    "type": "number"
10                },
11                "AlphaS": {
12                    "type": "number"
13                },
14                "Name": {
15                    "$ref": "#/$defs/Types/Name"
16                },
17                "PowerFactorMax": {
18                    "$ref": "#/$defs/Types/PowerFactorMax"
19                },
20                "PowerFactorMin": {
21                    "$ref": "#/$defs/Types/PowerFactorMin"
22                },
23                "QMax": {
24                    "type": "number"
25                },
26                "QMin": {
27                    "type": "number"
28                },
29                "Thresholds": {
30                    "$ref": "#/$defs/Types/Thresholds"
31                },
32                "Type": {
33                    "type": "string",
34                    "const": "ExitAirTempSensor"
35                }
36            },
37            "required": [
38                "Name",
39                "Type",
40                "AlphaF",
41                "AlphaS",
42                "PowerFactorMax",
43                "PowerFactorMin",
44                "QMax",
45                "QMin"
46            ],
47            "type": "object"
48        },
49        "CFMSensor": {
50            "additionalProperties": false,
51            "properties": {
52                "C1": {
53                    "type": "number"
54                },
55                "C2": {
56                    "type": "number"
57                },
58                "MaxCFM": {
59                    "type": "number"
60                },
61                "TachMaxPercent": {
62                    "type": "number"
63                },
64                "TachMinPercent": {
65                    "type": "number"
66                },
67                "Tachs": {
68                    "$ref": "#/$defs/Types/Tachs"
69                },
70                "Name": {
71                    "$ref": "#/$defs/Types/Name"
72                },
73                "Type": {
74                    "type": "string",
75                    "const": "CFMSensor"
76                }
77            },
78            "required": ["Name", "Type"],
79            "type": "object"
80        },
81        "FanRedundancy": {
82            "additionalProperties": false,
83            "properties": {
84                "AllowedFailures": {
85                    "$ref": "#/$defs/Types/AllowedFailures"
86                },
87                "Name": {
88                    "$ref": "#/$defs/Types/Name"
89                },
90                "Type": {
91                    "type": "string",
92                    "const": "FanRedundancy"
93                }
94            },
95            "required": ["Name", "Type"],
96            "type": "object"
97        },
98        "PURedundancy": {
99            "additionalProperties": false,
100            "properties": {
101                "RedundantCount": {
102                    "$ref": "#/$defs/Types/RedundantCount"
103                },
104                "Name": {
105                    "$ref": "#/$defs/Types/Name"
106                },
107                "Type": {
108                    "type": "string",
109                    "const": "PURedundancy"
110                }
111            },
112            "required": ["RedundantCount", "Name", "Type"],
113            "type": "object"
114        },
115        "ChassisIntrusionSensor": {
116            "description": "implemented in dbus-sensors: ChassisIntrusionSensor",
117            "additionalProperties": false,
118            "properties": {
119                "Address": {
120                    "$ref": "#/$defs/Types/Address"
121                },
122                "Bus": {
123                    "$ref": "#/$defs/Types/Bus"
124                },
125                "Class": {
126                    "$ref": "#/$defs/Types/Class"
127                },
128                "GpioPolarity": {
129                    "$ref": "#/$defs/Types/GpioPolarity"
130                },
131                "Rearm": {
132                    "enum": ["Automatic", "Manual"]
133                },
134                "Name": {
135                    "$ref": "#/$defs/Types/Name"
136                },
137                "Type": {
138                    "type": "string",
139                    "const": "ChassisIntrusionSensor"
140                }
141            },
142            "required": ["Name", "Type", "Class"],
143            "type": "object"
144        },
145        "AspeedFan": {
146            "additionalProperties": false,
147            "properties": {
148                "BindConnector": {
149                    "$ref": "#/$defs/Types/BindConnector"
150                },
151                "Index": {
152                    "$ref": "#/$defs/Types/Index"
153                },
154                "PowerState": {
155                    "$ref": "#/$defs/Types/PowerState"
156                },
157                "Connector": {
158                    "$ref": "#/$defs/Types/Connector"
159                },
160                "EntityId": {
161                    "$ref": "#/$defs/Types/EntityId"
162                },
163                "EntityInstance": {
164                    "$ref": "#/$defs/Types/EntityInstance"
165                },
166                "Presence": {
167                    "$ref": "#/$defs/Types/Presence"
168                },
169                "MaxReading": {
170                    "$ref": "#/$defs/Types/MaxReading"
171                },
172                "Thresholds": {
173                    "$ref": "#/$defs/Types/Thresholds"
174                },
175                "Name": {
176                    "$ref": "#/$defs/Types/Name"
177                },
178                "Type": {
179                    "type": "string",
180                    "const": "AspeedFan"
181                }
182            },
183            "required": ["Name", "Type"],
184            "type": "object"
185        },
186        "I2CFan": {
187            "additionalProperties": false,
188            "properties": {
189                "BindConnector": {
190                    "$ref": "#/$defs/Types/BindConnector"
191                },
192                "Address": {
193                    "$ref": "#/$defs/Types/Address"
194                },
195                "Bus": {
196                    "$ref": "#/$defs/Types/Bus"
197                },
198                "EntityId": {
199                    "$ref": "#/$defs/Types/EntityId"
200                },
201                "EntityInstance": {
202                    "$ref": "#/$defs/Types/EntityInstance"
203                },
204                "Index": {
205                    "$ref": "#/$defs/Types/Index"
206                },
207                "PowerState": {
208                    "$ref": "#/$defs/Types/PowerState"
209                },
210                "Presence": {
211                    "$ref": "#/$defs/Types/Presence"
212                },
213                "MaxReading": {
214                    "$ref": "#/$defs/Types/MaxReading"
215                },
216                "Connector": {
217                    "$ref": "#/$defs/Types/Connector"
218                },
219                "Thresholds": {
220                    "$ref": "#/$defs/Types/Thresholds"
221                },
222                "Name": {
223                    "$ref": "#/$defs/Types/Name"
224                },
225                "Type": {
226                    "type": "string",
227                    "const": "I2CFan"
228                }
229            },
230            "required": ["Name", "Type"],
231            "type": "object"
232        },
233        "NuvotonFan": {
234            "additionalProperties": false,
235            "properties": {
236                "EntityId": {
237                    "$ref": "#/$defs/Types/EntityId"
238                },
239                "EntityInstance": {
240                    "$ref": "#/$defs/Types/EntityInstance"
241                },
242                "Index": {
243                    "$ref": "#/$defs/Types/Index"
244                },
245                "PowerState": {
246                    "$ref": "#/$defs/Types/PowerState"
247                },
248                "MaxReading": {
249                    "$ref": "#/$defs/Types/MaxReading"
250                },
251                "Connector": {
252                    "$ref": "#/$defs/Types/Connector"
253                },
254                "Thresholds": {
255                    "$ref": "#/$defs/Types/Thresholds"
256                },
257                "Name": {
258                    "$ref": "#/$defs/Types/Name"
259                },
260                "Type": {
261                    "type": "string",
262                    "const": "NuvotonFan"
263                }
264            },
265            "required": ["Name", "Type", "Connector"],
266            "type": "object"
267        },
268        "HPEFan": {
269            "additionalProperties": false,
270            "properties": {
271                "Index": {
272                    "$ref": "#/$defs/Types/Index"
273                },
274                "Connector": {
275                    "$ref": "#/$defs/Types/Connector"
276                },
277                "Presence": {
278                    "$ref": "#/$defs/Types/Presence"
279                },
280                "MaxReading": {
281                    "$ref": "#/$defs/Types/MaxReading"
282                },
283                "Name": {
284                    "$ref": "#/$defs/Types/Name"
285                },
286                "Type": {
287                    "type": "string",
288                    "const": "HPEFan"
289                }
290            },
291            "required": ["Name", "Type", "Connector"],
292            "type": "object"
293        },
294        "XeonCPU": {
295            "description": "implemented in dbus-sensors: IntelCPUSensor",
296            "additionalProperties": false,
297            "properties": {
298                "Name": {
299                    "$ref": "#/$defs/Types/Name"
300                },
301                "Address": {
302                    "$ref": "#/$defs/Types/Address"
303                },
304                "Bus": {
305                    "$ref": "#/$defs/Types/Bus"
306                },
307                "PowerState": {
308                    "$ref": "#/$defs/Types/PowerState"
309                },
310                "Thresholds": {
311                    "$ref": "#/$defs/Types/Thresholds"
312                },
313                "DtsCritOffset": {
314                    "$ref": "#/$defs/Types/DtsCritOffset"
315                },
316                "PresenceGpio": {
317                    "$ref": "#/$defs/Types/PresenceGpio"
318                },
319                "CpuID": {
320                    "$ref": "#/$defs/Types/CpuID"
321                },
322                "Type": {
323                    "type": "string",
324                    "const": "XeonCPU"
325                }
326            },
327            "required": ["Name", "Type", "CpuID", "Address"],
328            "type": "object"
329        },
330        "IpmbSensor": {
331            "additionalProperties": false,
332            "properties": {
333                "Name": {
334                    "$ref": "#/$defs/Types/Name"
335                },
336                "Class": {
337                    "$ref": "#/$defs/Types/Class"
338                },
339                "Address": {
340                    "$ref": "#/$defs/Types/Address"
341                },
342                "Thresholds": {
343                    "$ref": "#/$defs/Types/Thresholds"
344                },
345                "HostSMbusIndex": {
346                    "$ref": "#/$defs/Types/HostSMbusIndex"
347                },
348                "PowerState": {
349                    "$ref": "#/$defs/Types/PowerState"
350                },
351                "SensorType": {
352                    "$ref": "#/$defs/Types/SensorType"
353                },
354                "ScaleValue": {
355                    "$ref": "#/$defs/Types/ScaleValue"
356                },
357                "OffsetValue": {
358                    "$ref": "#/$defs/Types/OffsetValue"
359                },
360                "Type": {
361                    "type": "string",
362                    "const": "IpmbSensor"
363                }
364            },
365            "required": ["Name", "Type", "Address", "Class"],
366            "type": "object"
367        },
368        "I2CMux": {
369            "additionalProperties": false,
370            "properties": {
371                "Name": {
372                    "$ref": "#/$defs/Types/Name"
373                },
374                "Bus": {
375                    "$ref": "#/$defs/Types/Bus"
376                },
377                "Address": {
378                    "$ref": "#/$defs/Types/Address"
379                },
380                "ChannelNames": {
381                    "$ref": "#/$defs/Types/ChannelNames"
382                },
383                "Type": {
384                    "type": "string",
385                    "enum": [
386                        "PCA9543Mux",
387                        "PCA9544Mux",
388                        "PCA9545Mux",
389                        "PCA9546Mux"
390                    ]
391                }
392            },
393            "required": ["Name", "Type", "Address", "Bus", "ChannelNames"],
394            "type": "object"
395        },
396        "Gpio": {
397            "additionalProperties": false,
398            "properties": {
399                "Name": {
400                    "$ref": "#/$defs/Types/Name"
401                },
402                "Index": {
403                    "$ref": "#/$defs/Types/Index"
404                },
405                "Direction": {
406                    "type": "string"
407                },
408                "Polarity": {
409                    "$ref": "#/$defs/Types/Polarity"
410                },
411                "Type": {
412                    "type": "string",
413                    "const": "Gpio"
414                }
415            },
416            "required": ["Name", "Type", "Index", "Direction", "Polarity"],
417            "type": "object"
418        },
419        "MultiNodeID": {
420            "additionalProperties": false,
421            "properties": {
422                "Name": {
423                    "$ref": "#/$defs/Types/Name"
424                },
425                "GpioPins": {
426                    "$ref": "#/$defs/Types/GpioPins"
427                },
428                "Type": {
429                    "type": "string",
430                    "const": "MultiNodeID"
431                }
432            },
433            "required": ["Name", "Type", "GpioPins"],
434            "type": "object"
435        },
436        "MultiNodePresence": {
437            "additionalProperties": false,
438            "properties": {
439                "Name": {
440                    "$ref": "#/$defs/Types/Name"
441                },
442                "Bus": {
443                    "$ref": "#/$defs/Types/Bus"
444                },
445                "Address": {
446                    "$ref": "#/$defs/Types/Address"
447                },
448                "Type": {
449                    "type": "string",
450                    "const": "MultiNodePresence"
451                }
452            },
453            "required": ["Name", "Type", "Bus", "Address"],
454            "type": "object"
455        },
456        "HostCpuUtilization": {
457            "additionalProperties": false,
458            "properties": {
459                "Name": {
460                    "$ref": "#/$defs/Types/Name"
461                },
462                "Polling": {
463                    "$ref": "#/$defs/Types/Polling"
464                },
465                "Type": {
466                    "type": "string",
467                    "const": "HostCpuUtilization"
468                }
469            },
470            "required": ["Name", "Type", "Polling"],
471            "type": "object"
472        },
473        "ExternalSensor": {
474            "description": "implemented in dbus-sensors: ExternalSensor",
475            "additionalProperties": false,
476            "properties": {
477                "Name": {
478                    "$ref": "#/$defs/Types/Name"
479                },
480                "Timeout": {
481                    "$ref": "#/$defs/Types/Timeout"
482                },
483                "Units": {
484                    "$ref": "#/$defs/Types/Units"
485                },
486                "MaxValue": {
487                    "$ref": "#/$defs/Types/MaxValue"
488                },
489                "MinValue": {
490                    "$ref": "#/$defs/Types/MinValue"
491                },
492                "EntityId": {
493                    "$ref": "#/$defs/Types/EntityId"
494                },
495                "EntityInstance": {
496                    "$ref": "#/$defs/Types/EntityInstance"
497                },
498                "Type": {
499                    "type": "string",
500                    "const": "ExternalSensor"
501                }
502            },
503            "required": ["Name", "Type", "Units", "EntityId", "EntityInstance"],
504            "type": "object"
505        },
506        "PSUPresence": {
507            "additionalProperties": false,
508            "properties": {
509                "Name": {
510                    "$ref": "#/$defs/Types/Name"
511                },
512                "Bus": {
513                    "$ref": "#/$defs/Types/Bus"
514                },
515                "Address": {
516                    "oneOf": [
517                        {
518                            "$ref": "#/$defs/Types/Address"
519                        },
520                        {
521                            "$ref": "#/$defs/Types/AddressArray"
522                        }
523                    ]
524                },
525                "Type": {
526                    "const": "PSUPresence"
527                }
528            },
529            "required": ["Name", "Type", "Bus", "Address"],
530            "type": "object"
531        },
532        "EmmcDevice": {
533            "additionalProperties": false,
534            "properties": {
535                "Name": {
536                    "$ref": "#/$defs/Types/Name"
537                },
538                "Type": {
539                    "const": "EmmcDevice"
540                }
541            },
542            "required": ["Name", "Type"],
543            "type": "object"
544        },
545        "IpmbDevice": {
546            "additionalProperties": false,
547            "properties": {
548                "Name": {
549                    "$ref": "#/$defs/Types/Name"
550                },
551                "Bus": {
552                    "$ref": "#/$defs/Types/Bus"
553                },
554                "Address": {
555                    "$ref": "#/$defs/Types/Address"
556                },
557                "Class": {
558                    "$ref": "#/$defs/Types/Class"
559                },
560                "PowerState": {
561                    "$ref": "#/$defs/Types/PowerState"
562                },
563                "Type": {
564                    "const": "IpmbDevice"
565                }
566            },
567            "required": ["Name", "Type", "Bus", "Address", "Class"],
568            "type": "object"
569        },
570        "IpmbPowerMonitor": {
571            "additionalProperties": false,
572            "properties": {
573                "Name": {
574                    "$ref": "#/$defs/Types/Name"
575                },
576                "Bus": {
577                    "$ref": "#/$defs/Types/Bus"
578                },
579                "Address": {
580                    "$ref": "#/$defs/Types/Address"
581                },
582                "Class": {
583                    "$ref": "#/$defs/Types/Class"
584                },
585                "Type": {
586                    "const": "IpmbPowerMonitor"
587                }
588            },
589            "required": ["Name", "Type", "Bus", "Address", "Class"],
590            "type": "object"
591        },
592        "ADC": {
593            "description": "implemented in dbus-sensors: ADCSensor",
594            "additionalProperties": false,
595            "properties": {
596                "Name": {
597                    "$ref": "#/$defs/Types/Name"
598                },
599                "BridgeGpio": {
600                    "$ref": "#/$defs/Types/BridgeGpio"
601                },
602                "PowerState": {
603                    "$ref": "#/$defs/Types/PowerState"
604                },
605                "EntityId": {
606                    "$ref": "#/$defs/Types/EntityId"
607                },
608                "EntityInstance": {
609                    "$ref": "#/$defs/Types/EntityInstance"
610                },
611                "Index": {
612                    "$ref": "#/$defs/Types/Index"
613                },
614                "PollRate": {
615                    "$ref": "#/$defs/Types/PollRate"
616                },
617                "CPURequired": {
618                    "$ref": "#/$defs/Types/CPURequired"
619                },
620                "PresenceGpio": {
621                    "$ref": "#/$defs/Types/PresenceGpio"
622                },
623                "MaxValue": {
624                    "$ref": "#/$defs/Types/MaxValue"
625                },
626                "MinValue": {
627                    "$ref": "#/$defs/Types/MinValue"
628                },
629                "ScaleFactor": {
630                    "$ref": "#/$defs/Types/ScaleFactor"
631                },
632                "Thresholds": {
633                    "$ref": "#/$defs/Types/Thresholds"
634                },
635                "Type": {
636                    "const": "ADC"
637                }
638            },
639            "required": ["Name", "Type", "Index"],
640            "type": "object"
641        },
642        "TempSensor": {
643            "description": "implemented in dbus-sensors: HwmonTempSensor",
644            "additionalProperties": false,
645            "patternProperties": {
646                "Name([1-9][0-9]*)?$": {
647                    "$ref": "#/$defs/Types/Name"
648                }
649            },
650            "properties": {
651                "Name": {
652                    "$ref": "#/$defs/Types/Name"
653                },
654                "Address": {
655                    "$ref": "#/$defs/Types/Address"
656                },
657                "Bus": {
658                    "$ref": "#/$defs/Types/Bus"
659                },
660                "EntityId": {
661                    "$ref": "#/$defs/Types/EntityId"
662                },
663                "EntityInstance": {
664                    "$ref": "#/$defs/Types/EntityInstance"
665                },
666                "PowerState": {
667                    "$ref": "#/$defs/Types/PowerState"
668                },
669                "CPURequired": {
670                    "$ref": "#/$defs/Types/CPURequired"
671                },
672                "Labels": {
673                    "$ref": "#/$defs/Types/Labels"
674                },
675                "PollRate": {
676                    "$ref": "#/$defs/Types/PollRate"
677                },
678                "MinValue": {
679                    "$ref": "#/$defs/Types/MinValue"
680                },
681                "MaxValue": {
682                    "$ref": "#/$defs/Types/MaxValue"
683                },
684                "Thresholds": {
685                    "$ref": "#/$defs/Types/Thresholds"
686                },
687                "Type": {
688                    "enum": [
689                        "ADM1021",
690                        "DPS310",
691                        "EMC1403",
692                        "EMC1412",
693                        "EMC1413",
694                        "EMC1414",
695                        "HDC1080",
696                        "JC42",
697                        "LM75A",
698                        "LM95234",
699                        "MAX31725",
700                        "MAX31730",
701                        "MAX6581",
702                        "MAX6654",
703                        "MAX6639",
704                        "MCP9600",
705                        "NCT6779",
706                        "NCT7802",
707                        "PT5161L",
708                        "SBTSI",
709                        "SI7020",
710                        "TMP100",
711                        "TMP1075",
712                        "TMP112",
713                        "TMP175",
714                        "TMP411",
715                        "TMP421",
716                        "TMP432",
717                        "TMP441",
718                        "TMP461",
719                        "TMP464",
720                        "TMP468",
721                        "TMP75",
722                        "W83773G"
723                    ]
724                }
725            },
726            "required": ["Name", "Type", "Bus", "Address"],
727            "type": "object"
728        },
729        "NVME1000": {
730            "description": "implemented in dbus-sensors: NVMEeSensor",
731            "additionalProperties": false,
732            "properties": {
733                "Name": {
734                    "$ref": "#/$defs/Types/Name"
735                },
736                "Bus": {
737                    "$ref": "#/$defs/Types/Bus"
738                },
739                "Address": {
740                    "$ref": "#/$defs/Types/Address"
741                },
742                "PowerState": {
743                    "$ref": "#/$defs/Types/PowerState"
744                },
745                "Thresholds": {
746                    "$ref": "#/$defs/Types/Thresholds"
747                },
748                "EnablePEC": {
749                    "description": "Enable SMBus PEC generation and verification.",
750                    "type": "boolean"
751                },
752                "Type": {
753                    "const": "NVME1000"
754                }
755            },
756            "required": ["Name", "Type", "Bus", "Address"],
757            "type": "object"
758        },
759        "EEPROM": {
760            "additionalProperties": false,
761            "properties": {
762                "Name": {
763                    "$ref": "#/$defs/Types/Name"
764                },
765                "Bus": {
766                    "$ref": "#/$defs/Types/Bus"
767                },
768                "Address": {
769                    "$ref": "#/$defs/Types/Address"
770                },
771                "Type": {
772                    "enum": [
773                        "EEPROM",
774                        "EEPROM_24C01",
775                        "EEPROM_24C02",
776                        "EEPROM_24C04",
777                        "EEPROM_24C08",
778                        "EEPROM_24C16",
779                        "EEPROM_24C32",
780                        "EEPROM_24C64",
781                        "EEPROM_24C128",
782                        "EEPROM_24C256"
783                    ]
784                }
785            },
786            "required": ["Name", "Type", "Bus", "Address"],
787            "type": "object"
788        },
789        "PSUSensor": {
790            "description": "implemented in dbus-sensors: PSUSensor",
791            "additionalProperties": false,
792            "patternProperties": {
793                "Name(1[0-7]|[1-9])?$": {
794                    "$ref": "#/$defs/Types/Name"
795                },
796                "(vin|vmon|iin|pin|maxpin)_Name$": {
797                    "$ref": "#/$defs/Types/Name"
798                },
799                "(in|in_voltage|vout|in_current|in_power)(1[0-7]|[0-9])_Name$": {
800                    "$ref": "#/$defs/Types/Name"
801                },
802                "(curr|iin|iout|pin|pout|power|temp)(1[0-7]|[1-9])_Name$": {
803                    "$ref": "#/$defs/Types/Name"
804                },
805                "(in|in_voltage|in_current|in_power)(1[0-7]|[0-9])_Scale$": {
806                    "$ref": "#/$defs/Types/ScaleValue"
807                },
808                "(curr|power|iout)(1[0-7]|[1-9])_Scale$": {
809                    "$ref": "#/$defs/Types/ScaleValue"
810                },
811                "in(1[0-7]|[0-9])_PowerState$": {
812                    "$ref": "#/$defs/Types/PowerState"
813                },
814                "(in|vout|in_voltage)(1[0-7]|[0-9])_(Min|Max)$": {
815                    "$ref": "#/$defs/Types/MinMaxType"
816                },
817                "(iin|vin|vmon|curr|iout|pin|pout|temp)(1[0-7]|[1-9])?_(Min|Max)$": {
818                    "$ref": "#/$defs/Types/MinMaxType"
819                },
820                "power(1[0-7]|[1-9])?_Max$": {
821                    "$ref": "#/$defs/Types/MinMaxType"
822                },
823                "(power|curr|iout|pout|pin)(1[0-7]|[1-9])?_Offset$": {
824                    "$ref": "#/$defs/Types/OffsetType"
825                }
826            },
827            "properties": {
828                "Name": {
829                    "$ref": "#/$defs/Types/Name"
830                },
831                "EntityId": {
832                    "$ref": "#/$defs/Types/EntityId"
833                },
834                "EntityInstance": {
835                    "$ref": "#/$defs/Types/EntityInstance"
836                },
837                "CPURequired": {
838                    "$ref": "#/$defs/Types/CPURequired"
839                },
840                "maxiout1_Name": {
841                    "$ref": "#/$defs/Types/Name"
842                },
843                "fan1_Name": {
844                    "$ref": "#/$defs/Types/Name"
845                },
846                "pin_Scale": {
847                    "$ref": "#/$defs/Types/ScaleValue"
848                },
849                "pout1_Scale": {
850                    "$ref": "#/$defs/Types/ScaleValue"
851                },
852                "Bus": {
853                    "$ref": "#/$defs/Types/Bus"
854                },
855                "Address": {
856                    "$ref": "#/$defs/Types/Address"
857                },
858                "BridgeGpio": {
859                    "$ref": "#/$defs/Types/BridgeGpio"
860                },
861                "CurrScaleFactor": {
862                    "$ref": "#/$defs/Types/CurrScaleFactor"
863                },
864                "InScaleFactor": {
865                    "$ref": "#/$defs/Types/InScaleFactor"
866                },
867                "Labels": {
868                    "$ref": "#/$defs/Types/Labels"
869                },
870                "SlotId": {
871                    "$ref": "#/$defs/Types/SlotId"
872                },
873                "PowerState": {
874                    "$ref": "#/$defs/Types/PowerState"
875                },
876                "PowerScaleFactor": {
877                    "$ref": "#/$defs/Types/PowerScaleFactor"
878                },
879                "Polling": {
880                    "$ref": "#/$defs/Types/Polling"
881                },
882                "PollRate": {
883                    "$ref": "#/$defs/Types/PollRate"
884                },
885                "Thresholds": {
886                    "$ref": "#/$defs/Types/Thresholds"
887                },
888                "Type": {
889                    "enum": [
890                        "ADC128D818",
891                        "ADM1266",
892                        "ADM1272",
893                        "ADM1275",
894                        "ADM1278",
895                        "ADM1281",
896                        "ADM1293",
897                        "ADS1015",
898                        "ADS7830",
899                        "AHE50DC_FAN",
900                        "BMR490",
901                        "cffps",
902                        "cffps1",
903                        "cffps2",
904                        "cffps3",
905                        "CRPS185",
906                        "DPS800",
907                        "INA219",
908                        "INA230",
909                        "INA233",
910                        "INA238",
911                        "IPSPS1",
912                        "IR35221",
913                        "IR38060",
914                        "IR38164",
915                        "IR38263",
916                        "ISL28022",
917                        "ISL68137",
918                        "ISL68220",
919                        "ISL68223",
920                        "ISL69225",
921                        "ISL69243",
922                        "ISL69260",
923                        "ISL69269",
924                        "LM25066",
925                        "LM5066I",
926                        "LTC2945",
927                        "LTC4282",
928                        "LTC4286",
929                        "LTC4287",
930                        "MAX5970",
931                        "MAX11607",
932                        "MAX11615",
933                        "MAX11617",
934                        "MAX16601",
935                        "MAX20710",
936                        "MAX20730",
937                        "MAX20734",
938                        "MAX20796",
939                        "MAX34451",
940                        "MP2856",
941                        "MP2857",
942                        "MP2869",
943                        "MP2971",
944                        "MP2973",
945                        "MP2975",
946                        "MP5023",
947                        "MP5990",
948                        "MP5998",
949                        "MP29612",
950                        "MPQ8785",
951                        "NCP4200",
952                        "PLI1209BC",
953                        "pmbus",
954                        "PXE1610",
955                        "RAA228000",
956                        "RAA228004",
957                        "RAA228006",
958                        "RAA228228",
959                        "RAA228620",
960                        "RAA229001",
961                        "RAA229004",
962                        "RAA229126",
963                        "RTQ6056",
964                        "SBRMI",
965                        "smpro_hwmon",
966                        "SQ52206",
967                        "SY24655",
968                        "TDA38640",
969                        "TPS25990",
970                        "TPS53679",
971                        "TPS546D24",
972                        "XDP710",
973                        "XDPE11280",
974                        "XDPE12284",
975                        "XDPE132G5C",
976                        "XDPE152C4"
977                    ]
978                }
979            },
980            "required": ["Name", "Type"],
981            "type": "object"
982        },
983        "NMSensor": {
984            "description": "unknown purpose",
985            "additionalProperties": false,
986            "properties": {
987                "Name": {
988                    "$ref": "#/$defs/Types/Name"
989                },
990                "Type": {
991                    "const": "NMSensor"
992                }
993            }
994        },
995        "IntelHsbpFruDevice": {
996            "description": "unknown purpose",
997            "additionalProperties": false,
998            "properties": {
999                "Name": {
1000                    "$ref": "#/$defs/Types/Name"
1001                },
1002                "Type": {
1003                    "const": "IntelHsbpFruDevice"
1004                }
1005            }
1006        },
1007        "IntelHsbpTempSensor": {
1008            "description": "unknown purpose",
1009            "additionalProperties": false,
1010            "properties": {
1011                "Name": {
1012                    "$ref": "#/$defs/Types/Name"
1013                },
1014                "Type": {
1015                    "const": "IntelHsbpTempSensor"
1016                }
1017            }
1018        },
1019        "IntelHsbpCPLD": {
1020            "description": "https://github.com/openbmc/s2600wf-misc",
1021            "additionalProperties": false,
1022            "properties": {
1023                "Name": {
1024                    "$ref": "#/$defs/Types/Name"
1025                },
1026                "Address": {
1027                    "$ref": "#/$defs/Types/Address"
1028                },
1029                "Bus": {
1030                    "$ref": "#/$defs/Types/Bus"
1031                },
1032                "Type": {
1033                    "const": "Intel HSBP CPLD"
1034                }
1035            }
1036        },
1037        "GenericSMBusMux": {
1038            "description": "unknown purpose",
1039            "additionalProperties": false,
1040            "properties": {
1041                "Name": {
1042                    "$ref": "#/$defs/Types/Name"
1043                },
1044                "Address": {
1045                    "$ref": "#/$defs/Types/Address"
1046                },
1047                "Type": {
1048                    "const": "GenericSMBusMux"
1049                }
1050            }
1051        },
1052        "BMC": {
1053            "additionalProperties": false,
1054            "properties": {
1055                "Name": {
1056                    "$ref": "#/$defs/Types/Name"
1057                },
1058                "Type": {
1059                    "const": "BMC"
1060                }
1061            }
1062        },
1063        "UCD90XXX": {
1064            "description": "used in https://github.com/openbmc/phosphor-power",
1065            "additionalProperties": false,
1066            "properties": {
1067                "Name": {
1068                    "$ref": "#/$defs/Types/Name"
1069                },
1070                "Address": {
1071                    "$ref": "#/$defs/Types/Address"
1072                },
1073                "Bus": {
1074                    "$ref": "#/$defs/Types/Bus"
1075                },
1076                "Type": {
1077                    "enum": ["UCD90160", "UCD90320"]
1078                }
1079            }
1080        },
1081        "Types": {
1082            "Address": {
1083                "type": "string"
1084            },
1085            "AddressArray": {
1086                "type": "array",
1087                "items": {
1088                    "$ref": "#/$defs/Types/Address"
1089                }
1090            },
1091            "AllowedFailures": {
1092                "type": "number",
1093                "multipleOf": 1,
1094                "minimum": 0
1095            },
1096            "BindConnector": {
1097                "type": "string"
1098            },
1099            "BridgeGpio": {
1100                "type": "array",
1101                "items": {
1102                    "additionalProperties": false,
1103                    "properties": {
1104                        "Name": {
1105                            "$ref": "#/$defs/Types/Name"
1106                        },
1107                        "Label": {
1108                            "$ref": "#/$defs/Types/Name"
1109                        },
1110                        "Polarity": {
1111                            "$ref": "#/$defs/Types/Polarity"
1112                        },
1113                        "SetupTime": {
1114                            "type": "number"
1115                        }
1116                    },
1117                    "required": ["Name", "Polarity"]
1118                }
1119            },
1120            "Bus": {
1121                "type": ["string", "number"]
1122            },
1123            "CPURequired": {
1124                "type": "number",
1125                "multipleOf": 1,
1126                "minimum": 0
1127            },
1128            "ChannelNames": {
1129                "items": {
1130                    "type": "string"
1131                },
1132                "type": "array"
1133            },
1134            "Class": {
1135                "type": "string",
1136                "enum": [
1137                    "fan",
1138                    "temp",
1139                    "i2c",
1140                    "Aspeed2600_Hwmon",
1141                    "METemp",
1142                    "IpmbDevice",
1143                    "twin_lake",
1144                    "Gpio",
1145                    "PxeBridgeTemp",
1146                    "HSCBridge"
1147                ]
1148            },
1149            "Connector": {
1150                "properties": {
1151                    "Name": {
1152                        "type": "string"
1153                    },
1154                    "Pwm": {
1155                        "type": "number"
1156                    },
1157                    "Tachs": {
1158                        "items": {
1159                            "type": "number"
1160                        },
1161                        "type": "array"
1162                    }
1163                },
1164                "required": ["Name", "Pwm", "Tachs"],
1165                "type": "object"
1166            },
1167            "CpuID": {
1168                "type": "number",
1169                "minimum": 0,
1170                "multipleOf": 1
1171            },
1172            "CurrScaleFactor": {
1173                "type": "number"
1174            },
1175            "Direction": {
1176                "type": "string",
1177                "enum": ["less than", "greater than"]
1178            },
1179            "DtsCritOffset": {
1180                "type": "number"
1181            },
1182            "EntityId": {
1183                "type": "number"
1184            },
1185            "EntityInstance": {
1186                "type": "number"
1187            },
1188            "GpioPins": {
1189                "items": {
1190                    "type": "number"
1191                },
1192                "type": "array"
1193            },
1194            "GpioPolarity": {
1195                "enum": ["Low"]
1196            },
1197            "Index": {
1198                "type": "number",
1199                "minimum": 0,
1200                "multipleOf": 1
1201            },
1202            "InScaleFactor": {
1203                "type": "number"
1204            },
1205            "Labels": {
1206                "items": {
1207                    "type": "string"
1208                },
1209                "type": "array"
1210            },
1211            "MaxReading": {
1212                "type": "number"
1213            },
1214            "MaxValue": {
1215                "type": "number"
1216            },
1217            "MinMaxType": {
1218                "type": "number"
1219            },
1220            "Units": {
1221                "type": "string",
1222                "enum": [
1223                    "DegreesC",
1224                    "RPMS",
1225                    "Volts",
1226                    "Meters",
1227                    "Amperes",
1228                    "Watts",
1229                    "Joules",
1230                    "Percent",
1231                    "CFM",
1232                    "Pascals"
1233                ]
1234            },
1235            "MinReading": {
1236                "type": "number"
1237            },
1238            "MinValue": {
1239                "type": "number"
1240            },
1241            "Name": {
1242                "type": "string"
1243            },
1244            "OffsetValue": {
1245                "type": "number"
1246            },
1247            "Polarity": {
1248                "enum": ["High", "Low"]
1249            },
1250            "Polling": {
1251                "type": "object",
1252                "additionalProperties": false,
1253                "properties": {
1254                    "AveragingPeriod": {
1255                        "type": "number"
1256                    },
1257                    "Interval": {
1258                        "type": "number"
1259                    },
1260                    "PollRate": {
1261                        "type": "number"
1262                    },
1263                    "Label": {
1264                        "type": "string"
1265                    }
1266                }
1267            },
1268            "PowerFactorMax": {
1269                "type": "number"
1270            },
1271            "PowerFactorMin": {
1272                "type": "number"
1273            },
1274            "PowerScaleFactor": {
1275                "type": "number"
1276            },
1277            "PowerState": {
1278                "enum": ["On", "ChassisOn", "Always", "BiosPost"]
1279            },
1280            "Presence": {
1281                "properties": {
1282                    "MonitorType": {
1283                        "enum": ["Event", "Polling"]
1284                    },
1285                    "PinName": {
1286                        "type": "string"
1287                    },
1288                    "Polarity": {
1289                        "$ref": "#/$defs/Types/Polarity"
1290                    }
1291                },
1292                "type": "object"
1293            },
1294            "PresenceGpio": {
1295                "type": ["number", "array"]
1296            },
1297            "Pwm": {
1298                "type": "number",
1299                "minimum": 0,
1300                "multipleOf": 1
1301            },
1302            "RedundantCount": {
1303                "type": "number"
1304            },
1305            "ScaleFactor": {
1306                "type": "number"
1307            },
1308            "ScaleValue": {
1309                "type": "number"
1310            },
1311            "SensorType": {
1312                "enum": ["current", "power", "voltage"]
1313            },
1314            "SlotId": {
1315                "type": "string"
1316            },
1317            "Tachs": {
1318                "items": {
1319                    "type": ["number", "string"]
1320                },
1321                "type": "array"
1322            },
1323            "Thresholds": {
1324                "items": {
1325                    "properties": {
1326                        "Direction": {
1327                            "enum": ["less than", "greater than"]
1328                        },
1329                        "Hysteresis": {
1330                            "type": "number"
1331                        },
1332                        "Label": {
1333                            "type": "string"
1334                        },
1335                        "Name": {
1336                            "type": "string"
1337                        },
1338                        "Severity": {
1339                            "type": "number",
1340                            "minimum": 0,
1341                            "maximum": 4
1342                        },
1343                        "Value": {
1344                            "type": "number"
1345                        }
1346                    },
1347                    "required": ["Direction", "Name", "Severity", "Value"],
1348                    "type": "object"
1349                },
1350                "type": "array"
1351            },
1352            "Timeout": {
1353                "type": "number"
1354            },
1355            "HostSMbusIndex": {
1356                "type": "number"
1357            },
1358            "OffsetType": {
1359                "type": "number"
1360            },
1361            "PollRate": {
1362                "type": "number",
1363                "exclusiveMinimum": 0
1364            }
1365        }
1366    }
1367}
1368