diff --git a/vpd-manager/include/constants.hpp b/vpd-manager/include/constants.hpp
index 5faf8da..7f23070 100644
--- a/vpd-manager/include/constants.hpp
+++ b/vpd-manager/include/constants.hpp
@@ -90,6 +90,7 @@
 static constexpr auto VALUE_6 = 6;
 static constexpr auto VALUE_7 = 7;
 static constexpr auto VALUE_8 = 8;
+static constexpr auto VALUE_21 = 21;
 
 static constexpr auto MASK_BYTE_BITS_01 = 0x03;
 static constexpr auto MASK_BYTE_BITS_345 = 0x38;
@@ -120,6 +121,8 @@
 constexpr auto vsysInf = "com.ibm.ipzvpd.VSYS";
 constexpr auto utilInf = "com.ibm.ipzvpd.UTIL";
 constexpr auto vcenInf = "com.ibm.ipzvpd.VCEN";
+constexpr auto viniInf = "com.ibm.ipzvpd.VINI";
+constexpr auto vsbpInf = "com.ibm.ipzvpd.VSBP";
 constexpr auto kwdCCIN = "CC";
 constexpr auto kwdRG = "RG";
 constexpr auto kwdAMM = "D0";
@@ -128,6 +131,8 @@
 constexpr auto kwdFC = "FC";
 constexpr auto kwdTM = "TM";
 constexpr auto kwdSE = "SE";
+constexpr auto kwdHW = "HW";
+constexpr auto kwdIM = "IM";
 constexpr auto recVSYS = "VSYS";
 constexpr auto recVCEN = "VCEN";
 constexpr auto locationCodeInf = "com.ibm.ipzvpd.Location";
diff --git a/vpd-manager/include/utility/vpd_specific_utility.hpp b/vpd-manager/include/utility/vpd_specific_utility.hpp
index d6b92fd..9e679a7 100644
--- a/vpd-manager/include/utility/vpd_specific_utility.hpp
+++ b/vpd-manager/include/utility/vpd_specific_utility.hpp
@@ -552,5 +552,48 @@
                             " with error: " + std::string(l_ex.what()));
     }
 }
+
+/**
+ * @brief API to detect pass1 planar type.
+ *
+ * Based on HW version and IM keyword, This API detects is it is a pass1 planar
+ * or not.
+ *
+ * @return True if pass 1 planar, false otherwise.
+ */
+inline bool isPass1Planar()
+{
+    auto l_retVal = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::viniInf, constants::kwdHW);
+
+    auto l_hwVer = std::get_if<types::BinaryVector>(&l_retVal);
+
+    l_retVal = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemInvPath, constants::vsbpInf,
+        constants::kwdIM);
+
+    auto l_imValue = std::get_if<types::BinaryVector>(&l_retVal);
+
+    if (l_hwVer && l_imValue)
+    {
+        types::BinaryVector everest{80, 00, 48, 00};
+        types::BinaryVector fuji{96, 00, 32, 00};
+
+        if (((*l_imValue) == everest) || ((*l_imValue) == fuji))
+        {
+            if ((*l_hwVer).at(1) < constants::VALUE_21)
+            {
+                return true;
+            }
+        }
+        else if ((*l_hwVer).at(1) < constants::VALUE_2)
+        {
+            return true;
+        }
+    }
+
+    return false;
+}
 } // namespace vpdSpecificUtility
 } // namespace vpd
