1[
2    {
3        "Exposes": [
4            {
5                "Address": "0x5e",
6                "Bus": "$bus",
7                "Connector": {
8                    "Name": "FCB_TOP_$bus * -1 + 17 FAN0_TACH_IL",
9                    "Pwm": 2,
10                    "PwmName": "FCB_TOP_$bus * -1 + 17 FAN_PWM",
11                    "Tachs": [
12                        0
13                    ]
14                },
15                "Index": 0,
16                "Name": "FCB_TOP_$bus * -1 + 17 FAN0_TACH_IL_SPEED_RPM",
17                "PowerState": "Always",
18                "Thresholds": [
19                    {
20                        "Direction": "greater than",
21                        "Name": "upper critical",
22                        "Severity": 1,
23                        "Value": 20000
24                    },
25                    {
26                        "Direction": "less than",
27                        "Name": "lower critical",
28                        "Severity": 1,
29                        "Value": 800
30                    }
31                ],
32                "Type": "I2CFan"
33            },
34            {
35                "Address": "0x5e",
36                "Bus": "$bus",
37                "Connector": {
38                    "Name": "FCB_TOP_$bus * -1 + 17 FAN0_TACH_OL",
39                    "Pwm": 2,
40                    "PwmName": "FCB_TOP_$bus * -1 + 17 FAN_PWM",
41                    "Tachs": [
42                        1
43                    ]
44                },
45                "Index": 1,
46                "Name": "FCB_TOP_$bus * -1 + 17 FAN0_TACH_OL_SPEED_RPM",
47                "PowerState": "Always",
48                "Thresholds": [
49                    {
50                        "Direction": "greater than",
51                        "Name": "upper critical",
52                        "Severity": 1,
53                        "Value": 20000
54                    },
55                    {
56                        "Direction": "less than",
57                        "Name": "lower critical",
58                        "Severity": 1,
59                        "Value": 800
60                    }
61                ],
62                "Type": "I2CFan"
63            },
64            {
65                "Address": "0x5e",
66                "Bus": "$bus",
67                "Connector": {
68                    "Name": "FCB_TOP_$bus * -1 + 17 FAN1_TACH_IL",
69                    "Pwm": 2,
70                    "PwmName": "FCB_TOP_$bus * -1 + 17 FAN_PWM",
71                    "Tachs": [
72                        2
73                    ]
74                },
75                "Index": 2,
76                "Name": "FCB_TOP_$bus * -1 + 17 FAN1_TACH_IL_SPEED_RPM",
77                "PowerState": "Always",
78                "Thresholds": [
79                    {
80                        "Direction": "greater than",
81                        "Name": "upper critical",
82                        "Severity": 1,
83                        "Value": 20000
84                    },
85                    {
86                        "Direction": "less than",
87                        "Name": "lower critical",
88                        "Severity": 1,
89                        "Value": 800
90                    }
91                ],
92                "Type": "I2CFan"
93            },
94            {
95                "Address": "0x5e",
96                "Bus": "$bus",
97                "Connector": {
98                    "Name": "FCB_TOP_$bus * -1 + 17 FAN1_TACH_OL",
99                    "Pwm": 2,
100                    "PwmName": "FCB_TOP_$bus * -1 + 17 FAN_PWM",
101                    "Tachs": [
102                        3
103                    ]
104                },
105                "Index": 3,
106                "Name": "FCB_TOP_$bus * -1 + 17 FAN1_TACH_OL_SPEED_RPM",
107                "PowerState": "Always",
108                "Thresholds": [
109                    {
110                        "Direction": "greater than",
111                        "Name": "upper critical",
112                        "Severity": 1,
113                        "Value": 20000
114                    },
115                    {
116                        "Direction": "less than",
117                        "Name": "lower critical",
118                        "Severity": 1,
119                        "Value": 800
120                    }
121                ],
122                "Type": "I2CFan"
123            },
124            {
125                "Address": "0x5e",
126                "Bus": "$bus",
127                "Connector": {
128                    "Name": "FCB_TOP_$bus * -1 + 17 FAN2_TACH_IL",
129                    "Pwm": 2,
130                    "PwmName": "FCB_TOP_$bus * -1 + 17 FAN_PWM",
131                    "Tachs": [
132                        4
133                    ]
134                },
135                "Index": 4,
136                "Name": "FCB_TOP_$bus * -1 + 17 FAN2_TACH_IL_SPEED_RPM",
137                "PowerState": "Always",
138                "Thresholds": [
139                    {
140                        "Direction": "greater than",
141                        "Name": "upper critical",
142                        "Severity": 1,
143                        "Value": 20000
144                    },
145                    {
146                        "Direction": "less than",
147                        "Name": "lower critical",
148                        "Severity": 1,
149                        "Value": 800
150                    }
151                ],
152                "Type": "I2CFan"
153            },
154            {
155                "Address": "0x5e",
156                "Bus": "$bus",
157                "Connector": {
158                    "Name": "FCB_TOP_$bus * -1 + 17 FAN2_TACH_OL",
159                    "Pwm": 2,
160                    "PwmName": "FCB_TOP_$bus * -1 + 17 FAN_PWM",
161                    "Tachs": [
162                        5
163                    ]
164                },
165                "Index": 5,
166                "Name": "FCB_TOP_$bus * -1 + 17 FAN2_TACH_OL_SPEED_RPM",
167                "PowerState": "Always",
168                "Thresholds": [
169                    {
170                        "Direction": "greater than",
171                        "Name": "upper critical",
172                        "Severity": 1,
173                        "Value": 20000
174                    },
175                    {
176                        "Direction": "less than",
177                        "Name": "lower critical",
178                        "Severity": 1,
179                        "Value": 800
180                    }
181                ],
182                "Type": "I2CFan"
183            },
184            {
185                "Address": "0x5e",
186                "Bus": "$bus",
187                "Connector": {
188                    "Name": "FCB_TOP_$bus * -1 + 17 FAN3_TACH_IL",
189                    "Pwm": 2,
190                    "PwmName": "FCB_TOP_$bus * -1 + 17 FAN_PWM",
191                    "Tachs": [
192                        6
193                    ]
194                },
195                "Index": 6,
196                "Name": "FCB_TOP_$bus * -1 + 17 FAN3_TACH_IL_SPEED_RPM",
197                "PowerState": "Always",
198                "Thresholds": [
199                    {
200                        "Direction": "greater than",
201                        "Name": "upper critical",
202                        "Severity": 1,
203                        "Value": 20000
204                    },
205                    {
206                        "Direction": "less than",
207                        "Name": "lower critical",
208                        "Severity": 1,
209                        "Value": 800
210                    }
211                ],
212                "Type": "I2CFan"
213            },
214            {
215                "Address": "0x5e",
216                "Bus": "$bus",
217                "Connector": {
218                    "Name": "FCB_TOP_$bus * -1 + 17 FAN3_TACH_OL",
219                    "Pwm": 2,
220                    "PwmName": "FCB_TOP_$bus * -1 + 17 FAN_PWM",
221                    "Tachs": [
222                        7
223                    ]
224                },
225                "Index": 7,
226                "Name": "FCB_TOP_$bus * -1 + 17 FAN3_TACH_OL_SPEED_RPM",
227                "PowerState": "Always",
228                "Thresholds": [
229                    {
230                        "Direction": "greater than",
231                        "Name": "upper critical",
232                        "Severity": 1,
233                        "Value": 20000
234                    },
235                    {
236                        "Direction": "less than",
237                        "Name": "lower critical",
238                        "Severity": 1,
239                        "Value": 800
240                    }
241                ],
242                "Type": "I2CFan"
243            },
244            {
245                "Address": "0x40",
246                "Bus": "$bus",
247                "Labels": [
248                    "in1",
249                    "curr1"
250                ],
251                "Name": "FCB_TOP_$bus * -1 + 17 FAN0",
252                "Thresholds": [
253                    {
254                        "Direction": "less than",
255                        "Label": "in1",
256                        "Name": "lower critical",
257                        "Severity": 1,
258                        "Value": 54.6
259                    },
260                    {
261                        "Direction": "greater than",
262                        "Label": "in1",
263                        "Name": "upper critical",
264                        "Severity": 1,
265                        "Value": 55.8
266                    },
267                    {
268                        "Direction": "greater than",
269                        "Label": "curr1",
270                        "Name": "upper critical",
271                        "Severity": 1,
272                        "Value": 1.19
273                    }
274                ],
275                "Type": "INA238",
276                "curr1_Name": "FCB_TOP_$bus * -1 + 17 FAN0_CURR_A",
277                "in1_Name": "FCB_TOP_$bus * -1 + 17 FAN0_VOLT_V"
278            },
279            {
280                "Address": "0x41",
281                "Bus": "$bus",
282                "Labels": [
283                    "in1",
284                    "curr1"
285                ],
286                "Name": "FCB_TOP_$bus * -1 + 17 FAN1",
287                "Thresholds": [
288                    {
289                        "Direction": "less than",
290                        "Label": "in1",
291                        "Name": "lower critical",
292                        "Severity": 1,
293                        "Value": 54.6
294                    },
295                    {
296                        "Direction": "greater than",
297                        "Label": "in1",
298                        "Name": "upper critical",
299                        "Severity": 1,
300                        "Value": 55.8
301                    },
302                    {
303                        "Direction": "greater than",
304                        "Label": "curr1",
305                        "Name": "upper critical",
306                        "Severity": 1,
307                        "Value": 1.13
308                    }
309                ],
310                "Type": "INA238",
311                "curr1_Name": "FCB_TOP_$bus * -1 + 17 FAN1_CURR_A",
312                "in1_Name": "FCB_TOP_$bus * -1 + 17 FAN1_VOLT_V"
313            },
314            {
315                "Address": "0x44",
316                "Bus": "$bus",
317                "Labels": [
318                    "in1",
319                    "curr1"
320                ],
321                "Name": "FCB_TOP_$bus * -1 + 17 FAN2",
322                "Thresholds": [
323                    {
324                        "Direction": "less than",
325                        "Label": "in1",
326                        "Name": "lower critical",
327                        "Severity": 1,
328                        "Value": 54.6
329                    },
330                    {
331                        "Direction": "greater than",
332                        "Label": "in1",
333                        "Name": "upper critical",
334                        "Severity": 1,
335                        "Value": 55.8
336                    },
337                    {
338                        "Direction": "greater than",
339                        "Label": "curr1",
340                        "Name": "upper critical",
341                        "Severity": 1,
342                        "Value": 1.13
343                    }
344                ],
345                "Type": "INA238",
346                "curr1_Name": "FCB_TOP_$bus * -1 + 17 FAN2_CURR_A",
347                "in1_Name": "FCB_TOP_$bus * -1 + 17 FAN2_VOLT_V"
348            },
349            {
350                "Address": "0x45",
351                "Bus": "$bus",
352                "Labels": [
353                    "in1",
354                    "curr1"
355                ],
356                "Name": "FCB_TOP_$bus * -1 + 17 FAN3",
357                "Thresholds": [
358                    {
359                        "Direction": "less than",
360                        "Label": "in1",
361                        "Name": "lower critical",
362                        "Severity": 1,
363                        "Value": 54.6
364                    },
365                    {
366                        "Direction": "greater than",
367                        "Label": "in1",
368                        "Name": "upper critical",
369                        "Severity": 1,
370                        "Value": 55.8
371                    },
372                    {
373                        "Direction": "greater than",
374                        "Label": "curr1",
375                        "Name": "upper critical",
376                        "Severity": 1,
377                        "Value": 1.15
378                    }
379                ],
380                "Type": "INA238",
381                "curr1_Name": "FCB_TOP_$bus * -1 + 17 FAN3_CURR_A",
382                "in1_Name": "FCB_TOP_$bus * -1 + 17 FAN3_VOLT_V"
383            }
384        ],
385        "Name": "Minerva Top Fan Board $bus * -1 + 17",
386        "Probe": [
387            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 16})",
388            "OR",
389            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 17})"
390        ],
391        "Type": "Board",
392        "xyz.openbmc_project.Inventory.Decorator.Asset": {
393            "Manufacturer": "$BOARD_MANUFACTURER",
394            "Model": "$BOARD_PRODUCT_NAME",
395            "PartNumber": "$BOARD_PART_NUMBER",
396            "SerialNumber": "$BOARD_SERIAL_NUMBER"
397        }
398    },
399    {
400        "Exposes": [
401            {
402                "Address": "0x5e",
403                "Bus": "$bus",
404                "Connector": {
405                    "Name": "FCB_MID_$bus * -1 + 19 FAN0_TACH_IL",
406                    "Pwm": 2,
407                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
408                    "Tachs": [
409                        0
410                    ]
411                },
412                "Index": 0,
413                "Name": "FCB_MID_$bus * -1 + 19 FAN0_TACH_IL_SPEED_RPM",
414                "PowerState": "Always",
415                "Thresholds": [
416                    {
417                        "Direction": "greater than",
418                        "Name": "upper critical",
419                        "Severity": 1,
420                        "Value": 20000
421                    },
422                    {
423                        "Direction": "less than",
424                        "Name": "lower critical",
425                        "Severity": 1,
426                        "Value": 800
427                    }
428                ],
429                "Type": "I2CFan"
430            },
431            {
432                "Address": "0x5e",
433                "Bus": "$bus",
434                "Connector": {
435                    "Name": "FCB_MID_$bus * -1 + 19 FAN0_TACH_OL",
436                    "Pwm": 2,
437                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
438                    "Tachs": [
439                        1
440                    ]
441                },
442                "Index": 1,
443                "Name": "FCB_MID_$bus * -1 + 19 FAN0_TACH_OL_SPEED_RPM",
444                "PowerState": "Always",
445                "Thresholds": [
446                    {
447                        "Direction": "greater than",
448                        "Name": "upper critical",
449                        "Severity": 1,
450                        "Value": 20000
451                    },
452                    {
453                        "Direction": "less than",
454                        "Name": "lower critical",
455                        "Severity": 1,
456                        "Value": 800
457                    }
458                ],
459                "Type": "I2CFan"
460            },
461            {
462                "Address": "0x5e",
463                "Bus": "$bus",
464                "Connector": {
465                    "Name": "FCB_MID_$bus * -1 + 19 FAN1_TACH_IL",
466                    "Pwm": 2,
467                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
468                    "Tachs": [
469                        2
470                    ]
471                },
472                "Index": 2,
473                "Name": "FCB_MID_$bus * -1 + 19 FAN1_TACH_IL_SPEED_RPM",
474                "PowerState": "Always",
475                "Thresholds": [
476                    {
477                        "Direction": "greater than",
478                        "Name": "upper critical",
479                        "Severity": 1,
480                        "Value": 20000
481                    },
482                    {
483                        "Direction": "less than",
484                        "Name": "lower critical",
485                        "Severity": 1,
486                        "Value": 800
487                    }
488                ],
489                "Type": "I2CFan"
490            },
491            {
492                "Address": "0x5e",
493                "Bus": "$bus",
494                "Connector": {
495                    "Name": "FCB_MID_$bus * -1 + 19 FAN1_TACH_OL",
496                    "Pwm": 2,
497                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
498                    "Tachs": [
499                        3
500                    ]
501                },
502                "Index": 3,
503                "Name": "FCB_MID_$bus * -1 + 19 FAN1_TACH_OL_SPEED_RPM",
504                "PowerState": "Always",
505                "Thresholds": [
506                    {
507                        "Direction": "greater than",
508                        "Name": "upper critical",
509                        "Severity": 1,
510                        "Value": 20000
511                    },
512                    {
513                        "Direction": "less than",
514                        "Name": "lower critical",
515                        "Severity": 1,
516                        "Value": 800
517                    }
518                ],
519                "Type": "I2CFan"
520            },
521            {
522                "Address": "0x5e",
523                "Bus": "$bus",
524                "Connector": {
525                    "Name": "FCB_MID_$bus * -1 + 19 FAN2_TACH_IL",
526                    "Pwm": 2,
527                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
528                    "Tachs": [
529                        4
530                    ]
531                },
532                "Index": 4,
533                "Name": "FCB_MID_$bus * -1 + 19 FAN2_TACH_IL_SPEED_RPM",
534                "PowerState": "Always",
535                "Thresholds": [
536                    {
537                        "Direction": "greater than",
538                        "Name": "upper critical",
539                        "Severity": 1,
540                        "Value": 20000
541                    },
542                    {
543                        "Direction": "less than",
544                        "Name": "lower critical",
545                        "Severity": 1,
546                        "Value": 800
547                    }
548                ],
549                "Type": "I2CFan"
550            },
551            {
552                "Address": "0x5e",
553                "Bus": "$bus",
554                "Connector": {
555                    "Name": "FCB_MID_$bus * -1 + 19 FAN2_TACH_OL",
556                    "Pwm": 2,
557                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
558                    "Tachs": [
559                        5
560                    ]
561                },
562                "Index": 5,
563                "Name": "FCB_MID_$bus * -1 + 19 FAN2_TACH_OL_SPEED_RPM",
564                "PowerState": "Always",
565                "Thresholds": [
566                    {
567                        "Direction": "greater than",
568                        "Name": "upper critical",
569                        "Severity": 1,
570                        "Value": 20000
571                    },
572                    {
573                        "Direction": "less than",
574                        "Name": "lower critical",
575                        "Severity": 1,
576                        "Value": 800
577                    }
578                ],
579                "Type": "I2CFan"
580            },
581            {
582                "Address": "0x5e",
583                "Bus": "$bus",
584                "Connector": {
585                    "Name": "FCB_MID_$bus * -1 + 19 FAN3_TACH_IL",
586                    "Pwm": 2,
587                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
588                    "Tachs": [
589                        6
590                    ]
591                },
592                "Index": 6,
593                "Name": "FCB_MID_$bus * -1 + 19 FAN3_TACH_IL_SPEED_RPM",
594                "PowerState": "Always",
595                "Thresholds": [
596                    {
597                        "Direction": "greater than",
598                        "Name": "upper critical",
599                        "Severity": 1,
600                        "Value": 20000
601                    },
602                    {
603                        "Direction": "less than",
604                        "Name": "lower critical",
605                        "Severity": 1,
606                        "Value": 800
607                    }
608                ],
609                "Type": "I2CFan"
610            },
611            {
612                "Address": "0x5e",
613                "Bus": "$bus",
614                "Connector": {
615                    "Name": "FCB_MID_$bus * -1 + 19 FAN3_TACH_OL",
616                    "Pwm": 2,
617                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
618                    "Tachs": [
619                        7
620                    ]
621                },
622                "Index": 7,
623                "Name": "FCB_MID_$bus * -1 + 19 FAN3_TACH_OL_SPEED_RPM",
624                "PowerState": "Always",
625                "Thresholds": [
626                    {
627                        "Direction": "greater than",
628                        "Name": "upper critical",
629                        "Severity": 1,
630                        "Value": 20000
631                    },
632                    {
633                        "Direction": "less than",
634                        "Name": "lower critical",
635                        "Severity": 1,
636                        "Value": 800
637                    }
638                ],
639                "Type": "I2CFan"
640            },
641            {
642                "Address": "0x40",
643                "Bus": "$bus",
644                "Labels": [
645                    "in1",
646                    "curr1"
647                ],
648                "Name": "FCB_MID_$bus * -1 + 19 FAN0",
649                "Thresholds": [
650                    {
651                        "Direction": "less than",
652                        "Label": "in1",
653                        "Name": "lower critical",
654                        "Severity": 1,
655                        "Value": 54.6
656                    },
657                    {
658                        "Direction": "greater than",
659                        "Label": "in1",
660                        "Name": "upper critical",
661                        "Severity": 1,
662                        "Value": 55.8
663                    },
664                    {
665                        "Direction": "greater than",
666                        "Label": "curr1",
667                        "Name": "upper critical",
668                        "Severity": 1,
669                        "Value": 1.19
670                    }
671                ],
672                "Type": "INA238",
673                "curr1_Name": "FCB_MID_$bus * -1 + 19 FAN0_CURR_A",
674                "in1_Name": "FCB_MID_$bus * -1 + 19 FAN0_VOLT_V"
675            },
676            {
677                "Address": "0x41",
678                "Bus": "$bus",
679                "Labels": [
680                    "in1",
681                    "curr1"
682                ],
683                "Name": "FCB_MID_$bus * -1 + 19 FAN1",
684                "Thresholds": [
685                    {
686                        "Direction": "less than",
687                        "Label": "in1",
688                        "Name": "lower critical",
689                        "Severity": 1,
690                        "Value": 54.6
691                    },
692                    {
693                        "Direction": "greater than",
694                        "Label": "in1",
695                        "Name": "upper critical",
696                        "Severity": 1,
697                        "Value": 55.8
698                    },
699                    {
700                        "Direction": "greater than",
701                        "Label": "curr1",
702                        "Name": "upper critical",
703                        "Severity": 1,
704                        "Value": 1.13
705                    }
706                ],
707                "Type": "INA238",
708                "curr1_Name": "FCB_MID_$bus * -1 + 19 FAN1_CURR_A",
709                "in1_Name": "FCB_MID_$bus * -1 + 19 FAN1_VOLT_V"
710            },
711            {
712                "Address": "0x44",
713                "Bus": "$bus",
714                "Labels": [
715                    "in1",
716                    "curr1"
717                ],
718                "Name": "FCB_MID_$bus * -1 + 19 FAN2",
719                "Thresholds": [
720                    {
721                        "Direction": "less than",
722                        "Label": "in1",
723                        "Name": "lower critical",
724                        "Severity": 1,
725                        "Value": 54.6
726                    },
727                    {
728                        "Direction": "greater than",
729                        "Label": "in1",
730                        "Name": "upper critical",
731                        "Severity": 1,
732                        "Value": 55.8
733                    },
734                    {
735                        "Direction": "greater than",
736                        "Label": "curr1",
737                        "Name": "upper critical",
738                        "Severity": 1,
739                        "Value": 1.13
740                    }
741                ],
742                "Type": "INA238",
743                "curr1_Name": "FCB_MID_$bus * -1 + 19 FAN2_CURR_A",
744                "in1_Name": "FCB_MID_$bus * -1 + 19 FAN2_VOLT_V"
745            },
746            {
747                "Address": "0x45",
748                "Bus": "$bus",
749                "Labels": [
750                    "in1",
751                    "curr1"
752                ],
753                "Name": "FCB_MID_$bus * -1 + 19 FAN3",
754                "Thresholds": [
755                    {
756                        "Direction": "less than",
757                        "Label": "in1",
758                        "Name": "lower critical",
759                        "Severity": 1,
760                        "Value": 54.6
761                    },
762                    {
763                        "Direction": "greater than",
764                        "Label": "in1",
765                        "Name": "upper critical",
766                        "Severity": 1,
767                        "Value": 55.8
768                    },
769                    {
770                        "Direction": "greater than",
771                        "Label": "curr1",
772                        "Name": "upper critical",
773                        "Severity": 1,
774                        "Value": 1.15
775                    }
776                ],
777                "Type": "INA238",
778                "curr1_Name": "FCB_MID_$bus * -1 + 19 FAN3_CURR_A",
779                "in1_Name": "FCB_MID_$bus * -1 + 19 FAN3_VOLT_V"
780            }
781        ],
782        "Name": "Minerva Middle Fan Board $bus * -1 + 19",
783        "Probe": [
784            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 18})",
785            "OR",
786            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 19})"
787        ],
788        "Type": "Board",
789        "xyz.openbmc_project.Inventory.Decorator.Asset": {
790            "Manufacturer": "$BOARD_MANUFACTURER",
791            "Model": "$BOARD_PRODUCT_NAME",
792            "PartNumber": "$BOARD_PART_NUMBER",
793            "SerialNumber": "$BOARD_SERIAL_NUMBER"
794        }
795    },
796    {
797        "Exposes": [
798            {
799                "Address": "0x5e",
800                "Bus": "$bus",
801                "Connector": {
802                    "Name": "FCB_BOT_$bus * -1 + 21 FAN0_TACH_IL",
803                    "Pwm": 2,
804                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
805                    "Tachs": [
806                        0
807                    ]
808                },
809                "Index": 0,
810                "Name": "FCB_BOT_$bus * -1 + 21 FAN0_TACH_IL_SPEED_RPM",
811                "PowerState": "Always",
812                "Thresholds": [
813                    {
814                        "Direction": "greater than",
815                        "Name": "upper critical",
816                        "Severity": 1,
817                        "Value": 20000
818                    },
819                    {
820                        "Direction": "less than",
821                        "Name": "lower critical",
822                        "Severity": 1,
823                        "Value": 800
824                    }
825                ],
826                "Type": "I2CFan"
827            },
828            {
829                "Address": "0x5e",
830                "Bus": "$bus",
831                "Connector": {
832                    "Name": "FCB_BOT_$bus * -1 + 21 FAN0_TACH_OL",
833                    "Pwm": 2,
834                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
835                    "Tachs": [
836                        1
837                    ]
838                },
839                "Index": 1,
840                "Name": "FCB_BOT_$bus * -1 + 21 FAN0_TACH_OL_SPEED_RPM",
841                "PowerState": "Always",
842                "Thresholds": [
843                    {
844                        "Direction": "greater than",
845                        "Name": "upper critical",
846                        "Severity": 1,
847                        "Value": 20000
848                    },
849                    {
850                        "Direction": "less than",
851                        "Name": "lower critical",
852                        "Severity": 1,
853                        "Value": 800
854                    }
855                ],
856                "Type": "I2CFan"
857            },
858            {
859                "Address": "0x5e",
860                "Bus": "$bus",
861                "Connector": {
862                    "Name": "FCB_BOT_$bus * -1 + 21 FAN1_TACH_IL",
863                    "Pwm": 2,
864                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
865                    "Tachs": [
866                        2
867                    ]
868                },
869                "Index": 2,
870                "Name": "FCB_BOT_$bus * -1 + 21 FAN1_TACH_IL_SPEED_RPM",
871                "PowerState": "Always",
872                "Thresholds": [
873                    {
874                        "Direction": "greater than",
875                        "Name": "upper critical",
876                        "Severity": 1,
877                        "Value": 20000
878                    },
879                    {
880                        "Direction": "less than",
881                        "Name": "lower critical",
882                        "Severity": 1,
883                        "Value": 800
884                    }
885                ],
886                "Type": "I2CFan"
887            },
888            {
889                "Address": "0x5e",
890                "Bus": "$bus",
891                "Connector": {
892                    "Name": "FCB_BOT_$bus * -1 + 21 FAN1_TACH_OL",
893                    "Pwm": 2,
894                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
895                    "Tachs": [
896                        3
897                    ]
898                },
899                "Index": 3,
900                "Name": "FCB_BOT_$bus * -1 + 21 FAN1_TACH_OL_SPEED_RPM",
901                "PowerState": "Always",
902                "Thresholds": [
903                    {
904                        "Direction": "greater than",
905                        "Name": "upper critical",
906                        "Severity": 1,
907                        "Value": 20000
908                    },
909                    {
910                        "Direction": "less than",
911                        "Name": "lower critical",
912                        "Severity": 1,
913                        "Value": 800
914                    }
915                ],
916                "Type": "I2CFan"
917            },
918            {
919                "Address": "0x5e",
920                "Bus": "$bus",
921                "Connector": {
922                    "Name": "FCB_BOT_$bus * -1 + 21 FAN2_TACH_IL",
923                    "Pwm": 2,
924                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
925                    "Tachs": [
926                        4
927                    ]
928                },
929                "Index": 4,
930                "Name": "FCB_BOT_$bus * -1 + 21 FAN2_TACH_IL_SPEED_RPM",
931                "PowerState": "Always",
932                "Thresholds": [
933                    {
934                        "Direction": "greater than",
935                        "Name": "upper critical",
936                        "Severity": 1,
937                        "Value": 20000
938                    },
939                    {
940                        "Direction": "less than",
941                        "Name": "lower critical",
942                        "Severity": 1,
943                        "Value": 800
944                    }
945                ],
946                "Type": "I2CFan"
947            },
948            {
949                "Address": "0x5e",
950                "Bus": "$bus",
951                "Connector": {
952                    "Name": "FCB_BOT_$bus * -1 + 21 FAN2_TACH_OL",
953                    "Pwm": 2,
954                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
955                    "Tachs": [
956                        5
957                    ]
958                },
959                "Index": 5,
960                "Name": "FCB_BOT_$bus * -1 + 21 FAN2_TACH_OL_SPEED_RPM",
961                "PowerState": "Always",
962                "Thresholds": [
963                    {
964                        "Direction": "greater than",
965                        "Name": "upper critical",
966                        "Severity": 1,
967                        "Value": 20000
968                    },
969                    {
970                        "Direction": "less than",
971                        "Name": "lower critical",
972                        "Severity": 1,
973                        "Value": 800
974                    }
975                ],
976                "Type": "I2CFan"
977            },
978            {
979                "Address": "0x5e",
980                "Bus": "$bus",
981                "Connector": {
982                    "Name": "FCB_BOT_$bus * -1 + 21 FAN3_TACH_IL",
983                    "Pwm": 2,
984                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
985                    "Tachs": [
986                        6
987                    ]
988                },
989                "Index": 6,
990                "Name": "FCB_BOT_$bus * -1 + 21 FAN3_TACH_IL_SPEED_RPM",
991                "PowerState": "Always",
992                "Thresholds": [
993                    {
994                        "Direction": "greater than",
995                        "Name": "upper critical",
996                        "Severity": 1,
997                        "Value": 20000
998                    },
999                    {
1000                        "Direction": "less than",
1001                        "Name": "lower critical",
1002                        "Severity": 1,
1003                        "Value": 800
1004                    }
1005                ],
1006                "Type": "I2CFan"
1007            },
1008            {
1009                "Address": "0x5e",
1010                "Bus": "$bus",
1011                "Connector": {
1012                    "Name": "FCB_BOT_$bus * -1 + 21 FAN3_TACH_OL",
1013                    "Pwm": 2,
1014                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
1015                    "Tachs": [
1016                        7
1017                    ]
1018                },
1019                "Index": 7,
1020                "Name": "FCB_BOT_$bus * -1 + 21 FAN3_TACH_OL_SPEED_RPM",
1021                "PowerState": "Always",
1022                "Thresholds": [
1023                    {
1024                        "Direction": "greater than",
1025                        "Name": "upper critical",
1026                        "Severity": 1,
1027                        "Value": 20000
1028                    },
1029                    {
1030                        "Direction": "less than",
1031                        "Name": "lower critical",
1032                        "Severity": 1,
1033                        "Value": 800
1034                    }
1035                ],
1036                "Type": "I2CFan"
1037            },
1038            {
1039                "Address": "0x40",
1040                "Bus": "$bus",
1041                "Labels": [
1042                    "in1",
1043                    "curr1"
1044                ],
1045                "Name": "FCB_BOT_$bus * -1 + 21 FAN0",
1046                "Thresholds": [
1047                    {
1048                        "Direction": "less than",
1049                        "Label": "in1",
1050                        "Name": "lower critical",
1051                        "Severity": 1,
1052                        "Value": 54.6
1053                    },
1054                    {
1055                        "Direction": "greater than",
1056                        "Label": "in1",
1057                        "Name": "upper critical",
1058                        "Severity": 1,
1059                        "Value": 55.8
1060                    },
1061                    {
1062                        "Direction": "greater than",
1063                        "Label": "curr1",
1064                        "Name": "upper critical",
1065                        "Severity": 1,
1066                        "Value": 1.19
1067                    }
1068                ],
1069                "Type": "INA238",
1070                "curr1_Name": "FCB_BOT_$bus * -1 + 21 FAN0_CURR_A",
1071                "in1_Name": "FCB_BOT_$bus * -1 + 21 FAN0_VOLT_V"
1072            },
1073            {
1074                "Address": "0x41",
1075                "Bus": "$bus",
1076                "Labels": [
1077                    "in1",
1078                    "curr1"
1079                ],
1080                "Name": "FCB_BOT_$bus * -1 + 21 FAN1",
1081                "Thresholds": [
1082                    {
1083                        "Direction": "less than",
1084                        "Label": "in1",
1085                        "Name": "lower critical",
1086                        "Severity": 1,
1087                        "Value": 54.6
1088                    },
1089                    {
1090                        "Direction": "greater than",
1091                        "Label": "in1",
1092                        "Name": "upper critical",
1093                        "Severity": 1,
1094                        "Value": 55.8
1095                    },
1096                    {
1097                        "Direction": "greater than",
1098                        "Label": "curr1",
1099                        "Name": "upper critical",
1100                        "Severity": 1,
1101                        "Value": 1.13
1102                    }
1103                ],
1104                "Type": "INA238",
1105                "curr1_Name": "FCB_BOT_$bus * -1 + 21 FAN1_CURR_A",
1106                "in1_Name": "FCB_BOT_$bus * -1 + 21 FAN1_VOLT_V"
1107            },
1108            {
1109                "Address": "0x44",
1110                "Bus": "$bus",
1111                "Labels": [
1112                    "in1",
1113                    "curr1"
1114                ],
1115                "Name": "FCB_BOT_$bus * -1 + 21 FAN2",
1116                "Thresholds": [
1117                    {
1118                        "Direction": "less than",
1119                        "Label": "in1",
1120                        "Name": "lower critical",
1121                        "Severity": 1,
1122                        "Value": 54.6
1123                    },
1124                    {
1125                        "Direction": "greater than",
1126                        "Label": "in1",
1127                        "Name": "upper critical",
1128                        "Severity": 1,
1129                        "Value": 55.8
1130                    },
1131                    {
1132                        "Direction": "greater than",
1133                        "Label": "curr1",
1134                        "Name": "upper critical",
1135                        "Severity": 1,
1136                        "Value": 1.13
1137                    }
1138                ],
1139                "Type": "INA238",
1140                "curr1_Name": "FCB_BOT_$bus * -1 + 21 FAN2_CURR_A",
1141                "in1_Name": "FCB_BOT_$bus * -1 + 21 FAN2_VOLT_V"
1142            },
1143            {
1144                "Address": "0x45",
1145                "Bus": "$bus",
1146                "Labels": [
1147                    "in1",
1148                    "curr1"
1149                ],
1150                "Name": "FCB_BOT_$bus * -1 + 21 FAN3",
1151                "Thresholds": [
1152                    {
1153                        "Direction": "less than",
1154                        "Label": "in1",
1155                        "Name": "lower critical",
1156                        "Severity": 1,
1157                        "Value": 54.6
1158                    },
1159                    {
1160                        "Direction": "greater than",
1161                        "Label": "in1",
1162                        "Name": "upper critical",
1163                        "Severity": 1,
1164                        "Value": 55.8
1165                    },
1166                    {
1167                        "Direction": "greater than",
1168                        "Label": "curr1",
1169                        "Name": "upper critical",
1170                        "Severity": 1,
1171                        "Value": 1.15
1172                    }
1173                ],
1174                "Type": "INA238",
1175                "curr1_Name": "FCB_BOT_$bus * -1 + 21 FAN3_CURR_A",
1176                "in1_Name": "FCB_BOT_$bus * -1 + 21 FAN3_VOLT_V"
1177            }
1178        ],
1179        "Name": "Minerva Bottom Fan Board $bus * -1 + 21",
1180        "Probe": [
1181            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 20})",
1182            "OR",
1183            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 21})"
1184        ],
1185        "Type": "Board",
1186        "xyz.openbmc_project.Inventory.Decorator.Asset": {
1187            "Manufacturer": "$BOARD_MANUFACTURER",
1188            "Model": "$BOARD_PRODUCT_NAME",
1189            "PartNumber": "$BOARD_PART_NUMBER",
1190            "SerialNumber": "$BOARD_SERIAL_NUMBER"
1191        }
1192    }
1193]
1194