diff --git a/vpd-tool/include/tool_constants.hpp b/vpd-tool/include/tool_constants.hpp
index dbc4eb2..3201755 100644
--- a/vpd-tool/include/tool_constants.hpp
+++ b/vpd-tool/include/tool_constants.hpp
@@ -1,6 +1,8 @@
 #pragma once
 
 #include <cstdint>
+#include <string>
+#include <vector>
 
 namespace vpd
 {
@@ -51,6 +53,13 @@
 constexpr auto biosConfigMgrInterface =
     "xyz.openbmc_project.BIOSConfig.Manager";
 
+constexpr auto KwdIM = "IM";
+
+// Valid IM values list.
+static std::vector<std::string> validImValues{
+    "0x50001000", "0x50001001", "0x50001002", "0x50003000", "0x50004000",
+    "0x60001000", "0x60001001", "0x60001002", "0x60002000", "0x60004000"};
+
 static constexpr auto VALUE_0 = 0;
 static constexpr auto VALUE_1 = 1;
 static constexpr auto VALUE_2 = 2;
diff --git a/vpd-tool/src/vpd_tool_main.cpp b/vpd-tool/src/vpd_tool_main.cpp
index 18d71ef..152cfca 100644
--- a/vpd-tool/src/vpd_tool_main.cpp
+++ b/vpd-tool/src/vpd_tool_main.cpp
@@ -113,6 +113,26 @@
         return vpd::constants::FAILURE;
     }
 
+    if (i_keywordName == vpd::constants::KwdIM)
+    {
+        if (!(i_keywordValue.substr(0, 2).compare("0x") ==
+              vpd::constants::STR_CMP_SUCCESS))
+        {
+            std::cerr << "Please provide IM value in hex format." << std::endl;
+            return vpd::constants::FAILURE;
+        }
+
+        if (std::find(vpd::constants::validImValues.begin(),
+                      vpd::constants::validImValues.end(), i_keywordValue) ==
+            vpd::constants::validImValues.end())
+        {
+            std::cerr << "Given IM value [" << i_keywordValue
+                      << "] doesn't match with any of the valid system type."
+                      << std::endl;
+            return vpd::constants::FAILURE;
+        }
+    }
+
     vpd::VpdTool l_vpdToolObj;
     return l_vpdToolObj.writeKeyword(i_vpdPath, i_recordName, i_keywordName,
                                      i_keywordValue, !i_hardwareFlag->empty());
