PEL: Add phospor-power PSU errors

Add entries to the message registry JSON file for power supply related
errors that will be logged by the phosphor-psu-monitor application.

The multiple AC or input voltage errors (11001510, 11001520, 11001530,
11001540) have been combined into one 0x15F0 error. The message registry
does not allow for multiple uses of the same fault Name, and all of
these errors result in the same PWRSPLY symbolic FRU call out.

The multiple 110015x1 errors have been combined into one 0x15F1 error.
These errors should call out a specific power supply, using the
CALLOUT_INVENTORY_PATH keyword.

The multiple 110015x2 errors have been combined into one 0x15F2 error.
These errors will have multiple call outs. The failing part may be the
power supply itself, or anything in the path from the BMC to the power
supply. These errors should specify the call out via CALLOUT_DEV_PATH.

The multiple 110015x3 errors have been combined into one 0x15F3 error.
These errors should also call out a specific power supply, using the
CALLOUT_INVENTORY_PATH keyword.

Tested:
  * Ran the openpower-pels registry validation tool
  * Copy message_registry.json to /etc/phosphor-logging.
  * Use --enable-openpower-pel-extension to build binary.
  * Copy over phosphor-log-manager, daemon-reload, restart (prior added
    procedure used by new registry).
  * Created error logs for new message registry entries using the busctl
    tool to create the errors on the D-Bus interface.
  * Used peltool to verify correct PEL field values. NOTE: Inventory
    updates needed to get power supply location codes in call outs with
    CALLOUT_INVENTORY_PATH and CALLOUT_DEV_PATH.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I4749f9e0696bea5aba4bc8480f866fc77d7db950
diff --git a/extensions/openpower-pels/registry/message_registry.json b/extensions/openpower-pels/registry/message_registry.json
index b2a1759..d2a0294 100644
--- a/extensions/openpower-pels/registry/message_registry.json
+++ b/extensions/openpower-pels/registry/message_registry.json
@@ -536,6 +536,130 @@
         },
 
         {
+            "Name": "xyz.openbmc_project.Power.PowerSupply.Error.InputFault",
+            "Subsystem": "power_supply",
+            "Severity": "unrecoverable_redundancy_loss",
+            "ActionFlags": ["service_action", "report"],
+            "ComponentID": "0x2700",
+
+            "SRC": {
+                "Type": "11",
+                "ReasonCode": "0x15F0",
+                "Words6To9": {}
+            },
+
+            "Callouts": [
+                {
+                    "CalloutList": [
+                        { "Priority": "high", "SymbolicFRU": "pwrsply" }
+                    ]
+                }
+            ],
+
+            "Documentation": {
+                "Description": "Power Supply input power fault",
+                "Message": "A power supply has indicated an input or under voltage condition.",
+                "Notes": [
+                    "Check the power supply cabling and/or input power ",
+                    "source. The PWRSPLY procedure is used rather than ",
+                    "calling out a location code, as typically these faults ",
+                    "are related to the supplied power, the cable, or the ",
+                    "cable connectors. If the input fault resolves down to an ",
+                    "issue with the power supply itself, the power supply ",
+                    "indicating this input fault should be called out. Add the ",
+                    "CALLOUT_INVENTORY_PATH to the additional data, and set the",
+                    "CALLOUT_PRIORITY to something other than high."
+                ]
+            }
+        },
+
+        {
+            "Name": "xyz.openbmc_project.Power.PowerSupply.Error.Fault",
+            "Subsystem": "power_supply",
+            "Severity": "unrecoverable_redundancy_loss",
+            "ActionFlags": ["service_action", "report", "call_home"],
+            "ComponentID": "0x2700",
+
+            "SRC": {
+                "Type": "11",
+                "ReasonCode": "0x15F1",
+                "Words6To9": {}
+            },
+
+            "Documentation": {
+                "Description": "Power Supply power fault",
+                "Message": "The power supply detected a fault condition, see AdditionalData for further details.",
+                "Notes": [
+                    "The power supply reporting the fault should be called ",
+                    "out using the CALLOUT_INVENTORY_PATH keyword. Include ",
+                    "specific fault, STATUS_* details, and code level in the ",
+                    "AdditionalData section."
+                ]
+            }
+        },
+
+        {
+            "Name": "xyz.openbmc_project.Power.PowerSupply.Error.CommFault",
+            "Subsystem": "power_supply",
+            "Severity": "unrecoverable_redundancy_loss",
+            "ActionFlags": ["service_action", "report", "call_home"],
+            "ComponentID": "0x2700",
+
+            "SRC": {
+                "Type": "11",
+                "ReasonCode": "0x15F2",
+                "Words6To9": {}
+            },
+
+            "Documentation": {
+                "Description": "Power Supply non-power fault",
+                "Message": "A communication failure occurred talking to the power supply",
+                "Notes": [
+                    "Communication problems with the power supply could be ",
+                    "the power supply, or any hardware between it and the ",
+                    "BMC. Reporting the error should be passing in a call ",
+                    "out using CALLOUT_DEVICE_PATH."
+                ]
+            }
+        },
+
+        {
+            "Name": "xyz.openbmc_project.Power.PowerSupply.Error.Missing",
+            "Subsystem": "power_supply",
+            "Severity": "unrecoverable",
+            "ActionFlags": ["service_action", "report", "call_home"],
+            "ComponentID": "0x2700",
+
+            "SRC": {
+                "Type": "11",
+                "ReasonCode": "0x15F6",
+                "Words6To9": {}
+            },
+
+            "Callouts": [
+                {
+                    "CalloutList": [
+                        { "Priority": "high", "SymbolicFRU": "pwrsply" }
+                    ]
+                }
+            ],
+
+            "Documentation": {
+                "Description": "Power Supply is missing",
+                "Message": "A power supply that should be present is missing",
+                "Notes": [
+                    "The CalloutList should use the PWRSPLY symbolic FRU ",
+                    "with the trusted location code property. This is not ",
+                    "currently possible. An issue has been opened to allow ",
+                    "for that combination. Until then, PWRSPLY will have a ",
+                    "priority of high, and the caller should provide the ",
+                    "CALLOUT_INVENTORY_PATH with CALLOUT_PRIORITY also set to ",
+                    "high."
+                ]
+            }
+        },
+
+        {
             "Name": "xyz.openbmc_project.Power.Regulators.Error.WriteVerification",
             "Subsystem": "power",
             "ComponentID": "0x2700",