Update the delay from state=1 to powerOn=true

Increasing the power on delay timer from 1 second to 2 seconds, rounding
up from the 1250ms that should be the max from BMC_POWER_UP to DC_GOOD.

Resolves: openbmc/openbmc#2439

Change-Id: I90f363d31514c38efec8b3594ba705aea7ccb2bc
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
diff --git a/power-supply/main.cpp b/power-supply/main.cpp
index 33729d8..2aa7a7e 100644
--- a/power-supply/main.cpp
+++ b/power-supply/main.cpp
@@ -75,8 +75,16 @@
 
     auto objname = "power_supply" + instnum;
     auto instance = std::stoul(instnum);
-    // The Witherspoon power supply can delay DC_GOOD active for 1 second.
-    std::chrono::seconds powerOnDelay(1);
+    // The state changes from 0 to 1 when the BMC_POWER_UP line to the power
+    // sequencer is asserted. It can take 50ms for the sequencer to assert the
+    // ENABLE# line that goes to the power supplies. The Witherspoon power
+    // supply can take a max of 100ms from ENABLE# asserted to 12V in spec.
+    // Once 12V in spec., the power supply will nominally take 1 second to
+    // assert DC_GOOD (and update POWER_GOOD Negated), +/1 100ms. That would
+    // give us a 1250ms delay from state=1 to checking STATUS_WORD, however,
+    // the sysfs files will only be updated by the ibm-cffps device driver once
+    // a second, so round up that delay to 2 seconds.
+    std::chrono::seconds powerOnDelay(2);
     auto psuDevice = std::make_unique<psu::PowerSupply>(objname,
                                                         std::move(instance),
                                                         std::move(objpath),