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        "Name": "Minerva Top Fan Board $bus * -1 + 17",
246        "Probe": [
247            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 16})",
248            "OR",
249            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 17})"
250        ],
251        "Type": "Board",
252        "xyz.openbmc_project.Inventory.Decorator.Asset": {
253            "Manufacturer": "$BOARD_MANUFACTURER",
254            "Model": "$BOARD_PRODUCT_NAME",
255            "PartNumber": "$BOARD_PART_NUMBER",
256            "SerialNumber": "$BOARD_SERIAL_NUMBER"
257        }
258    },
259    {
260        "Exposes": [
261            {
262                "Address": "0x5e",
263                "Bus": "$bus",
264                "Connector": {
265                    "Name": "FCB_MID_$bus * -1 + 19 FAN0_TACH_IL",
266                    "Pwm": 2,
267                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
268                    "Tachs": [
269                        0
270                    ]
271                },
272                "Index": 0,
273                "Name": "FCB_MID_$bus * -1 + 19 FAN0_TACH_IL_SPEED_RPM",
274                "PowerState": "Always",
275                "Thresholds": [
276                    {
277                        "Direction": "greater than",
278                        "Name": "upper critical",
279                        "Severity": 1,
280                        "Value": 20000
281                    },
282                    {
283                        "Direction": "less than",
284                        "Name": "lower critical",
285                        "Severity": 1,
286                        "Value": 800
287                    }
288                ],
289                "Type": "I2CFan"
290            },
291            {
292                "Address": "0x5e",
293                "Bus": "$bus",
294                "Connector": {
295                    "Name": "FCB_MID_$bus * -1 + 19 FAN0_TACH_OL",
296                    "Pwm": 2,
297                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
298                    "Tachs": [
299                        1
300                    ]
301                },
302                "Index": 1,
303                "Name": "FCB_MID_$bus * -1 + 19 FAN0_TACH_OL_SPEED_RPM",
304                "PowerState": "Always",
305                "Thresholds": [
306                    {
307                        "Direction": "greater than",
308                        "Name": "upper critical",
309                        "Severity": 1,
310                        "Value": 20000
311                    },
312                    {
313                        "Direction": "less than",
314                        "Name": "lower critical",
315                        "Severity": 1,
316                        "Value": 800
317                    }
318                ],
319                "Type": "I2CFan"
320            },
321            {
322                "Address": "0x5e",
323                "Bus": "$bus",
324                "Connector": {
325                    "Name": "FCB_MID_$bus * -1 + 19 FAN1_TACH_IL",
326                    "Pwm": 2,
327                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
328                    "Tachs": [
329                        2
330                    ]
331                },
332                "Index": 2,
333                "Name": "FCB_MID_$bus * -1 + 19 FAN1_TACH_IL_SPEED_RPM",
334                "PowerState": "Always",
335                "Thresholds": [
336                    {
337                        "Direction": "greater than",
338                        "Name": "upper critical",
339                        "Severity": 1,
340                        "Value": 20000
341                    },
342                    {
343                        "Direction": "less than",
344                        "Name": "lower critical",
345                        "Severity": 1,
346                        "Value": 800
347                    }
348                ],
349                "Type": "I2CFan"
350            },
351            {
352                "Address": "0x5e",
353                "Bus": "$bus",
354                "Connector": {
355                    "Name": "FCB_MID_$bus * -1 + 19 FAN1_TACH_OL",
356                    "Pwm": 2,
357                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
358                    "Tachs": [
359                        3
360                    ]
361                },
362                "Index": 3,
363                "Name": "FCB_MID_$bus * -1 + 19 FAN1_TACH_OL_SPEED_RPM",
364                "PowerState": "Always",
365                "Thresholds": [
366                    {
367                        "Direction": "greater than",
368                        "Name": "upper critical",
369                        "Severity": 1,
370                        "Value": 20000
371                    },
372                    {
373                        "Direction": "less than",
374                        "Name": "lower critical",
375                        "Severity": 1,
376                        "Value": 800
377                    }
378                ],
379                "Type": "I2CFan"
380            },
381            {
382                "Address": "0x5e",
383                "Bus": "$bus",
384                "Connector": {
385                    "Name": "FCB_MID_$bus * -1 + 19 FAN2_TACH_IL",
386                    "Pwm": 2,
387                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
388                    "Tachs": [
389                        4
390                    ]
391                },
392                "Index": 4,
393                "Name": "FCB_MID_$bus * -1 + 19 FAN2_TACH_IL_SPEED_RPM",
394                "PowerState": "Always",
395                "Thresholds": [
396                    {
397                        "Direction": "greater than",
398                        "Name": "upper critical",
399                        "Severity": 1,
400                        "Value": 20000
401                    },
402                    {
403                        "Direction": "less than",
404                        "Name": "lower critical",
405                        "Severity": 1,
406                        "Value": 800
407                    }
408                ],
409                "Type": "I2CFan"
410            },
411            {
412                "Address": "0x5e",
413                "Bus": "$bus",
414                "Connector": {
415                    "Name": "FCB_MID_$bus * -1 + 19 FAN2_TACH_OL",
416                    "Pwm": 2,
417                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
418                    "Tachs": [
419                        5
420                    ]
421                },
422                "Index": 5,
423                "Name": "FCB_MID_$bus * -1 + 19 FAN2_TACH_OL_SPEED_RPM",
424                "PowerState": "Always",
425                "Thresholds": [
426                    {
427                        "Direction": "greater than",
428                        "Name": "upper critical",
429                        "Severity": 1,
430                        "Value": 20000
431                    },
432                    {
433                        "Direction": "less than",
434                        "Name": "lower critical",
435                        "Severity": 1,
436                        "Value": 800
437                    }
438                ],
439                "Type": "I2CFan"
440            },
441            {
442                "Address": "0x5e",
443                "Bus": "$bus",
444                "Connector": {
445                    "Name": "FCB_MID_$bus * -1 + 19 FAN3_TACH_IL",
446                    "Pwm": 2,
447                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
448                    "Tachs": [
449                        6
450                    ]
451                },
452                "Index": 6,
453                "Name": "FCB_MID_$bus * -1 + 19 FAN3_TACH_IL_SPEED_RPM",
454                "PowerState": "Always",
455                "Thresholds": [
456                    {
457                        "Direction": "greater than",
458                        "Name": "upper critical",
459                        "Severity": 1,
460                        "Value": 20000
461                    },
462                    {
463                        "Direction": "less than",
464                        "Name": "lower critical",
465                        "Severity": 1,
466                        "Value": 800
467                    }
468                ],
469                "Type": "I2CFan"
470            },
471            {
472                "Address": "0x5e",
473                "Bus": "$bus",
474                "Connector": {
475                    "Name": "FCB_MID_$bus * -1 + 19 FAN3_TACH_OL",
476                    "Pwm": 2,
477                    "PwmName": "FCB_MID_$bus * -1 + 19 FAN_PWM",
478                    "Tachs": [
479                        7
480                    ]
481                },
482                "Index": 7,
483                "Name": "FCB_MID_$bus * -1 + 19 FAN3_TACH_OL_SPEED_RPM",
484                "PowerState": "Always",
485                "Thresholds": [
486                    {
487                        "Direction": "greater than",
488                        "Name": "upper critical",
489                        "Severity": 1,
490                        "Value": 20000
491                    },
492                    {
493                        "Direction": "less than",
494                        "Name": "lower critical",
495                        "Severity": 1,
496                        "Value": 800
497                    }
498                ],
499                "Type": "I2CFan"
500            }
501        ],
502        "Name": "Minerva Middle Fan Board $bus * -1 + 19",
503        "Probe": [
504            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 18})",
505            "OR",
506            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 19})"
507        ],
508        "Type": "Board",
509        "xyz.openbmc_project.Inventory.Decorator.Asset": {
510            "Manufacturer": "$BOARD_MANUFACTURER",
511            "Model": "$BOARD_PRODUCT_NAME",
512            "PartNumber": "$BOARD_PART_NUMBER",
513            "SerialNumber": "$BOARD_SERIAL_NUMBER"
514        }
515    },
516    {
517        "Exposes": [
518            {
519                "Address": "0x5e",
520                "Bus": "$bus",
521                "Connector": {
522                    "Name": "FCB_BOT_$bus * -1 + 21 FAN0_TACH_IL",
523                    "Pwm": 2,
524                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
525                    "Tachs": [
526                        0
527                    ]
528                },
529                "Index": 0,
530                "Name": "FCB_BOT_$bus * -1 + 21 FAN0_TACH_IL_SPEED_RPM",
531                "PowerState": "Always",
532                "Thresholds": [
533                    {
534                        "Direction": "greater than",
535                        "Name": "upper critical",
536                        "Severity": 1,
537                        "Value": 20000
538                    },
539                    {
540                        "Direction": "less than",
541                        "Name": "lower critical",
542                        "Severity": 1,
543                        "Value": 800
544                    }
545                ],
546                "Type": "I2CFan"
547            },
548            {
549                "Address": "0x5e",
550                "Bus": "$bus",
551                "Connector": {
552                    "Name": "FCB_BOT_$bus * -1 + 21 FAN0_TACH_OL",
553                    "Pwm": 2,
554                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
555                    "Tachs": [
556                        1
557                    ]
558                },
559                "Index": 1,
560                "Name": "FCB_BOT_$bus * -1 + 21 FAN0_TACH_OL_SPEED_RPM",
561                "PowerState": "Always",
562                "Thresholds": [
563                    {
564                        "Direction": "greater than",
565                        "Name": "upper critical",
566                        "Severity": 1,
567                        "Value": 20000
568                    },
569                    {
570                        "Direction": "less than",
571                        "Name": "lower critical",
572                        "Severity": 1,
573                        "Value": 800
574                    }
575                ],
576                "Type": "I2CFan"
577            },
578            {
579                "Address": "0x5e",
580                "Bus": "$bus",
581                "Connector": {
582                    "Name": "FCB_BOT_$bus * -1 + 21 FAN1_TACH_IL",
583                    "Pwm": 2,
584                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
585                    "Tachs": [
586                        2
587                    ]
588                },
589                "Index": 2,
590                "Name": "FCB_BOT_$bus * -1 + 21 FAN1_TACH_IL_SPEED_RPM",
591                "PowerState": "Always",
592                "Thresholds": [
593                    {
594                        "Direction": "greater than",
595                        "Name": "upper critical",
596                        "Severity": 1,
597                        "Value": 20000
598                    },
599                    {
600                        "Direction": "less than",
601                        "Name": "lower critical",
602                        "Severity": 1,
603                        "Value": 800
604                    }
605                ],
606                "Type": "I2CFan"
607            },
608            {
609                "Address": "0x5e",
610                "Bus": "$bus",
611                "Connector": {
612                    "Name": "FCB_BOT_$bus * -1 + 21 FAN1_TACH_OL",
613                    "Pwm": 2,
614                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
615                    "Tachs": [
616                        3
617                    ]
618                },
619                "Index": 3,
620                "Name": "FCB_BOT_$bus * -1 + 21 FAN1_TACH_OL_SPEED_RPM",
621                "PowerState": "Always",
622                "Thresholds": [
623                    {
624                        "Direction": "greater than",
625                        "Name": "upper critical",
626                        "Severity": 1,
627                        "Value": 20000
628                    },
629                    {
630                        "Direction": "less than",
631                        "Name": "lower critical",
632                        "Severity": 1,
633                        "Value": 800
634                    }
635                ],
636                "Type": "I2CFan"
637            },
638            {
639                "Address": "0x5e",
640                "Bus": "$bus",
641                "Connector": {
642                    "Name": "FCB_BOT_$bus * -1 + 21 FAN2_TACH_IL",
643                    "Pwm": 2,
644                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
645                    "Tachs": [
646                        4
647                    ]
648                },
649                "Index": 4,
650                "Name": "FCB_BOT_$bus * -1 + 21 FAN2_TACH_IL_SPEED_RPM",
651                "PowerState": "Always",
652                "Thresholds": [
653                    {
654                        "Direction": "greater than",
655                        "Name": "upper critical",
656                        "Severity": 1,
657                        "Value": 20000
658                    },
659                    {
660                        "Direction": "less than",
661                        "Name": "lower critical",
662                        "Severity": 1,
663                        "Value": 800
664                    }
665                ],
666                "Type": "I2CFan"
667            },
668            {
669                "Address": "0x5e",
670                "Bus": "$bus",
671                "Connector": {
672                    "Name": "FCB_BOT_$bus * -1 + 21 FAN2_TACH_OL",
673                    "Pwm": 2,
674                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
675                    "Tachs": [
676                        5
677                    ]
678                },
679                "Index": 5,
680                "Name": "FCB_BOT_$bus * -1 + 21 FAN2_TACH_OL_SPEED_RPM",
681                "PowerState": "Always",
682                "Thresholds": [
683                    {
684                        "Direction": "greater than",
685                        "Name": "upper critical",
686                        "Severity": 1,
687                        "Value": 20000
688                    },
689                    {
690                        "Direction": "less than",
691                        "Name": "lower critical",
692                        "Severity": 1,
693                        "Value": 800
694                    }
695                ],
696                "Type": "I2CFan"
697            },
698            {
699                "Address": "0x5e",
700                "Bus": "$bus",
701                "Connector": {
702                    "Name": "FCB_BOT_$bus * -1 + 21 FAN3_TACH_IL",
703                    "Pwm": 2,
704                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
705                    "Tachs": [
706                        6
707                    ]
708                },
709                "Index": 6,
710                "Name": "FCB_BOT_$bus * -1 + 21 FAN3_TACH_IL_SPEED_RPM",
711                "PowerState": "Always",
712                "Thresholds": [
713                    {
714                        "Direction": "greater than",
715                        "Name": "upper critical",
716                        "Severity": 1,
717                        "Value": 20000
718                    },
719                    {
720                        "Direction": "less than",
721                        "Name": "lower critical",
722                        "Severity": 1,
723                        "Value": 800
724                    }
725                ],
726                "Type": "I2CFan"
727            },
728            {
729                "Address": "0x5e",
730                "Bus": "$bus",
731                "Connector": {
732                    "Name": "FCB_BOT_$bus * -1 + 21 FAN3_TACH_OL",
733                    "Pwm": 2,
734                    "PwmName": "FCB_BOT_$bus * -1 + 21 FAN_PWM",
735                    "Tachs": [
736                        7
737                    ]
738                },
739                "Index": 7,
740                "Name": "FCB_BOT_$bus * -1 + 21 FAN3_TACH_OL_SPEED_RPM",
741                "PowerState": "Always",
742                "Thresholds": [
743                    {
744                        "Direction": "greater than",
745                        "Name": "upper critical",
746                        "Severity": 1,
747                        "Value": 20000
748                    },
749                    {
750                        "Direction": "less than",
751                        "Name": "lower critical",
752                        "Severity": 1,
753                        "Value": 800
754                    }
755                ],
756                "Type": "I2CFan"
757            }
758        ],
759        "Name": "Minerva Bottom Fan Board $bus * -1 + 21",
760        "Probe": [
761            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 20})",
762            "OR",
763            "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Minerva Fan Board.*', 'BUS': 21})"
764        ],
765        "Type": "Board",
766        "xyz.openbmc_project.Inventory.Decorator.Asset": {
767            "Manufacturer": "$BOARD_MANUFACTURER",
768            "Model": "$BOARD_PRODUCT_NAME",
769            "PartNumber": "$BOARD_PART_NUMBER",
770            "SerialNumber": "$BOARD_SERIAL_NUMBER"
771        }
772    }
773]
774