pseq: Remove output voltage comparison to OV limit

The pgood isolation algorithm for the phosphor-power-sequencer
application is being enhanced to handle more error scenarios.

One major enhancement is the option to determine the pgood status of a
voltage rail by comparing the output voltage to a fault limit.

The original design was to compare the output voltage to both the
overvoltage limit (VOUT_OV_FAULT_LIMIT) and the undervoltage limit
(VOUT_UV_FAULT_LIMIT).

After discussions with subject matter experts, the design has been
changed to remove the comparison with the overvoltage limit.  While this
is important status information, it is not necessarily indicative of a
pgood fault and could lead to false positives.

Change-Id: I664e4b16fcaf32900798c59aeb4e4ed48db964bf
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
diff --git a/phosphor-power-sequencer/src/config_file_parser.cpp b/phosphor-power-sequencer/src/config_file_parser.cpp
index 37c6b04..fe9c661 100644
--- a/phosphor-power-sequencer/src/config_file_parser.cpp
+++ b/phosphor-power-sequencer/src/config_file_parser.cpp
@@ -118,12 +118,12 @@
         ++propertyCount;
     }
 
-    // Optional compare_voltage_to_limits property
-    bool compareVoltageToLimits{false};
-    auto compareVoltageToLimitsIt = element.find("compare_voltage_to_limits");
-    if (compareVoltageToLimitsIt != element.end())
+    // Optional compare_voltage_to_limit property
+    bool compareVoltageToLimit{false};
+    auto compareVoltageToLimitIt = element.find("compare_voltage_to_limit");
+    if (compareVoltageToLimitIt != element.end())
     {
-        compareVoltageToLimits = parseBoolean(*compareVoltageToLimitsIt);
+        compareVoltageToLimit = parseBoolean(*compareVoltageToLimitIt);
         ++propertyCount;
     }
 
@@ -136,9 +136,9 @@
         ++propertyCount;
     }
 
-    // If check_status_vout or compare_voltage_to_limits property is true,
-    // the page property is required; verify page was specified
-    if ((checkStatusVout || compareVoltageToLimits) && !page.has_value())
+    // If check_status_vout or compare_voltage_to_limit property is true, the
+    // page property is required; verify page was specified
+    if ((checkStatusVout || compareVoltageToLimit) && !page.has_value())
     {
         throw std::invalid_argument{"Required property missing: page"};
     }
@@ -147,8 +147,7 @@
     verifyPropertyCount(element, propertyCount);
 
     return std::make_unique<Rail>(name, presence, page, isPowerSupplyRail,
-                                  checkStatusVout, compareVoltageToLimits,
-                                  gpio);
+                                  checkStatusVout, compareVoltageToLimit, gpio);
 }
 
 std::vector<std::unique_ptr<Rail>> parseRailArray(const json& element)
diff --git a/phosphor-power-sequencer/src/rail.hpp b/phosphor-power-sequencer/src/rail.hpp
index 6ac8610..a0115e5 100644
--- a/phosphor-power-sequencer/src/rail.hpp
+++ b/phosphor-power-sequencer/src/rail.hpp
@@ -70,31 +70,30 @@
      * @param presence Optional D-Bus inventory path of a system component which
      *                 must be present in order for the rail to be present
      * @param page Optional PMBus PAGE number of the rail.  Required if
-     *             checkStatusVout or compareVoltageToLimits is true.
+     *             checkStatusVout or compareVoltageToLimit is true.
      * @param isPowerSupplyRail Specifies whether the rail is produced by a
      *                          power supply
      * @param checkStatusVout Specifies whether to check the value of the PMBus
      *                        STATUS_VOUT command when determining the pgood
      *                        status of the rail
-     * @param compareVoltageToLimits Specifies whether to compare the output
-     *                               voltage to the undervoltage and
-     *                               overvoltage limits when determining the
-     *                               pgood status of the rail
+     * @param compareVoltageToLimit Specifies whether to compare the output
+     *                              voltage to the undervoltage fault limit when
+     *                              determining the pgood status of the rail
      * @param gpio Optional GPIO to read to determine the pgood status of the
      *             rail
      */
     explicit Rail(const std::string& name,
                   const std::optional<std::string>& presence,
                   const std::optional<uint8_t>& page, bool isPowerSupplyRail,
-                  bool checkStatusVout, bool compareVoltageToLimits,
+                  bool checkStatusVout, bool compareVoltageToLimit,
                   const std::optional<GPIO>& gpio) :
         name{name},
         presence{presence}, page{page}, isPsuRail{isPowerSupplyRail},
         checkStatusVout{checkStatusVout},
-        compareVoltageToLimits{compareVoltageToLimits}, gpio{gpio}
+        compareVoltageToLimit{compareVoltageToLimit}, gpio{gpio}
     {
         // If checking STATUS_VOUT or output voltage, verify PAGE was specified
-        if ((checkStatusVout || compareVoltageToLimits) && !page.has_value())
+        if ((checkStatusVout || compareVoltageToLimit) && !page.has_value())
         {
             throw std::invalid_argument{"PMBus PAGE is required"};
         }
@@ -154,13 +153,13 @@
 
     /**
      * Returns whether the output voltage should be compared to the undervoltage
-     * and overvoltage limits when determining the pgood status of the rail.
+     * fault limit when determining the pgood status of the rail.
      *
-     * @return true if output voltage is compared to limits, false otherwise
+     * @return true if output voltage is compared to limit, false otherwise
      */
-    bool getCompareVoltageToLimits() const
+    bool getCompareVoltageToLimit() const
     {
-        return compareVoltageToLimits;
+        return compareVoltageToLimit;
     }
 
     /**
@@ -207,16 +206,15 @@
     bool checkStatusVout{false};
 
     /**
-     * Specifies whether to compare the output voltage to the undervoltage and
-     * overvoltage limits when determining the pgood status of the rail.
+     * Specifies whether to compare the output voltage to the undervoltage fault
+     * limit when determining the pgood status of the rail.
      *
-     * If the output voltage is beyond those limits, the rail pgood will be
+     * If the output voltage is below this limit, the rail pgood will be
      * considered false.
      *
-     * Uses the values of the PMBus READ_VOUT, VOUT_UV_FAULT_LIMIT, and
-     * VOUT_OV_FAULT_LIMIT commands.
+     * Uses the values of the PMBus READ_VOUT and VOUT_UV_FAULT_LIMIT commands.
      */
-    bool compareVoltageToLimits{false};
+    bool compareVoltageToLimit{false};
 
     /**
      * GPIO to read to determine the pgood status of the rail.