add support for rainier 1s4u

The rainier 1s4u is very similar to the standard rainier 4u. It will
have a different device tree but the only change from the 4u is two
less fans.

Tested:
- Updated IM keyword to that of 1s4u and re-ran system-vpd service.
  Verified that u-boot fitconfig env variable was correctly set to
  conf@aspeed-bmc-ibm-rainier-1s4u.dtb

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I3507e0239283dc700bd0834b66a46ff0c6deeba7
diff --git a/const.hpp b/const.hpp
index 9eafc4b..5c67968 100644
--- a/const.hpp
+++ b/const.hpp
@@ -49,6 +49,7 @@
 static constexpr auto INVALID_NODE_NUMBER = -1;
 static constexpr auto RAINIER_2U = "50001001";
 static constexpr auto RAINIER_4U = "50001000";
+static constexpr auto RAINIER_1S4U = "50001002";
 static constexpr auto EVEREST = "50003000";
 
 constexpr uint8_t KW_VPD_START_TAG = 0x82;
diff --git a/ibm_vpd_app.cpp b/ibm_vpd_app.cpp
index 47ad4fc..0185739 100644
--- a/ibm_vpd_app.cpp
+++ b/ibm_vpd_app.cpp
@@ -40,6 +40,7 @@
 static const deviceTreeMap deviceTreeSystemTypeMap = {
     {RAINIER_2U, "conf@aspeed-bmc-ibm-rainier.dtb"},
     {RAINIER_4U, "conf@aspeed-bmc-ibm-rainier-4u.dtb"},
+    {RAINIER_1S4U, "conf@aspeed-bmc-ibm-rainier-1s4u.dtb"},
     {EVEREST, "conf@aspeed-bmc-ibm-everest.dtb"}};
 
 /**
@@ -871,7 +872,8 @@
         }
         string imValStr = oss.str();
 
-        if (imValStr == RAINIER_4U) // 4U
+        if ((imValStr == RAINIER_4U) || // 4U
+            (imValStr == RAINIER_1S4U))
         {
             target = INVENTORY_JSON_4U;
         }