psu-ng: Put input voltage rating on D-Bus

IBM systems must tell the BIOS (called hostboot) the power supply input
voltage rating during a boot, where the rating is 110 or 220.  This is
done via PLDM BIOS attributes where the attribute is backed by a D-Bus
property.

This commit adds support for that by putting the input voltage rating
of each PS on D-Bus using the Value property of the
xyz.openbmc_project.Sensor.Value interface. The path is like
/xyz/openbmc_project/sensors/voltage/ps0_input_voltage_rating.

$ busctl get-property xyz.openbmc_project.Power.PSUMonitor \
  /xyz/openbmc_project/sensors/voltage/ps0_input_voltage_rating \
  xyz.openbmc_project.Sensor.Value Value
d 220

$ busctl get-property xyz.openbmc_project.Power.PSUMonitor \
  /xyz/openbmc_project/sensors/voltage/ps0_input_voltage_rating \
  xyz.openbmc_project.Sensor.Value Unit
s "xyz.openbmc_project.Sensor.Value.Unit.Volts"

These D-Bus objects won't have any associations, unlike normal sensors,
so they will not show up in any Redfish output as a sensor.

The interface is only created for present power supplies, and is only
updated when the application starts up and when the boot starts.

If a power supply is hot added or removed after that, the D-Bus property
doesn't need to be updated as hostboot has already consumed it.

Change-Id: I277516e8d86f1ba1a75b75fe76c67f192d911f88
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/phosphor-power-supply/psu_manager.cpp b/phosphor-power-supply/psu_manager.cpp
index 68ff7fb..62501e9 100644
--- a/phosphor-power-supply/psu_manager.cpp
+++ b/phosphor-power-supply/psu_manager.cpp
@@ -39,7 +39,8 @@
 PSUManager::PSUManager(sdbusplus::bus_t& bus, const sdeventplus::Event& e) :
     bus(bus), powerSystemInputs(bus, powerSystemsInputsObjPath),
     objectManager(bus, objectManagerObjPath),
-    historyManager(bus, "/org/open_power/sensors")
+    historyManager(bus, "/org/open_power/sensors"),
+    sensorsObjManager(bus, "/xyz/openbmc_project/sensors")
 {
     // Subscribe to InterfacesAdded before doing a property read, otherwise
     // the interface could be created after the read attempt but before the
@@ -429,6 +430,7 @@
             clearFaults();
             syncHistory();
             setPowerConfigGPIO();
+            setInputVoltageRating();
         }
         else
         {