1{
2    "PELs":
3    [
4        {
5            "Name": "xyz.openbmc_project.Common.Error.Timeout",
6            "Subsystem": "bmc_firmware",
7
8            "SRC":
9            {
10                "ReasonCode": "0x1001",
11                "Words6To9":
12                {
13                    "6":
14                    {
15                        "Description": "Timeout in ms",
16                        "AdditionalDataPropSource": "TIMEOUT_IN_MSEC"
17                    }
18                }
19            },
20
21            "Documentation":
22            {
23                "Description": "This is a generic timeout error",
24                "Message": "An operation timed out",
25                "Notes": [
26                    "The journal should contain more information"
27                ]
28            }
29        },
30
31        {
32            "Name": "xyz.openbmc_project.Common.Error.InternalFailure",
33            "Subsystem": "bmc_firmware",
34
35            "SRC":
36            {
37                "ReasonCode": "0x1002",
38                "Words6To9":
39                {
40                }
41            },
42
43            "Documentation":
44            {
45                "Description": "BMC code had a generic internal failure",
46                "Message": "An application had an internal failure",
47                "Notes": [
48                    "The journal should contain more information"
49                ]
50            }
51        },
52
53        {
54            "Name": "xyz.openbmc_project.Common.Error.InvalidArgument",
55            "Subsystem": "user_error",
56
57            "SRC":
58            {
59                "ReasonCode": "0x1003",
60                "Words6To9":
61                {
62                }
63            },
64
65            "Documentation":
66            {
67                "Description": "BMC code was given an invalid argument",
68                "Message": "Code was given an invalid argument",
69                "Notes": [
70                    "The journal should contain more information"
71                ]
72            }
73        },
74        {
75            "Name": "xyz.openbmc_project.Common.Error.InsufficientPermission",
76            "Subsystem": "user_error",
77
78            "SRC":
79            {
80                "ReasonCode": "0x1004",
81                "Words6To9":
82                {
83                }
84            },
85
86            "Documentation":
87            {
88                "Description": "An operation failed due to insufficient permission",
89                "Message": "An operation failed due to unsufficient permission",
90                "Notes": [
91                    "The journal should contain more information"
92                ]
93            }
94        },
95
96        {
97            "Name": "xyz.openbmc_project.Common.Error.NotAllowed",
98            "Subsystem": "user_error",
99
100            "SRC":
101            {
102                "ReasonCode": "0x1005",
103                "Words6To9":
104                {
105                }
106            },
107
108            "Documentation":
109            {
110                "Description": "An operation failed because it isn't allowed",
111                "Message": "An operation failed because it isn't allowed",
112                "Notes": [
113                    "The journal should contain more information"
114                ]
115            }
116        },
117
118        {
119            "Name": "xyz.openbmc_project.Common.Error.NoCACertificate",
120            "Subsystem": "user_error",
121
122            "SRC":
123            {
124                "ReasonCode": "0x1006",
125                "Words6To9":
126                {
127                }
128            },
129
130            "Documentation":
131            {
132                "Description": "The server's CA certificate has not been provided",
133                "Message": "The server's CA certificate has not been provided"
134            }
135        },
136
137        {
138            "Name": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
139            "Subsystem": "cec_chip_iface",
140
141            "SRC":
142            {
143                "ReasonCode": "0x1007",
144                "Words6To9":
145                {
146                    "6":
147                    {
148                        "Description": "errno of the failure",
149                        "AdditionalDataPropSource": "CALLOUT_ERRNO"
150                    }
151                }
152            },
153
154            "Documentation":
155            {
156                "Description": "Sensor device read failure",
157                "Message": "There was a failure when reading a sensor device",
158                "Notes": [
159                    "The severity is set by the creator.",
160                    "The action flags are set automatically by the code.",
161                    "Callouts added based on CALLOUT_DEVICE_PATH."
162                ]
163            }
164        },
165
166        {
167            "Name": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
168            "Subsystem": "cec_chip_iface",
169
170            "SRC":
171            {
172                "ReasonCode": "0x1008",
173                "Words6To9":
174                {
175                    "6":
176                    {
177                        "Description": "errno of the failure",
178                        "AdditionalDataPropSource": "CALLOUT_ERRNO"
179                    }
180                }
181            },
182
183            "Documentation":
184            {
185                "Description": "Device read failure",
186                "Message": "There was a failure when reading a hardware device",
187                "Notes": [
188                    "The severity is set by the creator.",
189                    "The action flags are set automatically by the code.",
190                    "Callouts added based on CALLOUT_DEVICE_PATH."
191                ]
192            }
193        },
194
195        {
196            "Name": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
197            "Subsystem": "cec_chip_iface",
198
199            "SRC":
200            {
201                "ReasonCode": "0x1009",
202                "Words6To9":
203                {
204                    "6":
205                    {
206                        "Description": "errno of the failure",
207                        "AdditionalDataPropSource": "CALLOUT_ERRNO"
208                    }
209                }
210            },
211
212            "Documentation":
213            {
214                "Description": "Device write failure",
215                "Message": "There was a failure when writing to a hardware device",
216                "Notes": [
217                    "The severity is set by the creator.",
218                    "The action flags are set automatically by the code.",
219                    "Callouts added based on CALLOUT_DEVICE_PATH"
220                ]
221            }
222        },
223
224        {
225            "Name": "xyz.openbmc_project.Common.Device.Error.WriteFailure",
226            "Subsystem": "cec_chip_iface",
227
228            "SRC":
229            {
230                "ReasonCode": "0x100A",
231                "Words6To9":
232                {
233                    "6":
234                    {
235                        "Description": "errno of the failure",
236                        "AdditionalDataPropSource": "CALLOUT_ERRNO"
237                    }
238                }
239            },
240
241            "Documentation":
242            {
243                "Description": "Device write failure",
244                "Message": "There was a failure when writing to a hardware device",
245                "Notes": [
246                    "The severity is set by the creator.",
247                    "The action flags are set automatically by the code.",
248                    "Callouts added based on CALLOUT_DEVICE_PATH"
249                ]
250            }
251        },
252
253        {
254            "Name": "org.open_power.Logging.Error.SentBadPELToHost",
255            "Subsystem": "bmc_firmware",
256            "Severity": "non_error",
257
258            "SRC":
259            {
260                "ReasonCode": "0x2001",
261                "Words6To9":
262                {
263                    "6":
264                    {
265                        "Description": "The bad PEL ID",
266                        "AdditionalDataPropSource": "BAD_ID"
267                    }
268                }
269            },
270
271            "Documentation":
272            {
273                "Description": "The BMC sent the host a malformed PEL",
274                "Message": "The BMC sent the host a malformed PEL",
275                "Notes": [
276                    "The host firmware rejected that PEL."
277                ]
278            }
279        },
280
281        {
282            "Name": "org.open_power.Logging.Error.BadHostPEL",
283            "Subsystem": "platform_firmware",
284            "Severity": "unrecoverable",
285
286            "SRC":
287            {
288                "ReasonCode": "0x2002",
289                "Words6To9":
290                {
291                    "6":
292                    {
293                        "Description": "The PLID of the invalid PEL",
294                        "AdditionalDataPropSource": "PLID"
295                    },
296                    "7":
297                    {
298                        "Description": "The corresponding OpenBMC event log ID",
299                        "AdditionalDataPropSource": "OBMC_LOG_ID"
300                    },
301                    "8":
302                    {
303                        "Description": "The size of the invalid PEL",
304                        "AdditionalDataPropSource": "PEL_SIZE"
305                    }
306                }
307            },
308
309            "Documentation":
310            {
311                "Description": "The host sent the BMC an invalid PEL",
312                "Message": "The host sent the BMC an invalid PEL",
313                "Notes": [
314                ]
315            }
316        },
317
318        {
319            "Name": "org.open_power.Logging.Error.TestError1",
320            "Subsystem": "platform_firmware",
321            "Severity": "unrecoverable",
322
323            "SRC":
324            {
325                "ReasonCode": "0x2003",
326                "Words6To9":
327                {
328                }
329            },
330
331            "Callouts": [
332                {
333                    "CalloutList": [
334                        {"Priority": "high", "Procedure": "bmc_code"},
335                        {"Priority": "medium", "SymbolicFRU": "service_docs"}
336                    ]
337                }
338            ],
339
340            "Documentation":
341            {
342                "Description": "An error for testing",
343                "Message": "This is a test error"
344            }
345        },
346
347        {
348            "Name": "xyz.openbmc_project.Logging.Error.Default",
349            "Subsystem": "other_na",
350
351            "SRC":
352            {
353                "ReasonCode": "0x2004",
354                "Words6To9":
355                {
356                }
357            },
358
359            "Documentation":
360            {
361                "Description": "This entry is used when no other matching entry is found",
362                "Message": "Unknown (Original event not in message registry)",
363                "Notes": [
364                    "This is used when the actual error name isn't found in ",
365                    "the registry.  The original error name will be stored ",
366                    "in the UserData section that contains the AdditionalData ",
367                    "properties using the key ERROR_NAME.",
368                    "This error may contain callouts if the creator passed ",
369                    "them in.",
370                    "The severity is set by the creator.",
371                    "If this error is seen, then a code change needs to be ",
372                    "made to add the missing error entry to this registry."
373                ]
374            }
375        },
376
377        {
378            "Name": "org.open_power.PHAL.Error.Boot",
379            "Subsystem": "cec_hardware",
380            "Severity": "unrecoverable",
381
382            "SRC":
383            {
384                "ReasonCode": "0x3000",
385                "Words6To9":
386                {
387                }
388            },
389
390            "Documentation":
391            {
392                "Description": "Failure occured during boot process",
393                "Message": "Failure occured during boot process",
394                "Notes": [
395                    "Debug traces will be captured in AdditionalData section"
396                ]
397            }
398        },
399
400        {
401            "Name": "org.open_power.Processor.Error.SbeChipOpFailure",
402            "Subsystem": "processor_chip",
403            "ComponentID": "0x3500",
404
405            "SRC":
406            {
407                "ReasonCode": "0x3500",
408                "Words6To9":
409                {
410                    "6":
411                    {
412                        "Description": "[0:15] chip position, [16:23] command class, [24:31] command type",
413                        "AdditionalDataPropSource": "SRC6"
414                    }
415                }
416            },
417
418            "Documentation":
419            {
420                "Description": "chipop failure with SBE provided FFDC",
421                "Message": "chipop request failure reported by SBE",
422                "Notes": [
423                    "The severity is set by the creator.",
424                    "Callouts added based on SBE provided FFDC.",
425                    "SBE provided additional debug data included as part of the",
426                    "additional user data section."
427                ]
428            }
429        },
430
431        {
432            "Name": "org.open_power.Processor.Error.SbeChipOpTimeout",
433            "Subsystem": "processor_chip",
434            "ComponentID": "0x3500",
435
436            "SRC":
437            {
438                "ReasonCode": "0x3501",
439                "Words6To9":
440                {
441                    "6":
442                    {
443                        "Description": "[0:15] chip position, [16:23] command class, [24:31] command type",
444                        "AdditionalDataPropSource": "SRC6"
445                    }
446                }
447            },
448
449            "Documentation":
450            {
451                "Description": "SBE chipop timeout",
452                "Message": "chipop timeout reported during SBE communication",
453                "Notes": [
454                    "The severity is set by the creator.",
455                    "Check SBE Dump associated to this error to debug the failure."
456                ]
457            }
458        },
459
460        {
461            "Name": "org.open_power.Processor.Error.SbeChipOpInvalidState",
462            "Subsystem": "processor_chip",
463            "ComponentID": "0x3500",
464
465            "SRC":
466            {
467                "ReasonCode": "0x3502",
468                "Words6To9":
469                {
470                    "6":
471                    {
472                        "Description": "[0:15] chip position, [16:23] command class, [24:31] command type",
473                        "AdditionalDataPropSource": "SRC6"
474                    },
475                    "7":
476                    {
477                        "Description": "Value of SBE state",
478                        "AdditionalDataPropSource": "SRC7"
479                    }
480                }
481            },
482
483            "Documentation":
484            {
485                "Description": "The SBE on this processor is not in a state where chipOps can be issued",
486                "Message": "SBE Chipop is not allowed due to invalid SBE state ",
487                "Notes": [
488                    "The severity is set by the creator."
489                ]
490            }
491        },
492
493        {
494            "Name": "org.open_power.Attn.Error.Terminate",
495            "Subsystem": "cec_hardware",
496            "Severity": "non_error",
497
498            "SRC":
499            {
500                "ReasonCode": "0xD138",
501                "SymptomIDFields": [ "SRCWord3", "SRCWord4", "SRCWord5", "SRCWord6", "SRCWord7", "SRCWord8", "SRCWord9" ],
502                "Words6To9":
503                {
504                }
505            },
506
507            "Documentation":
508            {
509                "Description": "Status shows TI special attention active",
510                "Message": "TI special attention detected",
511                "Notes": [
512                    "This entry is for any TI special attention event ",
513                    "reported by the attention handler component"
514                ]
515            }
516        },
517
518        {
519            "Name": "org.open_power.Attn.Error.Fail",
520            "Subsystem": "bmc_firmware",
521            "Severity": "unrecoverable_loss_of_function",
522
523            "SRC":
524            {
525                "ReasonCode": "0xD13E",
526                "Words6To9":
527                {
528                    "6":
529                    {
530                        "Description": "Error code from attention handler",
531                        "AdditionalDataPropSource": "ERROR_CODE"
532                    }
533                }
534            },
535            "Documentation":
536            {
537                "Description": "The attention handler encountered an error",
538                "MessageArgSources" : ["SRCWord6"],
539                "Message": "Attention handler error %1",
540                "Notes": [
541                    "Attention handler will provide error code"
542                ]
543            }
544        },
545
546        {
547            "Name": "org.open_power.Attn.Error.Vital",
548            "Subsystem": "processor_chip",
549            "Severity": "critical",
550
551            "SRC":
552            {
553                "ReasonCode": "0xD16D",
554                "Words6To9":
555                {
556                }
557            },
558
559            "Documentation":
560            {
561                "Description": "Status shows SBE vital attention active",
562                "Message": "SBE vital attention detected",
563                "Notes": [
564                    "This entry is for any SBE vital attention event ",
565                    "reported by the attention handler component"
566                ]
567            }
568        },
569
570        {
571            "Name": "org.open_power.HwDiags.Error.Checkstop",
572            "Subsystem": "cec_hardware",
573            "ActionFlags": [ "service_action", "report", "call_home" ],
574
575            "SRC":
576            {
577                "ReasonCode": "0xE510",
578                "SymptomIDFields": [ "SRCWord6", "SRCWord7", "SRCWord8" ],
579                "Words6To9":
580                {
581                    "6":
582                    {
583                        "Description": "[0:15] chip model, [16:23] reserved, [24:31] chip EC level",
584                        "AdditionalDataPropSource": "SRC6"
585                    },
586                    "7":
587                    {
588                        "Description": "[0:15] chip position, [16:23] unused, [24:31] signature attn type",
589                        "AdditionalDataPropSource": "SRC7"
590                    },
591                    "8":
592                    {
593                        "Description": "[0:15] signature ID, [16:23] signature instance, [24:31] signature bit position",
594                        "AdditionalDataPropSource": "SRC8"
595                    }
596                }
597            },
598
599            "Documentation":
600            {
601                "Description": "A system checkstop attention has occurred",
602                "MessageArgSources" : [ "SRCWord6", "SRCWord7", "SRCWord8" ],
603                "Message": "hw-diags signature: %1 %2 %3"
604            }
605        },
606
607        {
608            "Name": "org.open_power.HwDiags.Error.Predictive",
609            "Subsystem": "cec_hardware",
610            "ActionFlags": [ "service_action", "report", "call_home" ],
611
612            "SRC":
613            {
614                "ReasonCode": "0xE511",
615                "SymptomIDFields": [ "SRCWord6", "SRCWord7", "SRCWord8" ],
616                "Words6To9":
617                {
618                    "6":
619                    {
620                        "Description": "[0:15] chip model, [16:23] reserved, [24:31] chip EC level",
621                        "AdditionalDataPropSource": "SRC6"
622                    },
623                    "7":
624                    {
625                        "Description": "[0:15] chip position, [16:23] unused, [24:31] signature attn type",
626                        "AdditionalDataPropSource": "SRC7"
627                    },
628                    "8":
629                    {
630                        "Description": "[0:15] signature ID, [16:23] signature instance, [24:31] signature bit position",
631                        "AdditionalDataPropSource": "SRC8"
632                    }
633                }
634            },
635
636            "Documentation":
637            {
638                "Description": "A hardware attention requiring service has occurred",
639                "MessageArgSources" : [ "SRCWord6", "SRCWord7", "SRCWord8" ],
640                "Message": "hw-diags signature: %1 %2 %3"
641            }
642        },
643
644        {
645            "Name": "xyz.openbmc_project.Power.PowerSupply.Error.InputFault",
646            "Subsystem": "power_supply",
647            "Severity": "unrecoverable_redundancy_loss",
648            "ActionFlags": ["service_action", "report"],
649            "ComponentID": "0x2700",
650
651            "SRC": {
652                "Type": "11",
653                "ReasonCode": "0x15F0",
654                "Words6To9": {}
655            },
656
657            "Callouts": [
658                {
659                    "CalloutList": [
660                        { "Priority": "high", "SymbolicFRU": "pwrsply" }
661                    ]
662                }
663            ],
664
665            "Documentation": {
666                "Description": "Power Supply input power fault",
667                "Message": "A power supply has indicated an input or under voltage condition.",
668                "Notes": [
669                    "Check the power supply cabling and/or input power ",
670                    "source. The PWRSPLY procedure is used rather than ",
671                    "calling out a location code, as typically these faults ",
672                    "are related to the supplied power, the cable, or the ",
673                    "cable connectors. If the input fault resolves down to an ",
674                    "issue with the power supply itself, the power supply ",
675                    "indicating this input fault should be called out. Add the ",
676                    "CALLOUT_INVENTORY_PATH to the additional data, and set the",
677                    "CALLOUT_PRIORITY to something other than high."
678                ]
679            }
680        },
681
682        {
683            "Name": "xyz.openbmc_project.Power.PowerSupply.Error.Fault",
684            "Subsystem": "power_supply",
685            "Severity": "unrecoverable_redundancy_loss",
686            "ActionFlags": ["service_action", "report", "call_home"],
687            "ComponentID": "0x2700",
688
689            "SRC": {
690                "Type": "11",
691                "ReasonCode": "0x15F1",
692                "Words6To9": {}
693            },
694
695            "Documentation": {
696                "Description": "Power Supply power fault",
697                "Message": "The power supply detected a fault condition, see AdditionalData for further details.",
698                "Notes": [
699                    "The power supply reporting the fault should be called ",
700                    "out using the CALLOUT_INVENTORY_PATH keyword. Include ",
701                    "specific fault, STATUS_* details, and code level in the ",
702                    "AdditionalData section."
703                ]
704            }
705        },
706
707        {
708            "Name": "xyz.openbmc_project.Power.PowerSupply.Error.CommFault",
709            "Subsystem": "power_supply",
710            "Severity": "unrecoverable",
711            "ActionFlags": ["service_action", "report", "call_home"],
712            "ComponentID": "0x2700",
713
714            "SRC": {
715                "Type": "11",
716                "ReasonCode": "0x15F2",
717                "Words6To9": {}
718            },
719
720            "Documentation": {
721                "Description": "Power Supply non-power fault",
722                "Message": "A communication failure occurred talking to the power supply",
723                "Notes": [
724                    "Communication problems with the power supply could be ",
725                    "the power supply, or any hardware between it and the ",
726                    "BMC. Reporting the error should be passing in a call ",
727                    "out using CALLOUT_DEVICE_PATH."
728                ]
729            }
730        },
731
732        {
733            "Name": "xyz.openbmc_project.Power.PowerSupply.Error.Missing",
734            "Subsystem": "power_supply",
735            "Severity": "unrecoverable_redundancy_loss",
736            "ActionFlags": ["service_action", "report", "call_home"],
737            "ComponentID": "0x2700",
738
739            "SRC": {
740                "Type": "11",
741                "ReasonCode": "0x15F6",
742                "Words6To9": {}
743            },
744
745            "Callouts": [
746                {
747                    "CalloutList": [
748                        {
749                            "Priority": "high",
750                            "SymbolicFRUTrusted": "pwrsply",
751                            "UseInventoryLocCode": true
752                        }
753                    ]
754                }
755            ],
756
757            "Documentation": {
758                "Description": "Power Supply is missing",
759                "Message": "A power supply that should be present is missing",
760                "Notes": [
761                    "The CalloutList should use the PWRSPLY symbolic FRU ",
762                    "with the trusted location code property.  The ",
763                    "location code in this callout is obtained from ",
764                    "the passed in CALLOUT_INVENTORY_PATH value."
765                ]
766            }
767        },
768
769        {
770            "Name": "xyz.openbmc_project.State.Shutdown.Power.Error.Blackout",
771            "Subsystem": "power",
772            "ActionFlags": [ "report", "service_action" ],
773            "Severity": "unrecoverable",
774            "ComponentID": "0x2700",
775
776            "SRC":
777            {
778                "Type": "11",
779                "ReasonCode": "0x00AC",
780                "Words6To9": {},
781                "PowerFault": true
782            },
783
784            "Callouts": [
785                {
786                    "CalloutList": [
787                        { "Priority": "high", "SymbolicFRU": "ac_module"}
788                    ]
789                }
790            ],
791
792            "Documentation": {
793                "Description": "Input power was lost while the system was powered on.",
794                "Message": "Input power was lost while the system was powered on.",
795                "Notes": [
796                    "Input power was lost while system powered on.",
797                    "The CalloutList should use the ACMODUL symbolic FRU."
798                ]
799            }
800        },
801
802        {
803            "Name": "xyz.openbmc_project.Power.Error.Shutdown",
804            "Subsystem": "power_sequencer",
805            "ComponentID": "0x2700",
806
807            "SRC": {
808                "Type": "11",
809                "ReasonCode": "0x2600",
810                "Words6To9": {}
811            },
812
813            "Callouts": [
814                {
815                    "CalloutList": [
816                        { "Priority": "high", "SymbolicFRU": "pgood_part" }
817                    ]
818                }
819            ],
820
821            "Documentation": {
822                "Description": "A power off was issued because a power fault was detected",
823                "Message": "A power off was issued because a power fault was detected",
824                "Notes": [
825                ]
826            }
827        },
828
829        {
830            "Name": "xyz.openbmc_project.Power.Error.PowerSequencerPGOODFault",
831            "Subsystem": "power_sequencer",
832            "ComponentID": "0x2700",
833
834            "SRC": {
835                "Type": "11",
836                "ReasonCode": "0x2610",
837                "Words6To9": {}
838            },
839
840            "CalloutsUsingAD": {
841                "ADName": "INPUT_NAME", "CalloutsWithTheirADValues": [
842                    {
843                        "ADValue": "PCIE_SLOT0", "Callouts": [
844                            {
845                                "CalloutList": [
846                                    { "Priority": "high", "LocCode": "P0-C0" },
847                                    { "Priority": "medium", "LocCode": "P0" }
848                                ]
849                            }
850                        ]
851                    },
852                    {
853                        "ADValue": "PCIE_SLOT1", "Callouts": [
854                            {
855                                "CalloutList": [
856                                    { "Priority": "high", "LocCode": "P0-C1" },
857                                    { "Priority": "medium", "LocCode": "P0" }
858                                ]
859                            }
860                        ]
861                    },
862                    {
863                        "ADValue": "PCIE_SLOT2", "Callouts": [
864                            {
865                                "CalloutList": [
866                                    { "Priority": "high", "LocCode": "P0-C2" },
867                                    { "Priority": "medium", "LocCode": "P0" }
868                                ]
869                            }
870                        ]
871                    },
872                    {
873                        "ADValue": "PCIE_SLOT3", "Callouts": [
874                            {
875                                "CalloutList": [
876                                    { "Priority": "high", "LocCode": "P0-C3" },
877                                    { "Priority": "medium", "LocCode": "P0" }
878                                ]
879                            }
880                        ]
881                    },
882                    {
883                        "ADValue": "PCIE_SLOT4", "Callouts": [
884                            {
885                                "CalloutList": [
886                                    { "Priority": "high", "LocCode": "P0-C4" },
887                                    { "Priority": "medium", "LocCode": "P0" }
888                                ]
889                            }
890                        ]
891                    },
892                    {
893                        "ADValue": "PCIE_SLOT7", "Callouts": [
894                            {
895                                "CalloutList": [
896                                    { "Priority": "high", "LocCode": "P0-C7" },
897                                    { "Priority": "medium", "LocCode": "P0" }
898                                ]
899                            }
900                        ]
901                    },
902                    {
903                        "ADValue": "PCIE_SLOT8", "Callouts": [
904                            {
905                                "CalloutList": [
906                                    { "Priority": "high", "LocCode": "P0-C8" },
907                                    { "Priority": "medium", "LocCode": "P0" }
908                                ]
909                            }
910                        ]
911                    },
912                    {
913                        "ADValue": "PCIE_SLOT9", "Callouts": [
914                            {
915                                "CalloutList": [
916                                    { "Priority": "high", "LocCode": "P0-C9" },
917                                    { "Priority": "medium", "LocCode": "P0" }
918                                ]
919                            }
920                        ]
921                    },
922                    {
923                        "ADValue": "PCIE_SLOT10", "Callouts": [
924                            {
925                                "CalloutList": [
926                                    { "Priority": "high", "LocCode": "P0-C10" },
927                                    { "Priority": "medium", "LocCode": "P0" }
928                                ]
929                            }
930                        ]
931                    },
932                    {
933                        "ADValue": "PCIE_SLOT11", "Callouts": [
934                            {
935                                "CalloutList": [
936                                    { "Priority": "high", "LocCode": "P0-C11" },
937                                    { "Priority": "medium", "LocCode": "P0" }
938                                ]
939                            }
940                        ]
941                    },
942                    {
943                        "ADValue": "PGOOD_12A", "Callouts": [
944                            {
945                                "CalloutList": [
946                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
947                                ]
948                            }
949                        ]
950                    },
951                    {
952                        "ADValue": "PGOOD_12B", "Callouts": [
953                            {
954                                "CalloutList": [
955                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
956                                ]
957                            }
958                        ]
959                    },
960                    {
961                        "ADValue": "PGOOD_12C", "Callouts": [
962                            {
963                                "CalloutList": [
964                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
965                                ]
966                            }
967                        ]
968                    },
969                    {
970                        "ADValue": "PGOOD_12D", "Callouts": [
971                            {
972                                "CalloutList": [
973                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
974                                ]
975                            }
976                        ]
977                    },
978                    {
979                        "ADValue": "PGOOD_12L", "Callouts": [
980                            {
981                                "CalloutList": [
982                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
983                                ]
984                            }
985                        ]
986                    },
987                    {
988                        "ADValue": "PGOOD_12M", "Callouts": [
989                            {
990                                "CalloutList": [
991                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
992                                ]
993                            }
994                        ]
995                    },
996                    {
997                        "ADValue": "PGOOD_12N", "Callouts": [
998                            {
999                                "CalloutList": [
1000                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1001                                ]
1002                            }
1003                        ]
1004                    },
1005                    {
1006                        "ADValue": "PGOOD_12P", "Callouts": [
1007                            {
1008                                "CalloutList": [
1009                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1010                                ]
1011                            }
1012                        ]
1013                    },
1014                    {
1015                        "ADValue": "PGOOD_12PCIE", "Callouts": [
1016                            {
1017                                "CalloutList": [
1018                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1019                                ]
1020                            }
1021                        ]
1022                    },
1023                    {
1024                        "ADValue": "PGOOD_12Q", "Callouts": [
1025                            {
1026                                "CalloutList": [
1027                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1028                                ]
1029                            }
1030                        ]
1031                    },
1032                    {
1033                        "ADValue": "PGOOD_12R", "Callouts": [
1034                            {
1035                                "CalloutList": [
1036                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1037                                ]
1038                            }
1039                        ]
1040                    },
1041                    {
1042                        "ADValue": "PGOOD_VDN_DCM0", "Callouts": [
1043                            {
1044                                "CalloutList": [
1045                                    { "Priority": "high", "LocCode": "P0-C14" },
1046                                    { "Priority": "medium", "LocCode": "P0-C15" },
1047                                    { "Priority": "low", "LocCode": "P0" }
1048                                ]
1049                            }
1050                        ]
1051                    },
1052                    {
1053                        "ADValue": "PGOOD_VDN_DCM1", "Callouts": [
1054                            {
1055                                "CalloutList": [
1056                                    { "Priority": "high", "LocCode": "P0-C23" },
1057                                    { "Priority": "medium", "LocCode": "P0-C24" },
1058                                    { "Priority": "low", "LocCode": "P0" }
1059                                ]
1060                            }
1061                        ]
1062                    },
1063                    {
1064                        "ADValue": "PGOOD_VCS_DCM0", "Callouts": [
1065                            {
1066                                "CalloutList": [
1067                                    { "Priority": "high", "LocCode": "P0-C14" },
1068                                    { "Priority": "medium", "LocCode": "P0-C15" },
1069                                    { "Priority": "low", "LocCode": "P0" }
1070                                ]
1071                            }
1072                        ]
1073                    },
1074                    {
1075                        "ADValue": "PGOOD_VCS_DCM1", "Callouts": [
1076                            {
1077                                "CalloutList": [
1078                                    { "Priority": "high", "LocCode": "P0-C23" },
1079                                    { "Priority": "medium", "LocCode": "P0-C24" },
1080                                    { "Priority": "low", "LocCode": "P0" }
1081                                ]
1082                            }
1083                        ]
1084                    },
1085                    {
1086                        "ADValue": "PGOOD_VIO_DCM0", "Callouts": [
1087                            {
1088                                "CalloutList": [
1089                                    { "Priority": "high", "LocCode": "P0-C14" },
1090                                    { "Priority": "medium", "LocCode": "P0-C15" },
1091                                    { "Priority": "low", "LocCode": "P0" }
1092                                ]
1093                            }
1094                        ]
1095                    },
1096                    {
1097                        "ADValue": "PGOOD_VIO_DCM1", "Callouts": [
1098                            {
1099                                "CalloutList": [
1100                                    { "Priority": "high", "LocCode": "P0-C23" },
1101                                    { "Priority": "medium", "LocCode": "P0-C24" },
1102                                    { "Priority": "low", "LocCode": "P0" }
1103                                ]
1104                            }
1105                        ]
1106                    },
1107                    {
1108                        "ADValue": "PGOOD_VPCIE_DCM0", "Callouts": [
1109                            {
1110                                "CalloutList": [
1111                                    { "Priority": "high", "LocCode": "P0-C14" },
1112                                    { "Priority": "medium", "LocCode": "P0-C15" },
1113                                    { "Priority": "low", "LocCode": "P0" }
1114                                ]
1115                            }
1116                        ]
1117                    },
1118                    {
1119                        "ADValue": "PGOOD_VPCIE_DCM1", "Callouts": [
1120                            {
1121                                "CalloutList": [
1122                                    { "Priority": "high", "LocCode": "P0-C23" },
1123                                    { "Priority": "medium", "LocCode": "P0-C24" },
1124                                    { "Priority": "low", "LocCode": "P0" }
1125                                ]
1126                            }
1127                        ]
1128                    }
1129                ]
1130            },
1131
1132            "Documentation": {
1133                "Description": "The power sequencer chip detected a PGOOD fault",
1134                "Message": "The power sequencer chip detected a PGOOD fault",
1135                "Notes": [
1136                ]
1137            }
1138        },
1139
1140        {
1141            "Name": "xyz.openbmc_project.Power.Error.PowerSequencerVoltageFault",
1142            "Subsystem": "power_sequencer",
1143            "ComponentID": "0x2700",
1144
1145            "SRC": {
1146                "Type": "11",
1147                "ReasonCode": "0x2620",
1148                "Words6To9": {}
1149            },
1150
1151            "CalloutsUsingAD": {
1152                "ADName": "RAIL_NAME", "CalloutsWithTheirADValues": [
1153                    {
1154                        "ADValue": "12.0V", "Callouts": [
1155                            {
1156                                "CalloutList": [
1157                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1158                                ]
1159                            }
1160                        ]
1161                    },
1162                    {
1163                        "ADValue": "5.0V_USB", "Callouts": [
1164                            {
1165                                "CalloutList": [
1166                                    { "Priority": "high", "SymbolicFRU": "usb_pgood" },
1167                                    { "Priority": "medium", "LocCode": "P0" }
1168                                ]
1169                            }
1170                        ]
1171                    },
1172                    {
1173                        "ADValue": "5.0V_DASD", "Callouts": [
1174                            {
1175                                "CalloutList": [
1176                                    { "Priority": "medium", "LocCode": "P1" },
1177                                    { "Priority": "medium", "LocCode": "P2" },
1178                                    { "Priority": "medium", "LocCode": "P3" },
1179                                    { "Priority": "low", "LocCode": "P0" }
1180                                ]
1181                            }
1182                        ]
1183                    },
1184                    {
1185                        "ADValue": "3.3VA", "Callouts": [
1186                            {
1187                                "CalloutList": [
1188                                    { "Priority": "high", "LocCode": "P0" }
1189                                ]
1190                            }
1191                        ]
1192                    },
1193                    {
1194                        "ADValue": "3.3VB", "Callouts": [
1195                            {
1196                                "CalloutList": [
1197                                    { "Priority": "high", "LocCode": "P0" }
1198                                ]
1199                            }
1200                        ]
1201                    },
1202                    {
1203                        "ADValue": "1.5V", "Callouts": [
1204                            {
1205                                "CalloutList": [
1206                                    { "Priority": "high", "LocCode": "P0" }
1207                                ]
1208                            }
1209                        ]
1210                    },
1211                    {
1212                        "ADValue": "1.1V", "Callouts": [
1213                            {
1214                                "CalloutList": [
1215                                    { "Priority": "high", "LocCode": "P0" }
1216                                ]
1217                            }
1218                        ]
1219                    },
1220                    {
1221                        "ADValue": "VDDA_DCM0", "Callouts": [
1222                            {
1223                                "CalloutList": [
1224                                    { "Priority": "high", "LocCode": "P0-C14" },
1225                                    { "Priority": "medium", "LocCode": "P0-C15" },
1226                                    { "Priority": "low", "LocCode": "P0" }
1227                                ]
1228                            }
1229                        ]
1230                    },
1231                    {
1232                        "ADValue": "VDDB_DCM0", "Callouts": [
1233                            {
1234                                "CalloutList": [
1235                                    { "Priority": "high", "LocCode": "P0-C14" },
1236                                    { "Priority": "medium", "LocCode": "P0-C15" },
1237                                    { "Priority": "low", "LocCode": "P0" }
1238                                ]
1239                            }
1240                        ]
1241                    },
1242                    {
1243                        "ADValue": "VDDA_DCM1", "Callouts": [
1244                            {
1245                                "CalloutList": [
1246                                    { "Priority": "high", "LocCode": "P0-C23" },
1247                                    { "Priority": "medium", "LocCode": "P0-C24" },
1248                                    { "Priority": "low", "LocCode": "P0" }
1249                                ]
1250                            }
1251                        ]
1252                    },
1253                    {
1254                        "ADValue": "VDDB_DCM1", "Callouts": [
1255                            {
1256                                "CalloutList": [
1257                                    { "Priority": "high", "LocCode": "P0-C23" },
1258                                    { "Priority": "medium", "LocCode": "P0-C24" },
1259                                    { "Priority": "low", "LocCode": "P0" }
1260                                ]
1261                            }
1262                        ]
1263                    },
1264                    {
1265                        "ADValue": "12.0VCS", "Callouts": [
1266                            {
1267                                "CalloutList": [
1268                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1269                                ]
1270                            }
1271                        ]
1272                    },
1273                    {
1274                        "ADValue": "3.3VCS", "Callouts": [
1275                            {
1276                                "CalloutList": [
1277                                    { "Priority": "high", "LocCode": "P0" }
1278                                ]
1279                            }
1280                        ]
1281                    },
1282                    {
1283                        "ADValue": "1.1V_Current", "Callouts": [
1284                            {
1285                                "CalloutList": [
1286                                    { "Priority": "high", "LocCode": "P0" }
1287                                ]
1288                            }
1289                        ]
1290                    },
1291                    {
1292                        "ADValue": "5.0V_USB_Current", "Callouts": [
1293                            {
1294                                "CalloutList": [
1295                                    { "Priority": "high", "SymbolicFRU": "usb_pgood" },
1296                                    { "Priority": "medium", "LocCode": "P0" }
1297                                ]
1298                            }
1299                        ]
1300                    },
1301                    {
1302                        "ADValue": "5.0V_DASD_Current", "Callouts": [
1303                            {
1304                                "CalloutList": [
1305                                    { "Priority": "medium", "LocCode": "P1" },
1306                                    { "Priority": "medium", "LocCode": "P2" },
1307                                    { "Priority": "medium", "LocCode": "P3" },
1308                                    { "Priority": "low", "LocCode": "P0" }
1309                                ]
1310                            }
1311                        ]
1312                    },
1313                    {
1314                        "ADValue": "12.0VN", "Callouts": [
1315                            {
1316                                "CalloutList": [
1317                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1318                                ]
1319                            }
1320                        ]
1321                    },
1322                    {
1323                        "ADValue": "12.0VP", "Callouts": [
1324                            {
1325                                "CalloutList": [
1326                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1327                                ]
1328                            }
1329                        ]
1330                    },
1331                    {
1332                        "ADValue": "12.0VQ", "Callouts": [
1333                            {
1334                                "CalloutList": [
1335                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1336                                ]
1337                            }
1338                        ]
1339                    },
1340                    {
1341                        "ADValue": "12.0VR", "Callouts": [
1342                            {
1343                                "CalloutList": [
1344                                    { "Priority": "high", "SymbolicFRU": "pgood_part" }
1345                                ]
1346                            }
1347                        ]
1348                    },
1349                    {
1350                        "ADValue": "ThermalDiode1", "Callouts": [
1351                            {
1352                                "CalloutList": [
1353                                    { "Priority": "high", "LocCode": "P0" }
1354                                ]
1355                            }
1356                        ]
1357                    },
1358                    {
1359                        "ADValue": "ThermalDiode2", "Callouts": [
1360                            {
1361                                "CalloutList": [
1362                                    { "Priority": "high", "LocCode": "P0" }
1363                                ]
1364                            }
1365                        ]
1366                    },
1367                    {
1368                        "ADValue": "ThermalDiode3", "Callouts": [
1369                            {
1370                                "CalloutList": [
1371                                    { "Priority": "high", "LocCode": "P0" }
1372                                ]
1373                            }
1374                        ]
1375                    },
1376                    {
1377                        "ADValue": "ThermalDiode4", "Callouts": [
1378                            {
1379                                "CalloutList": [
1380                                    { "Priority": "high", "LocCode": "P0" }
1381                                ]
1382                            }
1383                        ]
1384                    }
1385                ]
1386            },
1387
1388            "Documentation": {
1389                "Description": "The power sequencer chip detected a voltage fault",
1390                "Message": "The power sequencer chip detected a voltage fault",
1391                "Notes": [
1392                ]
1393            }
1394        },
1395
1396        {
1397            "Name": "xyz.openbmc_project.Power.Regulators.Error.WriteVerification",
1398            "Subsystem": "power",
1399            "ComponentID": "0x2700",
1400
1401            "SRC": {
1402                "Type": "11",
1403                "ReasonCode": "0x2900",
1404                "Words6To9": {}
1405            },
1406
1407            "Documentation": {
1408                "Description": "A write verification error occurred on a device",
1409                "Message": "A write verification error occurred on a device",
1410                "Notes": [
1411                    "This error occurs when a device register is written, ",
1412                    "read back, and the two values do not match.  This is ",
1413                    "also called a read-back error.  The device should be ",
1414                    "identified using the CALLOUT_DEVICE_PATH or ",
1415                    "CALLOUT_IIC_BUS/CALLOUT_IIC_ADDR keywords in the ",
1416                    "AdditionalData property of the event log.  This will ",
1417                    "cause the device and the hardware in the communication ",
1418                    "path to be called out."
1419                ]
1420            }
1421        },
1422
1423        {
1424            "Name": "xyz.openbmc_project.Power.Regulators.Error.ConfigFile",
1425            "Subsystem": "power",
1426            "ComponentID": "0x2700",
1427
1428            "SRC": {
1429                "Type": "11",
1430                "ReasonCode": "0xA013",
1431                "Words6To9": {}
1432            },
1433
1434            "Callouts": [
1435                {
1436                    "CalloutList": [
1437                        { "Priority": "high", "Procedure": "bmc_code" }
1438                    ]
1439                }
1440            ],
1441
1442            "Documentation": {
1443                "Description": "A regulators configuration file error occurred",
1444                "Message": "A regulators configuration file error occurred",
1445                "Notes": [
1446                    "The regulators configuration file could not be found, ",
1447                    "could not be read, or had invalid contents."
1448                ]
1449            }
1450        },
1451
1452        {
1453            "Name": "xyz.openbmc_project.Power.Regulators.Error.ConfigFile.Critical",
1454            "Subsystem": "power",
1455            "Severity": "critical_system_term",
1456            "ComponentID": "0x2700",
1457
1458            "SRC": {
1459                "Type": "11",
1460                "ReasonCode": "0xA014",
1461                "Words6To9": {},
1462                "PowerFault": true
1463            },
1464
1465            "Callouts": [
1466                {
1467                    "CalloutList": [
1468                        { "Priority": "high", "Procedure": "bmc_code" }
1469                    ]
1470                }
1471            ],
1472
1473            "Documentation": {
1474                "Description": "A critical regulators configuration file error occurred",
1475                "Message": "A critical regulators configuration file error occurred",
1476                "Notes": [
1477                    "The regulators configuration file could not be found, ",
1478                    "could not be read, or had invalid contents.  As a result ",
1479                    "voltage regulators could not be configured, and the ",
1480                    "chassis could not be powered on."
1481                ]
1482            }
1483        },
1484
1485        {
1486            "Name": "xyz.openbmc_project.Power.Error.PowerSequencerFault",
1487            "Subsystem": "power_sequencer",
1488            "ComponentID": "0x2700",
1489
1490            "SRC": {
1491                "Type": "11",
1492                "ReasonCode": "0xD000",
1493                "Words6To9": {}
1494            },
1495
1496            "Callouts": [
1497                {
1498                    "CalloutList": [
1499                        { "Priority": "high", "LocCode": "P0" }
1500                    ]
1501                }
1502            ],
1503
1504            "Documentation": {
1505                "Description": "The power sequencer chip detected a fault",
1506                "Message": "The power sequencer chip detected a fault",
1507                "Notes": [
1508                ]
1509            }
1510        },
1511
1512        {
1513            "Name": "xyz.openbmc_project.Power.Error.PowerOnFailure",
1514            "Subsystem": "power_sequencer",
1515            "ComponentID": "0x2700",
1516
1517            "SRC": {
1518                "Type": "11",
1519                "ReasonCode": "0xD002",
1520                "Words6To9": {}
1521            },
1522
1523            "Callouts": [
1524                {
1525                    "CalloutList": [
1526                        { "Priority": "high", "LocCode": "P0" }
1527                    ]
1528                }
1529            ],
1530
1531            "Documentation": {
1532                "Description": "System power failed to turn on",
1533                "Message": "System power failed to turn on",
1534                "Notes": [
1535                ]
1536            }
1537        },
1538
1539        {
1540            "Name": "xyz.openbmc_project.Power.Error.Internal",
1541            "Subsystem": "power",
1542            "ComponentID": "0x2700",
1543
1544            "SRC": {
1545                "Type": "11",
1546                "ReasonCode": "0xE000",
1547                "Words6To9": {}
1548            },
1549
1550            "Callouts": [
1551                {
1552                    "CalloutList": [
1553                        { "Priority": "high", "Procedure": "bmc_code" }
1554                    ]
1555                }
1556            ],
1557
1558            "Documentation": {
1559                "Description": "An internal firmware error occurred",
1560                "Message": "An internal firmware error occurred",
1561                "Notes": [
1562                    "The error details must be provided in the AdditionalData ",
1563                    "property of the event log."
1564                ]
1565            }
1566        },
1567
1568        {
1569            "Name": "xyz.openbmc_project.Power.Error.I2C",
1570            "Subsystem": "cec_i2c",
1571            "ComponentID": "0x2700",
1572
1573            "SRC": {
1574                "Type": "11",
1575                "ReasonCode": "0xE100",
1576                "Words6To9": {}
1577            },
1578
1579            "Documentation": {
1580                "Description": "An I2C error occurred communicating with a device",
1581                "Message": "An I2C error occurred communicating with a device",
1582                "Notes": [
1583                    "The device should be identified using the ",
1584                    "CALLOUT_DEVICE_PATH or CALLOUT_IIC_BUS/CALLOUT_IIC_ADDR ",
1585                    "keywords in the AdditionalData property of the event ",
1586                    "log.  This will cause the device and the hardware in the ",
1587                    "communication path to be called out."
1588                ]
1589            }
1590        },
1591
1592        {
1593            "Name": "xyz.openbmc_project.Power.Error.PMBus",
1594            "Subsystem": "power",
1595            "ComponentID": "0x2700",
1596
1597            "SRC": {
1598                "Type": "11",
1599                "ReasonCode": "0xE200",
1600                "Words6To9": {}
1601            },
1602
1603            "Documentation": {
1604                "Description": "A PMBus error occurred on a device",
1605                "Message": "A PMBus error occurred on a device",
1606                "Notes": [
1607                    "This error occurs when the I2C communication was ",
1608                    "successful, but the PMBus value read is invalid or ",
1609                    "unsupported.  CALLOUT_INVENTORY_PATH should be specified ",
1610                    "in the AdditionalData property of the event log so that ",
1611                    "the device is called out but not the communication path."
1612                ]
1613            }
1614        },
1615
1616        {
1617            "Name": "xyz.openbmc_project.Power.Error.DBus",
1618            "Subsystem": "power",
1619            "ComponentID": "0x2700",
1620
1621            "SRC": {
1622                "Type": "11",
1623                "ReasonCode": "0xE300",
1624                "Words6To9": {}
1625            },
1626
1627            "Callouts": [
1628                {
1629                    "CalloutList": [
1630                        { "Priority": "high", "Procedure": "bmc_code" }
1631                    ]
1632                }
1633            ],
1634
1635            "Documentation": {
1636                "Description": "A firmware inter-process communication (D-Bus) error occurred",
1637                "Message": "A firmware inter-process communication (D-Bus) error occurred"
1638            }
1639        },
1640
1641        {
1642            "Name": "xyz.openbmc_project.Fan.Error.Fault",
1643            "Subsystem": "power_fans",
1644            "ComponentID": "0x2800",
1645
1646            "SRC": {
1647                "Type": "11",
1648                "ReasonCode": "0x76F0",
1649                "Words6To9": {}
1650            },
1651
1652            "Documentation": {
1653                "Description": "Fan rotor fault",
1654                "Message": "Fan rotor fault",
1655                "Notes": [
1656                    "This error occurs when a fan rotor has been faulted for a ",
1657                    "certain amount of time.  The callout is the fan which is ",
1658                    "passed in with CALLOUT_INVENTORY_PATH.  The severity is ",
1659                    "passed in during creation and will be either informational ",
1660                    "or unrecoverable.  The action flags use the defaults and ",
1661                    "vary based on the severity."
1662                ]
1663            }
1664        },
1665
1666        {
1667            "Name": "xyz.openbmc_project.Fan.Error.Missing",
1668            "Subsystem": "power_fans",
1669            "ComponentID": "0x2800",
1670            "Severity": "unrecoverable_redundancy_loss",
1671            "ActionFlags": ["service_action", "report", "call_home"],
1672
1673            "SRC": {
1674                "Type": "11",
1675                "ReasonCode": "0x76F1",
1676                "Words6To9": {}
1677            },
1678
1679            "Callouts": [
1680                {
1681                    "System": "ibm,rainier",
1682                    "CalloutList": [
1683                        {
1684                          "Priority": "high",
1685                          "SymbolicFRUTrusted": "air_mover",
1686                          "UseInventoryLocCode": true
1687                        },
1688                        {
1689                            "Priority": "low",
1690                            "LocCode": "P0"
1691                        }
1692                    ]
1693                },
1694                {
1695                    "System": "ibm,everest",
1696                    "CalloutList": [
1697                        {
1698                          "Priority": "high",
1699                          "SymbolicFRUTrusted": "air_mover",
1700                          "UseInventoryLocCode": true
1701                        },
1702                        {
1703                            "Priority": "low",
1704                            "LocCode": "P1"
1705                        }
1706                    ]
1707                }
1708            ],
1709
1710            "Documentation": {
1711                "Description": "A fan is missing",
1712                "Message": "A fan is missing",
1713                "Notes": [
1714                    "This error occurs when a fan has been missing for a ",
1715                    "certain amount of time.  The first callout is the ",
1716                    "symbolic FRU AIR_MOVR that has the trusted fan location ",
1717                    "code, which it gets using the passed in ",
1718                    "CALLOUT_INVENTORY_PATH.  The second callout is the FRU ",
1719                    "where the controller and GPIO expander are."
1720                ]
1721            }
1722        },
1723
1724        {
1725            "Name": "xyz.openbmc_project.Fan.Presence.Error.Detection",
1726            "ComponentID": "0x2800",
1727            "Subsystem": "power_fans",
1728            "Severity": "non_error",
1729            "ActionFlags": ["report"],
1730            "MfgSeverity": "predictive",
1731            "MfgActionFlags": ["service_action", "report"],
1732
1733            "SRC": {
1734                "Type": "11",
1735                "ReasonCode": "0x76F2",
1736                "Words6To9": {}
1737            },
1738
1739            "Callouts": [
1740                {
1741                    "System": "ibm,rainier",
1742                    "CalloutList": [
1743                        {"Priority": "medium", "LocCode": "P0"}
1744                    ]
1745                },
1746                {
1747                    "System": "ibm,everest",
1748                    "CalloutList": [
1749                        {"Priority": "medium", "LocCode": "P1"}
1750                    ]
1751                }
1752            ],
1753
1754            "Documentation": {
1755                "Description": "Presence detect methods for the same fan disagree",
1756                "Message": "Presence detect methods for the same fan disagree",
1757                "Notes": [
1758                    "This error occurs when there is more than one way to detect",
1759                    "fan presence, and they don't all agree.  For example, the",
1760                    "GPIO says a fan isn't present, but the tach readings are",
1761                    "nonzero.  This is informational, unless in manufacturing.",
1762                    "The fan FRU is passed in as a high priority callout.",
1763                    "The FRU the GPIO source is on is called out medium."
1764                ]
1765            }
1766        },
1767
1768        {
1769            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.TemperaturePerfLossHigh",
1770            "Subsystem": "power",
1771            "ComponentID": "0x2800",
1772            "Severity": "predictive",
1773            "ActionFlags": ["service_action", "report"],
1774
1775            "SRC": {
1776                "ReasonCode": "0x2801",
1777                "Words6To9": {}
1778            },
1779
1780            "CalloutsUsingAD": {
1781                "ADName": "SENSOR_NAME",
1782                "CalloutsWithTheirADValues": [
1783                    {
1784                        "ADValue": "/xyz/openbmc_project/sensors/temperature/Ambient_Virtual_Temp",
1785                        "Callouts": [
1786                            {
1787                                "CalloutList": [
1788                                    { "Priority": "high", "SymbolicFRU": "ambient_temp" }
1789                                ]
1790                            }
1791                        ]
1792                    }
1793                ]
1794            },
1795
1796            "Documentation": {
1797                "Description": "A temperature sensor exceeded its performance loss threshold.",
1798                "Message": "A temperature sensor exceeded its performance loss threshold.",
1799                "Notes": [
1800                    "A temperature sensor crossed its performance loss threshold value",
1801                    "If it is the ambient sensor, then a symbolic FRU will be added.",
1802                    "Otherwise, CALLOUT_INVENTORY_PATH will be passed in to add",
1803                    "a FRU callout."
1804                ]
1805            }
1806        },
1807
1808        {
1809            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.TemperaturePerfLossHighClear",
1810            "Subsystem": "power",
1811            "ComponentID": "0x2800",
1812            "Severity": "non_error",
1813            "ActionFlags": ["report"],
1814            "EventType": "env_normal",
1815
1816            "SRC": {
1817                "ReasonCode": "0x2802",
1818                "Words6To9": {}
1819            },
1820
1821            "CalloutsUsingAD": {
1822                "ADName": "SENSOR_NAME",
1823                "CalloutsWithTheirADValues": [
1824                    {
1825                        "ADValue": "/xyz/openbmc_project/sensors/temperature/Ambient_Virtual_Temp",
1826                        "Callouts": [
1827                            {
1828                                "CalloutList": [
1829                                    { "Priority": "high", "SymbolicFRU": "ambient_temp_back" }
1830                                ]
1831                            }
1832                        ]
1833                    }
1834                ]
1835            },
1836
1837            "Documentation": {
1838                "Description": "A temperature sensor is under its performance loss threshold.",
1839                "Message": "A temperature sensor is under its performance loss threshold.",
1840                "Notes": [
1841                    "A temperature sensor crossed under its performance loss threshold value",
1842                    "If it is the ambient sensor, then a symbolic FRU will be added."
1843                ]
1844            }
1845        },
1846
1847        {
1848            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.TemperatureWarningHigh",
1849            "Subsystem": "power",
1850            "ComponentID": "0x2800",
1851            "Severity": "predictive",
1852            "ActionFlags": ["service_action", "report"],
1853
1854            "SRC": {
1855                "ReasonCode": "0x2803",
1856                "Words6To9": {}
1857            },
1858
1859            "CalloutsUsingAD": {
1860                "ADName": "SENSOR_NAME",
1861                "CalloutsWithTheirADValues": [
1862                    {
1863                        "ADValue": "/xyz/openbmc_project/sensors/temperature/Ambient_Virtual_Temp",
1864                        "Callouts": [
1865                            {
1866                                "CalloutList": [
1867                                    { "Priority": "high", "SymbolicFRU": "ambient_temp" }
1868                                ]
1869                            }
1870                        ]
1871                    }
1872                ]
1873            },
1874
1875            "Documentation": {
1876                "Description": "A temperature sensor exceeded its warning threshold.",
1877                "Message": "A temperature sensor exceeded its warning threshold.",
1878                "Notes": [
1879                    "A temperature sensor crossed its warning threshold value",
1880                    "If it is the ambient sensor, then a symbolic FRU will be added.",
1881                    "Otherwise, CALLOUT_INVENTORY_PATH will be passed in to add",
1882                    "a FRU callout."
1883                ]
1884            }
1885        },
1886
1887        {
1888            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.TemperatureWarningHighClear",
1889            "Subsystem": "power",
1890            "ComponentID": "0x2800",
1891            "Severity": "non_error",
1892            "ActionFlags": ["report"],
1893            "EventType": "env_normal",
1894
1895            "SRC": {
1896                "ReasonCode": "0x2804",
1897                "Words6To9": {}
1898            },
1899
1900            "CalloutsUsingAD": {
1901                "ADName": "SENSOR_NAME",
1902                "CalloutsWithTheirADValues": [
1903                    {
1904                        "ADValue": "/xyz/openbmc_project/sensors/temperature/Ambient_Virtual_Temp",
1905                        "Callouts": [
1906                            {
1907                                "CalloutList": [
1908                                    { "Priority": "high", "SymbolicFRU": "ambient_temp_back" }
1909                                ]
1910                            }
1911                        ]
1912                    }
1913                ]
1914            },
1915
1916            "Documentation": {
1917                "Description": "A temperature sensor is under its warning threshold.",
1918                "Message": "A temperature sensor is under its warning threshold.",
1919                "Notes": [
1920                    "A temperature sensor crossed under its warning threshold value",
1921                    "If it is the ambient sensor, then a symbolic FRU will be added."
1922                ]
1923            }
1924        },
1925
1926        {
1927            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.TemperatureCriticalHigh",
1928            "Subsystem": "power",
1929            "ComponentID": "0x2800",
1930            "Severity": "predictive",
1931            "ActionFlags": ["service_action", "report"],
1932
1933            "SRC": {
1934                "ReasonCode": "0x2805",
1935                "Words6To9": {}
1936            },
1937
1938            "CalloutsUsingAD": {
1939                "ADName": "SENSOR_NAME",
1940                "CalloutsWithTheirADValues": [
1941                    {
1942                        "ADValue": "/xyz/openbmc_project/sensors/temperature/Ambient_Virtual_Temp",
1943                        "Callouts": [
1944                            {
1945                                "CalloutList": [
1946                                    { "Priority": "high", "SymbolicFRU": "ambient_temp" }
1947                                ]
1948                            }
1949                        ]
1950                    }
1951                ]
1952            },
1953
1954            "Documentation": {
1955                "Description": "A temperature sensor exceeded its critical threshold.",
1956                "Message": "A temperature sensor exceeded its critical threshold.",
1957                "Notes": [
1958                    "A temperature sensor crossed its critical threshold value",
1959                    "If it is the ambient sensor, then a symbolic FRU will be added.",
1960                    "Otherwise, CALLOUT_INVENTORY_PATH will be passed in to add",
1961                    "a FRU callout."
1962                ]
1963            }
1964        },
1965
1966        {
1967            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.TemperatureCriticalHighClear",
1968            "Subsystem": "power",
1969            "ComponentID": "0x2800",
1970            "Severity": "non_error",
1971            "ActionFlags": ["report"],
1972            "EventType": "env_normal",
1973
1974            "SRC": {
1975                "ReasonCode": "0x2806",
1976                "Words6To9": {}
1977            },
1978
1979            "CalloutsUsingAD": {
1980                "ADName": "SENSOR_NAME",
1981                "CalloutsWithTheirADValues": [
1982                    {
1983                        "ADValue": "/xyz/openbmc_project/sensors/temperature/Ambient_Virtual_Temp",
1984                        "Callouts": [
1985                            {
1986                                "CalloutList": [
1987                                    { "Priority": "high", "SymbolicFRU": "ambient_temp_back" }
1988                                ]
1989                            }
1990                        ]
1991                    }
1992                ]
1993            },
1994
1995            "Documentation": {
1996                "Description": "A temperature sensor is under its critical threshold.",
1997                "Message": "A temperature sensor is under its critical threshold.",
1998                "Notes": [
1999                    "A temperature sensor crossed under its critical threshold value",
2000                    "If it is the ambient sensor, then a symbolic FRU will be added."
2001                ]
2002            }
2003        },
2004
2005        {
2006            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.SoftShutdownAlarmHigh",
2007            "Subsystem": "power",
2008            "ComponentID": "0x2800",
2009            "Severity": "predictive",
2010            "ActionFlags": ["service_action", "report"],
2011
2012            "SRC": {
2013                "ReasonCode": "0x2807",
2014                "Words6To9": {}
2015            },
2016
2017            "Callouts": [
2018                {
2019                    "CalloutList": [
2020                        {
2021                          "Priority": "high",
2022                          "SymbolicFRU": "ambient_temp"
2023                        }
2024                    ]
2025                }
2026            ],
2027
2028            "Documentation": {
2029                "Description": "The ambient temperature passed the EPOW3 limit.",
2030                "Message": "The ambient temperature passed the EPOW3 limit. The system will shut down if temp doesn't decrease.",
2031                "Notes": [
2032                    "This error occurs when the ambient temperature surpassed",
2033                    "the EPOW3 shutdown limit."
2034                ]
2035            }
2036        },
2037
2038        {
2039            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.SoftShutdownAlarmHighClear",
2040            "Subsystem": "power",
2041            "ComponentID": "0x2800",
2042            "Severity": "non_error",
2043            "ActionFlags": ["report"],
2044            "EventType": "env_normal",
2045
2046            "SRC": {
2047                "ReasonCode": "0x2808",
2048                "Words6To9": {}
2049            },
2050
2051            "Callouts": [
2052                {
2053                    "CalloutList": [
2054                        {
2055                          "Priority": "high",
2056                          "SymbolicFRU": "ambient_temp_back"
2057                        }
2058                    ]
2059                }
2060            ],
2061
2062            "Documentation": {
2063                "Description": "The ambient temperature is back under the EPOW3 limit.",
2064                "Message": "The ambient temperature is back under the EPOW3 limit."
2065            }
2066        },
2067
2068        {
2069            "Name": "xyz.openbmc_project.Sensor.Threshold.Error.HardShutdownAlarmHigh",
2070            "Subsystem": "power",
2071            "ComponentID": "0x2800",
2072            "ActionFlags": ["service_action", "report"],
2073
2074            "SRC": {
2075                "ReasonCode": "0x2809",
2076                "Words6To9": {}
2077            },
2078
2079            "Callouts": [
2080                {
2081                    "CalloutList": [
2082                        {
2083                          "Priority": "high",
2084                          "SymbolicFRU": "ambient_temp"
2085                        }
2086                    ]
2087                }
2088            ],
2089
2090            "Documentation": {
2091                "Description": "The ambient temperature passed the EPOW4 limit.",
2092                "Message": "The ambient temperature passed the EPOW4 limit. The system will shut down",
2093                "Notes": [
2094                    "This error occurs when the ambient temperature surpassed",
2095                    "the EPOW4 shutdown limit."
2096                ]
2097            }
2098        },
2099
2100        {
2101            "Name": "com.ibm.VPD.Error.InvalidEepromPath",
2102            "Subsystem": "cec_vpd",
2103            "ComponentID": "0x4000",
2104
2105            "SRC": {
2106                "ReasonCode": "0x4000",
2107                "Words6To9":
2108                {
2109                    "6":
2110                    {
2111                        "Description": "Errno of the failure.",
2112                        "AdditionalDataPropSource": "CALLOUT_ERRNO"
2113                    }
2114                }
2115            },
2116
2117            "Documentation": {
2118                "Description": "A path access error ocurred",
2119                "Message": "An EEPROM path access error occurred.",
2120                "Notes": [
2121                    "This error occurs when parser is unable to access",
2122                    "EEPROM path. Errno and device path are captured as",
2123                    "additional data."
2124                ]
2125            }
2126        },
2127
2128        {
2129            "Name": "com.ibm.VPD.Error.InvalidVPD",
2130            "Subsystem": "cec_vpd",
2131            "ComponentID": "0x4000",
2132
2133            "SRC": {
2134                "ReasonCode": "0x4001",
2135                "Words6To9":
2136                {
2137                }
2138            },
2139
2140            "Documentation": {
2141                "Description": "Invalid VPD data.",
2142                "Message": "A VPD data exception occurred.",
2143                "Notes": [
2144                    "This error occurs when VPD data is found to be",
2145                    "invalid. This can be when VPD file is missing out",
2146                    "mandatory records.Inventory path is captured in",
2147                    "additional data."
2148                ]
2149            }
2150        },
2151
2152        {
2153            "Name": "com.ibm.VPD.Error.EccCheckFailed",
2154            "Subsystem": "cec_vpd",
2155            "ComponentID": "0x4000",
2156
2157            "SRC": {
2158                "ReasonCode": "0x4002",
2159                "Words6To9":
2160                {
2161                }
2162            },
2163
2164            "Documentation": {
2165                "Description": "Invalid VPD ecc data.",
2166                "Message": "A VPD ecc exception occurred.",
2167                "Notes": [
2168                    "This error occurs when VPD ecc check fails for the FRU.",
2169                    "Inventory path for the failed FRU is captured in additonal",
2170                    "data."
2171                ]
2172            }
2173        },
2174
2175        {
2176            "Name": "com.ibm.VPD.Error.InvalidJson",
2177            "Subsystem": "cec_vpd",
2178            "ComponentID": "0x4000",
2179
2180            "SRC": {
2181                "ReasonCode": "0x4003",
2182                "Words6To9":
2183                {
2184                }
2185            },
2186
2187            "Documentation": {
2188                "Description": "Invalid Json",
2189                "Message": "A Json failure occurred.",
2190                "Notes": [
2191                    "This error occurs when parser fails to access",
2192                    "Json file or there is any issue with Json data.",
2193                    "Failed Json path and cause of failure is captured",
2194                    "in additional data."
2195                ]
2196            }
2197        },
2198
2199        {
2200            "Name": "com.ibm.VPD.Error.BlankSystemVPD",
2201            "Subsystem": "cec_vpd",
2202            "ComponentID": "0x4000",
2203
2204            "SRC": {
2205                "ReasonCode": "0x4004",
2206                "Words6To9":
2207                {
2208                }
2209            },
2210
2211            "Documentation": {
2212                "Description": "System VPD restore failed",
2213                "Message": "A system VPD restoration error occurred.",
2214                "Notes": [
2215                    "This error occurs when restoring of system VPD fails.",
2216                    "The FRU path and reason for failure is captured in",
2217                    "additional data."
2218                ]
2219            }
2220        },
2221
2222        {
2223            "Name": "com.ibm.VPD.Error.DbusFailure",
2224            "Subsystem": "cec_vpd",
2225            "ComponentID": "0x4000",
2226
2227            "SRC": {
2228                "ReasonCode": "0x4005",
2229                "Words6To9":
2230                {
2231                }
2232            },
2233
2234            "Documentation": {
2235                "Description": "Dbus exception",
2236                "Message": "A Dbus internal error occurred.",
2237                "Notes": [
2238                    "This error occurs when Dbus operation fails.",
2239                    "Exceptions details are captured in additonal",
2240                    "data."
2241                ]
2242            }
2243        }
2244    ]
2245}
2246